What Is New in Spring Boot 1.5
Spring Boot 1.5 delivers a significant update with a focus on enhanced metrics, streamlined logging, and crucial upgrades to its core dependencies. This release brings practical improvements for monitoring production applications and modernizing your tech stack.
| Category | Key Changes |
|---|---|
| New Features | Micrometer-based metrics, Log4j 2 support, Spring LDAP auto-configuration, OAuth 2 resource server |
| Improvements | Spring Framework 4.3.x, Tomcat 8.5, Hibernate 5.2, Elasticsearch 5.4, Kafka 0.10 |
| Deprecations | CRaSH shell, certain properties from 1.3/1.4, old metrics system |
| Bug Fixes & Security | Numerous issues resolved, dependency updates for vulnerabilities |
How did metrics collection change in 1.5?
The entire metrics system was overhauled, moving from a proprietary system to Micrometer. Micrometer provides a vendor-neutral facade for application metrics, similar to how SLF4J works for logging.
This means you can now send metrics to a variety of monitoring systems like Atlas, Datadog, Ganglia, Graphite, Influx, JMX, New Relic, Prometheus, SignalFx, and StatsD without changing your application code. In practice, this is a huge win for observability and transitioning between monitoring platforms.
What logging improvements were introduced?
Spring Boot 1.5 added first-class support for Log4j 2, including auto-configuration and ways to prevent conflicts with other logging frameworks. This matters because Log4j 2 offers significant performance improvements over its predecessor, especially in asynchronous logging scenarios.
The release also cleaned up the logging initialization process to be more predictable and removed the legacy Logback configuration from the default jar packaging.
Which core dependencies were upgraded?
This release bumps the baseline for several critical dependencies. The most notable are the upgrades to Spring Framework 4.3.x, Tomcat 8.5, and Hibernate 5.2.
These upgrades bring performance enhancements, new features, and bug fixes from the respective projects. For example, Tomcat 8.5 offers HTTP/2 support and improved asynchronous processing, while Hibernate 5.2 includes better Java 8 support like Streams for results.
What features were deprecated and removed?
The CRaSH shell support was officially removed. If you were using it for runtime diagnostics, you'll need to look at alternatives like SSH-based solutions or JMX.
Several properties from Spring Boot 1.3 and 1.4 were also deprecated and are scheduled for removal in 2.0. The old metrics system was deprecated in favor of the new Micrometer-based approach. Running the actuator's /configprops endpoint is a good way to identify deprecated properties in your own configuration.
FAQ
I rely on the CRaSH shell. What are my options after upgrading to 1.5?
CRaSH was completely removed. You should transition to alternative methods for shell access, such as using JMX or setting up a dedicated SSH endpoint for management tasks. The removal was due to maintenance burdens and lack of active development on the CRaSH project itself.
How do I migrate my custom metrics from the old system to Micrometer?
You'll need to rewrite your metric collection code. Instead of injecting a CounterService or GaugeService, you now register meters with a Micrometer MeterRegistry. The API is different but more powerful and standardized. Check the Micrometer documentation for specific examples.
Will my existing Logback configuration break if I switch to Log4j 2?
Yes, the configuration files are completely different. You'll need to translate your logback-spring.xml configuration into a Log4j 2 equivalent (e.g., log4j2-spring.xml). The good news is that the auto-configuration for other aspects like file logging and log levels remains consistent.
Is the OAuth 2 resource server support production-ready?
The auto-configuration for OAuth 2 resource servers is a new feature in 1.5. It provides a solid foundation for building services that consume OAuth 2 tokens. However, as with any new security feature, you should thoroughly test your specific authorization scenarios before deploying to a production environment.
What's the most common breaking change when upgrading from 1.4?
Many teams encounter issues with the metrics migration. Another common pitfall is relying on deprecated properties that now generate warnings or have slightly changed behavior. Always check the release notes for the specific list of deprecated features and plan your migration path accordingly.