v2.6.0-M1
Pre-release
Pre-release
spring-builds
released this
22 Jul 22:08
·
19067 commits
to main
since this release
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 #26940
- Misleading type information reported by BeanNotOfRequiredTypeFailureAnalyzer #26936
- WebSocket auto-configuration throws a CNFE with Jetty 10 #26929
- Memory leak in MetricsClientHttpRequestInterceptor when auto-timing is disabled #26924
- App fails to start when using Flyway or Liquibase with a spring.flyway.url or spring.liquibase.url without spring-jdbc on the classpath #26918
📔 Documentation
- Fix reference to a configuration property in cloud.adoc #27358
- Document auto-configured Jetty metrics #27302
- Document that hateoas starter is spring MVC specific #27140
- Improve javadoc of
@DefaultValue
#27138 - Remove unnecessary unit for spring.datasource.tomcat.max-active #27117
- Fix anchor rewrites containing a question mark #27116
- Fix typo in section title #27112
- Misleading doc about application startup exposure #27065
- Update reference documentation to reflect
@SpringBootApplication
's use of@SpringBootConfiguration
#27025 - Document uuid support in RandomValuePropertySource #27011
- Add missing space for asciidoc ordered list #26957
- Add Azure info to the cloud deployment docs #26912
- Make the documentation versions more apparent #26892
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.90 #27394
- Upgrade to AspectJ 1.9.7 #27250
- Upgrade to AssertJ 3.20.2 #27251
- Upgrade to Awaitility 4.1.0 #27252
- Upgrade to Byte Buddy 1.11.8 #27395
- Upgrade to Caffeine 2.9.2 #27254
- Upgrade to Cassandra Driver 4.12.0 #27255
- Upgrade to Commons Pool2 2.10.0 #27256
- Upgrade to DB2 JDBC 11.5.6.0 #27257
- Upgrade to Dropwizard Metrics 4.2.3 #27396
- Upgrade to Elasticsearch 7.13.3 #27259
- Upgrade to Flyway 7.11.2 #27397
- Upgrade to Git Commit ID Plugin 4.9.9 #27398
- Upgrade to Hazelcast 4.2.1 #27260
- Upgrade to Hibernate 5.5.4.Final #27399
- Upgrade to HtmlUnit 2.51.0 #27261
- Upgrade to HttpClient5 5.1 #27262
- Upgrade to Infinispan 12.1.7.Final #27400
- Upgrade to Jackson Bom 2.12.4 #27264
- Upgrade to Jedis 3.6.2 #27401
- Upgrade to Jersey 2.34 #27266
- Upgrade to Jetty 9.4.43.v20210629 #27269
- Upgrade to Jetty EL 9.0.48 #27267
- Upgrade to Jetty Reactive HTTPClient 1.1.10 #27268
- Upgrade to Johnzon 1.2.14 #27270
- Upgrade to jOOQ 3.14.13 #27402
- Upgrade to Json Path 2.6.0 #27272
- Upgrade to Kafka 2.8.0 #27247
- Upgrade to Kotlin 1.5.21 #27318
- Upgrade to Kotlin Coroutines 1.5.1 #27273
- Upgrade to Lettuce 6.1.4.RELEASE #27343
- Upgrade to Liquibase 4.4.1 #27291
- Upgrade to Maven Dependency Plugin 3.2.0 #27275
- Upgrade to Maven Javadoc Plugin 3.3.0 #27276
- Upgrade to Micrometer 1.8.0-M1 #27169
- Upgrade to Mockito 3.11.2 #27277
- Upgrade to MongoDB 4.3.0 #27344
- Upgrade to Neo4j Java Driver 4.3.3 #27278
- Upgrade to Netty 4.1.66.Final #27403
- Upgrade to Netty tcNative 2.0.40.Final #27279
- Upgrade to Postgresql 42.2.23 #27280
- Upgrade to Prometheus PushGateway 0.11.0 #27281
- Upgrade to QueryDSL 5.0.0.M1 #26956
- Upgrade to Rabbit AMQP Client 5.13.0 #27404
- Upgrade to Reactor 2020.0.8 #27027
- Upgrade to Reactor 2020.0.9 #27167
- Upgrade to REST Assured 4.4.0 #27293
- Upgrade to Selenium HtmlUnit 2.51.0 #27282
- Upgrade to SLF4J 1.7.31 #27283
- Upgrade to SnakeYAML 1.29 #27284
- Upgrade to Spring AMQP 2.4.0-M1 #27171
- Upgrade to Spring Data 2021.1.0-M1 #27170
- Upgrade to Spring Framework 5.3.9 #27168
- Upgrade to Spring HATEOAS 1.4.0-M1 #27185
- Upgrade to Spring Integration 5.5.2 #27174
- Upgrade to Spring Kafka 2.8.0-M1 #27177
- Upgrade to Spring Security 5.6.0-M1 #27173
- Upgrade to Spring Session Bom 2021.0.1 #27285
- Upgrade to SQLite JDBC 3.36.0.1 #27286
- Upgrade to Tomcat 9.0.50 #27287
- Upgrade to WebJars Locator Core 0.47 #27288
❤️ Contributors
We'd like to thank all the contributors who worked on this release!