Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
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
🔨 Dependen...
v2.3.1.RELEASE
⭐ New Features
- Provide dependency management for Oracle?s JDBC driver under new com.oracle.database Maven coordinates #21663
- Spring Cloud's CachedRandomPropertySource is not adapted correctly #21660
- Restrict use of custom YAML types #21598
- Improve failure analysis of NoSuchMethodErrors to show where superclasses were loaded from #21587
- Provide better error message if Docker is not running #21554
- Optimize SystemEnvironmentPropertyMapper #21523
- Provide better diagnostics when building an OCI image fails due to a 500 response from Docker #21515
- Consider configuring UrlPathHelper with alwaysUseFullPath=true #21499
- Support user info in Elasticsearch URIs #21381
- Welcome page support in Spring WebFlux #9785
🪲 Bug Fixes
- Default log levels are inconsistent between log4J2 and logback #21882
- Actuator 'loggers' endpoint does not return all loggers for log4j #21880
- Not able to use digest in 'builder' reference #21879
- Different actuator management server port changes response on errors #21875
- WebMvcTest does not use the auto-configured ordering for Spring Security's filter #21837
- Configuring server.* properties in a child context has no effect in Spring Boot 2.3 #21789
- STOMP does not work with lazy initialization #21786
- Auto-Configuration for Cassandra does not back off if a custom ReactiveSessionFactory is defined #21769
- Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #21755
- Unpacked Spring Boot applications don't show version on startup #21705
- Fix BasicErrorController to use binding error cfg #21702
- UnsupportedOperationException is thrown from war when shutting down Tomcat #21684
- Docker calls may hang forever #21672
- SpringConfigurationPropertySource incorrectly returns ABSENT for sub properties #21655
- Management security configuration does not back off when SAML is configured #21642
- Dependency management for Kafka 2.5 on nonexistent org.apache.kafka:kafka_2.11:2.5.0 #21589
- NoSuchBeanDefinitionException for org.springframework.context.annotation.ConfigurationClassPostProcessor.importRegistry when trying to publish AvailabilityChangeEvent during context close processing after refresh failure #21588
- Connection and read timeouts are no longer mapped for NewRelic #21578
- PropertiesLauncher cannot load a resource in jar via URL #21575
- Period conversion support should not be public #21574
- Reintroduce RestClientBuilderCustomizer in deprecated form #21572
- URI tag for WebMvc and WebFlux metrics is empty, rather than "root", when the path pattern is empty #21560
- Maven plugin help is missing #21556
- productionRuntimeClasspath fails to resolve multiplatform dependency variants #21549
- Pulling CNB run image fails when no tag is provided in image name #21532
- ServletWebServerApplicationContext uses a logger for ContextLoader for some of its logging #21522
- Dependency version for org.apache.commons:commons-compress is missing from spring-boot-gradle-plugin's pom #21518
- Scope of some dependencies has changed from compile to runtime #21507
- Password-based authentication with Cassandra does not work with Spring Boot 2.3.0 #21487
- Order of map property in application yaml is no longer preserved #21470
- Fix MustacheEnvironmentCollector to not ignore native fetcher #21060
- @SpringBootTest not picking @nAmed classes with a non-public constructor #20929
📔 Documentation
- Document using system properties in gradle plugin docs #21798
- spring.config.name is not formatted as an environment variable in multi-page reference documentation #21794
- Clarify that configuring a custom health HTTP status mapping replaces the default mappings #21762
- 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 #21760
- Document support for Gradle 5 #21752
- Replace whitelist with a term that does not have racist connotations #21744
- Polish #21732
- Use highlightjs for syntax highlighting in HTML documentation #21701
- Document deprecations of org.springframework.boot.loader.archive.Archive.iterator() #21695
- Documentation refers to wrong name for AvailabilityChangeEvent #21692
- Add reference to rocketmq-spring-boot-starter #21653
- Change liveness-port to management-port #21650
- {gradle-project-version}, rather than the project's actual version, appears in the Gradle plugin's reference documentation #21640
- Version-specific content is missing from Gradle Plugin's reference documentation #21610
- Polish duration support javadoc #21579
- Mark new public API added to spring-boot-loader in 2.3 with @SInCE tags #21576
- Links to Apache camel starter are broken #21563
- Fix typo in coordinates of junit-vintage-engine #21529
- Document how to enable liveness and readiness probes outside of a Kubernetes environment #21505
- Update configuration property metadata to reflect that spring.data.jpa.repositories.bootstrap-mode now defaults to deferred #21492
- Add an example for setting a custom image name on the command line with Gradle #21490
- Use https to link to groovy-lang.org #21472
🔨 Dependency Upgrades
- Upgrade to Postgresql 42.2.14 #21871
- Upgrade to Netty tcNative 2.0.31.Final #21870
- Upgrade to Undertow 2.1.3.Final #21865
- Upgrade to Tomcat 9.0.36 #21864
- Upgrade to Spring Security 5.3.3.RELEASE #21863
- Upgrade to Spring AMQP 2.2.7.RELEASE #21862
- Upgrade to RSocket 1.0.1 #21861
- Upgrade to R2DBC Bom Arabb...
v2.2.8.RELEASE
⭐ New Features
- Restrict use of custom YAML types #21597
- Spring Cloud's CachedRandomPropertySource is not adapted correctly #21595
- Provide dependency management for Oracle?s JDBC driver under new com.oracle.database Maven coordinates #20333
🪲 Bug Fixes
- WebMvcTest does not use the auto-configured ordering for Spring Security's filter #21801
- Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #21754
- SpringConfigurationPropertySource incorrectly returns ABSENT for sub properties #21654
- Management security configuration does not back off when SAML is configured #21620
- URI tag for WebMvc and WebFlux metrics is empty, rather than "root", when the path pattern is empty #21392
- ServletWebServerApplicationContext uses a logger for ContextLoader for some of its logging #21354
- Default log levels are inconsistent between log4J2 and logback #21293
- Different actuator management server port changes response on errors #21036
- Custom converters cannot be used when creating endpoint-related beans due to eager initialization triggered by ServletEndpointRegistrar #20714
- Actuator 'loggers' endpoint does not return all loggers for log4j #20037
- STOMP does not work with lazy initialization #19611
📔 Documentation
- 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 #21759
- Document support for Gradle 5 #21751
- Replace whitelist with a term that does not have racist connotations #21743
- Links to Apache camel starter are broken #21540
- Fix typo in coordinates of junit-vintage-engine #21485
- Use https to link to groovy-lang.org #21471
- Document use case of splitting auto-configuration and starter #21366
- Align TestRestTemplate Javadoc with documentation #21318
- Document using system properties in gradle plugin docs #21317
- Clarify that configuring a custom health HTTP status mapping replaces the default mappings #20716
🔨 Dependency Upgrades
- Upgrade to Netty Tcnative 2.0.31.Final #21889
- Upgrade to Postgresql 42.2.14 #21888
- Upgrade to Maven Shade Plugin 3.2.4 #21838
- Upgrade to Spring Security 5.2.5.RELEASE #21836
- Upgrade to Spring Amqp 2.2.7.RELEASE #21835
- Upgrade to Kotlin Coroutines 1.3.7 #21833
- Upgrade to Hibernate Validator 6.0.20.Final #21832
- Upgrade to Hibernate 5.4.17.Final #21831
- Upgrade to Jaybird 3.0.9 #21830
- Upgrade to Elasticsearch 6.8.10 #21829
- Upgrade to Jetty 9.4.29.v20200521 #21828
- Upgrade to Groovy 2.5.12 #21827
- Upgrade to Awaitility 4.0.3 #21826
- Upgrade to Tomcat 9.0.36 #21825
- Upgrade to Johnzon Jsonb 1.2.7 #21824
- Upgrade to Byte Buddy 1.10.11 #21823
- Upgrade to Rsocket 1.0.1 #21822
- Upgrade to Netty 4.1.50.Final #21821
- Upgrade to Micrometer 1.3.9 #21820
- Upgrade to Dropwizard Metrics 4.1.9 #21819
- Upgrade to Hikaricp 3.4.5 #21818
- Upgrade to Okhttp3 3.14.9 #21817
- Upgrade to Caffeine 2.8.4 #21816
- Upgrade to Couchbase Client 2.7.15 #21815
- Upgrade to Spring Batch 4.2.4 #21783
- Upgrade to Spring Kafka 2.3.9 #21781
- Upgrade to Spring Integration 5.2.7 #21778
- Upgrade to Spring Data Moore-SR8 #21775
- Upgrade to Spring Framework 5.2.7 #21738
- Upgrade to Reactor Dysprosium-SR8 #21730
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.1.15.RELEASE
⭐ New Features
- Restrict use of custom YAML types #21596
🪲 Bug Fixes
- Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #19910
📔 Documentation
- Replace whitelist with a term that does not have racist connotations #21737
- Use https to link to groovy-lang.org #21466
- Document use case of splitting auto-configuration and starter #20686
- 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 #19293
- Document support for Gradle 5 #15358
🔨 Dependency Upgrades
- Upgrade to Postgresql 42.2.14 #21887
- Upgrade to Netty Tcnative 2.0.31.Final #21886
- Upgrade to Maven Shade Plugin 3.2.4 #21814
- Upgrade to Spring Security 5.1.11.RELEASE #21813
- Upgrade to Spring Amqp 2.1.15.RELEASE #21812
- Upgrade to Hibernate Validator 6.0.20.Final #21810
- Upgrade to Jaybird 3.0.9 #21809
- Upgrade to Jetty 9.4.29.v20200521 #21808
- Upgrade to Groovy 2.5.12 #21807
- Upgrade to Tomcat 9.0.36 #21806
- Upgrade to Netty 4.1.50.Final #21805
- Upgrade to Micrometer 1.1.14 #21804
- Upgrade to Couchbase Client 2.7.15 #21803
- Upgrade to Spring Kafka 2.2.14 #21780
- Upgrade to Spring Integration 5.1.11 #21777
- Upgrade to Spring Data Lovelace-SR18 #21774
- Upgrade to Spring Framework 5.1.16 #21729
- Upgrade to Reactor Californium-SR19 #21728
v2.3.0.RELEASE
For full upgrade instructions and new and noteworthy features please see the release notes.
⭐ New Features
- Update properties migrator to run on deprecated properties with warn level as well #21425
- Provide more extensible constructors on UndertowServletWebServer and UndertowWebServer #21391
- Add redis sentinel password property #21353
- Auto-configure a LifecycleProcessor with a configurable timeout per shutdown phase #21347
- Integrate web server graceful shutdown into the application context's lifecycle processing #21325
- Improve backwards compatibility of ErrorAttributes and DefaultErrorAttributes #21324
- Align logback's behavior with log4j2 when getting a logger that doesn't exist #21292
- Use CNB creator all-in-one lifecycle #21273
- Optimize StringSequence.startsWith #21259
- Deregister JDBC drivers during undeploy of a war deployment #21221
- Add Period converter support #21136
- Improve binding performance when using a large number of property sources #20625
- Add
@WebServiceClientTest
annotation that can be used when testing SOAP clients #17274
🪲 Bug Fixes
- CLI distribution is missing read rights #21451
- Custom converters cannot be used when creating endpoint-related beans due to eager initialization triggered by ServletEndpointRegistrar #21444
- Different actuator management server port changes response on errors #21428
- Performance regression between RC1 and latest snapshots with large amount of configuration properties #21416
- Dependency exclusions declared in spring-boot-dependencies have no effect when using Gradle 6 #21350
- Unclear default for 'server.tomcat.use-relative-redirects' #21343
- CreateBootStartScripts causes a warning to be logged with Gradle 6.4 #21341
- When a request is active, Undertow prevents the JVM from exiting #21327
- When using log4j2 log4j2-test.* files are not detected #21323
- Classpath wildcards cannot be used with Java 11 or above #21321
- Implementation attributes are missing from Maven shade transformer configuration in spring-boot-starter-parent #21304
- The
@ActiveProfiles
annotation no longer overrides those defined in property files #21302 - Layertools list and extract commands ignore empty layers #21301
- Binder
@DefaultValue
does not work with PropertyEditor converters #21294 - developmentOnly configuration excludes jar files from fat jar #21288
- Connection fails when DOCKER_HOST set to local socket #21173
- Environment variable that does not follow guidelines for use of _ is still successfully bound if another property source contains a property that is bound to the same target #14479
📔 Documentation
- Fix capitalization of Testcontainers in Howto docs #21417
- Document use case of splitting auto-configuration and starter #21367
- Align TestRestTemplate Javadoc with documentation #21364
- Fix typo for includeLayerTools #21310
- Fix duplicate slashes in URL links #21108
- Update link to new Spring Security docs location #21040
- Remove version number from author section of the documentation #20934
- Add more context to the Kubernetes container lifecycle documentation #20932
- Document that graceful shutdown with Tomcat requires Tomcat 9.0.33 or later #20886
- Add a testcontainers section in the reference docs #20734
- Remove packages from the javadoc that are not user-facing #20517
🔨 Dependency Upgrades
- Upgrade to RSocket 1.0.0 #21422
- Upgrade to Xmlunit2 2.7.0 #21419
- Upgrade to Tomcat 9.0.35 #21415
- Upgrade to SQLite JDBC 3.31.1 #21414
- Upgrade to Selenium HtmlUnit 2.40.0 #21413
- Upgrade to Prometheus PushGateway 0.9.0 #21412
- Upgrade to MongoDB 4.0.3 #21411
- Upgrade to Micrometer 1.5.1 #21410
- Upgrade to Maven Assembly Plugin 3.3.0 #21409
- Upgrade to Kotlin Coroutines 1.3.6 #21408
- Upgrade to jOOQ 3.13.2 #21407
- Upgrade to Johnzon 1.2.5 #21406
- Upgrade to Jedis 3.3.0 #21405
- Upgrade to Infinispan 10.1.8.Final #21404
- Upgrade to HtmlUnit 2.40.0 #21403
- Upgrade to HikariCP 3.4.5 #21402
- Upgrade to Hibernate Validator 6.1.5.Final #21401
- Upgrade to Hibernate 5.4.15.Final #21400
- Upgrade to Dropwizard Metrics 4.1.7 #21399
- Upgrade to Couchbase Client 3.0.4 #21398
- Upgrade to Cassandra Driver 4.6.1 #21397
- Upgrade to AssertJ 3.16.1 #21396
- Upgrade to Spring Kafka 2.5.0.RELEASE #21387
- Upgrade to Spring Session Dragonfruit-RELEASE #21386
- Upgrade to Spring Integration 5.3.0.RELEASE #21385
- Upgrade to Spring HATEOAS 1.1.0.RELEASE #21384
- Upgrade to Spring Data Neumann-RELEASE #21383
- Upgrade to Testcontainers 1.14.1 #21378
- Upgrade to Spring Ldap 2.3.3.RELEASE #21352
- Upgrade to Spring Security 5.3.2.RELEASE #21349
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.2.7.RELEASE
⭐ New Features
- Throw exception if spring.config.location uses classpath*: #21174
- Deprecate PushRegistryConfig#numThreads #20835
🪲 Bug Fixes
- Classpath wildcards cannot be used with Java 11 or above #21320
- When a request is active, Undertow prevents the JVM from exiting #21319
- Binder
@DefaultValue
does not work with PropertyEditor converters #21264 - JarFiles are being left open #21126
- PortInUseException can be thrown when server address is wrong #21101
- Fat jars cause classloading problems with JDK11 and Security Manager #21073
- WelcomePageHandlerMapping does not honor CORS #21070
- PortInUseException thrown when Netty does not have the right to use configured port #21052
- ConditionalOnAvailableEndpoint does not deal with dashed IDs #21044
- Endpoint exposure patterns do not work with dashed IDs #21022
- Embedded database initial failed for setting empty spring.database.url #21003
- UndertowCompressionConfigurer fails on invalid Media Types #20955
- Default for spring.kafka.listener.missing-topics-fatal is no longer aligned with Spring Kafka's default #20917
- Test classes annotated with
@SpringBootTest
with different args attributes share a context when they should not #20866 - Unclear default for 'server.tomcat.use-relative-redirects' #20796
- CreateBootStartScripts causes a warning to be logged with Gradle 6.4 #20759
- spring.config.additional-location is ignored when spring.config.location is configured #20745
- Cassandra health indicator never report version attribute #20725
- ReactiveCassandraHealthIndicator runs a query that fails on some Consistency Levels #20717
- CassandraHealthIndicator runs a query that fails on some Consistency Levels #20711
- spring.security.oauth2.resourceserver.jwt.jws-algorithm is ignored when auto-configuring ReactiveJwtDecoder #20681
- MockitoPostProcessor can trigger early initialization of factory beans #20665
- Nested object is not initialized if no matching property is defined with constructor binding #18917
- When using log4j2 log4j2-test.* files are not detected #17001
📔 Documentation
- Improve documentation around relaxed binding, @value, and the canonical form of properties #21106
- Add "Health as Gauge" how-to documentation #21091
- Enhance Database initialization how to guide #21077
- Document relaxed binding from environment variables #21027
- Document devtool property file profile restrictions #21025
- Make it more obvious that Jolokia does not work with a WebFlux app #20963
- Fix typo in Adding Active Profiles #20907
- Relocate section on configuring DevTools' file system watcher as it isn't specific to remote applications #20895
- Deprecate getters and setters for deprecated configuration properties consistently #20812
- Update documentation about endpoint enablement to reflect behaviour of
@ConditionalOnAvailableEndpoint
#20799 - Clarify the type to which connection-pool-specific
spring.datasource
properties are bound #20727 - Update system requirements to reflect support for Java 14 #20689
- Make it more obvious that Jolokia does not work with a WebFlux app #20623
🔨 Dependency Upgrades
- Upgrade to Spring Ldap 2.3.3.RELEASE #21351
- Upgrade to Spring Security 5.2.4.RELEASE #21348
- Upgrade to Jetty El 8.5.54 #21340
- Upgrade to Hibernate 5.4.15.Final #21339
- Upgrade to Johnzon Jsonb 1.2.5 #21338
- Upgrade to Byte Buddy 1.10.10 #21337
- Upgrade to Dropwizard Metrics 4.1.7 #21336
- Upgrade to Saaj Impl 1.5.2 #21335
- Upgrade to Okhttp3 3.14.8 #21334
- Upgrade to Hazelcast 3.12.7 #21333
- Upgrade to Jackson 2.10.4 #21332
- Upgrade to Spring HATEOAS 1.0.5.RELEASE #21209
- Upgrade to Spring Ws 3.0.9.RELEASE #21205
- Upgrade to Spring Batch 4.2.2.RELEASE #21203
- Upgrade to Postgresql 42.2.12 #21202
- Upgrade to Neo4j Ogm 3.2.11 #21201
- Upgrade to Liquibase 3.8.9 #21200
- Upgrade to Kotlin 1.3.72 #21199
- Upgrade to Infinispan 9.4.19.Final #21198
- Upgrade to Hibernate Validator 6.0.19.Final #21197
- Upgrade to Glassfish Jaxb 2.3.3 #21195
- Upgrade to Elasticsearch 6.8.8 #21194
- Upgrade to Jetty 9.4.28.v20200408 #21193
- Upgrade to Groovy 2.5.11 #21192
- Upgrade to Tomcat 9.0.34 #21191
- Upgrade to Mysql 8.0.20 #21188
- Upgrade to Joda Time 2.10.6 #21187
- Upgrade to Netty 4.1.49.Final #21186
- Upgrade to Micrometer 1.3.8 #21185
- Upgrade to Hikaricp 3.4.3 #21183
- Upgrade to Sendgrid 4.4.8 #21182
- Upgrade to Appengine Sdk 1.9.80 #21181
- Upgrade to Caffeine 2.8.2 #21180
- Upgrade to Couchbase Client 2.7.14 #21179
- Upgrade to RSocket 1.0.0-RC7 #21046
- Upgrade to Spring Kafka 2.3.8 #20952
- Upgrade to Spring Integration 5.2.6 #20950
- Upgrade to Spring Data Moore-SR7 #20948
- Upgrade to Spring AMQP 2.2.6 #20946
- Upgrade to Spring Framework 5.2.6 #20944
- Upgrade to Reactor Bom Dysprosium-SR7 #20942
❤️ Contributors
We'd like to thank a...