Spring Boot v2.2.2.RELEASE Release Notes

Release Date: 2019-12-06 // about 21 hours ago
  • 🍱 ⭐️ New Features

    • 👌 Support constructor binding on 3rd party classes #18935
    • 👌 Support Gradle 6 #18663

    🍱 🐞 Bug Fixes

    • 🤡 @SpyBean (MockitoPostProcessor) tries to initialize @StepScope Bean out of scope #19309
    • 🔧 server.ssl.key-alias is ignored when configuring Netty #19304
    • 🔧 Actuator does not display immutable configuration properties when using @Validated #19219
    • 🚀 Bean class placeholders doesn't work in 2.2.1.RELEASE #19207
    • Liquibase actuator endpoint does not give correct information when multiple databases are used in one project #19190
    • 🔧 Constructor binding fails when configuration class has a generic field with type parameter java.util.Map #19156
    • 🔧 ssl.enabled is ignored when Rabbit is configured with an address with no protocol #19112
    • 👉 Use DeferredLog in CloudFoundryVcapEnvironmentPostProcessor #19086
    • Spring Boot DevTools YAML property loading does not work #19081
    • HealthWebEndpointMapper should expose details if right authority present #19059
    • 🖐 Handle ApiVersion in CachingOperationInvoker #18961
    • 🔌 Spring Boot - Maven Plugin shutdown broken #18940
    • 📜 BasicJsonParser does not handle whitespace between [and { correctly #18913
    • @ServletComponentScan does not work with a component index #18912

    📔 Documentation

    • ➕ Add missing closing parenthesis in Test Scope Dependencies reference documentation #19218
    • 🔧 Document the property configuration of the auto-configured EntityManagerFactoryBuilder #19209
    • Document Nitrite starter in README #19196
    • ➕ Add missing health indicators to docs #19154
    • Clarify contradictory advice on the use of @PropertySource #19152
    • 🌲 Document logging of startup info #19150
    • 0️⃣ Incorrect Javadoc regarding default Tomcat async request timeout #19091
    • 🛠 Fix syntax error in configuration metadata sample in docs #19032
    • 🏗 Use CAPS for build args in Dockerfile example #19029
    • 👌 Improve Dockerfile example to extract the application jar based on an argument #18932
    • ✂ Remove reference to ConfigurationPropertiesScan in javadoc #18920
    • ✂ Remove spring-boot-samples references from docs #18904

    ⬆️ 🔨 Dependency Upgrades

    • 🚀 Upgrade to Spring Cloud Connectors 2.0.7.RELEASE #19247
    • ⬆️ Upgrade to Neo4j Ogm 3.2.3 #19246
    • ⬆️ Upgrade to Jetty El 8.5.49 #19245
    • ⬆️ Upgrade to Liquibase 3.8.2 #19244
    • ⬆️ Upgrade to Kotlin 1.3.61 #19243
    • ⬆️ Upgrade to Aspectj 1.9.5 #19242
    • ⬆️ Upgrade to Activemq 5.15.11 #19241
    • ⬆️ Upgrade to Byte Buddy 1.10.4 #19240
    • ⬆️ Upgrade to Netty Tcnative 2.0.28.Final #19239
    • ⬆️ Upgrade to Unboundid Ldapsdk 4.0.13 #19238
    • ⬆️ Upgrade to Couchbase Client 2.7.11 #19237
    • 🚀 Upgrade to Spring Hateoas 1.0.2.RELEASE #19223
    • 🚀 Upgrade to Spring Amqp 2.2.2.RELEASE #19222
    • ⬆️ Upgrade to Maven Enforcer Plugin 3.0.0-M3 #19140
    • ⬆️ Upgrade to Liquibase 3.8.1 #19139
    • ⬆️ Upgrade to Hibernate 5.4.9.Final #19138
    • ⬆️ Upgrade to Jaybird 3.0.8 #19137
    • ⬆️ Upgrade to Elasticsearch 6.8.5 #19136
    • ⬆️ Upgrade to Jetty 9.4.24.v20191120 #19135
    • ⬆️ Upgrade to Tomcat 9.0.29 #19134
    • ⬆️ Upgrade to Johnzon Jsonb 1.2.2 #19133
    • ⬆️ Upgrade to Byte Buddy 1.10.3 #19132
    • ⬆️ Upgrade to Undertow 2.0.28.Final #19131
    • ⬆️ Upgrade to Rxjava2 2.2.15 #19130
    • ⬆️ Upgrade to Netty Tcnative 2.0.27.Final #19129
    • ⬆️ Upgrade to Querydsl 4.2.2 #19128
    • ⬆️ Upgrade to Appengine Sdk 1.9.77 #19127
    • ⬆️ Upgrade to Jackson 2.10.1 #19126
    • ⬆️ Upgrade to Couchbase Client 2.7.10 #19125
    • ⬆️ Upgrade to Reactor Dysprosium-SR2 #19077
    • ⬆️ Upgrade to Spring Batch 4.2.1 #19073
    • ⬆️ Upgrade to Spring Kafka 2.3.4 #19071
    • ⬆️ Upgrade to Spring Integration 5.2.2 #19070
    • ⬆️ Upgrade to Spring Data Moore-SR3 #19069
    • ⬆️ Upgrade to Spring Framework 5.2.2 #19053
    • ⬆️ Upgrade to Kotlin 1.3.60 #19046

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!


Previous changes from v2.2.1.RELEASE

  • 🍱 ⭐️ New Features

    • 👌 Support constructor binding for property nested inside a JavaBean #18894
    • 👌 Support amqps:// URIs in spring.rabbitmq.addresses #18885
    • ➕ Add config property for CodecConfigurer.maxInMemorySize in WebFlux #18828
    • ✅ Make test slices' type exclude filters public #18746

    🍱 🐞 Bug Fixes

    • 📇 Recursive property in @ConfigurationProperties causes java.lang.StackOverflowError when generating metadata #18889
    • 🔧 Endpoint filter configured on an endpoint's super-class has no effect #18882
    • Dependency relationships created by AbstractDependsOnBeanFactoryPostProcessors cannot be overridden #18878
    • HazelcastHealthContributorAutoConfiguration not bootstrapped #18847
    • Dependency management has unnecessary log4j exclusion for spring-cloud-spring-service-connector #18833
    • Constructor binding for nested class with multiple constructors causes BindException #18810
    • Reactive health indicators are ignored in MVC applications #18805
    • Failure analysis description for BeanDefinitionOverrideExceptions includes useless information when a bean definition has no resource description #18749
    • Reactive HealthContributors do not hide non-reactive ones #18748
    • 🔧 configprops error when jobscope defined in configuration #18714
    • Confusing error message if property not found when ConstructorBinding is used #18704
    • ⚡️ Make optimizedLaunch property name more consistent #18702
    • It is unclear that server.tomcat.max-http-post-size and server.jetty.max-http-post-size only apply to POSTed form content #18695
    • NPE is thrown from /actuator/health with an empty composite contributor #18687
    • /actuator/health returns 404 if no indicator is present #18676
    • @TestConfiguration disables proxying of @Bean methods #18675
    • 🔧 Enabling configuration properties scanning by default prevents conditional registration of @ConfigurationProperties-annoted types that are found by scanning #18674
    • Depends on semantic between Liquibase and JPA are no longer applied with custom SpringLiquibase #18673
    • 🌐 Bean validation not picking error translations anymore #18672
    • Binding fails in presence of a synthetic constructor #18670
    • Application does not start anymore with only AbstractRoutingDataSource beans #18661
    • 🔧 ConfigurationProperties with constructor binding cannot be mocked #18652
    • Actuator health check groups allow to specify checks only in lower case #18649
    • 🔧 Immutable configuration properties not shown by Actuator #18636
    • 🔧 Use of CGLib proxies is only auto-configured when AspectJ is on the classpath #18523

    📔 Documentation

    • ✅ Spring boot tests overrides surefire plugin listeners #18893
    • 🚀 Logs of java.util.logging.Logger are not output when war is deployed to tomcat. #18880
    • Document that @Order cannot be used on a Filter's @Bean method to set the Filter's order #18879
    • Unexpected settings in effective pom when inheriting from spring-boot-starter-parent #18877
    • 👌 Improve security-related recommendations for DevTools' remote application support #18876
    • 🔧 Document Settings as jooq supported auto-configuration type #18875
    • ➕ Add reference to Armeria starter #18837
    • 👉 Make "Containers and Exploded Archives" section more visible #18818
    • 📚 OAuth2 Client documentation still refers to redirect-uri-template #18756
    • ✂ Delete Javadoc references to removed code #18755
    • 🔧 Mention keys with dots for yaml in "Spring Boot Configuration Binding" wiki #18735
    • 🔧 Emphasize the need of @Valid in nested configuration properties #18734
    • 🔧 Document that auto-configuration of Jersey server metrics requires a dependency on micrometer-jersey2 #18726
    • 📚 Small documentation improvements #18718
    • Clarify Javadoc for ServletContextInitializer #18691
    • 📚 Documentation for DevTools Global Settings has a typo when displaying spring.devtools.restart.trigger-file property example #18679
    • 🗄 Spring Boot 2.2 migration guide not mentioning deprecated server.use-forward-headers #18667
    • 🚀 Update 2.2 release notes to note that spring-boot:run now forks a new JVM by default #18638
    • Narrow type for Tomcat 'locale' and 'encoding' properties #18637
    • 📚 Documentation does not make it clear that micrometer-registry-prometheus dependency is required to use the prometheus endpoint #18633
    • ➕ Add missing package-info.java files #18632

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Mongodb 3.11.2 #18898
    • 🚀 Upgrade to Spring Kafka 2.3.3.RELEASE #18892
    • 🚀 Upgrade to Spring Security 5.2.1.RELEASE #18869
    • ⬆️ Upgrade to Micrometer 1.3.1 #18867
    • 🚀 Upgrade to Spring Ws 3.0.8.RELEASE #18866
    • ⬆️ Upgrade to Slf4j 1.7.29 #18863
    • ⬆️ Upgrade to Jooq 3.12.3 #18862
    • ⬆️ Upgrade to Rxjava2 2.2.14 #18861
    • 🚀 Upgrade to Spring Hateoas 1.0.1.RELEASE #18856
    • ⬆️ Upgrade to Neo4j Ogm 3.2.2 #18824
    • ⬆️ Upgrade to Flyway 6.0.8 #18823
    • 🚀 Upgrade to Lettuce 5.2.1.RELEASE #18822
    • ⬆️ Upgrade to Hazelcast 3.12.4 #18821
    • ⬆️ Upgrade to Jooq 3.12.2 #18802
    • ⬆️ Upgrade to Hibernate Validator 6.0.18.Final #18801
    • ⬆️ Upgrade to Hibernate 5.4.8.Final #18800
    • ⬆️ Upgrade to Flyway 6.0.7 #18799
    • ⬆️ Upgrade to Elasticsearch 6.8.4 #18798
    • ⬆️ Upgrade to Jetty 9.4.22.v20191022 #18797
    • ⬆️ Upgrade to Kafka 2.3.1 #18796
    • ⬆️ Upgrade to Byte Buddy 1.10.2 #18795
    • ⬆️ Upgrade to Joda Time 2.10.5 #18794
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.1 #18793
    • ⬆️ Upgrade to Classmate 1.5.1 #18792
    • ⬆️ Upgrade to Spring Integration 5.2.1 #18764
    • ⬆️ Upgrade to Spring AMQP 2.2.1 #18762
    • ⬆️ Upgrade to Spring Data Moore-SR1 #18744
    • ⬆️ Upgrade to Netty 4.1.43.Final #18742
    • ⬆️ Upgrade to Reactor Dysprosium-SR1 #18741
    • ⬆️ Upgrade to Spring Framework 5.2.1 #18733
    • ⬆️ Upgrade to Quartz 2.3.2 #18725
    • ⬆️ Upgrade to H2 1.4.200 #18724
    • ⬆️ Upgrade to Jetty 9.4.21.v20190926 #18693

    🍱 ❤️ Contributors

    🚀 We'd like to thank all the contributors who worked on this release!