Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.4.0-M3
⭐ New Features
- Allow trailing whitespace on properties document split marker #23399
- Add startup Actuator endpoint #23213
- Support constructor binding on 3rd party classes #23172
- Add mainApplicationClass information as a tag to "starting" StartupStep #23162
- Allow EntityScanner to be extended to provide a custom ClassPathScanningCandidateComponentProvider #23154
- Allow redis's connect and read/command timeouts to be configured separately #23137
- Allow default binder to work with multiple constructors #23117
- Avoid unnecessary reflection in TaskExecutorBuilder #23107
- Add global optional config data opt-out #23097
- Provide a property for configuring Spring AMQP's address shuffle mode #23091
- Generate a default value in the metadata for configuration properties initialised with Period.ZERO and Duration.ZERO #23082
- Fix some typos in tests #23050
- Provide a configuration property for Kafka listener container's idleBetweenPolls #23048
- Configure SAML 2.0 Service Provider via Metadata #23045
- Fail if import locations are not found #23032
- Provide a simple Instantiator utility class #23029
- Allow placeholders to be used in config import locations #23020
- Improve origin of imported config #23018
- Rename CompositeMeterRegistryAutoConfiguration #22988
- Auto-configure ConcurrentKafkaListenerContainerFactory with a user-provided RecordFilterStrategy bean if available #22973
- Support authentication from Docker daemon to private docker registry. #22972
- Add a registry to support long lived instances during environment processing #22956
- Rename neo4j.version to neo4j-java-driver.version #22952
- Restore support for spring.profiles.include for non profile specific documents #22944
- Mark
bootArchives
as nonresolvable configuration in Gradle plugin to better convey its purpose #22943 - Make GridFsTemplate's bucket configurable #22854
- Align WebClient uri metric tag with RestTemplate's #22832
- Disable default security configuration when SecurityFilterChain bean is present #22739
- Provide a buffering implementation for application startup metrics #22603
- Remove Elasticsearch RestClient auto-configuration #22358
- Support loading external configuration from files with no file extension #22280
- Exclude empty starters jars and annotation processors when running or packaging with Maven and Gradle #22036
- Make Devtools file detection more resilient across application restarts #19543
- Add SSL support to RSocketServer #19399
🪲 Bug Fixes
- spring-boot-dependencies should not define a spring-boot.version property #23378
- @ManagementContextConfiguration is meta-annotated with @configuration(proxyBeanMethods=false) which does not disable proxying #23306
- Signed jar dependency performance problem when repackaged in a single jar #23265
- ValidationHandler no longer works with certain map keys #23261
- MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23259
- Missing sanitization in lists of URIs properties on actuator endpoints #23253
- Cassandra's pool duration mapping uses a wrong duration unit #23251
- PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23241
- ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23205
- When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23204
- Large files can throw YAMLException due to node limits #23153
- Configurable SSL Logback extensions can't be supported due to URL checks #23136
- Image building support does not zero-pad digest hashes to 64 characters #23134
- Image builder fails silently when there's an error loading the ephemeral image #23133
- RSocketPortInfoApplicationContextInitializer can throw NPE #23089
- Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #23072
- UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23064
- Freemarker is configured to prefer filesystem access by default #23051
- Too much logging when building an OCI image with Maven #23015
- LayoutFactory can be presented with empty source file #23001
- Extracting layers with layertools doesn't work with executable JAR files #23000
- JarFile can cause memory issues when running on Java 11+ #22999
- Metrics auto-configurations are not ordered correctly #22990
- Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22984
- The @TypeExcludeFilters annotation is not @inherited #22967
- Update transaction auto-configuration to backoff if a TransactionManager is defined #22851
- MongoClientFactorySupport overrides existing uuidRepresentation with MongoProperties default value #22321
📔 Documentation
- Document that @ConfigurationProperties beans are not scanned in sliced tests #23244
- Document that buildpacks use non-root users for building container images and running containers #23201
- Add reference to AOProfiling Spring Boot starter #23161
- Document setting buildpack Java version from compiler plugin version #23148
- Document how to perform tasks after application startup #23145
- Fix documentation on Elasticsearch client configuration #23144
- Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #23143
- Document how to use spring.factories to add auto-configuration to a test slice #23142
- Document that graceful shutdown may not work from IDEs #23140
- Provide ex...
v2.3.4.RELEASE
🪲 Bug Fixes
@ManagementContextConfiguration
is meta-annotated with@Configuration(proxyBeanMethods=false)
which does not disable proxying #23305- Signed jar dependency performance problem when repackaged in a single jar #23264
- ValidationHandler no longer works with certain map keys #23260
- MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23258
- Missing sanitization in lists of URIs properties on actuator endpoints #23252
- Cassandra's pool duration mapping uses a wrong duration unit #23249
- When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23203
- ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23200
- spring-boot-dependencies should not define a spring-boot.version property #23174
- PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23165
- Configurable SSL Logback extensions can't be supported due to URL checks #23135
- Image building support does not zero-pad digest hashes to 64 characters #23132
- Image builder fails silently when there's an error loading the ephemeral image #23130
- Large files can throw YAMLException due to node limits #23096
- RSocketPortInfoApplicationContextInitializer can throw NPE #23087
- UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23063
- JarFile can cause memory issues when running on Java 11+ #22998
- Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #22996
- LayoutFactory can be presented with empty source file #22995
- Metrics auto-configurations are not ordered correctly #22989
- The
@TypeExcludeFilters
annotation is not@Inherited
#22966 - Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22750
- Too much logging when building an OCI image with Maven #22674
📔 Documentation
- Document that
@ConfigurationProperties
beans are not scanned in sliced tests #23243 - Fix documentation on Elasticsearch client configuration #23074
- Provide examples of Actuator custom endpoints in the reference documentation #23060
- Mention correct JUnit 5 annotations in Kotlin testing section #23004
- Document that extracting layers with layertools doesn't work with executable JAR files #22993
- Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22964
- Fix typo
Assert4J
->AssertJ
#22960 - Document that graceful shutdown may not work from IDEs #22959
- Fix typos in docs #22945
- Fix Gradle Plugin custom image name example and documentation #22918
- Document how to use spring.factories to add auto-configuration to a test slice #22531
- Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #22401
- Document how to perform tasks after application startup #22100
- Document setting buildpack Java version from compiler plugin version #21796
- Document that buildpacks use non-root users for building container images and running containers #21122
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.5.5 #23393
- Upgrade to Spring REST Docs 2.0.5.RELEASE #23376
- Upgrade to Spring AMQP 2.2.11 #23373
- Upgrade to Spring WS 3.0.10.RELEASE #23339
- Upgrade to Spring HATEOAS 1.1.2.RELEASE #23338
- Upgrade to Lettuce 5.3.4.RELEASE #23337
- Upgrade to Undertow 2.1.4.Final #23318
- Upgrade to Tomcat 9.0.38 #23317
- Upgrade to R2DBC Bom Arabba-SR7 #23316
- Upgrade to Postgresql 42.2.16 #23315
- Upgrade to Netty tcNative 2.0.34.Final #23314
- Upgrade to Netty 4.1.52.Final #23313
- Upgrade to Neo4j OGM 3.2.16 #23312
- Upgrade to Hibernate 5.4.21.Final #23311
- Upgrade to Hazelcast 3.12.9 #23310
- Upgrade to Flatten Maven Plugin 1.2.5 #23309
- Upgrade to Couchbase Client 3.0.8 #23308
- Upgrade to AppEngine SDK 1.9.82 #23307
- Upgrade to Spring Kafka 2.5.6 #23199
- Upgrade to Spring Data Neumann-SR4 #23196
- Upgrade to Reactor Dysprosium-SR12 #23192
- Upgrade to Spring Session Dragonfruit-SR1 #23187
- Upgrade to Spring Framework 5.2.9 #23183
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.10.RELEASE
🪲 Bug Fixes
@ManagementContextConfiguration
is meta-annotated with@Configuration(proxyBeanMethods=false)
which does not disable proxying #23301- Signed jar dependency performance problem when repackaged in a single jar #23263
- Allow types other than Date to be used in the "timestamp" MVC error model #23256
- RSocketPortInfoApplicationContextInitializer can throw NPE #23084
- UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23059
- Missing sanitization in lists of URIs properties on actuator endpoints #23037
- When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23036
- JarFile can cause memory issues when running on Java 11+ #22991
- Configurable SSL Logback extensions can't be supported due to URL checks #22946
- The
@TypeExcludeFilters
annotation is not@Inherited
#22939 - When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22777
- LiquibaseEndpoint does not report change sets from ancestor contexts #22681
- TaskExecutorBuilder only uses second-precision when configuring the await termination period #22604
- Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22566
- WebMvcTest and WebFluxTest do not include Jackson Module beans #22530
- UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22502
- Setting
ignoreInvalidFields=true
on@ConfigurationProperties
causes unknown fields to be ignored as well #22308 - Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #21897
- Legacy endpoint ids with '-' do not migrate cleanly #21615
- Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #21542
- Proper ordering of metrics auto-configurations #21134
- ValidationHandler no longer works with certain map keys #20350
- XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #20229
- Async exceptions not handled by error pages in war deployments #19471
📔 Documentation
- Document that
@ConfigurationProperties
beans are not scanned in sliced tests #23210 - Provide examples of Actuator custom endpoints in the reference documentation #23028
- Mention correct JUnit 5 annotations in Kotlin testing section #23002
- Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22962
- Fix typo
Assert4J
->AssertJ
#22948 - PushGateway documentation does not document enabled flag properly #22919
- Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22898
- Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22765
- Fix broken links to Micrometer registry docs #22705
- Document that spring-boot-configuration-processor cannot detect default value defined externally #22685
- Link to App Engine Standard sample not working #22607
- Fix link to Elasticsearch health indicator #22598
- Include a hint where to find documentation for DevTools in docs overview #22591
- Document that constructor binding does not support
@DurationUnit
and@DataSizeUnit
#22565 - Docs say Health's inner
details
section may contain components #22490 - Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22281
- Document the need for configuration files to have a file extension #22278
- Document that java.util.Optional is not recommended with ConfigurationProperties #21868
- Document how to use MongoClientSettingsBuilderCustomizer #21696
- Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #20920
- Improve documentation about swapping one technical starter for another #20408
- Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #19557
- Clarify documentation on use of
@AutoConfigureRestDocs
with WebTestClient #15977
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.3.14 #23388
- Upgrade to Spring AMQP 2.2.11 #23372
- Upgrade to Spring Ws 3.0.10.RELEASE #23336
- Upgrade to Neo4j Ogm 3.2.16 #23335
- Upgrade to Tomcat 9.0.38 #23334
- Upgrade to Spring Security 5.2.6.RELEASE #23299
- Upgrade to Postgresql 42.2.16 #23297
- Upgrade to Infinispan 9.4.20.Final #23295
- Upgrade to Hibernate 5.4.21.Final #23294
- Upgrade to Elasticsearch 6.8.12 #23293
- Upgrade to Jetty 9.4.31.v20200723 #23292
- Upgrade to Byte Buddy 1.10.14 #23291
- Upgrade to Undertow 2.0.31.Final #23290
- Upgrade to Rsocket 1.0.2 #23289
- Upgrade to Netty Tcnative 2.0.34.Final #23288
- Upgrade to Netty 4.1.52.Final #23287
- Upgrade to Dropwizard Metrics 4.1.12.1 #23285
- Upgrade to Hazelcast 3.12.9 #23284
- Upgrade to Appengine Sdk 1.9.82 #23283
- Upgrade to Spring Kafka 2.3.11 #23198
- Upgrade to Spring Data Moore-SR10 #23195
- Upgrade to Reactor Dysprosium-SR12 #23191
- Upgrade to Spring Session Corn-SR4 #23186
- Upgrade to Spring Framework 5.2.9 #23182
- Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22615
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
- @lock14
- [@dreis2211](h...
v2.1.17.RELEASE
🪲 Bug Fixes
- Signed jar dependency performance problem when repackaged in a single jar #19041
📔 Documentation
- Fix broken links to Micrometer registry docs #22704
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.1.18 #23384
- Upgrade to Spring AMQP 2.1.17 #23371
- Upgrade to Spring Ws 3.0.10.RELEASE #23333
- Upgrade to Neo4j Ogm 3.1.22 #23332
- Upgrade to Tomcat 9.0.38 #23331
- Upgrade to Spring Security 5.1.12.RELEASE #23278
- Upgrade to Postgresql 42.2.16 #23277
- Upgrade to Infinispan 9.4.20.Final #23275
- Upgrade to Hibernate 5.3.18.Final #23274
- Upgrade to Jetty 9.4.31.v20200723 #23273
- Upgrade to Undertow 2.0.31.Final #23272
- Upgrade to Dependency Management Plugin 1.0.10.RELEASE #23271
- Upgrade to Netty Tcnative 2.0.34.Final #23270
- Upgrade to Netty 4.1.52.Final #23269
- Upgrade to Appengine Sdk 1.9.82 #23267
- Upgrade to Jackson 2.9.10.20200824 #23266
- Upgrade to Spring Data Lovelace-SR20 #23194
- Upgrade to Reactor Californium-SR21 #23190
- Upgrade to Spring Session Bean-SR12 #23185
- Upgrade to Spring Framework 5.1.18 #23181
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.0-M2
⭐ New Features
- Prefer non-reflective access to ConfigurationClassPostProcessor #22858
- Do not include cookie headers in HTTP traces by default #22829
- Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22826
- Add no-pull option for image building #22736
- Use new core framework r2dbc support #22708
- Fail hard if spring.profiles.include is used with new config processing #22693
- Allow DurationFormat and PeriodFormat to be used on parameters #22646
- Allow for programatic access to new ConfigDataEnvironment processing #22601
- Instrument SpringBootApplication for application startup metrics #22600
- Add configuration to disable Redis Cluster dynamic sources refresh #22571
- Allow Jedis to be selected when both Jedis and Lettuce are on the classpath #22569
- Add basic auth support for Prometheus pushgateway #22548
- Add functional constructor to EnvironmentPostProcessorApplicationListener #22529
- Add support for profile groups #22522
- Extract DefaultPropertiesPropertySource class #22520
- Add plugin management for liquibase-maven-plugin #22499
- Add CloudPlatform.isEnforced that uses a Binder #22498
- Replace ConfigFileApplicationListener and rework application properties support #22497
- Add DeferredLogFactory support #22496
- Add multi-document properties file support #22495
- Add ConfigurationPropertySource.from factory method #22494
- Add @name support for value object binding #22492
- Improve Liveness/Readiness health indicators and probes configuration #22483
- Remove version management for exec-maven plugin #22397
- Make DefaultErrorAttributes easier to subclass for message customization #22378
- Add properties for Netty HttpDecoderSpec #22367
- Avoid unnecessary allocations in ConditionMessage for NORMAL style #22331
- Allow SpringApplication to create its application context without requiring reflection #22322
- Add failure analyzer for missing Liquibase changelog #22320
- Switch Neo4j health checks to the new Neo4j driver #22302
- Add auto-configuration for Neo4j driver #22301
- Upgrade to Spring Data Neo4j 6 #22299
- Measure with nanoseconds in HttpExchangeTracer #22266
- Support configuration of localEntityIdTemplate for a SAML Relying Party #22258
- Add a property to not create HealthIndicators from AbstractRoutingDatasources #22222
- Add support for reactive Elasticsearch healthcheck #22215
- Support incremental annotation processing with Gradle #22150
- Allow exclude only health groups #22053
- Auto-configure Rabbit connection factory with CredentialsProvider and CredentialsRefreshService when available #22016
- Allow specifying unit type of configuration property when injected via constructor #21746
- Add option to configure PathPatternParser in Spring MVC #21694
- Add support for easily disabling metrics export #21658
- Support iso offset time and date-time conversion with MVC and WebFlux by setting time or date-time properties to iso-offset #21630
- Add properties to control exceptions ignored by LdapTemplate #21289
- Support additional R2DBC pool properties #21219
- Switching default to include layers index for fat jar #20983
- Add support for creating property sources from volume-mounted Kubernetes ConfigMaps and Secrets #19990
- Add a test slice for Spring Data Cassandra #17490
- Consider spring.profiles.default when processing configuration files #15994
- Application properties outside of jar should take precedence over profile-specific variants inside the jar #3845
🪲 Bug Fixes
- MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22938
- Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22897
- CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22874
- Requests that should be handled by an additional DispatcherServlet result in a 404 response #22856
- Legacy endpoint ids with '-' do not migrate cleanly #22850
- When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22848
- StartupStep are closed twice in SpringApplicationRunListeners #22776
- OCI image build fails if environment has any empty properties #22735
- Kubernetes readiness probe endpoint returning 404 #22698
- NPE in BeanDefinitionLoader when loading non-Class sources and XML support is disabled #22696
- LiquibaseEndpoint does not report change sets from ancestor contexts #22687
- Async exceptions not handled by error pages in war deployments #22673
- XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22642
- TaskExecutorBuilder only uses second-precision when configuring the await termination period #22612
- Profile groups are not applied to the environment #22605
- Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22586
- Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22584
- Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22581
- UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22579
- WebMvcTest and WebFluxTest do not include Jackson Module beans #22577
- CouchbaseCacheConfiguration is not ordered properly #22568
- AbstractRepositoryConfigurationSourceSupport does not override registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) #22546
- Filter empty YAML documents [#22493](https://github.com/sp...
v2.3.3.RELEASE
⚠️ Upgrading from 2.3.2.RELEASE
- If you've applied a configuration workaround for an issue about missing liveness/readiness probes #22562, you should ensure that this workaround is removed when upgrading to 2.3.3.RELEASE.
⭐ New Features
- Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22188
🪲 Bug Fixes
- Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22895
- Legacy endpoint ids with '-' do not migrate cleanly #22849
- When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22847
- OCI image build fails if environment has any empty properties #22703
- LiquibaseEndpoint does not report change sets from ancestor contexts #22686
- Requests that should be handled by an additional DispatcherServlet result in a 404 response #22682
- Async exceptions not handled by error pages in war deployments #22672
- XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22641
- TaskExecutorBuilder only uses second-precision when configuring the await termination period #22611
- Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22585
- Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22583
- Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22580
- UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22578
- WebMvcTest and WebFluxTest do not include Jackson Module beans #22576
- CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22573
- Kubernetes readiness probe endpoint returning 404 #22562
- CouchbaseCacheConfiguration is not ordered properly #22542
- MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22039
📔 Documentation
- PushGateway documentation does not document enabled flag properly #22930
- Default value of server.jetty.accesslog.format is wrongly associated to server.forward-headers-strategy #22921
- Use wildcard in BP_JVM_VERSION with image building #22916
- Kotlin examples for configuring bootBuildImage's environment use wrong map configuration syntax #22913
- Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22910
- Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22899
- Document that spring-boot-configuration-processor cannot detect default value defined externally #22890
- Docs say Health's inner
details
section may contain components #22774 - Fix wrong reference in
ReadinessStateHealthIndicator
javadoc #22760 - Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22758
- Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #22748
- Fix broken links to Micrometer registry docs #22706
- Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #22669
- Document that constructor binding does not support @DurationUnit and @DataSizeUnit #22665
- Document properties to enable probe health indicators #22631
- Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #22629
- Include a hint where to find documentation for DevTools in docs overview #22622
- Fix link to Elasticsearch health indicator #22617
- Add ElasticsearchReactiveHealthIndicator to docs #22616
- Link to App Engine Standard sample not working #22608
- Improve documentation about swapping one technical starter for another #22596
- Document how to use MongoClientSettingsBuilderCustomizer #22589
- Document the need for configuration files to have a file extension #22587
- Document that java.util.Optional is not recommended with ConfigurationProperties #22574
- Typo in metadata for "management.health.readinessstate.enabled" #22560
- Document how to opt back in to DataSource auto-configuration when using R2DBC #22094
- Document that application.conf is not read by default when using the Cassandra auto-configuration #21787
- Document how to use Gradle's native bom support as an alternative to the dependency management plugin #21570
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.5.4 #22932
- Upgrade to Spring Security 5.3.4.RELEASE #22873
- Upgrade to Spring HATEOAS 1.1.1.RELEASE #22872
- Upgrade to RSocket 1.0.2 #22871
- Upgrade to Pooled JMS 1.1.2 #22870
- Upgrade to Lettuce 5.3.3.RELEASE #22869
- Upgrade to Kafka 2.5.1 #22868
- Upgrade to jOOQ 3.13.4 #22867
- Upgrade to Jetty 9.4.31.v20200723 #22866
- Upgrade to Jackson Bom 2.11.2 #22865
- Upgrade to Hibernate 5.4.20.Final #22864
- Upgrade to Dropwizard Metrics 4.1.12.1 #22863
- Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22862
- Upgrade to Couchbase Client 3.0.7 #22861
- Upgrade to Commons Pool2 2.8.1 #22860
- Upgrade to Byte Buddy 1.10.14 #22859
- Upgrade to Spring Data Neumann SR3 #22844
- Upgrade to Spring Kafka 2.5.5 #22843
- Upgrade to Spring AMQP 2.2.10 #22842
- Upgrade to Reactor Dysprosium-SR11 #22841
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.2.RELEASE
⭐ New Features
- Improve Liveness/Readiness health indicators and probes configuration #22107
- Add run-image option for image building #21534
- Add support for reactive Elasticsearch healthcheck #21042
🪲 Bug Fixes
- AbstractRepositoryConfigurationSourceSupport does not override registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) #22480
- ConditionMessage#items throws an NPE with a null list of items although the Javadoc states it is tolerated #22344
- ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #22325
- Image building fails when DOCKER_HOST is set to a local socket prefixed with unix:// #22300
- OnClassCondition tries to determine the outcome for single auto-configuration classes in parallel #22294
- A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22282
- NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22249
- Numerous logs mentioning a failed JNDI lookup when using Jetty #22241
- OAuth2ResourceServerAutoConfiguration does not back off completely when spring-security-oauth2-resource-server is not on the classpath #22233
- Period conversion does not support a ChronoUnit of WEEKS but supports weeks in ISO-8601 (e.g. P2W) and simple (e.g. 2w) formats #22225
- Image building fails with an unhelpful error message when building an image from a jar that includes the launch script #22223
- Layered bootJar task causes warnings when custom source set is present in the project #22200
- @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22197
- NPE in spring-boot-maven-plugin:build-image when setting custom builder that is not a builder #22179
- Accept empty filter dispatcher types in auto-configurations #22175
- TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22167
- Resource loading fails in Tomcat when Spring Boot is loaded from the common class loader #22119
- Temporary files not cleaned up after Maven plugin execution #22112
- RedisReactiveHealthIndicator is broken with Redis cluster mode #22096
- Management health group does not inherit show-details property #22063
- layertools with a wrong option seems to fail silently #22042
- NamedPipeSocket does not handle FileSystemException when establishing the file channel #22035
- In a context hierarchy, timeout-per-shutdown-phase is only honoured in the root context #22014
- LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #22010
- MockBean does not resolve the right type for abstract test class #22006
- The failure when spring.redis.url is configured with a redis-sentinel:// URL is hard to diagnose #21999
- spring-boot-starter-parent contains elements that must be overridden and aren't documented as such #21989
- Projects using Maven and spring-security-oauth2-client end up with a downgraded version of json-smart that isn't compatible with the managed version of json-path #21939
- Kafka Stream consumer metrics were lost in the move away from KafkaConsumerMetrics #21921
- Dependencies enforced without applying plugin #21911
- Welcome page support bypasses controllers mapped to / #21909
- AvailabilityChangeEvent does not carry generic information #21898
- Property spring.autoconfigure.exclude ignored by test slices #21736
- Image references passed to a CNB builder are not validated #21495
📔 Documentation
- Update the documentation to avoid trivialising what the reader's learning about #22410
- Clarify the effect of ordering auto-configuration #22339
- Restructure "Building Container Images" section #22296
- Update documentation to reflect the web server now being started immediately before the ContextRefreshedEvent is published #22277
- Clarify locations inside and outside the jar from which properties are loaded #22264
- Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22246
- Add package info for org.springframework.boot.autoconfigure.elasticsearch.rest #22147
- Document how to exclude an annotation processor with Maven #22023
- Remove Javadoc throw for ConfigurationPropertyName.ofIfValid() #22018
- Fix wrong property reference to keys-to-sanitize in Javadoc #21916
- Document Kafka metrics support #21910
- Fix formatting of
@Bean
in reference documentation #21908 - Update layers.idx file example in docs #21510
🔨 Dependency Upgrades
- Upgrade to Micrometer 1.5.3 #22553
- Upgrade to MariaDB 2.6.2 #22541
- Upgrade to AspectJ 1.9.6 #22540
- Upgrade to Groovy 2.5.13 #22526
- Upgrade to Tomcat 9.0.37 #22478
- Upgrade to Solr 8.5.2 #22477
- Upgrade to Netty 4.1.51.Final #22476
- Upgrade to Neo4j OGM 3.2.14 #22475
- Upgrade to MySQL 8.0.21 #22474
- Upgrade to MongoDB 4.0.5 #22473
- Upgrade to Lettuce 5.3.2.RELEASE #22470
- Upgrade to Kotlin Coroutines 1.3.8 #22469
- Upgrade to jOOQ 3.13.3 #22468
- Upgrade to Johnzon 1.2.8 #22467
- Upgrade to Jetty 9.4.30.v20200611 #22466
- Upgrade to Jetty Reactive HTTPClient 1.1.4 #22465
- Upgrade to Jakarta Servlet 4.0.4 #22464
- Upgrade to Jackson Bom 2.11.1 #22463
- Upgrade to HSQLDB 2.5.1 #22462
- Upgrade to Hibernate 5.4.18.Final #22461
- Upgrade to Hazelcast 3.12.8 #22460
- Upgrade to Flatten Maven Plugin 1.2.4 #22459
- Upgrade to Dropwizard Metrics 4.1.11 [#22458](https://gi...
v2.2.9.RELEASE
🪲 Bug Fixes
- A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22275
- NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22248
- TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22141
- Accept empty filter dispatcher types in auto-configurations #22138
- RedisReactiveHealthIndicator is broken with Redis cluster mode #22061
- @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22038
- Management health group does not inherit show-details property #22022
- LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #21056
- MockBean does not resolve the right type for abstract test class #20916
- ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #20798
📔 Documentation
- Update the documentation to avoid trivialising what the reader's learning about #22409
- Clarify the effect of ordering auto-configuration #22337
- Clarify locations inside and outside the jar from which properties are loaded #22262
- Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22207
- Document how to exclude an annotation processor with Maven #22000
- Fix wrong property reference to keys-to-sanitize in Javadoc #21906
- Some entries in the tables of configuration properties are incomplete #21131
🔨 Dependency Upgrades
- Upgrade to Aspectj 1.9.6 #22539
- Upgrade to Micrometer 1.3.11 #22538
- Upgrade to Groovy 2.5.13 #22525
- Upgrade to Spring Session Bom Corn-SR3 #22451
- Upgrade to Neo4j Ogm 3.2.14 #22450
- Upgrade to Kotlin Coroutines 1.3.8 #22449
- Upgrade to Hsqldb 2.5.1 #22448
- Upgrade to Hibernate 5.4.18.Final #22447
- Upgrade to Jetty 9.4.30.v20200611 #22446
- Upgrade to Tomcat 9.0.37 #22445
- Upgrade to Johnzon Jsonb 1.2.8 #22444
- Upgrade to Activemq 5.15.13 #22443
- Upgrade to Byte Buddy 1.10.13 #22442
- Upgrade to Mysql 8.0.21 #22441
- Upgrade to Jakarta Servlet 4.0.4 #22440
- Upgrade to Netty 4.1.51.Final #22439
- Upgrade to Dropwizard Metrics 4.1.11 #22437
- Upgrade to Db2 Jdbc 11.5.4.0 #22436
- Upgrade to Hazelcast 3.12.8 #22435
- Upgrade to Appengine Sdk 1.9.81 #22434
- Upgrade to Caffeine 2.8.5 #22433
- Upgrade to Jackson 2.10.5 #22432
- Upgrade to Couchbase Client 2.7.16 #22431
- Upgrade to Spring Kafka 2.3.10 #22386
- Upgrade to Spring Integration 5.2.8 #22385
- Upgrade to Spring Data Moore-SR9 #22384
- Upgrade to Spring AMQP 2.2.9 #22383
- Upgrade to Reactor Dysprosium-SR10 #22374
- Upgrade to Spring Framework 5.2.8 #22372
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.1.16.RELEASE
🪲 Bug Fixes
- NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22169
📔 Documentation
- Update the documentation to avoid trivialising what the reader's learning about #22408
🔨 Dependency Upgrades
- Upgrade to Aspectj 1.9.6 #22537
- Upgrade to Micrometer 1.1.16 #22536
- Upgrade to Spring Integration 5.1.12 #22511
- Upgrade to Spring AMQP 2.1.16 #22507
- Upgrade to Groovy 2.5.13 #22505
- Upgrade to Spring Session Bom Bean-SR11 #22430
- Upgrade to Neo4j Ogm 3.1.20 #22429
- Upgrade to Jetty 9.4.30.v20200611 #22428
- Upgrade to Tomcat 9.0.37 #22427
- Upgrade to Activemq 5.15.13 #22426
- Upgrade to Mysql 8.0.21 #22425
- Upgrade to Netty 4.1.51.Final #22424
- Upgrade to Micrometer 1.1.15 #22423
- Upgrade to Appengine Sdk 1.9.81 #22422
- Upgrade to Jackson 2.9.10.20200621 #22421
- Upgrade to Couchbase Client 2.7.16 #22420
- Upgrade to Spring Data Lovelace-SR19 #22382
- Upgrade to Reactor Californium-SR20 #22371
- Upgrade to Spring Framework 5.1.17 #22370
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.4.0-M1
⭐ New Features
- Add StatsD transport protocol configuration option #22125
- Upgrade to Flyway 6.5 and support new create schemas property #22120
- Disable LogbackLoggingSystem's XML support when spring.xml.ignore is true #22106
- Disable XML bean definition loading when spring.xml.ignore is true #22093
- LoggingApplicationListener: Trim trailing whitespace from value of logging.config #22078
- Remove plugin management for Flatten Maven Plugin #21984
- Add run-image option for image building #21933
- Support user info in Elasticsearch URIs #21747
- Optimize SystemEnvironmentPropertyMapper #21726
- Add Java 15 to JavaVersion enum #21691
- Provide better diagnostics when building an OCI image fails due to a 500 response from Docker #21685
- Provide dependency management for Oracle?s JDBC driver under new com.oracle.database Maven coordinates #21665
- Spring Cloud's CachedRandomPropertySource is not adapted correctly #21661
- Remove JUnit 4 from spring-boot-starter-test #21625
- Provide better error message if Docker is not running #21623
- Print the java version being used on startup #21559
- Support filtered scrape for Prometheus #21545
- Support for webAdminPassword property of H2 Console #21533
- RedisReactiveHealthIndicator should provide cluster details in cluster mode #21514
- Add Cassandra health indicator that uses CqlSession #20887
🪲 Bug Fixes
- layertools with a wrong option seems to fail silently #22121
- RedisReactiveHealthIndicator is broken with Redis cluster mode #22095
- Management health group does not inherit show-details property #22064
- NamedPipeSocket does not handle FileSystemException when establishing the file channel #22037
- In a context hierarchy, timeout-per-shutdown-phase is only honoured in the root context #22019
- Image references passed to a CNB builder are not validated #22017
- LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #22011
- Projects using Maven and spring-security-oauth2-client end up with a downgraded version of json-smart that isn't compatible with the managed version of json-path #22009
- MockBean does not resolve the right type for abstract test class #22007
- spring-boot-starter-parent contains elements that must be overridden and aren't documented as such #21994
- Dependencies enforced without applying plugin #21940
- Welcome page support bypasses controllers mapped to / #21925
- AvailabilityChangeEvent does not carry generic information #21904
- Not able to use digest in 'builder' reference #21895
- Docker calls may hang forever #21892
- Default log levels are inconsistent between log4J2 and logback #21883
- Actuator 'loggers' endpoint does not return all loggers for log4j #21881
- Different actuator management server port changes response on errors #21874
- Configuring server.* properties in a child context has no effect in Spring Boot 2.3 #21869
- Auto-Configuration for Cassandra does not back off if a custom ReactiveSessionFactory is defined #21867
- WebMvcTest does not use the auto-configured ordering for Spring Security's filter #21839
- Password-based authentication with Cassandra does not work with Spring Boot 2.3.0 #21802
- STOMP does not work with lazy initialization #21788
- Fix BasicErrorController to use binding error cfg #21770
- Fix MustacheEnvironmentCollector to not ignore native fetcher #21766
- Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #21756
- @SpringBootTest not picking @nAmed classes with a non-public constructor #21735
- PropertiesLauncher cannot load a resource in jar via URL #21727
- UnsupportedOperationException is thrown from war when shutting down Tomcat #21690
- Scope of some dependencies has changed from compile to runtime #21669
- SpringConfigurationPropertySource incorrectly returns ABSENT for sub properties #21656
- Maven plugin help is missing #21649
- Management security configuration does not back off when SAML is configured #21644
📔 Documentation
- Remove Javadoc throw for ConfigurationPropertyName.ofIfValid() #22029
- Document how to exclude an annotation processor with Maven #22024
- Document Kafka metrics support #21918
- Fix wrong property reference to keys-to-sanitize in Javadoc #21917
- Fix formatting of
@Bean
in reference documentation #21915 - spring.config.name is not formatted as an environment variable in multi-page reference documentation #21891
- Document using system properties in gradle plugin docs #21799
- Document deprecations of org.springframework.boot.loader.archive.Archive.iterator() #21768
- Change liveness-port to management-port #21765
- Clarify that configuring a custom health HTTP status mapping replaces the default mappings #21763
- Document the difference in dispatch type and the effect on the security filter caused by the error page filter when deployed to a standalone container #21761
- Document support for Gradle 5 #21753
- Replace whitelist with a term that does not have racist connotations #21745
- Polish #21734
- Use highlightjs for syntax highlighting in HTML documentation #21703
- Mark new public API added to spring-boot-loader in 2.3 with @SInCE tags #21657
- {gradle-project-version}, rather than the project's actual version, appears in the Gradle plugin's reference documentation #21651
- Version-specific content is missing from Gradle Plugin's reference documentation #21641