Skip to content

Spring Boot 1.3.0 RC1 Release Notes

Phillip Webb edited this page Nov 13, 2024 · 1 revision

Spring Boot 1.3.0 RC1 Release Notes

Upgrading

Upgrading from 1.2.x

See the instructions in the M1 release notes for upgrade from 1.2.x.

Property renames

The error.path property has been renamed to server.error.path. If you previously set an error.path property in your application.properties you should migrate.

Missing /templates folder errors

Spring Boot applications no longer fail to start when a /templates folder cannot be found. If you are using a supported templating technology, and you forget to add /templates, a warning is now logged instead.

MVC Stacktrace output

Stacktrace information is now never included when Spring MVC renders an error response. If you want Spring Boot 1.2 behavior set server.error.include-stacktrace to on-trace-param.

Cassandra Support

Auto-configuration is now provided for Cassandra. See the reference documentation for details.

Tomcat session storage

By default tomcat no longer saves session data in /tmp. If you want to use persistent sessions with Tomcat set the server.session.persistent property to true. The server.session.store-dir can be used to save files in a specific location.

Spring HATEOAS

The spring.hateoas.apply-to-primary-object-mapper property has been removed as the Spring HATEOAS auto-configuration has been reworked such that it no longer affects the context’s primary ObjectMapper. It has been replaced with a property named spring.hateoas.use-hal-as-default-json-media-type which controls whether or not the Spring HATEOAS HTTP message converter will handle requests for application/json in addition to requests for application/hal+json.

Maven resources filtering

If you use the spring-boot-starter-parent, Maven tokens are only filtered using @ now. This prevents any Spring placeholders in your configuration (e.g. ${foo}) to be be expanded by the build.

Concretely, if you are still using the standard format (i.e. ${project.version}) please migrate them (@project.version@) or override the maven-resources-plugin configuration.

Maven spring-boot:run and ./gradlew bootRun resources

The Spring Boot Maven and Gradle plugins no longer add src/main/resources directly to the classpath when using spring-boot:run and bootRun. If you want live, in-place editing we recommend using Devtools. The addResources property can be set in your pom.xml or gradle build if you want to restore Spring Boot 1.2. behaviour.

New and Noteworthy

X-Forwarded-For header support

X-Forwarded-For header support is now included for Jetty and Undertow. Tomcat support has also been refreshed so that a single server.use-forward-headers property can be set to true if X-Forwarded-For headers should be respected. Spring Boot will detect deployments to Cloud Foundry or Heroku and automatically enable support.

Session storage

The location to save persistent session data can now be specified using the server.session.store-dir property. You need to also set server.session.persistent to true.

TraceWebFilter options

The actuator TraceWebFilter (use to trace HTTP request/response details) can now log more information. Use the management.trace.include property to configure the options that you want to include (see the TraceProperties.Include enum).

Logging

The “root cause first” logging change made in M3 has been reverted. Stacktraces now appear in the standard format. You can set logging.exception-conversion-word if you prefer “root cause first”.

Fully Executable Jars

Fully executable JAR support has been refined to allow the INIT INFO section to be customized. See the updated reference documentation for details.

Error handling

The server.error.include-stacktrace property can now be used to determine when stack trace attributes should be included in MVC error responses. Options are never, always or on-trace-param (with never being the default).

Maven plugin

The spring-boot-maven-plugin now includes a profiles property that can be used with spring-boot:run. You can configure profiles in your pom.xml or use -Drun.profiles on the command line. See the updated plugin documentation for details.

Log Patterns

The logging.pattern.console and logging.pattern.file properties can now be used to specify a logging pattern directly from your application.properties. That can be handy If you only want to customize patterns as you no longer need to define your own log*.xml file.

Spring CLI

The spring CLI command can now generate executable WAR files. Use $ spring war <filename.war> <script.groovy>.

Miscellaneous

The following miscellaneous updates are also included with Spring Boot 1.3 RC1:

  • Active profiles are now printed to output log when your application starts.

  • The spring.main.banner-mode property can be used to switch between CONSOLE, LOG or OFF output.

  • Remote DevTools can now work behind a proxy server (see the spring.devtools.devtools.proxy.* properties)

  • Jackson’s parameter names module (providing Java 8 support) will now be auto-configured when it’s on your classpath.

  • Spring’s WebSocket message converters will now be auto-configured.

  • A new DelegatingFilterProxyRegistrationBean class has been added to allow filters to be registered with embedded servlet containers via a DelegatingFilterProxy.

Clone this wiki locally