Spring Boot v2.2.1.RELEASE Release Notes

Release Date: 2019-11-07 // over 4 years ago
  • 🍱 ⭐️ 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!