Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.3.10.RELEASE
🪲 Bug Fixes
- Gradle bootBuildImage does not preserve file permissions for resources #25915
- Keystore.load calls do not close InputStream #25884
- Unlike Micrometer's PushMeterRegistry, PrometheusPushGatewayManager stops publishing when an UnknownHostException is caught #25804
- When running with a context hierarchy, PrimaryDefaultValidatorPostProcessor causes a NoSuchBeanDefinitionException when a Validator is in an ancestor context #25800
- java.util.concurrent.RejectedExecutionException is logged when shutting down Spring Boot app with Cassandra #25796
- DefaultErrorWebExceptionHandler does not remove MetaType.ALL when a quality values is present #25778
- Unpacked jars are not deleted when the JVM exits #25773
- TldPatterns are not aligned with Tomcat #25764
- URI tag of http.client.requests metric ignores REST template's root URI #25744
- Actuator's rest template metrics customization prevents RootUriRequestExpectationManager.forRestTemplate from identifying that the template has had a root URI configured #25741
- spring-boot:build-image hangs when classifier is specified in configuration #25736
- An EnvironmentAware FailureAnalyzer may be configured with the wrong Environment #25691
- AbstractWebMvcEndpointHandlerMapping does not chain InvalidEndpointRequestExceptions #25642
- 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 #25620
- spring-boot:build-image hangs if finalName is specified in Spring Boot plugin configuration #25590
- EmbeddedDatabaseConnection#h2 should not specify a host name #25560
- RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25551
- Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25507
- Layertools may extract entries outside of the destination path #25505
- Default fork value for spring-boot:stop is not consistent #25472
- CloudPlatform.isActive can return true when spring.main.cloud-platform is set to NONE #25455
@ConfigurationProperties
class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25356- Application fails to start when using Actuator and Jersey configured as a Filter #25262
- javax.persistence.schema-generation.database.action is ignored when checking if default DDL auto setting should be applied #25129
- Elasticsearch auto-configuration does not configure default converters #25087
📔 Documentation
- Javadoc link for non-public autoconfiguration classes does not exist #25948
- Use main as the branch name in info endpoint example #25865
- Document more prominently that DataJpaTest sets spring.jpa.show-sql=true by default #25843
- Update deprecation warnings with for removal targets #25808
- Description of management.metrics.export.influx.db is wrong #25723
- Document how to configure Maven's Failsafe plugin when not using spring-boot-starter-parent #25621
- Fix typos in README #25597
- Highlight link to Actuator API docs in the reference docs #25486
- Correct javadoc for ON_PARAM to accurately describe its behavior #25480
- Fix wording error in build-info goal description #25382
- Improve documentation of Mockito test execution listeners #25375
- Polish HTTP client metrics documentation wording #25353
- Document limitations of using deferred JPA bootstrap and early access to JPA #24027
- Document how to provide runtime JVM arguments when building an image #21478
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.88 #25953
- Upgrade to Byte Buddy 1.10.22 #25954
- Upgrade to Dropwizard Metrics 4.1.19 #25955
- Upgrade to Flatten Maven Plugin 1.2.7 #26094
- Upgrade to Glassfish JAXB 2.3.4 #26095
- Upgrade to Hibernate 5.4.30.Final #25956
- Upgrade to HSQLDB 2.5.2 #26096
- Upgrade to Jakarta Mail 1.6.7 #25957
- Upgrade to Jaybird 3.0.11 #25958
- Upgrade to Jetty 9.4.39.v20210325 #25960
- Upgrade to Jetty Reactive HTTPClient 1.1.7 #25959
- Upgrade to Lettuce 5.3.7.RELEASE #26097
- Upgrade to Lombok 1.18.20 #25961
- Upgrade to Maven Invoker Plugin 3.2.2 #25962
- Upgrade to Micrometer 1.5.13 #26098
- Upgrade to MIMEPull 1.9.14 #25964
- Upgrade to MongoDB 4.0.6 #25965
- Upgrade to Neo4j OGM 3.2.21 #25966
- Upgrade to Netty 4.1.63.Final #25967
- Upgrade to Netty tcNative 2.0.38.Final #25968
- Upgrade to OAuth2 OIDC SDK 7.1.3 #25969
- Upgrade to Postgresql 42.2.19 #25970
- Upgrade to R2DBC Bom Arabba-SR9 #25971
- Upgrade to Reactor Dysprosium-SR19 #25902
- Upgrade to RSocket 1.0.4 #25972
- Upgrade to SAAJ Impl 1.5.3 #26099
- Upgrade to Spring AMQP 2.2.16.RELEASE #25973
- Upgrade to Spring Batch 4.2.6.RELEASE #25974
- Upgrade to Spring Data Neumann-SR9 #25905
- Upgrade to Spring Framework 5.2.14 #25903
- Upgrade to Spring HATEOAS 1.1.5 #25904
- Upgrade to Spring Integration 5.3.7 #26112
- Upgrade to Spring Kafka 2.5.12.RELEASE #25975
- Upgrade to Spring Security 5.3.9 #25906
- Upgrade to Spring Session Dragonfruit-SR3 #25907
- Upgrade to Sun Mail 1.6.7 #25976
- Upgrade to Tomcat 9.0.45 #25977
- Upgrade to Undertow 2.1.7.Final [#25978](https://github.com/spring-projects/spring-boot/issues...
v2.5.0-M3
⭐ New Features
- Allow actuator endpoints to inject an enum indicating what to produce #25738
- Support sending metrics to InfluxDB v2 #25721
- Support Maven's reproducible build feature for war repackaging #25571
- Support OpenMetrics text format in Prometheus Actuator endpoint #25564
- Replace spring.datasource.initialization-order with a JPA-specific property #25559
- Move R2DBC ConnectionFactoryBuilder and associated classes into spring-boot #25492
- Deprecate support for checking Flyway locations #25488
- Provide configuration properties for Flyway's Vault and Conjur support #25456
- Allow PersistenceUnitPostProcessor to be configured on EntityManagerFactoryBuilder #25443
- Sanitize the value of url and urls keys in the same way that the values of uri and uris keys are sanitized #25387
- Support defining additional keys to sanitize for actuator endpoints #25384
- Add InfluxDB customizer hook point #25319
- Allow JMX endpoint ObjectNames to be customized by providing an EndpointObjectNameFactory bean #25317
- Deprecate our Gradle plugin's integration with Gradle's maven plugin #25267
- Register logging system's shutdown hook by default #25046
- Allow configuring Cassandra configuration file #24065
- Support building an image when using war packaging with Gradle #23825
- Support building an image when using war packaging with Maven #23823
- Leave jar and war tasks enabled by default and differentiate their output locations from those of bootJar and bootWar by configuring them with a classifier #23797
- Add bindings option for image building #23518
- Consider a generic way of indicating database setup #17619
- Add prefix support for environment variables #3450
🪲 Bug Fixes
- JooqExceptionTranslator passes null exception to jOOQ when SQLException cannot be translated #25718
- 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 #25693
- When creating an initialization-specific DataSource, Flyway, Liquibase and our script-based auto-configuration all incorrectly assume that the primary DataSource will always have been derived from DataSourceProperties #25643
@ConfigurationProperties
class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25615- Including spring-boot-devtools causes package-private getter on proxied class to return null #25585
- Start up failure when creating an Aspect targeted at ServerHttpSecurity with devtools on the classpath. #25584
- EmbeddedDatabaseConnection#h2 should not specify a host name #25570
- RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25556
- Bootstrapper's intitialize method should be named initialize #25517
- Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25516
- Layertools may extract entries outside of the destination path #25509
- SpringApplication can replace existing default property source #25495
- In Spring Boot 2.4
@EntityScan
does not support property substitution #25491 - Default fork value for spring-boot:stop is not consistent #25484
- Application fails to start when using Actuator and Jersey configured as a Filter #25450
- Image is not built when a buildpack is used #25378
- The auto-configured WebFluxConfigurer is unordered so it may override customizations made in a user's WebFluxConfigurer #25302
📔 Documentation
- Description of management.metrics.export.influx.db is wrong #25725
- Document Java 16 support #25645
- Document DataSource implementations supported by DataSourceBuilder #25644
- Correct javadoc for ON_PARAM to accurately describe its behavior #25604
- Fix typos in README #25601
- Improve documentation of Mockito test execution listeners #25514
- Highlight link to Actuator API docs in the reference docs #25511
- Warn that multi-document property files cannot be loaded by using
@PropertySource
or@TestPropertySource
#25502 - Document how to import a Docker secret as a configtree #25500
- Add note concerning application yml and properties file precedence #25464
- Fix property name in gradle plugin documentation #25463
- Fix grammatical error in documentation #25432
- Fix wording error in build-info goal description #25386
- Polish HTTP client metrics documentation wording #25372
- Polish README #24981
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.87 #25654
- Upgrade to Byte Buddy 1.10.22 #25655
- Upgrade to Commons Lang3 3.12.0 #25656
- Upgrade to Couchbase Client 3.1.3 #25657
- Upgrade to Dropwizard Metrics 4.1.18 #25658
- Upgrade to Ehcache3 3.9.2 #25659
- Upgrade to Flyway 7.7.0 #25660
- Upgrade to Hazelcast 4.1.2 #25661
- Upgrade to Hibernate 5.4.29.Final #25662
- Upgrade to HikariCP 4.0.3 #25663
- Upgrade to Infinispan 12.0.2.Final #25664
- Upgrade to Jackson Bom 2.12.2 #25665
- Upgrade to Jakarta Mail 1.6.6 #25666
- Upgrade to Jedis 3.5.2 #25667
- Upgrade to Jetty 9.4.38.v20210224 #25462
- Upgrade to Jetty Reactive HTTPClient 1.1.6 #25668
- Upgrade to jOOQ 3.14.8 #25669
- Upgrade to Kotlin 1.4.31 #25670
- Upgrade to Kotlin Coroutines 1.4.3 #25671
- Upgrade to Lettuce 6.1.0.RC1 #25722
- Upgrade to Log4j2 2.14.1 [#25672](https://github.com/...
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!