Releases: spring-projects/spring-boot
v2.4.4
🪲 Bug Fixes
- JooqExceptionTranslator passes null exception to jOOQ when SQLException cannot be translated #25717
- When multiple schema or data script locations are configured and no resources can be found at a location, you can't tell which location is faulty #25692
@ConfigurationProperties
class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25614- EmbeddedDatabaseConnection#h2 should not specify a host name #25569
- RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25555
- Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25515
- Layertools may extract entries outside of the destination path #25508
- Default fork value for spring-boot:stop is not consistent #25483
- Application fails to start when using Actuator and Jersey configured as a Filter #25449
- In Spring Boot 2.4
@EntityScan
does not support property substitution #25436 - SpringApplication can replace existing default property source #25408
- Bootstrapper's intitialize method should be named initialize #25400
- Including spring-boot-devtools causes package-private getter on proxied class to return null #25367
- Start up failure when creating an Aspect targeted at ServerHttpSecurity with devtools on the classpath. #19010
📔 Documentation
- Description of management.metrics.export.influx.db is wrong #25724
- Correct javadoc for ON_PARAM to accurately describe its behavior #25603
- Fix typos in README #25600
- Document Java 16 support #25527
- Improve documentation of Mockito test execution listeners #25513
- Highlight link to Actuator API docs in the reference docs #25510
- Fix property name in gradle plugin documentation #25454
- Fix grammatical error in documentation #25411
- Fix wording error in build-info goal description #25385
- Polish HTTP client metrics documentation wording #25371
- Document DataSource implementations supported by DataSourceBuilder #25333
- Add note concerning application yml and properties file precedence #25300
- Document how to import a Docker secret as a configtree #25095
- Warn that multi-document property files cannot be loaded by using
@PropertySource
or@TestPropertySource
#24945
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.87 #25623
- Upgrade to Byte Buddy 1.10.22 #25624
- Upgrade to Dropwizard Metrics 4.1.18 #25625
- Upgrade to Ehcache3 3.9.2 #25626
- Upgrade to Hibernate 5.4.29.Final #25627
- Upgrade to Infinispan 11.0.10.Final #25628
- Upgrade to Jakarta Mail 1.6.6 #25629
- Upgrade to Jetty 9.4.38.v20210224 #25461
- Upgrade to Jetty Reactive HTTPClient 1.1.6 #25630
- Upgrade to jOOQ 3.14.8 #25631
- Upgrade to Kotlin 1.4.31 #25632
- Upgrade to Kotlin Coroutines 1.4.3 #25719
- Upgrade to Lettuce 6.0.3.RELEASE #25720
- Upgrade to Maven Invoker Plugin 3.2.2 #25633
- Upgrade to Micrometer 1.6.5 #25543
- Upgrade to MongoDB 4.1.2 #25634
- Upgrade to Netty 4.1.60.Final #25635
- Upgrade to OAuth2 OIDC SDK 8.36.1 #25636
- Upgrade to Postgresql 42.2.19 #25637
- Upgrade to R2DBC Bom Arabba-SR9 #25638
- Upgrade to Reactor 2020.0.5 #25539
- Upgrade to Spring AMQP 2.3.6 #25647
- Upgrade to Spring Batch 4.3.2 #25579
- Upgrade to Spring Data 2020.0.6 #25547
- Upgrade to Spring Framework 5.3.5 #25541
- Upgrade to Spring HATEOAS 1.2.5 #25545
- Upgrade to Spring Integration 5.4.5 #25646
- Upgrade to Spring Kafka 2.6.7 #25578
- Upgrade to Sun Mail 1.6.6 #25639
- Upgrade to Tomcat 9.0.44 #25640
- Upgrade to Undertow 2.2.5.Final #25641
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.0-M2
⭐ New Features
- Group JDBC-related batch properties beneath spring.batch.jdbc #25316
- Auto-configure javax.jms.ExceptionListener #25278
- Align default values for Cassandra's throttling properties #25149
- Make Scheduler consistent for Spring Integration #25109
- Use SimpleDriverDataSource when creating a Liquibase-specific DataSource #24944
- Support Jetty 10.0.x #24886
- Allow the configprops endpoint to return properties with a particular prefix #24718
- Remove message attribute instead of blanking it when Include.MESSAGE is not set #24712
- Provide a property to disable the
/actuator
discovery page #24693 - Add support for creating layered war files with Maven #22821
- Add support for creating layered war files with Gradle #22195
- Add buildpack option for image building #21722
🪲 Bug Fixes
- DataSourceBuilder no longer invokes setUser on org.postgresql.ds.PGSimpleDataSource #25364
- Remote application from devtools does not work with security filter in WebSecurityConfigurerAdapter #25351
- No error message when using spring.profiles.include in a profile-specific config file if it's written as a YAML list #25348
- BeanCreationException thrown creating 'neo4jMappingContext' with Spring Boot 2.4.2 when combined with MongoDB #25347
- DataSourceBuilder no longer invokes setUser on org.h2.jdbcx.JdbcDataSource #25342
- DatabaseDriver does not detect Amazon Redshift correctly #25313
- Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25311
- Dependency management for Hibernate's new hibernate-micrometer module is missing #25306
- Asynchronous deserialization performed by Hazelcast may fail due to the wrong ClassLoader being used #25296
- Since 2.4.2, the Logback charset defaults to UTF-8 rather than the OS's default #25259
- Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25186
- Illegal reflective access by org.springframework.cglib.core.ReflectUtils #25184
- A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #25175
- Fix MariaDB driver product name #25173
- Gradle plugin does not include transitive project dependencies into application layer #25168
- initQueryTimeout and ildeTimeout defaults are not aligned with Cassandra defaults #25164
- TestRestTemplate exchange triggers UnsupportedOperationException in RequestEntity #25106
- WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #25073
- Collection conversion doesn't work for configtree properties #25060
- ConfigData with Option.IGNORE_IMPORTS can cause NPE #25031
- spring.config.activate.on-profile cannot be used in profile specific file #25030
- ConfigDataLoaders cannot have a DeferredLogFactory injected preventing their subcomponents from logging accurately #24996
- spring-boot-dependencies still contains dependency management for spring-boot-starter-data-solr #24977
- DataSource initialization does not see the result of wrapping or proxying a DataSource via a BeanPostProcessor #23736
- Unexpected constructor-based initialization of
@ConfigurationProperties
leads to inconsistent behavior #16038 - Circular reference in JPA, DataSource, initializers #13042
📔 Documentation
- Remove YAML shortcomings section as it no longer applies #25346
- Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25308
- Document Kafka Streams metrics support #25298
- Default values of integer properties in the application properties appendix are rendered as decimals #25177
- Clarify usage of BufferingApplicationStartup #25136
- Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #25067
- Clarify when retaining . characters in property keys requires bracket notation to be used #25065
- Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #25062
- Document logging.register-shutdown-hook and why you may want to enable it #25045
- bootRun project property command line example is incomplete #25043
- Document the need to use the launcher to be able to use application.* properties in a custom banner #25041
- Add some guidance to the reference documentation about diagnosing unexpected property values #25039
- Add reference to Ogham Spring Boot starters #24964
🔨 Dependency Upgrades
- Upgrade to Spring Data 2021.0.0-M4 #25004
- Upgrade to AppEngine SDK 1.9.86 #25228
- Upgrade to Artemis 2.17.0 #25324
- Upgrade to AssertJ 3.19.0 #25229
- Upgrade to Byte Buddy 1.10.20 #25230
- Upgrade to Caffeine 2.9.0 #25325
- Upgrade to Couchbase Client 3.1.2 #25231
- Upgrade to Elasticsearch 7.11.1 #25359
- Upgrade to Flyway 7.5.3 #25232
- Upgrade to FreeMarker 2.3.31 #25326
- Upgrade to Hibernate 5.4.28.Final #25233
- Upgrade to HikariCP 4.0.1 #25234
- Upgrade to HikariCP 4.0.2 #25327
- Upgrade to HtmlUnit 2.47.1 #25235
- Upgrade to Infinispan 12.0.1.Final #25328
- Upgrade to Janino 3.1.3 #25237
- Upgrade to Jedis 3.5.1 #25238
- Upgrade to Johnzon 1.2.10 #25239
- Upgrade to jOOQ 3.14.7 #25240
- Upgrade to JUnit 4.13.2 #25329
- Upgrade to JUnit Jupiter 5.7.1 #25241
- Upgrade to Kotlin 1.4.30 #25242
- Upgrade to Lettuce 6.1.0.M1 #25360
- Upgrade to ...
v2.4.3
🗒️ Noteworthy Changes
Nimbus JOSE JWT
In versions 5.4.4 and earlier, Spring Security 5.4.x depended on versions of oauth2-oidc-sdk
and nimbus-jose-jwt
that were not compatible with each other. This was corrected in Spring Security 5.4.5 by downgrading from nimbus-jose-jwt
9.x to 8.x. A similar change has been made to Spring Boot's dependency management in this release. If you were relying on nimbus-jose-jwt
9.x, you can restore the 9.x version using the nimbus-jose-jwt.version
property.
🪲 Bug Fixes
- DataSourceBuilder no longer invokes setUser on org.postgresql.ds.PGSimpleDataSource #25363
- DatabaseDriver does not detect Amazon Redshift correctly #25312
- Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25310
- No error message when using spring.profiles.include in a profile-specific config file if it's written as a YAML list #25309
- Dependency management for Hibernate's new hibernate-micrometer module is missing #25305
- DataSourceBuilder no longer invokes setUser on org.h2.jdbcx.JdbcDataSource #25263
- Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25185
- A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #25174
- Gradle plugin does not include transitive project dependencies into application layer #25163
- initQueryTimeout and ildeTimeout defaults are not aligned with Cassandra defaults #25150
- Remote application from devtools does not work with security filter in WebSecurityConfigurerAdapter #25147
- TestRestTemplate exchange triggers UnsupportedOperationException when using a UriTemplateRequestEntity #25097
- WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #25072
- Managed versions of oauth2-oidc-sdk and nimbus-jose-jwt are incompatible #25070
- BeanCreationException thrown creating 'neo4jMappingContext' with Spring Boot 2.4.2 when combined with MongoDB #25069
- Collection conversion doesn't work for configtree properties #25057
- ConfigData with Option.IGNORE_IMPORTS can cause NPE #25029
- spring.config.activate.on-profile cannot be used in profile specific file #24990
- ConfigDataLoaders cannot have a DeferredLogFactory injected preventing their subcomponents from logging accurately #24988
- Spring Data Solr support is not flagged as deprecated #24943
- Since 2.4.2, the Logback charset defaults to UTF-8 rather than the OS's default #24894
- InvalidConfigDataPropertyException thrown when server processed ConfigData contains profiles #24890
- When spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser, the error handling of a management server listening on a separate port is broken #24877
- mappings endpoint fails due to an NPE when spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser #24874
- Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24872
- Auto-configured DataSourceTransactionManager uses spring.dao.exceptiontranslation.enable rather than spring.dao.exceptiontranslation.enabled to control exception translation #24867
- Illegal reflective access by org.springframework.cglib.core.ReflectUtils #24857
- Configuration metadata for logging.charset.* has invalid reference for java.nio.charset.Charset #24851
- Asynchronous deserialization performed by Hazelcast may fail due to the wrong ClassLoader being used #24836
📔 Documentation
- Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25307
- Document Kafka Streams metrics support #25297
- Default values of integer properties in the application properties appendix are rendered as decimals #25176
- Clarify usage of BufferingApplicationStartup #25075
- Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #25066
- Clarify when retaining . characters in property keys requires bracket notation to be used #25064
- Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #25061
- Document logging.register-shutdown-hook and why you may want to enable it #25044
- bootRun project property command line example is incomplete #25042
- Document the need to use the launcher to be able to use application.* properties in a custom banner #25040
- Add some guidance to the reference documentation about diagnosing unexpected property values #25038
- WebMvcProperties.MatchingStrategy should be documented as being since 2.4.0 #24875
- CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24869
- Add version to reference docs index #24854
- Remove YAML shortcomings section as it no longer applies #24620
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.1 #25205
- Upgrade to AppEngine SDK 1.9.86 #25206
- Upgrade to Byte Buddy 1.10.20 #25207
- Upgrade to FreeMarker 2.3.31 #25338
- Upgrade to Hibernate 5.4.28.Final #25208
- Upgrade to Infinispan 11.0.9.Final #25209
- Upgrade to Janino 3.1.3 #25210
- Upgrade to Jaybird 3.0.10 #25211
- Upgrade to Jetty 9.4.36.v20210114 #25212
- Upgrade to Johnzon 1.2.10 #25213
- Upgrade to jOOQ 3.14.7 #25214
- Upgrade to JUnit 4.13.2 #25339
- Upgrade to JUnit Jupiter 5.7.1 #25215
- Upgrade to Kotlin 1.4.30 #25216
- Upgrade to Lombok 1.18.18 #25217
- Upgrade to MariaDB 2.7.2 #25218
- Upgrade to Micrometer 1.6.4 #25291
- Upgrade to MySQL 8.0.23 #25219
- Upgrade to Netty 4.1.59.Final #25220
- Upgrade to Reactor 2020.0.4 #25286
- Upgrade to RxJava2 2.2.21 #25340
- Upgrade to Spring AMQP 2.3.5 #25290
- Upgrade to Spring Data 2020.0.5 [#25002](https://github.com/spring-proj...
v2.3.9.RELEASE
🪲 Bug Fixes
- Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25279
- Dependency management for Hibernate's new hibernate-micrometer module is missing #25277
- DatabaseDriver does not detect Amazon Redshift correctly #25265
- Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25138
- A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #24966
- Spring Data Solr support is not flagged as deprecated #24942
- Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24753
- WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #24149
📔 Documentation
- Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25299
- Document Kafka Streams metrics support #25272
- Default values of integer properties in the application properties appendix are rendered as decimals #25172
- bootRun project property command line example is incomplete #25012
- Document the need to use the launcher to be able to use application.* properties in a custom banner #24982
- CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24864
- Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #24856
- Add version to reference docs index #24848
- Document logging.register-shutdown-hook and why you may want to enable it #24507
- Add some guidance to the reference documentation about diagnosing unexpected property values #24336
- Clarify when retaining . characters in property keys requires bracket notation to be used #23390
- Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #22718
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.86 #25189
- Upgrade to Byte Buddy 1.10.20 #25190
- Upgrade to FreeMarker 2.3.31 #25334
- Upgrade to Hazelcast 3.12.12 #25191
- Upgrade to Hibernate 5.4.28.Final #25192
- Upgrade to Janino 3.1.3 #25193
- Upgrade to Jaybird 3.0.10 #25194
- Upgrade to Jetty 9.4.36.v20210114 #25195
- Upgrade to Johnzon 1.2.10 #25196
- Upgrade to JUnit 4.13.2 #25335
- Upgrade to Lombok 1.18.18 #25197
- Upgrade to Micrometer 1.5.11 #25285
- Upgrade to MySQL 8.0.23 #25198
- Upgrade to Neo4j OGM 3.2.20 #25199
- Upgrade to Netty 4.1.59.Final #25200
- Upgrade to Reactor Dysprosium-SR17 #25280
- Upgrade to RxJava2 2.2.21 #25336
- Upgrade to Spring AMQP 2.2.15.RELEASE #25284
- Upgrade to Spring Data Neumann-SR7 #25282
- Upgrade to Spring Framework 5.2.13 #25281
- Upgrade to Spring HATEOAS 1.1.4.RELEASE #25337
- Upgrade to Spring Integration 5.3.6.RELEASE #25283
- Upgrade to Spring Security 5.3.8.RELEASE #25201
- Upgrade to Spring Session Bom Dragonfruit-SR2 #25202
- Upgrade to Tomcat 9.0.43 #25203
- Upgrade to Undertow 2.1.6.Final #25204
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.0-M1
⭐ New Features
- Remove Spring Data Solr support #24939
- Automatically register HttpSessionIdListener beans with the servlet context #24879
- Register default resource path using ServletContextResource #24749
- Switch to Apache EL implementation by default #24744
- Add customizer for jOOQ's DefaultConfiguration #24732
- Support get requests for /actuator/startup #24717
- Change info endpoint to be secure and unexposed by default #24715
- Configure Couchbase to use the application's ObjectMapper #24616
- Provide a configuration property for endpoints' CORS origin patterns #24608
- Add configuration option to configure Kafka Listener's onlyLogRecordMetadata #24582
- Improve performance of Tomcat 'jar:war:file' URLs #24553
- Add API for PropertySource resource location retrieval #24524
- Move EntityManagerFactoryDependsOnPostProcessor from o.s.b.autoconfigure.data.jpa to o.s.b.autoconfigure.orm.jpa #24452
- Allow to configure ActiveMQ Artemis using broker url #24302
- Reduce the overhead of char[] creation #24204
- Expose configuration property for Cassandra's control queries timeout #24189
- Provide out-of-the-box support for Elasticsearch Sniffer #24174
- Add support for Apache Phoenix's jdbc:phoenix: JDBC URL prefix #24114
- Add keyStoreAlgorithm and trustStoreAlgorithm configuration option to configure RabbitConnectionFactory #24076
- Disable mappings endpoint related infrastructure when endpoint isn't available #23977
🪲 Bug Fixes
- When spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser, the error handling of a management server listening on a separate port is broken #24949
- InvalidConfigDataPropertyException thrown when server processed ConfigData contains profiles #24893
- mappings endpoint fails due to an NPE when spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser #24882
- Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24873
- Auto-configured DataSourceTransactionManager uses spring.dao.exceptiontranslation.enable rather than spring.dao.exceptiontranslation.enabled to control exception translation #24871
- Configuration metadata for logging.charset.* has invalid reference for java.nio.charset.Charset #24861
- Wrong logging pattern with multiple web applications #24846
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a interface rather than an class causing HikariDataSourceMetricsRegistry failure #24842
- Configuration metadata json does not include spring.config.use-legacy-processing #24832
- main application.yaml overrides test application.properties #24812
- Setting -Dspring.devtools.restart.enabled=true has no effect when the class loader class name does not contain AppClassLoader #24800
- Actuator 'configprops' endpoint does not show inputs for
@Name
parameters #24795 - Enforce that builder and run images are pulled from the same authenticated registry #24794
- spring.profiles.include is silently ignored when used in a profile-specific document #24793
- Auto-configured JdbcSessionDataSourceInitializer does not use the
@SpringSessionDataSource
if available #24791 - Error
Invalid entry size
when build application with a dependency jar larger than 2,147,483,647 bytes with Gradle #24769 - Exceptions are still translated by JdbcTransactionManager when spring.dao.exceptiontranslation.enabled is false #24746
- bootRun task does not use the project's toolchain by default #24739
- BootRun does not consider configured javaLauncher when determining JVM arguments for an optimized launch #24736
- Exploded archives launched using the launcher have an incorrectly ordered classpath that also contains non-existent jar files #24711
- spring-boot:build-image has a layout parameter that cannot be always be honoured #24690
- flashMapManager and themeResolver beans can no longer be configured without enabling bean overriding #24687
- FailureAnalyzers' unmet dependency errors add noise to logs #24684
- WebTestClient base path is not set to the application context path #24679
- ConfigDataEnvironment doesn't register updated Binder #24674
- JSR-305
@Nullable
cannot be used to indicate that a parameter to an endpoint operation is optional #24671 - WebServer implementations should return -1 if not listening on a port #24658
- configtree not working with Kubernetes projected volume #24652
- ConfigDataLocationNotFoundException thrown at application startup with configserver: config imports, that are not even meant for the current profile #24651
- Maven resources plugin execution generates a warning with a vanilla project #24600
- Handle missing manifest files in JarTypeFilter #24598
- Persistent and RelationshipProperties-annotated types are not scanned with Spring Data Neo4j #24589
- BootstrapContext Binder cannot be used if accessed early #24569
- Opening a connection to a jar:war: URL created by Tomcat results in an illegal reflective access warning on Java 13+ #24555
- Netty Web Server will not start if using Unix Domain Sockets #24544
- Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #24543
- Avoid duplicate classes in MergedContextConfiguration #24537
- Image is built from jar file when when using war packaging with Gradle #24534
- Application Startup Fails For Existing, Non-Optional Config Location, Resulting In ConfigDataLocationNotFoundException #24505
📔 Documentation
- WebMvcProperties.MatchingStrategy should be documented as being since 2.4.0 #24883
- CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24870
- Add version to reference docs index #24855
- Fix documentation on probes states during graceful shutdown #24844
- Clarify behaviour of WebServerFactory in reference guide #24708
- Fix javadoc typo in ConfigDataLocation [#24685](https://github.com/...
v2.4.2
⭐ New Features
- Add API for PropertySource resource location retrieval #24504
🪲 Bug Fixes
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a interface rather than an class causing HikariDataSourceMetricsRegistry failure #24841
- Wrong logging pattern with multiple web applications #24835
- Configuration metadata json does not include spring.config.use-legacy-processing #24816
- Setting -Dspring.devtools.restart.enabled=true has no effect when the class loader class name does not contain AppClassLoader #24797
- Auto-configured JdbcSessionDataSourceInitializer does not use the
@SpringSessionDataSource
if available #24790 - Error
Invalid entry size
when build application with a dependency jar larger than 2,147,483,647 bytes with Gradle #24768 - Default servlet location is not registered using a ServletContextResource #24748
- bootRun task does not use the project's toolchain by default #24738
- BootRun does not consider configured javaLauncher when determining JVM arguments for an optimized launch #24735
- spring.profiles.include is silently ignored when used in a profile-specific document #24733
- main application.yaml overrides test application.properties #24719
- Actuator 'configprops' endpoint does not show inputs for
@Name
parameters #24713 - Exploded archives launched using the launcher have an incorrectly ordered classpath that also contains non-existent jar files #24710
- spring-boot:build-image has a layout parameter that cannot be always be honoured #24689
- FailureAnalyzers' unmet dependency errors add noise to logs #24683
- WebTestClient base path is not set to the application context path #24678
- Support JSR-305
@Nullable
annotations on endpoint methods #24672 - JSR-305
@Nullable
cannot be used to indicate that a parameter to an endpoint operation is optional #24670 - ConfigDataEnvironment doesn't register updated Binder #24669
- WebServer implementations should return -1 if not listening on a port #24657
- Support JSR-305
@Nullable
annotations on endpoint methods #24654 - Handle missing manifest files in JarTypeFilter #24597
- ConfigDataLocationNotFoundException thrown at application startup with configserver: config imports, that are not even meant for the current profile #24584
- Maven resources plugin execution generates a warning with a vanilla project #24576
- BootstrapContext Binder cannot be used if accessed early #24559
- Opening a connection to a jar:war: URL created by Tomcat results in an illegal reflective access warning on Java 13+ #24554
- Enforce that builder and run images are pulled from the same authenticated registry #24552
- Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #24542
- Avoid duplicate classes in MergedContextConfiguration #24536
- Image is built from jar file when when using war packaging with Gradle #24535
- configtree not working with Kubernetes projected volume #24530
- Netty Web Server will not start if using Unix Domain Sockets #24529
- Application Startup Fails For Existing, Non-Optional Config Location, Resulting In ConfigDataLocationNotFoundException #24499
- Exceptions are still translated by JdbcTransactionManager when spring.dao.exceptiontranslation.enabled is false #24321
- Persistent and RelationshipProperties-annotated types are not scanned with Spring Data Neo4j #24239
- flashMapManager and themeResolver beans can no longer be configured without enabling bean overriding #24207
📔 Documentation
- Fix documentation on probes states during graceful shutdown #24843
- Clarify behaviour of WebServerFactory in reference guide #24707
- Migrate away from pivotal-legacy/homebrew-tap #24681
- Fix javadoc typo in ConfigDataLocation #24660
- Harmonize ActiveMQ Artemis naming #24587
- Update version of git-properties plugin in the docs #24572
- Improve "Git Commit Information" reference documentation #24570
- Clarify when SpEL expressions in application properties are evaluated #24565
- Reorder documentation about building images #24563
- Update documentation containing examples of WebSecurityConfigurerAdapter #24551
- Improve error message when attempting to build an image when using war packaging with Maven #24538
- Testing Properties missing from Application Properties Appendix #24518
- Update reference guide to refine note on excluding spring-boot-configuration-processor explicitly #24498
- Document warning about InMemoryOAuth2AuthorizedClientService #24313
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.84 #24721
- Upgrade to Byte Buddy 1.10.19 #24722
- Upgrade to Dependency Management Plugin 1.0.11.RELEASE #24827
- Upgrade to Dropwizard Metrics 4.1.17 #24723
- Upgrade to Hibernate 5.4.27.Final #24724
- Upgrade to Hibernate Validator 6.1.7.Final #24725
- Upgrade to Jackson Bom 2.11.4 #24726
- Upgrade to Jetty Reactive HTTPClient 1.1.5 #24727
- Upgrade to Johnzon 1.2.9 #24728
- Upgrade to Lettuce 6.0.2.RELEASE #24802
- Upgrade to Micrometer 1.6.3 #24786
- Upgrade to Netty 4.1.58.Final #24828
- Upgrade to Netty tcNative 2.0.36.Final #24829
- Upgrade to Reactor 2020.0.3 #24698
- Upgrade to Spring AMQP 2.3.4 #24702
- Upgrade to Spring Data 2020.0.3 #24700
- Upgrade to Spring Framework 5.3.3 #24699
- Upgrade to Spring HATEOAS 1.2.3 #24803
- Upgrade to Spring Integration 5.4.3 #24701
- Upgrade to Spring Kafka 2.6.5 #24703
- Upgrade to Spring Retry 1.3.1 #24730
- Upgrade to Thymeleaf 3.0...
v2.3.8.RELEASE
🪲 Bug Fixes
- Default servlet location is not registered using a ServletContextResource #24747
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a interface rather than an class causing HikariDataSourceMetricsRegistry failure #24697
- JSR-305
@Nullable
cannot be used to indicate that a parameter to an endpoint operation is optional #24647 - FailureAnalyzers' unmet dependency errors add noise to logs #24630
- Auto-configured JdbcSessionDataSourceInitializer does not use the
@SpringSessionDataSource
if available #24624 - Error
Invalid entry size
when build application with a dependency jar larger than 2,147,483,647 bytes with Gradle #24618 - WebServer implementations should return -1 if not listening on a port #24606
- Avoid duplicate classes in MergedContextConfiguration #24532
- Image is built from jar file when when using war packaging with Gradle #24521
- bootRun task does not use the project's toolchain by default #24517
- BootRun does not consider configured javaLauncher when determining JVM arguments for an optimized launch #24512
- Exploded archives launched using the launcher have an incorrectly ordered classpath that also contains non-existent jar files #24192
- spring-boot:build-image has a layout parameter that cannot be always be honoured #24105
- WebTestClient base path is not set to the application context path #24168
- Opening a connection to a jar:war: URL created by Tomcat results in an illegal reflective access warning on Java 13+ #18631
📔 Documentation
- Clarify behaviour of WebServerFactory in reference guide #24705
- Migrate away from pivotal-legacy/homebrew-tap #24680
- Document warning about
InMemoryOAuth2AuthorizedClientService
#24596 - Harmonize ActiveMQ Artemis naming #24586
- Update version of git-properties plugin in the docs #24567
- Reorder documentation about building images #24560
- Clarify when SpEL expressions in application properties are evaluated #24531
- Improve error message when attempting to build an image when using war packaging with Maven #24522
- Testing Properties missing from Application Properties Appendix #24486
- Improve "Git Commit Information" reference documentation #24205
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.84 #24754
- Upgrade to Byte Buddy 1.10.19 #24755
- Upgrade to Dependency Management Plugin 1.0.11.RELEASE #24821
- Upgrade to Dropwizard Metrics 4.1.17 #24756
- Upgrade to Hazelcast 3.12.11 #24757
- Upgrade to Hibernate 5.4.27.Final #24758
- Upgrade to Hibernate Validator 6.1.7.Final #24759
- Upgrade to Jackson Bom 2.11.4 #24760
- Upgrade to Jetty Reactive HTTPClient 1.1.5 #24761
- Upgrade to Johnzon 1.2.9 #24762
- Upgrade to Lettuce 5.3.6.RELEASE #24801
- Upgrade to Micrometer 1.5.10 #24785
- Upgrade to Neo4j OGM 3.2.19 #24763
- Upgrade to Netty 4.1.58.Final #24822
- Upgrade to Netty tcNative 2.0.36.Final #24823
- Upgrade to Reactor Dysprosium-SR16 #24765
- Upgrade to Spring AMQP 2.2.14.RELEASE #24824
- Upgrade to Spring Integration 5.3.5.RELEASE #24825
- Upgrade to Spring Kafka 2.5.11.RELEASE #24826
- Upgrade to Thymeleaf 3.0.12 #24599
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.13.RELEASE
🪲 Bug Fixes
- Default servlet location is not registered using a ServletContextResource #24745
📔 Documentation
- Migrate away from pivotal-legacy/homebrew-tap #24659
🔨 Dependency Upgrades
- Upgrade to Appengine Sdk 1.9.84 #24770
- Upgrade to Byte Buddy 1.10.19 #24776
- Upgrade to Dependency Management Plugin 1.0.11 #24742
- Upgrade to Dropwizard Metrics 4.1.17 #24772
- Upgrade to Hazelcast 3.12.11 #24771
- Upgrade to Hibernate 5.4.27.Final #24778
- Upgrade to Hibernate Validator 6.0.22.Final #24779
- Upgrade to Joda Time 2.10.9 #24775
- Upgrade to Johnzon Jsonb 1.2.9 #24777
- Upgrade to Neo4j Ogm 3.2.19 #24780
- Upgrade to Netty 4.1.56.Final #24773
- Upgrade to Netty 4.1.58.Final #24818
- Upgrade to Netty Tcnative 2.0.36.Final #24774
- Upgrade to Reactor Dysprosium-SR16 #24766
- Upgrade to Spring Amqp 2.2.14.RELEASE #24819
- Upgrade to Spring Integration 5.2.11.RELEASE #24820
- Upgrade to Thymeleaf 3.0.12.RELEASE #24781
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.1
🪲 Bug Fixes
- Wildcard config file locations from the working directory override each other #24428
- Configuration property binding processes JavaBean methods in a non-deterministic order which may result in variable behavior #24425
- JPA repositories mode should not be deferred by default #24401
@Name
support for value object binding fails with Kotlin classes #24379- Allow recursive profile group references #24327
- Correct external application properties load order #24308
- Wrapper types are not displayed in actuator env endpoint #24307
- OriginTrackedPropertiesLoader#isNewDocument has wrong visibility #24268
- Redis health indicator requests more information than it needs resulting in unnecessarily large responses from Redis #24251
- ErrorAttributeOptions.excluding throws IllegalArgumentException if includes is empty #24234
- Actuator web endpoints cannot respond with custom HTTP status codes when running on MVC or WebFlux #24223
- Missing Spring Integration metrics due to the MeterRegistry bean being looked for before it has been defined #24220
- LocaleResolver (MVC) and LocaleContextResolver (WebFlux) beans will back off if a user provides a bean of the same type and a custom name but Framework will then use its own default #24209
- DevTools still refers to deprecated keys #24203
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a class rather than an interface causing Oracle UCP warnings #24200
- WebFluxTags performs unnecessary Pattern compilation when ignoring trailing slashes #24194
- elasticsearch-rest-client-sniffer is missing from the dependency management for Elasticsearch's REST client modules #24186
- No converter is found when binding a non-string property via config tree #24171
- LoggingSystem calls with Log4J throws NullPointerException #24163
- Any line that is immediately after a line that contains only a # is lost when reading application properties files #24158
- Ensure the WebClient to be present before enabling the WebTestClientContextCustomizer #24152
- ConfigDataResourceNotFoundException incorrectly thrown for valid classpath locations #24143
📔 Documentation
- Document how to use Devtools without an IDE #24410
- Add link to appendix from error handling documentation #24408
- Document how to run unit tests #24301
- Invalid ErrorAttributesOptions#getInclude Javadoc #24259
- Fix typo in TomcatWebServer Javadoc #24245
- Security properties appendix contains spring.session and spring.ldap properties that belong elsewhere #24196
- Rename "sla" to "slo" in reference documentation #24162
- Document the granularity for property document imports #22987
🔨 Dependency Upgrades
- Upgrade to Caffeine 2.8.8 #24443
- Upgrade to DB2 JDBC 11.5.5.0 #24383
- Upgrade to Dropwizard Metrics 4.1.16 #24384
- Upgrade to Groovy 2.5.14 #24385
- Upgrade to Hibernate 5.4.25.Final #24386
- Upgrade to HttpCore 4.4.14 #24387
- Upgrade to Infinispan 11.0.8.Final #24388
- Upgrade to Jetty 9.4.35.v20201120 #24389
- Upgrade to jOOQ 3.14.4 #24390
- Upgrade to Kotlin 1.4.21 #24391
- Upgrade to Kotlin Coroutines 1.4.2 #24392
- Upgrade to MariaDB 2.7.1 #24393
- Upgrade to Micrometer 1.6.2 #24281
- Upgrade to Mockito 3.6.28 #24394
- Upgrade to Netty 4.1.55.Final #24444
- Upgrade to Netty tcNative 2.0.35.Final #24445
- Upgrade to Nimbus JOSE JWT 9.1.3 #24395
- Upgrade to Reactor 2020.0.2 #24275
- Upgrade to Spring AMQP 2.3.2 #24288
- Upgrade to Spring Batch 4.3.1 #24291
- Upgrade to Spring Data 2020.0.2 #24284
- Upgrade to Spring Framework 5.3.2 #24278
- Upgrade to Spring HATEOAS 1.2.2 #24285
- Upgrade to Spring Integration 5.4.2 #24442
- Upgrade to Spring Kafka 2.6.4 #24294
- Upgrade to Spring Security 5.4.2 #24297
- Upgrade to SQLite JDBC 3.32.3.3 #24446
- Upgrade to Tomcat 9.0.41 #24447
- Upgrade to Undertow 2.2.3.Final #24397
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.7.RELEASE
🪲 Bug Fixes
- Configuration property binding processes JavaBean methods in a non-deterministic order which may result in variable behavior #24424
- Redis health indicator requests more information than it needs resulting in unnecessarily large responses from Redis #24250
- JPA repositories mode should not be deferred by default #24249
- ErrorAttributeOptions.excluding throws IllegalArgumentException if includes is empty #24230
- Actuator web endpoints cannot respond with custom HTTP status codes when running on MVC or WebFlux #24222
- Missing Spring Integration metrics due to the MeterRegistry bean being looked for before it has been defined #24219
- WebFluxTags performs unnecessary Pattern compilation when ignoring trailing slashes #24193
- elasticsearch-rest-client-sniffer is missing from the dependency management for Elasticsearch's REST client modules #24185
- DataSourceUnwrapper calls Wrapper.isWrapperFor with a class rather than an interface causing Oracle UCP warnings #24154
📔 Documentation
- Document how to use Devtools without an IDE #24409
- Add link to appendix from error handling documentation #24407
- Invalid ErrorAttributesOptions#getInclude Javadoc #24257
- Security properties appendix contains spring.session and spring.ldap properties that belong elsewhere #24195
- Rename "sla" to "slo" in reference documentation #24160
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.15.14 #24436
- Upgrade to Caffeine 2.8.8 #24437
- Upgrade to DB2 JDBC 11.5.5.0 #24369
- Upgrade to Dropwizard Metrics 4.1.16 #24370
- Upgrade to Groovy 2.5.14 #24371
- Upgrade to Hibernate 5.4.25.Final #24372
- Upgrade to HttpCore 4.4.14 #24373
- Upgrade to Jetty 9.4.35.v20201120 #24374
- Upgrade to Micrometer 1.5.9 #24427
- Upgrade to Netty 4.1.55.Final #24438
- Upgrade to Netty tcNative 2.0.35.Final #24439
- Upgrade to Reactor Dysprosium-SR15 #24274
- Upgrade to Spring AMQP 2.2.13 #24287
- Upgrade to Spring Batch 4.2.5 #24290
- Upgrade to Spring Data Neumann-SR6 #24283
- Upgrade to Spring Framework 5.2.12 #24277
- Upgrade to Spring HATEOAS 1.1.3 #24419
- Upgrade to Spring Kafka 2.5.10 #24293
- Upgrade to Spring Security 5.3.6 #24296
- Upgrade to Tomcat 9.0.41 #24440
- Upgrade to Undertow 2.1.5.Final #24441
❤️ Contributors
We'd like to thank all the contributors who worked on this release!