Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.7.0-RC1
⭐ New Features
- Use auto-configured JSON codecs in GraphQlTesterAutoConfiguration #30646
- Change identityprovider to assertingparty in Saml2RelyingPartyProperties #30642
- Update initialization of WebSocket handler in GraphQlWebMvcAutoConfiguration #30641
- Allow disabling the Dynatrace instruments in Micrometer #30637
- Make ServletWebServerFactory and ReactiveWebServerFactory extend the WebServerFactory marker interface #30579
- Add support for CNB platform API 0.9 #30566
- Align tag and metric names with Micrometer?s recommendations #30536
- Deprecate running an application in the Maven process #30479
- Add support for Prometheus Exemplars #30472
- Support Ordered and
@Order
for exit code generation #30457 - Configure RSocket support in GraphQL #30453
- Support "application/graphql+json" media type in GraphQL HTTP mapping #30407
- Perform failure analysis when a web application cannot be started due to a missing web server factory bean #30358
- Simplify registration of Jackson mixin types #30152
- Deprecate DatabaseDriver.GAE #29984
- Add auto-configuration for Kafka Retry Topics #29812
- Relocate
@Local
*Port to spring-boot-test #29589 - Move core Maven artifacts to the provided scope for the maven plugin #29520
- Provide autoconfiguration to enable TLS for Web Server using PEM files instead of Keystore #29273
- Validate the aud claim in OAuth2 resource server #29084
- Deprecate Elasticsearch RestHighLevelClient #28598
- Support Elasticsearch RestClientBuilder auto-configuration without RestHighLevelClient #28496
🐞 Bug Fixes
- bootBuildInfo fails with a NullPointerException when an additional property has a null value #30671
@SpringBootTest
(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #30667- Spring Boot does not respect WebApplicationType.REACTIVE in tests with a mock web environment #30665
- NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both
@Configuration
and@ConfigurationProperties
has a static@Bean
method #30582 - ApplicationAvailabilityBean is not thread-safe #30554
- Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30552
- Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30542
- MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30476
- DataSource metrics are not auto-configured when using lazy initialization #30282
📔 Documentation
- Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30750
- Fix incorrect link in kafka.adoc #30740
- Move Jetty 9 specific exclusions to the correct dependency #30584
- Add missing configuration metadata for "management.endpoint.health.probes.add-additional-paths" #30573
- Update list of default internal proxies in Web Server howto #30545
- Polish documentation #30528
- Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30470
- Document that
@DefaultValue
can be used on a record component #30466 - Remove redundant Javadoc #30450
- Move JsonComponent documentation from Spring MVC to general Jackson section #30405
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.96 #30710
- Upgrade to Byte Buddy 1.12.9 #30711
- Upgrade to Elasticsearch 7.17.2 #30712
- Upgrade to Embedded Mongo 3.4.5 #30546
- Upgrade to Flyway 8.5.9 #30766
- Upgrade to GraphQL Java 18.0 #30464
- Upgrade to H2 2.1.212 #30714
- Upgrade to Hibernate 5.6.8.Final #30715
- Upgrade to Infinispan 13.0.9.Final #30767
- Upgrade to Jackson 2.13.2.1 #30741
- Upgrade to Janino 3.1.7 #30768
- Upgrade to Jetty 9.4.46.v20220331 #30717
- Upgrade to Kotlin 1.6.21 #30769
- Upgrade to Kotlin Coroutines 1.6.1 #30719
- Upgrade to Liquibase 4.9.1 #30720
- Upgrade to Lombok 1.18.24 #30721
- Upgrade to MariaDB 3.0.4 #30722
- Upgrade to Maven Clean Plugin 3.2.0 #30723
- Upgrade to Maven Javadoc Plugin 3.4.0 #30770
- Upgrade to Maven Shade Plugin 3.3.0 #30724
- Upgrade to Micrometer 1.9.0-RC1 #30605
- Upgrade to MIMEPull 1.10.0 #30725
- Upgrade to Mockito 4.5.0 #30759
- Upgrade to MongoDB 4.6.0 #30746
- Upgrade to Netty 4.1.76.Final #30726
- Upgrade to Pooled JMS 1.2.4 #30727
- Upgrade to Postgresql 42.3.4 #30728
- Upgrade to Reactor 2020.0.18 #30604
- Upgrade to RSocket 1.1.2 #30729
- Upgrade to Spring AMQP 2.4.4 #30703
- Upgrade to Spring Data 2021.2.0-RC1 #30610
- Upgrade to Spring for GraphQL 1.0.0-RC1 #30463
- Upgrade to Spring Framework 5.3.18 #30493
- Upgrade to Spring Framework 5.3.19 #30518
- Upgrade to Spring HATEOAS 1.5.0-RC1 #30745
- Upgrade to Spring Integration 5.5.11 #30704
- Upgrade to Spring Kafka 2.8.5 #30608
- Upgrade to Spring LDAP 2.4.0-RC1 #30606
- Upgrade to Spring Retry 1.3.3 #30607
- Upgrade to Spring Security 2.7.0-RC1 [#30609](https://github.com/spring-proj...
v2.6.7
🐞 Bug Fixes
- bootBuildInfo fails with a NullPointerException when an additional property has a null value #30670
@SpringBootTest
(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #30666- Spring Boot does not respect WebApplicationType.REACTIVE in tests with a mock web environment #30664
- NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both
@Configuration
and@ConfigurationProperties
has a static@Bean
method #30581 - ApplicationAvailabilityBean is not thread-safe #30553
- Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30551
- Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30541
📔 Documentation
- Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30749
- Fix incorrect link in kafka.adoc #30674
- Move Jetty 9 specific exclusions to the correct dependency #30583
- Add missing configuration metadata for "management.endpoint.health.probes.add-additional-paths" #30562
- Update list of default internal proxies in Web Server howto #30544
- Polish documentation #30526
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.96 #30682
- Upgrade to Hibernate 5.6.8.Final #30683
- Upgrade to Jackson 2.13.2.1 #30743
- Upgrade to Janino 3.1.7 #30755
- Upgrade to Jetty 9.4.46.v20220331 #30684
- Upgrade to Kotlin 1.6.21 #30756
- Upgrade to Lombok 1.18.24 #30757
- Upgrade to Micrometer 1.8.5 #30597
- Upgrade to Netty 4.1.76.Final #30686
- Upgrade to Pooled JMS 1.2.4 #30687
- Upgrade to Postgresql 42.3.4 #30758
- Upgrade to Reactor 2020.0.18 #30596
- Upgrade to RSocket 1.1.2 #30688
- Upgrade to Spring AMQP 2.4.4 #30701
- Upgrade to Spring Data 2021.1.4 #30602
- Upgrade to Spring Framework 5.3.19 #30517
- Upgrade to Spring HATEOAS 1.4.2 #30744
- Upgrade to Spring Integration 5.5.11 #30702
- Upgrade to Spring Kafka 2.8.5 #30600
- Upgrade to Spring LDAP 2.3.7 #30598
- Upgrade to Spring Retry 1.3.3 #30599
- Upgrade to Spring Security 5.6.3 #30601
- Upgrade to Spring Session 2021.1.3 #30603
- Upgrade to Tomcat 9.0.62 #30689
- Upgrade to Undertow 2.2.17.Final #30690
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.13
🐞 Bug Fixes
- bootBuildInfo fails with a NullPointerException when an additional property has a null value #30654
- Incorrect Neo4j username property replacement hint by spring-boot-properties-migrator #30550
- Add Tomcat locale mapping for Japanese to preserve UTF-8 charset #30535
- ApplicationAvailabilityBean is not thread-safe #30489
- NullPointerException is thrown when accessing /actuator/configprops if a class annotated with both
@Configuration
and@ConfigurationProperties
has a static@Bean
method #30068 @SpringBootTest
(webEnvironment = WebEnvironment.NONE) is overridden by spring.main.web-application-type in application.properties #29695- Respect WebApplicationType.REACTIVE in tests with a mock web environment #29170
📔 Documentation
- Update doc samples to reflect AdoptOpenJDK move to the Eclipse Foundation #30748
- Move Jetty 9 specific exclusions to the correct dependency #30522
- Polish documentation #30498
- Update list of default internal proxies in Web Server howto #30461
🔨 Dependency Upgrades
- Upgrade to AppEngine SDK 1.9.96 #30675
- Upgrade to Janino 3.1.7 #30752
- Upgrade to Jetty 9.4.46.v20220331 #30676
- Upgrade to Lombok 1.18.24 #30753
- Upgrade to Micrometer 1.7.11 #30588
- Upgrade to Netty 4.1.76.Final #30677
- Upgrade to Pooled JMS 1.2.4 #30678
- Upgrade to Reactor 2020.0.18 #30587
- Upgrade to RSocket 1.1.2 #30679
- Upgrade to Spring AMQP 2.3.16 #30699
- Upgrade to Spring Data 2021.0.11 #30594
- Upgrade to Spring Framework 5.3.19 #30516
- Upgrade to Spring Integration 5.5.11 #30700
- Upgrade to Spring Kafka 2.7.13 #30592
- Upgrade to Spring LDAP 2.3.7 #30589
- Upgrade to Spring Retry 1.3.3 #30590
- Upgrade to Spring Security 5.5.6 #30593
- Upgrade to Spring Session 2021.0.6 #30595
- Upgrade to Tomcat 9.0.62 #30680
- Upgrade to Undertow 2.2.17.Final #30681
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.6.6
🐞 Bug Fixes
- MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30475
📔 Documentation
- Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30469
- Document that
@DefaultValue
can be used on a record component #30465 - Remove redundant Javadoc #30446
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.12
🐞 Bug Fixes
- MustacheAutoConfiguration in a Servlet web application fails with a ClassNotFoundException when Spring MVC is not on the classpath #30456
📔 Documentation
- Javadoc of org.springframework.boot.gradle.plugin.ResolveMainClassName.setClasspath(Object) is inaccurate #30468
- Document that
@DefaultValue
can be used on a record component #30460
🔨 Dependency Upgrades
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v3.0.0-M2
⭐ New Features
- Reinstate support for Ehcache 3 #30002
- Reinstate support for H2 Console #29755
- Raise the minimum supported version of Gradle to 7.4 #29674
- Raise the minimum supported version of Kotlin to 1.6 #29660
- Remove values from JavaVersion enum for Java versions less than 17 #29503
- Remove image banner support #28883
- Provide dependency management for RxJava 3 in place of 1.x and 2.x #28212
- Allow
@ConstructorBinding
to be optional #23216
🐞 Bug Fixes
- spring-boot-dependencies contains dependency management for spring-boot-starter-jta-atomikos which no longer exists #29653
- spring-boot-dependencies contains dependency management for spring-boot-starter-activemq which no longer exists #29645
📔 Documentation
- Update documentation about Spock to reflect Groovy 4.0 requirement #30318
- Add reference to Casdoor Spring Boot Starter #30220
- Document that the minimum supported version of Kotlin is now 1.6 #30197
🔨 Dependency Upgrades
- Upgrade to AspectJ 1.9.9 #30418
- Upgrade to Caffeine 3.0.6 #30363
- Upgrade to Groovy 4.0.1 #30279
- Upgrade to Hibernate Validator 7.0.4.Final #30364
- Upgrade to Jetty 11.0.8 #30367
- Upgrade to Jetty EL 10.0.14 #30365
- Upgrade to Jetty Reactive HTTPClient 3.0.5 #30366
- Upgrade to jOOQ 3.16.5 #30368
- Upgrade to Kotlin 1.6.20-RC2 #30369
- Upgrade to Micrometer 2.0.0-M3 #29753
- Upgrade to MongoDB 4.5.1 #30419
- Upgrade to RxJava3 3.1.4 #30370
- Upgrade to SendGrid 4.9.1 #30420
- Upgrade to Spring AMQP 3.0.0-M2 #30201
- Upgrade to Spring Batch 5.0.0-M2 #30232
- Upgrade to Spring Data 2022.0.0-M3 #30361
- Upgrade to Spring Framework 6.0.0-M3 #29957
- Upgrade to Spring HATEOAS 2.0.0-M2 #30371
- Upgrade to Spring Integration 6.0.0-M2 #30204
- Upgrade to Spring Kafka 3.0.0-M3 #30089
- Upgrade to Spring REST Docs 3.0.0-M2 #29544
- Upgrade to Spring Security 6.0.0-M3 #30202
- Upgrade to Spring WS 4.0.0-M2 #30203
- Upgrade to Thymeleaf Layout Dialect 3.1.0 #30312
- Upgrade to Tomcat 10.0.18 #30320
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.7.0-M3
⭐ New Features
- Align indices options of auto-configured ReactiveElasticsearchTemplate with Spring Data Elasticsearch's default #30378
- Rework spring.mustache properties to make it clear which are Servlet-specific #30273
- Remove support for spring.mongodb.embedded.features #30219
- Support podman for building images #30196
- Add EIGHTEEN to JavaVersion enum #30133
- Allow spring.data.mongodb.uri to override separate host, port, etc properties #30067
- Refine GraphQL server auto-configuration #30035
- Support overriding the default key-based sanitization #30006
- Configure FormattingConversionService in GraphQlAutoConfiguration #29638
- Add option to pass configured Docker host to the image builder container #29384
- Add configuration property for supported media types with reactive Mustache views #28858
- Add support for cache2k in memory caching #28498
🐞 Bug Fixes
- ConfigurationPropertyName#equals is not symmetric when adapt has removed trailing characters from an element #30393
- Thymeleaf auto-configuration in a reactive application can fail due to duplicate templateEngine beans #30386
- server.tomcat.keep-alive-timeout is not applied to HTTP/2 #30322
- Setting spring.mustache.enabled to false has no effect #30257
- bootWar is configured eagerly #30215
- Actuator
@ReadOperation
on Flux cancels request after first element emitted #30162 - Unnecessary allocations in Prometheus scraping endpoint #30126
- No metrics are bound for R2DBC ConnectionPools that have been wrapped #30101
- Condition evaluation report entry for a
@ConditionalOnSingleCandidate
that does not match due to multiple primary beans isn't as clear as it could be #30099 - DataFetcherExceptionResolver beans are not considered in GraphQlTester slice tests #30078
- Generated password are logged without an "unsuitable for production use" note #30071
- Files in META-INF are not found when deploying a Gradle-built executable war to a servlet container #30037
- Dependency management for Apache Kafka is incomplete #30032
- spring-boot-configuration-processor fails compilation due to
@DefaultValue
with a long value and generates invalid metadata for byte and short properties with out-of-range default values #30023 - Naming strategy and MBean exporter are configured inconsistently in JmxAutoConfiguration #29968
📔 Documentation
- Add Apache Kafka to the description of the Messaging section #30394
- Default value of spring.thymeleaf.reactive.media-types is not documented #30388
- Clarify type matching that is performed when using
@MockBean
and@SpyBean
#30383 - Fix links to Spring Security Reference Guide in Accessing the H2 Console in a Secured Application #30380
- Document how to access the H2 Console in a secured web application #30347
- Add Netty in "Enable HTTP Response Compression" #30345
- Fix JsonSerializer example in reference guide #30331
- WebSockets section missing in reference guide #30275
- Include default Dev Tools properties in the reference documentation #30167
- Document the WebSocket-related exclusions that are required to use Jetty 10 #30150
- Fix typo #30121
- Anchor tag for Spring HATEOAS does not redirect properly #30119
- Add documentation for spring.profiles.include #30116
- Document when config data properties are invalid #30115
- Document the scalar types supported by MapBinder #30112
- Document how to rely on ServletContext with an embedded container setup #30110
- Clarify that build plugins or the CLI does not have an auto-compile feature #30094
- Document how to structure configurations so that
@Bean
methods are included in slice tests #30092 - Remove non-existent spring.data.cassandra.connection.connection-timeout property from the documentation #30081
- Use Gradle's task configuration avoidance APIs in the main reference docs #30060
- Use Gradle's task configuration avoidance APIs in the Gradle Plugin's reference docs #30058
- Document plugging in custom sanitisation rules with a SanitizingFunction bean #30054
- Improve property placeholder documentation to mention environment variables and default values #30051
- Polish web examples in reference doc #30049
- Add links to Spring Boot for Apache Geode to the reference documentation #30019
🔨 Dependency Upgrades
- Upgrade to Awaitility 4.2.0 #30284
- Upgrade to Cassandra Driver 4.14.0 #30285
- Upgrade to Couchbase Client 3.2.6 #30286
- Upgrade to Dropwizard Metrics 4.2.9 #30287
- Upgrade to Ehcache3 3.10.0 #30288
- Upgrade to Elasticsearch 7.17.1 #30289
- Upgrade to Embedded Mongo 3.4.3 #30341
- Upgrade to Flyway 8.5.4 #30290
- Upgrade to Groovy 3.0.10 #30291
- Upgrade to Hazelcast 5.1.1 #30292
- Upgrade to Hibernate 5.6.7.Final #30293
- Upgrade to Hibernate Validator 6.2.3.Final #30294
- Upgrade to HtmlUnit 2.60.0 #30390
- Upgrade to Infinispan 13.0.8.Final #30296
- Upgrade to Jackson Bom 2.13.2 #30297
- Upgrade to Lettuce 6.1.8.RELEASE #30342
- Upgrade to Liquibase 4.9.0 #30298
- Upgrade to Log4j2 2.17.2 #30299
- Upgrade to Logback 1.2.11 #30305
- Upgrade to Maven Compiler Plugin 3.10.1 #30300
- Upgrade to Maven Dependency Plugin 3.3.0 #30301
- Upgrade to Micrometer 1.9.0-M4 #30014
- Upgrade to Mockito 4.4.0 #30302
- Upgrade to MongoDB 4.5.1 [#30416](https...
v2.6.5
📣 Noteworthy
- This release upgrades to Kafka 3.0.1 which enables idempotence by default. See the updated Spring Boot 2.6 release notes for further details.
⭐ New Features
- Add EIGHTEEN to JavaVersion enum #30132
🐞 Bug Fixes
- ConfigurationPropertyName#equals is not symmetric when adapt has removed trailing characters from an element #30392
- Thymeleaf auto-configuration in a reactive application can fail due to duplicate templateEngine beans #30385
- server.tomcat.keep-alive-timeout is not applied to HTTP/2 #30321
- Setting spring.mustache.enabled to false has no effect #30256
- bootWar is configured eagerly #30213
- Actuator
@ReadOperation
on Flux cancels request after first element emitted #30161 - Unnecessary allocations in Prometheus scraping endpoint #30125
- No metrics are bound for R2DBC ConnectionPools that have been wrapped #30100
- Condition evaluation report entry for a
@ConditionalOnSingleCandidate
that does not match due to multiple primary beans isn't as clear as it could be #30098 - Generated password are logged without an "unsuitable for production use" note #30070
- Dependency management for Netty tcNative is incomplete leading to possible version conflicts #30038
- Files in META-INF are not found when deploying a Gradle-built executable war to a servlet container #30036
- Dependency management for Apache Kafka is incomplete #30031
- spring-boot-configuration-processor fails compilation due to
@DefaultValue
with a long value and generates invalid metadata for byte and short properties with out-of-range default values #30022
📔 Documentation
- Add Apache Kafka to the description of the Messaging section #30389
- Default value of spring.thymeleaf.reactive.media-types is not documented #30387
- Clarify type matching that is performed when using
@MockBean
and@SpyBean
#30382 - Fix links to Spring Security Reference Guide in Accessing the H2 Console in a Secured Application #30349
- Document how to access the H2 Console in a secured web application #30346
- Add Netty in "Enable HTTP Response Compression" #30344
- Fix JsonSerializer example in reference guide #30330
- WebSockets section missing in reference guide #30231
- Include default Dev Tools properties in the reference documentation #30166
- Document the WebSocket-related exclusions that are required to use Jetty 10 #30149
- Fix typo #30120
- Add documentation for spring.profiles.include #30114
- Document when config data properties are invalid #30113
- Document the scalar types supported by MapBinder #30111
- Document how to rely on ServletContext with an embedded container setup #30109
- Anchor tag for Spring HATEOAS does not redirect properly #30106
- Clarify that build plugins or the CLI does not have an auto-compile feature #30093
- Document how to structure configurations so that
@Bean
methods are included in slice tests #30091 - Remove non-existent spring.data.cassandra.connection.connection-timeout property from the documentation #30080
- Clarify actuator security documentation #30065
- Use Gradle's task configuration avoidance APIs in the main reference docs #30059
- Use Gradle's task configuration avoidance APIs in the Gradle Plugin's reference docs #30057
- Improve property placeholder documentation to mention environment variables and default values #30050
- Polish web examples in reference doc #30048
- Add links to Spring Boot for Apache Geode to the reference documentation #30018
- Document plugging in custom sanitisation rules with a SanitizingFunction bean #29950
🔨 Dependency Upgrades
- Upgrade to Couchbase Client 3.2.6 #30237
- Upgrade to Dropwizard Metrics 4.2.9 #30238
- Upgrade to Groovy 3.0.10 #30239
- Upgrade to Hibernate 5.6.7.Final #30338
- Upgrade to Hibernate Validator 6.2.3.Final #30241
- Upgrade to Jackson Bom 2.13.2 #30242
- Upgrade to Kafka 3.0.1 #30243
- Upgrade to Lettuce 6.1.8.RELEASE #30339
- Upgrade to Log4j2 2.17.2 #30244
- Upgrade to Logback 1.2.11 #30245
- Upgrade to Micrometer 1.8.4 #30178
- Upgrade to Neo4j Java Driver 4.4.5 #30326
- Upgrade to Netty 4.1.75.Final #30246
- Upgrade to Netty tcNative 2.0.51.Final #30247
- Upgrade to R2DBC Bom Arabba-SR13 #30340
- Upgrade to Reactor 2020.0.17 #30176
- Upgrade to Spring AMQP 2.4.3 #30180
- Upgrade to Spring Data 2021.1.3 #30179
- Upgrade to Spring Framework 5.3.17 #30177
- Upgrade to Spring Integration 5.5.10 #30183
- Upgrade to Spring Kafka 2.8.4 #30181
- Upgrade to Spring Retry 1.3.2 #30248
- Upgrade to Spring WS 3.1.3 #30182
- Upgrade to Tomcat 9.0.60 #30249
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.5.11
⭐ New Features
- Add EIGHTEEN to JavaVersion enum #29524
🐞 Bug Fixes
- Thymeleaf auto-configuration in a reactive application can fail due to duplicate templateEngine beans #30384
- ConfigurationPropertyName#equals is not symmetric when adapt has removed trailing characters from an element #30317
- server.tomcat.keep-alive-timeout is not applied to HTTP/2 #30267
- Setting spring.mustache.enabled to false has no effect #30250
- bootWar is configured eagerly #30211
- Actuator
@ReadOperation
on Flux cancels request after first element emitted #30095 - No metrics are bound for R2DBC ConnectionPools that have been wrapped #30090
- Unnecessary allocations in Prometheus scraping endpoint #30085
- Condition evaluation report entry for a
@ConditionalOnSingleCandidate
that does not match due to multiple primary beans isn't as clear as it could be #30073 - Generated password are logged without an "unsuitable for production use" note #30061
- Files in META-INF are not found when deploying a Gradle-built executable war to a servlet container #30026
- spring-boot-configuration-processor fails compilation due to
@DefaultValue
with a long value and generates invalid metadata for byte and short properties with out-of-range default values #30020 - Dependency management for Netty tcNative is incomplete leading to possible version conflicts #30010
- Dependency management for Apache Kafka is incomplete #29023
📔 Documentation
- Fix JsonSerializer example in reference guide #30329
- Default value of spring.thymeleaf.reactive.media-types is not documented #30280
- Add Netty in "Enable HTTP Response Compression" #30234
- Fix typo #30118
- Remove non-existent spring.data.cassandra.connection.connection-timeout property from the documentation #30074
- Use Gradle's task configuration avoidance APIs in the Gradle Plugin's reference docs #30056
- Polish web examples in reference doc #30027
- Improve property placeholder documentation to mention environment variables and default values #30012
- Use Gradle's task configuration avoidance APIs in the main reference docs #30000
- Document how to access the H2 Console in a secured web application #29932
- Add links to Spring Boot for Apache Geode to the reference documentation #29697
- Include default Dev Tools properties in the reference documentation #29406
- Document the WebSocket-related exclusions that are required to use Jetty 10 #29275
- Clarify type matching that is performed when using
@MockBean
and@SpyBean
#28656 - Add documentation for spring.profiles.include #28451
- Document the scalar types supported by MapBinder #27581
- Document when config data properties are invalid #25849
- Document how to rely on ServletContext with an embedded container setup #24561
- Clarify that build plugins or the CLI does not have an auto-compile feature #17851
- Document how to structure configurations so that
@Bean
methods are included in slice tests #16088
🔨 Dependency Upgrades
- Upgrade to Couchbase Client 3.1.8 #30221
- Upgrade to Dropwizard Metrics 4.1.31 #30222
- Upgrade to Groovy 3.0.10 #30223
- Upgrade to Hibernate Validator 6.2.3.Final #30224
- Upgrade to Lettuce 6.1.8.RELEASE #30336
- Upgrade to Log4j2 2.17.2 #30225
- Upgrade to Logback 1.2.11 #30226
- Upgrade to Micrometer 1.7.10 #30171
- Upgrade to Netty 4.1.75.Final #30227
- Upgrade to Netty tcNative 2.0.51.Final #30228
- Upgrade to R2DBC Bom Arabba-SR13 #30337
- Upgrade to Reactor 2020.0.17 #30169
- Upgrade to Spring AMQP 2.3.15 #30173
- Upgrade to Spring Data 2021.0.10 #30172
- Upgrade to Spring Framework 5.3.17 #30170
- Upgrade to Spring Integration 5.5.10 #30175
- Upgrade to Spring Kafka 2.7.12 #30351
- Upgrade to Spring Retry 1.3.2 #30229
- Upgrade to Spring WS 3.1.3 #30174
- Upgrade to Tomcat 9.0.60 #30230
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.7.0-M2
⭐ New Features
- Add DataCouchbaseTest annotation #29912
- Add DataElasticsearchTest annotation #29911
- Allow relative auto-configuration ordering to be configured using
@AutoConfiguration
#29907 - Add Kafka immediateStop Property #29884
- Move away from spring.factories for auto-configurations #29872
- Introduce
@AutoConfiguration
#29870 - Remove separate dependency management for netty-tcnative in favor of the entry in Netty’s bom #29816
- Support constructor injection for FailureAnalyzers #29811
- Move away from spring.factories for management context configuration imports #29730
- Add redis sentinel username support for authentication with ACL #29661
- Adapt OpaqueTokenIntrospector auto-configuration so that Nimbus is no longer required #29572
- Implement InputStream.available() for RandomAccessDataFile-backed input streams #29295
🐞 Bug Fixes
- Default JmxAutoConfiguration changes JConsole hierarchy for multi-property
@ManagedResource
object names #29971 - GraphQlService may not used contributed BatchLoaderRegistry #29929
- The active profiles log message is ambiguous when a profile's name contains a comma #29916
@SpyBean
causes BeanCurrentlyInCreationException when there are circular references #29910- Failed application contexts are not deregistered from SpringApplicationShutdownHook #29906
- Gradle Plugin triggers eager configuration of some tasks #29818
- MimeMapping for ots has a trailing space in its mime type #29751
- A fat jar built with Gradle moves META-INF beneath BOOT-INF/classes while Maven leaves it at the jar's root #29749
- WebSessionIdResolverAutoConfiguration should only be active in a reactive web application #29744
- Dependency management for Liquibase does not include its liquibase-cdi module #29742
- server.tomcat.use-relative-redirects=true not honored when server.forward-headers-strategy=framework #29732
- Ignore invalid stream types when reading log update events #29692
- bootJar, bootRun, and bootWar do not pick up changes to the main source set's runtime classpath that are made after Boot's plugin has been applied #29680
- Health Web Endpoint Extension Failed to Initialize When Some Conditions Hit #29584
- ErrorPageSecurityFilter cannot be destroyed in a Servlet 3.1 compatible container #29565
📔 Documentation
- Document that placeholders in
@DefaultValue
annotations are not resolved #29981 - Clarify relation of import path to resultant properties in configtree import data #29979
- bootRun example should use mainClass, rather than main which was deprecated in Gradle 7.1 #29967
- Rectify incorrect sanitizing regex example provided in how-to docs #29960
- "Customizing the Banner" should make it more obvious that any environment property can be used #29935
- Update javadoc to reflect move from WebSecurityConfigurerAdapter to SecurityFilterChain #29902
- Link directly to the Integration Properties section of the appendix when cross-referencing Kafka properties #29808
- Update documentation to reflect Hibernate's CamelCaseToUnderscoresNamingStrategy now being used by default #29752
- Add documentation for WebMvc.fn #29729
- Move appendix subsections under appendix section #29690
- In Gradle plugin docs, replace classifier (deprecated) with archiveClassifier in examples #29686
- Warn about the dangers of early bean initialization when using
@ConditionalOnExpression
#29617 - Rename Boxfuse to CloudCaptain #29540
- Upgrade version of gradle-git-properties in reference doc #29538
- Add Kotlin alternatives to Java samples #29499
🔨 Dependency Upgrades
- Upgrade to ActiveMQ 5.16.4 #29828
- Upgrade to AppEngine SDK 1.9.95 #29943
- Upgrade to Artemis 2.19.1 #29829
- Upgrade to Byte Buddy 1.12.8 #29830
- Upgrade to Couchbase Client 3.2.5 #29831
- Upgrade to Dropwizard Metrics 4.2.8 #29832
- Upgrade to Elasticsearch 7.17.0 #29848
- Upgrade to Flyway 8.5.1 #29986
- Upgrade to Glassfish JAXB 2.3.6 #29835
- Upgrade to Gson 2.9.0 #29836
- Upgrade to H2 2.1.210 #29651
- Upgrade to Hibernate 5.6.5.Final #29837
- Upgrade to Hibernate Validator 6.2.2.Final #29838
- Upgrade to HtmlUnit 2.58.0 #29839
- Upgrade to HttpClient5 5.1.3 #29840
- Upgrade to Infinispan 13.0.6.Final #29841
- Upgrade to Jetty 9.4.45.v20220203 #29843
- Upgrade to Jetty Reactive HTTPClient 1.1.11 #29842
- Upgrade to Johnzon 1.2.16 #29844
- Upgrade to Json Path 2.7.0 #29845
- Upgrade to Json-smart 2.4.8 #29846
- Upgrade to Kafka 3.1.0 #29700
- Upgrade to Liquibase 4.8.0 #29987
- Upgrade to MariaDB 3.0.3 #29945
- Upgrade to Maven Compiler Plugin 3.10.0 #29850
- Upgrade to Maven Javadoc Plugin 3.3.2 #29851
- Upgrade to Micrometer 1.9.0-M3 #29763
- Upgrade to Mockito 4.3.1 #29852
- Upgrade to MongoDB 4.5.0 #29853
- Upgrade to MSSQL JDBC 10.2.0.jre8 #29946
- Upgrade to Neo4j Java Driver 4.4.3 #29854
- Upgrade to Netty 4.1.74.Final #29855
- Upgrade to Netty tcNative 2.0.48.Final #29856
- Upgrade to OkHttp 4.9.3 #18506
- Upgrade to Oracle Database 21.5.0.0 #29857
- Upgrade to Postgresql 42.3.3 [#29858](https://github.com/...