Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.4.10
🐞 Bug Fixes
- spring-boot-configuration-metadata leaks enforced dependency constraints into consuming builds #27726
- Potential NPE in
TomcatMetricsBinder.findContext()
#27576 - WebTestClientContextCustomizerFactory causes an IllegalStateException when WebClient is on the classpath without a supported HTTP client #27520
- spring-boot:build-image hangs when exceptions are thrown during upload #27515
- A URI with non-alpha characters in its scheme is not sanitized #27482
- spring.security.dispatcher-types is not applied to Spring Security's filter when running in a separate management context #27372
📔 Documentation
- Fix typo in javadoc #27614
- Mention productionRuntimeClasspath in Gradle plugin's documentation #27558
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.3 #27739
- Upgrade to AppEngine SDK 1.9.91 #27740
- Upgrade to Ehcache3 3.9.5 #27665
- Upgrade to Glassfish JAXB 2.3.5 #27666
- Upgrade to Janino 3.1.6 #27667
- Upgrade to Logback 1.2.5 #27668
- Upgrade to MariaDB 2.7.4 #27669
- Upgrade to Maven Enforcer Plugin 3.0.0 #27670
- Upgrade to Micrometer 1.6.10 #27596
- Upgrade to MIMEPull 1.9.15 #27671
- Upgrade to Netty 4.1.67.Final #27741
- Upgrade to Nimbus JOSE JWT 8.22.1 #27699
- Upgrade to Reactor 2020.0.10 #27595
- Upgrade to Spring Data 2020.0.12 #27632
- Upgrade to Spring Integration 5.4.10 #27598
- Upgrade to Spring Integration 5.4.9 #27500
- Upgrade to Spring Kafka 2.6.10 #27501
- Upgrade to Spring Security 5.4.8 #27597
- Upgrade to Spring Session 2020.0.6 #27599
- Upgrade to Tomcat 9.0.52 #27672
- Upgrade to Undertow 2.2.10.Final #27673
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.6.0-M1
For upgrade instructions please see the release notes.
⭐ New Features
- Add Java 17 to JavaVersion enum #27416
- Make setters on RabbitTemplateConfigurer public #27376
- Add configuration property for Reactor Netty's idle timeout #27371
- Support comma-separated values in EntityScan's basePackages placeholders #27355
- Deprecate SpringPhysicalNamingStrategy in favor of Hibernate 5.5's CamelCaseToUnderscoresNamingStrategy #27352
- Update version property for Prometheus to reflect that it covers the whole Java client and not just the Pushgateway #27350
- Update RabbitTemplateConfigurer to take its required settings as constructor arguments #27313
- Update AbstractRabbitListenerContainerFactoryConfigurer and its subclasses to take their required settings as constructor arguments #27311
- Use server version from database in Neo4j health details #27294
- Deprecate AbstractDataSourceInitializer and its subclasses in favour of DataSourceScriptDatabaseInitializer-based equivalents #27206
- Remove default spring.mongodb.embedded.version #27108
- Add
@WebServiceServerTest
annotation that can be used when testing SOAP server #27091 - Add Rabbit connection factory configurers #26982
- Add resource labels to Stackdriver metrics configuration properties #26961
- Include information about where the caller was loaded from in NoSuchMethodError failure analysis #26895
- Rely on Spring Security to determine the version of nimbus dependencies #26819
- Introduce builder customizer for Lettuce
ClientResources
#26792 - Allow to chain
ContextConsumer
implementations #26723 - Add SpringApplicationBuilder constructor with ResourceLoader parameter #26690
- Add properties for configuring Flyway's ignoreMigrationPatterns, detectEncoding, and failOnMissingLocations #26456
- Allow the WebSessionManager's session ID resolver to be customized using a WebSessionIdResolver bean #26437
- Allow to configure StartMojo's wait and maxAttempts attributes from the command-line #26422
- Auto-configure binding of Micrometer's JettyConnectionMetrics and JettySslHandshakeMetrics #26418
- Apply RSocketConnectorConfigurer beans to the RSocketRequester.Builder #26341
- Add Lombok
@Value
support for configuration metadata generation #26337 - Enable Redis connection pool if commons-pool2 is on the classpath #26326
- Add configuration property for Tomcat's rejectIllegalHeader #26311
- Add support for Dynatrace metrics v2 API #26258
- Reproducible build for spring-boot-maven-plugin:build-info #26221
- Remove dependency management for org.webjars:hal-browser #26192
- Add auto-configuration for Micrometer DiskSpaceMetrics #26001
- Add metrics support for ThreadPoolTaskExecutor and ThreadPoolTaskScheduler #23818
- Add auto-configuration for Spring Data Envers #22610
- Adjust fat jar central directory to account for launch script #22336
- Use a configurable location to load global Devtools settings #17924
🪲 Bug Fixes
- DataSourceBuilder throws an UnsupportedDataSourcePropertyException when trying to derive a DataSource from an unknown DataSource type #27455
- DatabaseInitializerDetector and DependsOnDatabaseInitializationDetector implementations may be instantiated with the wrong ClassLoader #27425
- YamlPropertySourceLoader may not use the right ClassLoader to check if SnakeYAML is present #27420
- Since 2.5.1, a circular reference is created when one SpringLiquibase bean is configured to depend on another #27408
- Setting Gson as preferred mapper breaks controller methods returning JSON Strings #27362
@SpyBean
does not work when used to spy on a Spring Data Repository #27353- Dependency management for Prometheus's Pushgateway is incomplete #27351
- Exception thrown from /actuator/configprops endpoint when spring.config.import=configtree:xxxx is used #27347
- Layers configuration XSD is not available #27326
- Redis health indicators report that Redis is up when the cluster's state is fail #27305
- Spring Session JDBC does not work when lazy initialization is enabled #27226
- App fails to start when using Spring Batch with JDBC and lazy initialization is enabled #27224
- AbstractDataSourceInitializers are not detected as database initializers #27223
- File named "config" in working directory causes IllegalStateException #27213
- Optional file search locations with pattern throws exception if not present #27212
- "Cannot determine database's type as ConnectionFactory is not options-capable" error message doesn't provide enough detail #27186
- DurationStyle.SIMPLE.print does not work correctly with ChronoUnit.MICROS #27155
- Configuration property metadata has the wrong default value for spring.netty.leak-detection #27106
- Deadlock when the application context is closed and System.exit(int) is then called during application context refresh #27076
- Default value for NettyProperties.leakDetection is not aligned with Netty's default #27050
- SpringApplicationShutdownHook throws ClassCastException when use log4j2 #27018
- Gradle 6.9.x is not listed as a supported version when the Gradle version is < 6.8 #27001
- Gradle build fails with "invocation of 'Task.project' at execution time is unsupported" when using the configuration cache in a project that depends on org.springframework.boot:spring-boot-configuration-processor #26998
- NoSuchMethodError with Jetty 10 when trying to use HTTP/2 over TLS (h2) #26989
- A bean factory post processor cannot be configured to run after
DependsOnDatabaseInitializationPostProcessor
#26951 - Kotlin plugin's version shouldn't be read if the kotlin.version extra property has been set #26948
- SQL initialization in 2.5 does not handle connection errors gracefully anymore #26943
- Script-based database initialization should not check the database's type unless it has scripts to apply #26942
- Profile-specific files should still be considered when processing 'spring.config.import' properties ...
v2.5.3
⭐ New Features
- Add Java 17 to JavaVersion enum #26769
🪲 Bug Fixes
- DataSourceBuilder throws an UnsupportedDataSourcePropertyException when trying to derive a DataSource from an unknown DataSource type #27453
- DatabaseInitializerDetector and DependsOnDatabaseInitializationDetector implementations may be instantiated with the wrong ClassLoader #27422
- YamlPropertySourceLoader may not use the right ClassLoader to check if SnakeYAML is present #27419
- Setting Gson as preferred mapper breaks controller methods returning JSON Strings #27361
- Dependency management for Prometheus's Pushgateway is incomplete #27349
- Exception thrown from /actuator/configprops endpoint when spring.config.import=configtree:xxxx is used #27346
- Layers configuration XSD is not available #27321
- Redis health indicators report that Redis is up when the cluster's state is fail #27304
- App fails to start when using Spring Batch with JDBC and lazy initialization is enabled #27221
- Spring Session JDBC does not work when lazy initialization is enabled #27220
- AbstractDataSourceInitializers are not detected as database initializers #27215
- Optional file search locations with pattern throws exception if not present #27211
- File named "config" in working directory causes IllegalStateException #27210
- Live Reload using Devtools no longer connects #27205
- Live Reload using Devtools no longer connects #27204
- DurationStyle.SIMPLE.print does not work correctly with ChronoUnit.MICROS #27154
- Since 2.5.1, a circular reference is created when one SpringLiquibase bean is configured to depend on another #27131
- Configuration property metadata has the wrong default value for spring.netty.leak-detection #27104
- "Cannot determine database's type as ConnectionFactory is not options-capable" error message doesn't provide enough detail #26977
@SpyBean
does not work when used to spy on a Spring Data Repository #7033
📔 Documentation
- Fix reference to a configuration property in cloud.adoc #27357
- Document auto-configured Jetty metrics #27301
- Document that hateoas starter is spring MVC specific #27139
- Improve javadoc of
@DefaultValue
#27137 - Fix anchor rewrites containing a question mark #27107
- Remove unnecessary unit for spring.datasource.tomcat.max-active #27103
- Fix typo in section title #27102
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.90 #27384
- Upgrade to AspectJ 1.9.7 #27194
- Upgrade to Caffeine 2.9.2 #27195
- Upgrade to DB2 JDBC 11.5.6.0 #27196
- Upgrade to Dropwizard Metrics 4.1.25 #27385
- Upgrade to Infinispan 12.1.7.Final #27386
- Upgrade to Jackson Bom 2.12.4 #27198
- Upgrade to Jedis 3.6.3 #27448
- Upgrade to Jetty 9.4.43.v20210629 #27199
- Upgrade to Jetty Reactive HTTPClient 1.1.10 #27388
- Upgrade to Johnzon 1.2.14 #27200
- Upgrade to jOOQ 3.14.13 #27389
- Upgrade to Kotlin 1.5.21 #27316
- Upgrade to Kotlin Coroutines 1.5.1 #27317
- Upgrade to Lettuce 6.1.4.RELEASE #27341
- Upgrade to Logback 1.2.4 #27449
- Upgrade to Micrometer 1.7.2 #27342
- Upgrade to MySQL 8.0.26 #27450
- Upgrade to Netty 4.1.66.Final #27390
- Upgrade to Postgresql 42.2.23 #27202
- Upgrade to Reactor 2020.0.9 #27162
- Upgrade to SLF4J 1.7.32 #27451
- Upgrade to Spring AMQP 2.3.10 #27392
- Upgrade to Spring Data 2021.0.3 #27164
- Upgrade to Spring Framework 5.3.9 #27163
- Upgrade to Spring HATEOAS 1.3.3 #27184
- Upgrade to Spring Integration 5.5.2 #27166
- Upgrade to Spring Kafka 2.7.4 #27165
- Upgrade to Tomcat 9.0.50 #27203
- Upgrade to Undertow 2.2.9.Final #27452
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.9
🪲 Bug Fixes
- Setting Gson as preferred mapper breaks controller methods returning JSON Strings #27354
- Exception thrown from /actuator/configprops endpoint when spring.config.import=configtree:xxxx is used #27327
- Redis health indicators report that Redis is up when the cluster's state is fail #27300
- Optional file search locations with pattern throws exception if not present #27209
- Spring Session JDBC does not work when lazy initialization is enabled #27208
- App fails to start when using Spring Batch with JDBC and lazy initialization is enabled #27193
- DurationStyle.SIMPLE.print does not work correctly with ChronoUnit.MICROS #27149
- Live Reload using Devtools no longer connects #27147
- YamlPropertySourceLoader may not use the right ClassLoader to check if SnakeYAML is present #27133
- File named "config" in working directory causes IllegalStateException #27120
📔 Documentation
- Document auto-configured Jetty metrics #27299
- Document that hateoas starter is spring MVC specific #26897
- Improve javadoc of
@DefaultValue
#26742
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.90 #27377
- Upgrade to AspectJ 1.9.7 #27238
- Upgrade to DB2 JDBC 11.5.6.0 #27239
- Upgrade to Dropwizard Metrics 4.1.25 #27378
- Upgrade to Jetty 9.4.43.v20210629 #27241
- Upgrade to Jetty Reactive HTTPClient 1.1.10 #27240
- Upgrade to Johnzon 1.2.14 #27242
- Upgrade to jOOQ 3.14.13 #27379
- Upgrade to Lettuce 6.0.7.RELEASE #27339
- Upgrade to Logback 1.2.4 #27380
- Upgrade to Micrometer 1.6.9 #27340
- Upgrade to MySQL 8.0.26 #27444
- Upgrade to Netty 4.1.66.Final #27381
- Upgrade to Postgresql 42.2.23 #27244
- Upgrade to Reactor 2020.0.9 #27159
- Upgrade to SLF4J 1.7.32 #27445
- Upgrade to Spring AMQP 2.3.10 #27391
- Upgrade to Spring Data 2020.0.11 #27161
- Upgrade to Spring Framework 5.3.9 #27160
- Upgrade to Spring HATEOAS 1.2.8 #27183
- Upgrade to Tomcat 9.0.50 #27245
- Upgrade to Undertow 2.2.9.Final #27446
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.2
🪲 Bug Fixes
- Instantiator is called without a classloader #27074
- EnvironmentPostProcessors aren't instantiated with correct ClassLoader #27073
- EnvironmentPostProcessors aren't instantiated with correct ClassLoader #27072
- Instantiator is called without a classloader #27071
- Failure when binding the name of a non-existent class to a Class<?> property isn't very helpful #27061
- Failure when binding the name of a non-existent class to a Class<?> property isn't very helpful #27060
- Unable to exclude dependencies on repackaging war #27057
- Unable to exclude dependencies on repackaging war #27056
- Deadlock when the application context is closed and System.exit(int) is then called during application context refresh #27049
- Default value for NettyProperties.leakDetection is not aligned with Netty's default #27046
- Profile-specific resolution should still happen when processing 'spring.config.import' properties #27006
- Profile-specific resolution should still happen when processing 'spring.config.import' properties #27005
- Gradle build fails with "invocation of 'Task.project' at execution time is unsupported" when using the configuration cache in a project that depends on org.springframework.boot:spring-boot-configuration-processor #26997
- NoSuchMethodError with Jetty 10 when trying to use HTTP/2 over TLS (h2) #26988
- SpringApplicationShutdownHook throws ClassCastException when use log4j2 #26953
- Gradle 6.9.x is not listed as a supported version when the Gradle version is < 6.8 #26952
- Kotlin plugin's version shouldn't be read if the kotlin.version extra property has been set #26947
- Profile-specific files should still be considered when processing 'spring.config.import' properties #26939
- Misleading type information reported by BeanNotOfRequiredTypeFailureAnalyzer #26935
- SQL initialization in 2.5 does not handle connection errors gracefully anymore #26926
- Script-based database initialization should not check the database's type unless it has scripts to apply #26925
- Memory leak in MetricsClientHttpRequestInterceptor when auto-timing is disabled #26923
- DevTools' LiveReload support's HTTP header handling is case sensitive #26920
- DevTools' LiveReload support's HTTP header handling is case sensitive #26919
- App fails to start when using Flyway or Liquibase with a spring.flyway.url or spring.liquibase.url without spring-jdbc on the classpath #26917
- A bean factory post processor cannot be configured to run after
DependsOnDatabaseInitializationPostProcessor
#26899 - WebSocket auto-configuration throws a CNFE with Jetty 10 #26847
📔 Documentation
- Description of spring.datasource.name property is inaccurate #27063
- Description of spring.datasource.name property is inaccurate #27062
- Update reference documentation to reflect
@SpringBootApplication
's use of@SpringBootConfiguration
#27024 - Document uuid support in RandomValuePropertySource #27010
- Misleading doc about application startup exposure #26978
- Add missing space for asciidoc ordered list #26955
- Add Azure info to the cloud deployment docs #26910
- Make the documentation versions more apparent #26891
🔨 Dependency Upgrades
- Upgrade to Cassandra Driver 4.11.2 #26990
- Upgrade to Dropwizard Metrics 4.1.24 #27035
- Upgrade to Hazelcast 4.1.4 #27069
- Upgrade to Jedis 3.6.1 #26992
- Upgrade to Jetty EL 9.0.48 #26993
- Upgrade to Kotlin 1.5.20 #27088
- Upgrade to Kotlin 1.5.20 #27086
- Upgrade to Lettuce 6.1.3.RELEASE #27036
- Upgrade to Micrometer 1.7.1 #27015
- Upgrade to Neo4j Java Driver 4.2.7 #27037
- Upgrade to Netty tcNative 2.0.40.Final #27070
- Upgrade to Nimbus JOSE JWT 9.10 #27039
- Upgrade to OAuth2 OIDC SDK 9.9 #27038
- Upgrade to Postgresql 42.2.22 #26994
- Upgrade to Reactor 2020.0.8 #26968
- Upgrade to SLF4J 1.7.31 #26995
- Upgrade to Spring AMQP 2.3.9 #26972
- Upgrade to Spring Data 2021.0.2 #26970
- Upgrade to Spring HATEOAS 1.3.2 #26969
- Upgrade to Spring Integration 5.5.1 #26974
- Upgrade to Spring Kafka 2.7.3 #26973
- Upgrade to Spring Security 5.5.1 #26945
- Upgrade to Spring Session 2021.0.1 #26971
- Upgrade to Tomcat 9.0.48 #26996
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.8
🪲 Bug Fixes
- EnvironmentPostProcessors aren't instantiated with correct ClassLoader #27043
- Failure when binding the name of a non-existent class to a Class<?> property isn't very helpful #27028
- Profile-specific resolution should still happen when processing 'spring.config.import' properties #26960
- Kotlin plugin's version shouldn't be read if the kotlin.version extra property has been set #26946
- Memory leak in MetricsClientHttpRequestInterceptor when auto-timing is disabled #26915
- Gradle build fails with "invocation of 'Task.project' at execution time is unsupported" when using the configuration cache in a project that depends on org.springframework.boot:spring-boot-configuration-processor #26880
- Profile-specific files should still be considered when processing 'spring.config.import' properties #26858
- App fails to start when using Flyway or Liquibase with a spring.flyway.url or spring.liquibase.url without spring-jdbc on the classpath #26849
- Misleading type information reported by BeanNotOfRequiredTypeFailureAnalyzer #26821
- DevTools' LiveReload support's HTTP header handling is case sensitive #26813
- Unable to exclude dependencies on repackaging war #15808
📔 Documentation
- Description of spring.datasource.name property is inaccurate #27026
- Document uuid support in RandomValuePropertySource #26975
- Update reference documentation to reflect
@SpringBootApplication
's use of@SpringBootConfiguration
#26937 - Make the documentation versions more apparent #26851
🔨 Dependency Upgrades
- Upgrade to Dropwizard Metrics 4.1.24 #27031
- Upgrade to Jetty EL 8.5.68 #26984
- Upgrade to Lettuce 6.0.6.RELEASE #27032
- Upgrade to Micrometer 1.6.8 #27014
- Upgrade to Neo4j Java Driver 4.1.4 #27033
- Upgrade to Netty tcNative 2.0.40.Final #27066
- Upgrade to Nimbus JOSE JWT 8.22 #27068
- Upgrade to OAuth2 OIDC SDK 8.36.2 #27067
- Upgrade to Postgresql 42.2.22 #26985
- Upgrade to Reactor 2020.0.8 #26962
- Upgrade to SLF4J 1.7.31 #26986
- Upgrade to Spring AMQP 2.3.9 #26966
- Upgrade to Spring Data 2020.0.10 #26963
- Upgrade to Spring HATEOAS 1.2.7 #27013
- Upgrade to Spring Integration 5.4.8 #26967
- Upgrade to Spring Security 5.4.7 #26965
- Upgrade to Spring Session 2020.0.5 #26964
- Upgrade to Tomcat 9.0.48 #26987
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.1
🪲 Bug Fixes
- SqlInitializationAutoConfiguration fails when there is a DataSource bean and no spring-jdbc or a ConnectionFactory bean and no spring-r2dbc #26850
- MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26827
- CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26823
- ConnectionFactoryBuilder.derivefrom should be named derivedFrom to align with DataSourceBuilder #26810
- Profile-specific property files are incorrectly ordered when both '.' and './config' folders are used in the same application #26782
- A spring.config.import declared in an application-.properties file calls ConfigDataLocationResolver.resolveProfileSpecific #26755
- A spring.config.import declared in an application.properties file also attempts to import profile-specific files #26754
- Jar startup fails on JDK 11 with a SecurityManager enabled #26744
- Possible divide by zero bugs when using RandomValuePropertySource #26739
- Resolving properties with a target type can cause ConversionFailedException #26732
- Upgrading to Spring Boot 2.5.0 leads to a startup warning from Jackson about Kotlin #26727
- LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26725
- bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #26703
- Non-static nested
@Configuration
in JerseySameManagementContextConfiguration #26697 - Restore run order of
data.sql
/schema.sql
against high-level database migration tools #26692 - Gradle plugin does not provided public constant for the productionRuntimeClasspath configuration #26687
- Non-embedded databases have schema/data.sql scripts applied by default #26682
- Custom username/password properties are not picked up by DataSourceInitializationConfiguration #26676
- No subdirectories found for mandatory directory location 'file:./config/*/' is thrown when config dir exists #26672
- LoggingSystem not available on shutdown to log DisposableBean#destroy invocations #26660
- Image Building with custom buildpacks fails with permission denied on Arch Linux #26658
- SingleSignOnService Binding from SAML IdP metadata gets overridden by default #26649
- UnsupportedDataSourcePropertyException is thrown when attempting to set URL for SQL Server #26647
- Flyway and Liquibase custom datasource without an url leads to java.lang.ClassCastException #26644
- Empty value for spring.datasource.password can cause NullPointerException #26633
- UnsupportedDataSourcePropertyException is thrown when attempting to set driverClassName for H2 #26631
- Some metrics are lost when Spring Data is on the classpath #26630
- ApplicationAvailabilityBean should log at debug level #26624
📔 Documentation
- Update optaplanner spring boot starter url #26816
- Fix typo in 'Reacting to the Maven plugin' title #26751
- Link to Spring Data JPA points to Spring Data JDBC #26741
- Clarify when a connection pool is created for Redis #26735
- Polish description of server.servlet.session.cookie.domain #26717
- Document Kubernetes terminationGracePeriodSeconds #26701
- Correct Kotlin version requirements in documentation #26655
- Document spring.profiles.default property #26654
- Add link to Maven Git Commit Id Plugin #26635
- Rework build-image-customization table in docs #25739
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.89 #26798
- Upgrade to Couchbase Client 3.1.6 #26799
- Upgrade to Dropwizard Metrics 4.1.22 #26800
- Upgrade to Ehcache3 3.9.4 #26801
- Upgrade to Git Commit ID Plugin 4.0.5 #26845
- Upgrade to Gson 2.8.7 #26802
- Upgrade to Hibernate 5.4.32.Final #26803
- Upgrade to Infinispan 12.1.4.Final #26804
- Upgrade to JBoss Logging 3.4.2.Final #26805
- Upgrade to Jetty 9.4.42.v20210604 #26838
- Upgrade to Jetty Reactive HTTPClient 1.1.9 #26837
- Upgrade to Johnzon 1.2.13 #26806
- Upgrade to jOOQ 3.14.11 #26807
- Upgrade to Kotlin 1.5.10 #26652
- Upgrade to Neo4j Java Driver 4.2.6 #26808
- Upgrade to RSocket 1.1.1 #26839
- Upgrade to Spring AMQP 2.3.8 #26764
- Upgrade to Spring Framework 5.3.8 #26761
- Upgrade to Spring Kafka 2.7.2 #26765
- Upgrade to Undertow 2.2.8.Final #26809
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.7
🪲 Bug Fixes
- MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26826
- CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26822
- A spring.config.import declared in an application-.properties file calls ConfigDataLocationResolver.resolveProfileSpecific #26753
- A spring.config.import declared in an application.properties file also attempts to import profile-specific files #26752
- Jar startup fails on JDK 11 with a SecurityManager enabled #26743
- Possible divide by zero bugs when using RandomValuePropertySource #26738
- LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26724
- bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #26702
- Non-static nested
@Configuration
in JerseySameManagementContextConfiguration #26696 - Gradle plugin does not provided public constant for the productionRuntimeClasspath configuration #26686
- No subdirectories found for mandatory directory location 'file:./config/*/' is thrown when config dir exists #26627
- Auto-configured resource handlers don't get applied to child contexts #26622
- Profile-specific property files are incorrectly ordered when both '.' and './config' folders are used in the same application #26593
- SingleSignOnService Binding from SAML IdP metadata gets overridden by default #26454
📔 Documentation
- Link to Spring Data JPA points to Spring Data JDBC #26740
- Clarify when a connection pool is created for Redis #26734
- Polish description of server.servlet.session.cookie.domain #26716
- Document Kubernetes terminationGracePeriodSeconds #26700
- Document spring.profiles.default property #26653
- Correct Kotlin version requirements in documentation #26421
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.89 #26783
- Upgrade to Dropwizard Metrics 4.1.22 #26784
- Upgrade to Ehcache3 3.9.4 #26785
- Upgrade to Gson 2.8.7 #26786
- Upgrade to Hibernate 5.4.32.Final #26787
- Upgrade to JBoss Logging 3.4.2.Final #26788
- Upgrade to Jetty 9.4.42.v20210604 #26834
- Upgrade to Jetty Reactive HTTPClient 1.1.9 #26833
- Upgrade to Johnzon 1.2.13 #26789
- Upgrade to jOOQ 3.14.11 #26790
- Upgrade to Neo4j Java Driver 4.1.3 #26835
- Upgrade to RSocket 1.1.1 #26836
- Upgrade to Spring AMQP 2.3.8 #26762
- Upgrade to Spring Framework 5.3.8 #26760
- Upgrade to Spring Kafka 2.6.9 #26763
- Upgrade to Undertow 2.2.8.Final #26791
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.12.RELEASE
🪲 Bug Fixes
- MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26812
- CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26797
- LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26711
- Non-static nested
@Configuration
in JerseySameManagementContextConfiguration #26695 - Possible divide by zero bugs when using RandomValuePropertySource #26628
- Auto-configured resource handlers don't get applied to child contexts #25743
- Jar startup fails on JDK 11 with a SecurityManager enabled #25538
- bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #23115
📔 Documentation
- Link to Spring Data JPA points to Spring Data JDBC #26736
- Clarify when a connection pool is created for Redis #26733
- Polish description of server.servlet.session.cookie.domain #26713
- Document spring.profiles.default property #26592
- Document Kubernetes terminationGracePeriodSeconds #26469
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.89 #26776
- Upgrade to Dropwizard Metrics 4.1.22 #26777
- Upgrade to Gson 2.8.7 #26778
- Upgrade to Hibernate 5.4.32.Final #26779
- Upgrade to JBoss Logging 3.4.2.Final #26780
- Upgrade to Jetty 9.4.42.v20210604 #26830
- Upgrade to Jetty Reactive HTTPClient 1.1.9 #26829
- Upgrade to Johnzon 1.2.13 #26781
- Upgrade to Neo4j OGM 3.2.24 #26831
- Upgrade to RSocket 1.0.5 #26832
- Upgrade to Spring AMQP 2.2.18 #26770
- Upgrade to Spring Integration 5.3.8 #26772
- Upgrade to Spring Kafka 2.5.14 #26771
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.0
For full upgrade instructions and new and noteworthy features please see the release notes.
🪲 Bug Fixes
- Auto-configured resource handlers don't get applied to child contexts #26623
- Actuator doesn't use the CORS Configuration with default security configuration and Spring Webflux #26614
- Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #26612
- SpringApplication additional profiles and active profiles ordering changed with Spring Boot 2.4 #26610
- An active request delays Jetty's shutdown by 30 seconds #26608
- SmartInitializingSingleton beans are not working with lazy initialization #26606
- MVC and WebFlux metrics filters adversely affect the response when metrics recording fails #26596
- ConfigDataResolvers cannot signal that they should be skipped #26585
- Remote devtools endpoint cannot be accessed if actuator and spring security are on the classpath #26584
- The error message when a wildcard directory location does not match any files is misleading #26583
- Mandatory locations with pattern fail with exception #26582
- Non-optional locations with wildcards fail if no files are contributed #26581
- Profiles programmatically set on the Envionment are no longer merged with active profile properties #26580
- Use of spring.profiles.include in a profile-specific document is not detected when it's configured as a YAML list #26575
- ConfigurationProperties is retrieved via classpath scanning but does not indicate it should be indexed #26463
- BufferingApplicationStartup fails with NoSuchElementException #26458
- Building an image fails when using a custom buildpack image with long file names #26445
- Additional profiles are processed too late when legacy processing is used #26434
- Config data location does not exist error can be thrown if a profile-specific properties file is directly imported #26402
- StandardConfigDataLoader can import profile specific files in incorrect order #26401
- Resolvability and consumability of productionRuntimeClasspath are not aligned with runtimeClasspath #26365
- ObjectMapper provided by JacksonAutoConfiguration via JacksonClusterEnvironmentBuilderCustomizer breaks Couchbase driver #26363
- Empty value in spring.config.import causes NullPointerException #26346
@DataRedisTest
does not considerRedisReactiveAutoConfiguration
#26328- When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26323
- SpringBootConfiguration is retrieved via classpath scanning but does not indicate it should be indexed #26318
- Maven spring-boot:build-image ignores ZIP layout #26313
- bootBuildImage does not pick up targetCompatibility when it's configured after task is customised #26301
- Configuration item metadata ordering is not consistent #26277
@EnableAutoConfiguration
and@ImportAutoConfiguration
use different class loaders to find candidate configurations #26237- 'spring.web.resources.cache.use-last-modified=false' doesn't work with Spring MVC #26233
- Restore support for binding configuration properties from RandomValuePropertySource #26201
@Scheduled
method not triggered when spring.main.lazy-initialization=true #26156- When classes in spring-core and spring-boot are loaded by different ClassLoaders, spring-boot cannot find its own config data location resolvers #26155
- ConfigFileApplicationListener#loadPostProcessors can not load EnvironmentPostProcessor in child classLoader #26126
📔 Documentation
- Info endpoint in reference doc has outdated defaults #26591
- Update documentation following the release of Spock Framework 2.0 #26586
- Update Gradle docs to use module replacement rather than dependency substitution #26526
- Improve documentation of TestRestTemplate's fault tolerance #26522
- Document that the heap dump endpoint requires a HotSpot JVM #26474
- Suggest enabling the default servlet when using Jersey as a filter #26452
- Document support for Gradle 6.9 #26409
- Fix wrong reference to Cassandra in DockerImageNames#couchbase #26406
- PDF documentation include hidden code elements #26373
- Move Working with the Code from CONTRIBUTING.adoc to the wiki #26334
- Fix typo in NamedContributors Javadoc #26325
- Polish README #26320
- Fix link to Webservices reference docs #26316
- Document property names to enable reactive health indicators #26299
- Documentation has wrong key for DataSourceHealthIndicator #26283
- Reorder a few howtos #26262
- Align documentation with main default branch name #26257
- Align Maven version in system requirements with what is actually tested #26211
- Document that MeterFilters are only applied to the Spring-managed MeterRegistry #26186
- Use new update site for Spring Java Format's Eclipse plugin #26172
- spring.profiles.include has outdated sourceType in configuration metadata #26165
- Include spring.profiles.group in additional-spring-configuration-metadata.json #26164
- Enhance multiple entity manager factories online documentation #26160
- SQL init schema-locations and data-locations are missing metadata to cause them to be handled as Resources #26154
- Replacements for spring.datasource.schema and spring.datasource.data are documented incorrectly #26150