Releases: spring-projects/spring-boot
Releases · spring-projects/spring-boot
v2.1.14.RELEASE
⭐ New Features
- Throw exception if spring.config.location uses classpath*: #21168
🪲 Bug Fixes
- Classpath wildcards cannot be used with Java 11 or above #21312
- JarFiles are being left open #21177
- WelcomePageHandlerMapping does not honor CORS #21048
- Endpoint exposure patterns do not work with dashed IDs #20997
- Embedded database initial failed for setting empty spring.database.url #20996
- Cassandra health indicator never reports version attribute #20719
- ReactiveCassandraHealthIndicator runs a query that fails on some Consistency Levels #20713
- CassandraHealthIndicator runs a query that fails on some Consistency Levels #20709
- ApplicationHome does not work correctly with paths that contain spaces #20531
- Unresolvable placeholder in the value of
spring.datasource.url
causes a startup failure even when there is a user-provided DataSource bean #20438 - DependencyCustomizer ifAllResourcesPresent adds modules if any resources are present #20418
- TomcatReactiveWebServerFactory does not call getTomcatWebServer to create the TomcatWebServer #20386
- Credentials of cloudfoundry service cannot be resolved anymore #20343
- PortInUseException thrown when Netty does not have the right to use configured port #19807
- KafkaAutoConfiguration should back off when a bean of type ConcurrentKafkaListenerContainerFactory is found #19221
- Fat jars cause classloading problems with JDK11 and Security Manager #17796
📔 Documentation
- Link to correct factory in TomcatReactiveWebServerFactory's javadoc #20583
- Improve documentation around relaxed binding, @value, and the canonical form of properties #20507
- Document devtool property file profile restrictions #19972
- Document that actuator over HTTP requires Jackson #19564
- Add "Health as Gauge" how-to documentation #18329
- Document relaxed binding from environment variables #18215
🔨 Dependency Upgrades
- Upgrade to Spring Security 5.1.10.RELEASE #21346
- Upgrade to Spring Ldap 2.3.3.RELEASE #21342
- Upgrade to Jetty El 8.5.54 #21331
- Upgrade to Hibernate 5.3.17.Final #21330
- Upgrade to Maven Dependency Plugin 3.1.2 #21167
- Upgrade to Xmlunit2 2.6.4 #21166
- Upgrade to Spring Ws 3.0.9.RELEASE #21165
- Upgrade to Spring Session Bom Bean-SR10 #21164
- Upgrade to Spring Batch 4.1.4.RELEASE #21162
- Upgrade to Postgresql 42.2.12 #21161
- Upgrade to Neo4j Ogm 3.1.19 #21160
- Upgrade to Mimepull 1.9.13 #21159
- Upgrade to Infinispan 9.4.19.Final #21158
- Upgrade to Hibernate Validator 6.0.19.Final #21157
- Upgrade to Freemarker 2.3.30 #21155
- Upgrade to Jetty 9.4.28.v20200408 #21154
- Upgrade to Janino 3.0.16 #21153
- Upgrade to Groovy 2.5.11 #21152
- Upgrade to Tomcat 9.0.34 #21151
- Upgrade to Solr 7.7.3 #21150
- Upgrade to Httpclient 4.5.12 #21149
- Upgrade to Activemq 5.15.12 #21148
- Upgrade to Mysql 8.0.20 #21147
- Upgrade to Joda Time 2.10.6 #21146
- Upgrade to Undertow 2.0.30.Final #21145
- Upgrade to Rxjava2 2.2.19 #21144
- Upgrade to Netty Tcnative 2.0.30.Final #21143
- Upgrade to Netty 4.1.49.Final #21142
- Upgrade to Micrometer 1.1.13 #21141
- Upgrade to Appengine Sdk 1.9.80 #21140
- Upgrade to Jackson 2.9.10.20200411 #21139
- Upgrade to Couchbase Client 2.7.14 #21138
- Upgrade to Spring Kafka 2.2.13 #20988
- Upgrade to Spring Integration 5.1.10 #20941
- Upgrade to Spring Data Lovelace-SR17 #20940
- Upgrade to Spring AMQP 2.1.14 #20939
- Upgrade to Spring Framework 5.1.15 #20938
- Upgrade to Reactor Bom Californium-SR18 #20937
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.0.RC1
⭐ New Features
- Add InputStreamSourceToByteArrayConverter #21285
- Restrict wildcard pattern support for configuration files #21217
- Provide a property to disable configuration of the default servlet #21214
- Allow project dependencies to be assigned to layers by their coordinates #21207
- Throw exception if spring.config.location uses classpath*: #21175
- Best effort support for Hazelcast 4 #21169
- Create ReactorNettyHttpClientMapper for configuring HttpClient #21135
- Avoid recompiling pattern in Handler#canonicalize #21103
- Provide an RSocketMessageHandlerCustomizer to allow customizing of the RSocketMessageHandler #21081
- Harmonize Service Level Agreement to Service Level Objectives #21076
- Fail operations when JarFile is closed #21072
- Improve property name in thrown Micrometer ValidationException #21069
- Improve compatibility of launch script by replacing use of seq with a bash native loop #21068
- Change default builder image from cloudfoundry/cnb to Paketo #21066
- Add dependency management for the Wavefront SDK #21065
- Support square bracket notation profiles properties #21006
- Improve Elasticsearch RestClient customization capabilities #20994
- Remove deprecated configuration properties #20991
- Default management endpoint error path should honor
server.error.include-*
properties #20989 - Add support for customizing Spring Session's cookie serializer #20961
- Add support for NewRelicClientProvider #20908
- Remove plugin management for exec-maven-plugin #20883
- Use YAML compatible classpath.idx format #20861
- Use a more compact layers.idx format #20860
- Ensure empty layers are written to the index file #20858
- Harmonize naming of Elasticsearch auto-configuration classes #20857
- Expose Prometheus#histogramFlavor property #20853
- Expose Elastic's pipeline and indexDateSeparator properties #20852
- Expose AppOptics#floorTime property #20850
- Deprecate PushRegistryConfig#numThreads #20845
- Migrate ServiceLevelAgreementBoundary from Long to Double #20837
- Expose Graphite's graphiteTagsEnabled property #20834
- Tolerate breaking change to IsolationLevel in kafka-clients 2.5 #20811
- Use WavefrontSender to export metrics to Wavefront #20810
- Allow easy activation of ISO-by-default date and time binding for Spring MVC #20579
- Disable error message on default error page unless explicitly enabled #20505
- Enable transaction auto-configuration when using @DataMongoTest and there is a MongoTransactionManager bean #20182
- Rework ErrorController now that getErrorPath() is unused and server.error.path must be used to configure the error path #19844
- Allow to configure Cassandra's request throttling #19674
- Provide a condition for detecting war deployments #19421
- Allow @AutoConfigurationPackage to specify the base packages that should be registered #19023
- Help users to register filters that require error or async dispatch with the correct dispatcher types #18953
- Enable users to provide custom time and datetime formats for MVC and WebFlux type conversion #18772
- Improve handling of cancelled requests when publishing WebClient metrics #18444
- Autoconfigure ReactiveGridFsTemplate with MongoProperties.getGridFsDatabase() #18284
- Automatically create a developmentOnly configuration for use with DevTools #16599
🪲 Bug Fixes
- Hitting Readiness and Liveness endpoints throws NPE #21211
- JarFiles are being left open #21127
- Building a layered jar results in deprecation warnings as some configurations will no longer be resolvable in Gradle 7 #21112
- PortInUseException can be thrown when server address is wrong #21105
- Test classes annotated with @SpringBootTest with different args attributes share a context when they should not #21102
- MockitoPostProcessor can trigger early initialization of factory beans #21090
- Fat jars cause classloading problems with JDK11 and Security Manager #21074
- WelcomePageHandlerMapping does not honor CORS #21071
- PortInUseException thrown when Netty does not have the right to use configured port #21053
- spring.config.additional-location is ignored when spring.config.location is configured #21050
- Nested object is not initialized if no matching property is defined with constructor binding #21049
- ConditionalOnAvailableEndpoint does not deal with dashed IDs #21047
- Homebrew and Scoop definitions for non-snapshot builds link to wrong repository on repo.spring.io #21034
- Endpoint exposure patterns do not work with dashed IDs #21023
- KafkaClientMetrics is applied to a newly created producer rather than an existing one #21008
- Embedded database initial failed for setting empty spring.database.url #21004
- UndertowCompressionConfigurer fails on invalid Media Types #20957
- Ensure consistent and correct attributes on files added to fat archives #20927
- Default for spring.kafka.listener.missing-topics-fatal is no longer aligned with Spring Kafka's default #20919
- Use of new DefaultResourceLoader() is dangerous as it captures the thread context classloader at the time of the call #20900
- Application fails to start due to missing WebFluxProperties bean when using @EnableWebFlux #20891
- Properties files in subdirectories are not loaded when one file is empty #20873
- Layer index file is malformed when file in jar contains a space #20827
- @SpringBootTest does not work when @activeprofiles contains a comma #19537
📔 Documentation
- Enhance Database initialization how to guide [#21119](https://github.com/spring-proje...
v2.3.0.M4
⭐ New Features
- Allow layertools to work without spring-boot jar #20815
- Support layering with the existing flat jar format #20813
- Support CNB builder platform API 0.3 #20757
- @DataR2dbcTest should trigger Flyway or Liquibase if necessary #20739
- Disable auto-configuration of Hazelcast IMDG when Hazelcast Jet is present #20729
- Deprecate spring.mvc.pathmatch.use-suffix-pattern, spring.mvc.pathmatch.use-registered-suffix-pattern, and spring.mvc.contentnegotiation.favor-path-extension #20687
- Provide dependency management for Jakarta Xml Soap #20661
- Saml2RelyingPartyAutoConfiguration should configure how AuthnRequests are sent #20584
- Remove requirement for the disk space health indicator's path to exist when the app starts #20580
- Update Gradle's layer configuration DSL to remove the double usage of layers #20563
- Combine default application and resources layers into a single layer named application #20562
- Add HealthEndpointGroupsRegistry and its Customizer #20554
- Override CloudPlatform auto-detection with configuration property #20553
- Rename "classes" concept to "application" in custom layer configuration #20539
- Use DOCKER_ env vars to locate the Docker daemon when building OCI images #20538
- Configure Couchbase ourselves rather than importing Spring Data's abstract config #20533
- Raise the minimum supported version of Gradle 6.x to 6.3 #20532
- Create a new layer for loader classes #20529
- Refine layer customization for Maven and Gradle #20526
- Add command line option for OCI image name #20520
- Add a property for MongoDB replica set name #20391
- Add security.protocol to KafkaProperties #20360
- Provide a way to customize layers with the Gradle plugin #20296
- Provide a configuration property for the maximum size of the in-memory buffer used by the reactive Elasticsearch REST client #20205
- Support Maven reproducible build feature for repackage #20176
- Allow tags to be added to those provided by default for WebMVC and WebFlux #20175
- Use platform API builder image tags for default builder #20171
- Upgrade to Couchbase Java SDK 3 #19893
- Add support for default Cassandra port #19672
- Support liveness and readiness state for Kubernetes #19593
- Support caching of endpoint responses when the request has a principal #19538
- Add 'threads' configuration group for embedded containers #19475
- Resource Server autoconfiguration to support both JWT and Opaque tokens #19426
- Use Gradle's configuration avoidance API #18881
- Improve handling of host, port, and addresses configuration in RabbitProperties #18830
- Add configuration to enable Redis Cluster topology refresh #15630
- Make base path configurable for WebFlux applications #10129
🪲 Bug Fixes
- Cassandra health indicator never reports version attribute #20726
- ReactiveCassandraHealthIndicator runs a query that fails on some Consistency Levels #20718
- Liquibase should be able to execute with only spring-jdbc on the classpath #20715
- CassandraHealthIndicator runs a query that fails on some Consistency Levels #20712
- spring.security.oauth2.resourceserver.jwt.jws-algorithm is ignored when auto-configuring ReactiveJwtDecoder #20694
- Unresolvable placeholder in the value of
spring.datasource.url
causes a startup failure even when there is a user-provided DataSource bean #20671 - @FlywayDataSource does not work in an application that has multiple datasources #20621
- KafkaAutoConfiguration should back off when a bean of type ConcurrentKafkaListenerContainerFactory is found #20616
- Jwt Decoder signature algorithm configuration is not used in combination with public-key-file #20612
- Ignore trailing slash should not apply to single character URIs #20600
- ApplicationHome does not work correctly with paths that contain spaces #20544
- server.port should not be set to -1 if the test does not start an embedded web server #16998
📔 Documentation
- Clarify the type to which connection-pool-specific
spring.datasource
properties are bound #20744 - Document how to initialize a database with R2DBC #20742
- Update system requirements to reflect support for Java 14 #20699
- Add extra detail for Kubernetes probes in reference documentation #20660
@ConstructorBinding
example in the reference documentation uses the wrong import for@DefaultValue
#20622- Document that actuator over HTTP requires Jackson #20619
- "Building Docker Images" is incorrectly nested beneath "Kotlin support" in the reference documentation #20608
- Link to correct factory in TomcatReactiveWebServerFactory's javadoc #20590
- Recommend configuring compileJava's inputs to include processResources' output when generating configuration metadata #20556
- Add package info to javadoc for new packages in spring-boot-loader(-tools) #20516
- Publish javadoc for the Maven Plugin #20127
🔨 Dependency Upgrades
- Upgrade to Spring Integration 5.3.0.M4 #20807
- Upgrade to Spring Kafka 2.4.5.RELEASE #20797
- Upgrade to Spring Batch 4.2.2.RELEASE #20792
- Upgrade to Tomcat 9.0.33 #20789
- Upgrade to Spring Security 5.3.1.RELEASE #20788
- Upgrade to SendGrid 4.4.6 #20787
- Upgrade to RxJava2 2.2.19 #20786
- Upgrade to QueryDSL 4.3.1 #20785
- Upgrade to Postgresql 42.2.12 #20784
- Upgrade to Netty tcNative 2.0.30.Final #20783
- Upgrade to Netty 4.1.48.Final #20782
- Upgrade to Neo4j OGM 3.2.10 #20781
- Upgrade to MongoDB 4.0.1 [#20780](https://github.com/spring-projects/spring-bo...
v2.2.6.RELEASE
⭐ New Features
- Provide dependency management for Jakarta Xml Soap #20659
- Add support for Java 14 #20576
- Deprecate spring.mvc.pathmatch.use-suffix-pattern, spring.mvc.pathmatch.use-registered-suffix-pattern, and spring.mvc.contentnegotiation.favor-path-extension #20528
🪲 Bug Fixes
- Unresolvable placeholder in the value of
spring.datasource.url
causes a startup failure even when there is a user-provided DataSource bean #20670 - @FlywayDataSource does not work in an application that has multiple datasources #20617
- KafkaAutoConfiguration should back off when a bean of type ConcurrentKafkaListenerContainerFactory is found #20615
- ApplicationHome does not work correctly with paths that contain spaces #20543
- Ignore trailing slash should not apply to single character URIs #20536
- Jwt Decoder signature algorithm configuration is not used in combination with public-key-file #20523
- DependencyCustomizer ifAllResourcesPresent adds modules if any resources are present #20501
- TomcatReactiveWebServerFactory does not call getTomcatWebServer to create the TomcatWebServer #20499
- Credentials of cloudfoundry service cannot be resolved after upgrading to 2.2.5 #20432
- DevTools triggers eager initialization of jaxws-client defined in XML config #20430
📔 Documentation
- Document that actuator over HTTP requires Jackson #20618
- Link to correct factory in TomcatReactiveWebServerFactory's javadoc #20589
- Update version of com.gorylenko.gradle-git-properties in documentation example #20436
- Externalized Configuration Constructor Binding Incorrect Code Example #20378
- Recommend configuring compileJava's inputs to include processResources' output when generating configuration metadata #20323
🔨 Dependency Upgrades
- Upgrade to Mimepull 1.9.13 #20675
- Upgrade to Spring Integration 5.2.5 #20672
- Upgrade to Maven Dependency Plugin 3.1.2 #20658
- Upgrade to Xmlunit2 2.6.4 #20657
- Upgrade to Spring Session Bom Corn-SR2 #20656
- Upgrade to Postgresql 42.2.11 #20655
- Upgrade to Neo4j Ogm 3.2.10 #20654
- Upgrade to Liquibase 3.8.8 #20653
- Upgrade to Kotlin Coroutines 1.3.5 #20652
- Upgrade to Kotlin 1.3.71 #20651
- Upgrade to Freemarker 2.3.30 #20650
- Upgrade to Elasticsearch 6.8.7 #20649
- Upgrade to Jetty 9.4.27.v20200227 #20648
- Upgrade to Janino 3.1.2 #20647
- Upgrade to Tomcat 9.0.33 #20646
- Upgrade to Httpclient 4.5.12 #20645
- Upgrade to Activemq 5.15.12 #20644
- Upgrade to Jakarta Xml Ws 2.3.3 #20643
- Upgrade to Jakarta Xml Bind 2.3.3 #20642
- Upgrade to Undertow 2.0.30.Final #20641
- Upgrade to Rxjava2 2.2.19 #20640
- Upgrade to Netty Tcnative 2.0.30.Final #20639
- Upgrade to Netty 4.1.48.Final #20638
- Upgrade to Micrometer 1.3.6 #20637
- Upgrade to Dropwizard Metrics 4.1.5 #20636
- Upgrade to Jakarta Mail 1.6.5 #20635
- Upgrade to Sendgrid 4.4.6 #20634
- Upgrade to Appengine Sdk 1.9.79 #20633
- Upgrade to Jackson 2.10.3 #20632
- Upgrade to Couchbase Client 2.7.13 #20631
- Upgrade to Groovy 2.5.10 #20575
- Upgrade to Spring Kafka 2.3.7 #20574
- Upgrade to Spring Data Moore SR6 #20573
- Upgrade to Spring Framework 5.2.5 #20571
- Upgrade to Reactor Dysprosium-SR6 #20569
- Upgrade to Spring HATEOAS 1.0.4.RELEASE #20232
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.0.M3
⭐ New Features
- Add support for configuring Liquibase's clearCheckSums #20417
- Include version and edition of neo4j database in health details #20356
- Add descriptions for data source pool metrics #20354
- 404 response from /actuator/env/{toMatch} should have no body #20314
- Improve error message when creating an image with no Docker Daemon available #20297
- Provide a way to customize layers with the Maven plugin #20295
- Embedded directory server should be usable without
spring-ldap-core
#20223 - Add support for SimpleDriverDataSource #20220
- Configure OpenJDK buildpack to use the same Java version as used for compilation #20172
- Harmonize MongoDB sync and reactive client factories #20019
- Add support for R2DBC #19988
- Allow users to opt out of including the layer tools in a layered jar #19866
- Publish Gradle metadata for Spring Boot's modules #19609
- Add support for configuring embedded Jetty's max queue capacity #19494
- Add support for configuring Liquibase's tag #19316
- Add auto-configuration for Spring Integration RSocket support #18834
- Use query-less datasource validation by default #17582
- Allow the embedded web server to be shut down gracefully #4657
🪲 Bug Fixes
- DevTools triggers eager initialization of jaxws-client defined in XML config #20503
- DependencyCustomizer ifAllResourcesPresent adds modules if any resources are present #20502
- TomcatReactiveWebServerFactory does not call getTomcatWebServer to create the TomcatWebServer #20500
- Dependency management for Cassandra Driver's query builder module uses the wrong artifact ID #20441
- Credentials of cloudfoundry service cannot be resolved after upgrading to 2.2.5 #20433
- ConnectionPool metrics are not exposed with
r2dbc:pool:
based URLs #20349 - Binding to collection fails with unbound elements error if collection overridden in another property source with smaller number of elements #20307
- Unlike all other Maven properties, spring-boot.run.arguments on the command line takes precedence over the pom #20244
- spring-boot-starter-rsocket pom contains security dependencies #20243
- DataSource url property is ignored when there is no connection pool #20218
- spring.jackson.serialization.indent-output doesn't work with Spring Boot 2.3.0.M2 when using Actuator #20211
- BuildInfo task not run in Gradle project when project's version number changes #20185
- Removal of redundant / from default value for spring.liquibase.change-log may cause the change log to be reapplied on upgrade #20177
📔 Documentation
- Update version of com.gorylenko.gradle-git-properties in documentation example #20491
- Fix typos in how to section of reference documentation #20315
- Document missing reference to DataSourceHealthIndicator #20221
- Document sanitized keys and uri sanitization behavior #20186
🔨 Dependency Upgrades
- Upgrade to Undertow 2.0.30.Final #20514
- Upgrade to Sun Mail 1.6.5 #20513
- Upgrade to Maven Dependency Plugin 3.1.2 #20512
- Upgrade to Kafka 2.4.1 #20511
- Upgrade to Jakarta Mail 1.6.5 #20510
- Upgrade to Spring Integration 5.3.0.M3 #20489
- Upgrade to Postgresql 42.2.11 #20488
- Upgrade to Maven Source Plugin 3.2.1 #20487
- Upgrade to Maven Shade Plugin 3.2.2 #20486
- Upgrade to Flatten Maven Plugin 1.2.1 #20485
- Upgrade to Build Helper Maven Plugin 3.1.0 #20484
- Upgrade to Spring Security 5.3.0.RELEASE #20482
- Upgrade to Reactor Bom Dysprosium-SR5 #20481
- Upgrade to Netty 4.1.47.Final #20480
- Upgrade to Kotlin Coroutines 1.3.4 #20479
- Upgrade to Kotlin 1.3.70 #20477
- Upgrade to Jetty 9.4.27.v20200227 #20476
- Upgrade to Jersey 2.30.1 #20475
- Upgrade to Jackson Bom 2.10.3 #20474
- Upgrade to Dropwizard Metrics 4.1.5 #20473
- Upgrade to XmlUnit2 2.6.4 #20471
- Upgrade to WebJars Locator Core 0.44 #20470
- Upgrade to Spring Kafka 2.4.4.RELEASE #20469
- Upgrade to Spring AMQP 2.2.5.RELEASE #20468
- Upgrade to SnakeYAML 1.26 #20467
- Upgrade to SendGrid 4.4.5 #20466
- Upgrade to Selenium HtmlUnit 2.38.0 #20465
- Upgrade to RxJava2 2.2.18 #20464
- Upgrade to OkHttp3 3.14.7 #20463
- Upgrade to Netty tcNative 2.0.29.Final #20462
- Upgrade to Neo4j OGM 3.2.9 #20461
- Upgrade to MongoDB 4.0.0 #20460
- Upgrade to Mockito 3.3.0 #20459
- Upgrade to Log4j2 2.13.1 #20458
- Upgrade to Liquibase 3.8.7 #20457
- Upgrade to jOOQ 3.13.1 #20456
- Upgrade to Jetty Reactive HTTPClient 1.1.2 #20455
- Upgrade to Janino 3.1.1 #20454
- Upgrade to Jakarta XML WS 2.3.3 #20453
- Upgrade to Jakarta XML Bind 2.3.3 #20452
- Upgrade to Jakarta Activation 1.2.2 #20451
- Upgrade to Infinispan 10.1.3.Final #20450
- Upgrade to HttpClient 4.5.12 #20449
- Upgrade to HtmlUnit 2.38.0 #20448
- Upgrade to Hibernate 5.4.12.Final #20447
- Upgrade to FreeMarker 2.3.30 #20446
- Upgrade to Flyway 6.3.0 #20445
- Upgrade to Couchbase Client 2.7.13 [#2...
v2.2.5.RELEASE
⭐ New Features
- Perform URI sanitisation for properties named address, addresses, and uris #19999
🪲 Bug Fixes
- Binding to collection fails with unbound elements error if collection overridden in another property source with smaller number of elements #20306
- Metrics are not recorded for nested requests made with RestTemplate #20231
- DataSource url property is ignored when there is no connection pool #20217
- BuildInfo task not run in Gradle project when project's version number changes #20183
- Caching of ProducesRequestCondition in EndpointHandlerMapping may break custom HandlerMapping or ContentTypeResolver arrangements #20150
- No error message when server.ssl.keyAlias doesn't match an entry #20132
- JSON keys containing a dot from CF environment are not handled as a single path segment #20129
- Spring Webflux ignores message of custom exception when annotated with @ResponseStatus #20028
- Unlike all other Maven properties, spring-boot.run.arguments on the command line takes precedence over the pom #20024
- Requests are auto-timed when autotime.enabled is set to false #19981
- Health group with composite contributor results in 404 #19974
- Jetty logs a custom context path incorrectly when compression is enabled #19970
- Conditions evaluation report mistakenly prints '@ConditionalOnBean' for negative matches #19948
- TomcatMetrics does not clean up properly when the application context is closed #19903
- Auto-configured JMS ConnectionFactory should be named jmsConnectionFactory for compatibility with Spring Integration #19565
📔 Documentation
- Fix typos in how to section of reference documentation #20313
- Document missing reference to DataSourceHealthIndicator #20216
- Document sanitized keys and uri sanitization behavior #20169
- Structure your code link in section 25.3.25 of multi-page HTML documentation is broken #20145
- Document how to register a blocking health contributor with the reactive registry #20123
- Fix link to Spring Integration Graph documentation #20023
- Polish two code samples in the reference documentation #20004
- Document spring-boot.run.arguments behaviour with multiple arguments #19998
- Fix Gradle plugin documentation links #19965
- Fix typo in configuration metadata appendix #19957
- Update documentation on excluding an auto-configuration to recommend exclude on SpringBootApplication #19872
🔨 Dependency Upgrades
- Upgrade to Neo4j Ogm 3.2.9 #20330
- Upgrade to Liquibase 3.8.7 #20328
- Upgrade to Rxjava2 2.2.18 #20327
- Upgrade to Dropwizard Metrics 4.1.3 #20326
- Upgrade to Okhttp3 3.14.7 #20325
- Upgrade to Maven Shade Plugin 3.2.2 #20288
- Upgrade to Spring Session Bom Corn-SR1 #20287
- Upgrade to Spring Security 5.2.2.RELEASE #20286
- Upgrade to Lombok 1.18.12 #20285
- Upgrade to Postgresql 42.2.10 #20284
- Upgrade to Jooq 3.12.4 #20281
- Upgrade to Infinispan 9.4.18.Final #20280
- Upgrade to Hibernate 5.4.12.Final #20279
- Upgrade to Jetty 9.4.26.v20200117 #20278
- Upgrade to Tomcat 9.0.31 #20277
- Upgrade to Johnzon Jsonb 1.2.3 #20276
- Upgrade to Httpclient 4.5.11 #20275
- Upgrade to Byte Buddy 1.10.8 #20274
- Upgrade to Rsocket 1.0.0-RC6 #20273
- Upgrade to Netty Tcnative 2.0.29.Final #20272
- Upgrade to Micrometer 1.3.5 #20271
- Upgrade to Lettuce 5.2.2.RELEASE #20270
- Upgrade to Jakarta Activation 1.2.2 #20269
- Upgrade to Sendgrid 4.4.5 #20268
- Upgrade to Hazelcast 3.12.6 #20267
- Upgrade to Appengine Sdk 1.9.78 #20266
- Upgrade to Caffeine 2.8.1 #20265
- Upgrade to Jackson 2.10.2.20200130 #20264
- Upgrade to Couchbase Client 2.7.12 #20263
- Upgrade to Spring Kafka 2.3.6.RELEASE #20203
- Upgrade to Spring Integration 5.2.4.RELEASE #20202
- Upgrade to Spring Data Moore-SR5 #20201
- Upgrade to Reactor Dysprosium-SR5 #20200
- Upgrade to Spring Framework 5.2.4.RELEASE #20199
- Upgrade to Spring AMQP 2.2.5.RELEASE #20106
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.1.13.RELEASE
🪲 Bug Fixes
- BuildInfo task not run in Gradle project when project's version number changes #20135
- Binding to collection fails with unbound elements error if collection overridden in another property source with smaller number of elements #20134
- Jetty logs a custom context path incorrectly when compression is enabled #19969
- Spring Webflux ignores message of custom exception when annotated with @ResponseStatus #19901
- TomcatMetrics does not clean up properly when the application context is closed #19880
- Using @activeprofiles with @SpringBootTest now adds to the profiles configured using spring.profiles.active rather than overriding them #19788
- No error message when server.ssl.keyAlias doesn't match an entry #19202
- DataSource url property is ignored when there is no connection pool #19192
- JSON keys containing a dot from CF environment are not handled as a single path segment #18915
📔 Documentation
- Fix Gradle plugin documentation links #19961
- Fix typo in configuration metadata appendix #19956
- Update documentation on excluding an auto-configuration to recommend exclude on SpringBootApplication #19855
- Document how to register a blocking health contributor with the reactive registry #19707
🔨 Dependency Upgrades
- Upgrade to Neo4j Ogm 3.1.17 #20322
- Upgrade to Rxjava2 2.2.18 #20321
- Upgrade to Jackson 2.9.10.20200223 #20320
- Upgrade to Maven Shade Plugin 3.2.2 #20260
- Upgrade to Spring Session Bom Bean-SR9 #20259
- Upgrade to Spring Security 5.1.8.RELEASE #20258
- Upgrade to Lombok 1.18.12 #20257
- Upgrade to Postgresql 42.2.10 #20256
- Upgrade to Infinispan 9.4.18.Final #20255
- Upgrade to Jetty 9.4.26.v20200117 #20254
- Upgrade to Tomcat 9.0.31 #20253
- Upgrade to Httpclient 4.5.11 #20252
- Upgrade to Dependency Management Plugin 1.0.9.RELEASE #20251
- Upgrade to Netty Tcnative 2.0.29.Final #20250
- Upgrade to Hazelcast 3.11.7 #20249
- Upgrade to Appengine Sdk 1.9.78 #20248
- Upgrade to Couchbase Client 2.7.12 #20247
- Upgrade to Spring Data Lovelace-SR16 #20198
- Upgrade to Spring Framework 5.1.14 #20197
- Upgrade to Reactor Californium-SR16 #20196
- Upgrade to Micrometer 1.1.10 #19639
❤️ Contributors
We'd like to thank all the contributors who worked on this release!
v2.3.0.M2
⭐ New Features
- Remove redundant dependency management for JNA #20156
- Update ephemeral builder metadata #20126
- Make Kubernetes detection slightly more efficient #20059
- Perform URI sanitisation for properties named address, addresses, and uris #20056
- Switch default value of Neo4j open session in view #20012
- Use a RegularFileProperty to configure BootBuildImage's input jar #20010
- Lower the minimum version of Docker required for building images to v1.24 #19945
- Order names in Metrics endpoint alphabetically #19934
- Add support for wildcard locations for properties and YAML files #19909
- Upgrade to Flyway 6.2 and support new validate migration naming property #19894
- Update buildpack support for lifecycle v6 #19829
- Allow Data Couchbase's type key to be configured via application properties #19789
- Deprecate SpringApplication#refresh(ApplicationContext) and provide SpringApplication#refresh(ConfigurableApplicationContext) as a replacement #18519
- Add setAllowBeanDefinitionOverriding method to ApplicationContextRunner #18019
- Add actuator specific ObjectMapper #12951
🪲 Bug Fixes
- Remove plugin management for "infinispan-protocol-parser-generator-maven-plugin" #20155
- Invalid variable reference in maven-shade-plugin configuration #20143
- No error message when server.ssl.keyAlias doesn't match an entry #20133
- JSON keys containing a dot from CF environment are not handled as a single path segment #20130
- Auto-configured JMS ConnectionFactory should be named jmsConnectionFactory for compatibility with Spring Integration #20125
- Unnecessary use of / in classpath:/db/changelog/db.changelog-master.yaml prevents Liquibase from identifying that a change set has already been applied when run from the command line #20118
- Fixes wrong prints of
@ConditionalOnBean
for negative matches #20116 - Health group with composite contributor results in 404 #20114
- HazelcastClientFactory may return null if there is no HazelcastClient for the given name #20109
- Spring Boot configuration metadata and properties migrator modules no longer deployed to repository #20051
- Requests are auto-timed when autotime.enabled is set to false #20030
- Spring Webflux ignores message of custom exception when annotated with
@ResponseStatus
#20029 - 2.3.0.M1 accidentally reverted to using jersey-spring4 rather than jersey-spring5 #20009
- Jar files added after build time are not loaded #19973
- Jetty logs a custom context path incorrectly when compression is enabled #19971
- Image creation fails when packaged application contains a file with a name more than 100 bytes long #19964
- StackdriverMetricsExportAutoConfiguration is not registered in
META-INF/spring.factories
#19955 - Image building ignores failures in CNB build phases #19949
- NullPointerException on Windows when creating a build image and //./pipe/docker_engine is not available #19941
- OCI image creation fails on Windows with an UnsatisfiedLinkError #19908
- TomcatMetrics does not clean up properly when the application context is closed #19904
- Dirty changes when using CqlSessionBuilder to create several sessions #19899
- OAuth2 request parameter binding not available in
@WebMvcTest
#19823
📔 Documentation
- Configuration property references are rendered incorrectly in the reference documentation #20149
- Structure your code link in section 25.3.25 of multi-page HTML documentation is broken #20148
- Document how to register a blocking health contributor with the reactive registry #20124
- Document spring-boot.run.arguments behaviour with multiple arguments #20121
- Polish samples in doc #20013
- Fix link to Spring Integration Graph documentation #19992
- Fix Gradle plugin documentation links #19966
- Fix typo #19958
- Fix links in Maven Plugin documentation #19952
- Improve documentation of
image
parameter of the Mavenbuild-image
plugin goal #19950 - Execution-specific build image configuration examples in Maven plugin docs can be misleading #19946
- Fix broken documentation links #19936
- Incorrect closing tag in Maven plugin example for configuring a build image with a custom name #19906
- Introduce appendix section with version properties #19898
- Document new Docker-related features #19868
🔨 Dependency Upgrades
- Upgrade to Tomcat 9.0.31 #20167
- Upgrade to Micrometer 1.3.5 #20166
- Upgrade to Liquibase 3.8.6 #20165
- Upgrade to Lettuce 5.2.2.RELEASE #20164
- Upgrade to Infinispan 10.1.2.Final #20163
- Upgrade to Hibernate 5.4.11.Final #20162
- Upgrade to Flyway 6.2.3 #20161
- Upgrade to Spring HATEOAS 1.1.0.M2 #20142
- Upgrade to Spring Kafka 2.4.2 #20107
- Upgrade to Spring AMQP 2.2.4 #20105
- Upgrade to Spring Integration 5.3.0.M2 #20104
- Upgrade to Spring Data Neumann-M3 #20103
- Upgrade to Undertow 2.0.29.Final #20096
- Upgrade to UnboundID LDAPSDK 4.0.14 #20095
- Upgrade to Spring Retry 1.2.5.RELEASE #20094
- Upgrade to SLF4J 1.7.30 #20093
- Upgrade to SendGrid 4.4.4 #20092
- Upgrade to Selenium HtmlUnit 2.37.0 #20091
- Upgrade to RxJava2 2.2.17 #20090
- Upgrade to Prometheus PushGateway 0.8.1 #20089
- Upgrade to Postgresql 42.2.10 #20088
- Upgrade to Pooled JMS 1.1.1 [#20087](#20087...
v2.3.0.M1
⭐ New Features
- Add layertools jarmode support to Gradle #19867
- Automatically add jarmode jars when packaging #19865
- Add layertools jarmode #19849
- Add jarmode support to the loader code #19848
- Write classpath index file from Gradle plugin #19847
- Create a new ImagePackager tools class #19834
- Add buildImage support to the gradle plugin #19831
- Add build-image support to the maven plugin #19830
- Add cloud native buildpack module #19828
- Remove spring-boot-starter-cloud-connectors #19798
- Update the Gradle plugin with an option to generate layered jars #19792
- Update the Maven plugin with an option to generate layered jars #19768
- Support generation and loading of layered jars #19767
- Remove support for Jest #19681
- Remove support for Elasticsearch transport client #19668
- Do not include the validation starter in web starters by default #19550
- Auto-configure HTTP client builders as lazy #19549
- Add Stackdriver metrics export support #19528
- Avoid 406 Not Acceptable for error pages #19522
- Add Java 14 to JavaVersion enumeration #19511
- Switch
JobLauncherCommandLineRunner
toApplicationRunner
#19442 - Configurer for RabbitTemplate similar to SimpleRabbitListenerContainerFactoryConfigurer #19440
- Make output from spring-boot-autoconfigure-processor reproducible #19370
- Add ComponentScan#nameGenerator alias on @SpringBootApplication #19346
- Add support for setting DirContextAuthenticationStrategy on the LdapContextSource #19328
- Remove code that is deprecated since 2.1.x #19189
- Use DateTimeFormatter in favor of SimpleDateFormat #19142
- Add configuration property for RabbitMQ client requestedChannelMax #19106
- Remove plugin management for maven-site-plugin #19085
- Support tc datasource prefix for test containers #19044
- Support constructor binding on 3rd party classes #19011
- Support Gradle 6 #18957
- Move spring.http.* configuration properties namespace #18827
- Raise the minimum supported version of Gradle to 5.6 #18777
- Provide toolchains support for Spring Boot Maven Plugin #18732
- Upgrade to Cassandra driver 4 #18621
- Add group RemoteIpValve for ServerProperties.Tomcat #18489
- Add information about the input into the property binding process to the configprops endpoint #17886
- Reconsider default for spring.datasource.generate-unique-name as the current one makes test cases brittle #16747
- spring.cache.redis.cache-prefix should use prefixCacheNameWith to include the cache name in the generated key #16676
- Improve JarLauncher's performance when running as an exploded jar #16655
- Considered new defaults for JPA repository bootstrap #16230
- Provide end-to-end tracability for bound @ConfigurationProperties #14880
- Use the same classpath ordering for an exploded jar and an archive #9128
🪲 Bug Fixes
- Dependency resolution fails with Gradle 5.3.x to 5.6.x #19814
- Configuring dedicated Cassandra contact points now require a local DC #19779
- Since 2.2.2 Jetty error handler cannot be overridden #19774
- Fat jars do not tolerate entries with an invalid modification date of 0 #19714
- Duplicate metrics can be recorded by WebMvcTags since it does not rationalize trailing slashes #19701
- Failure analyser for a missing validation provider does not kick in when using the latest Jakarta Validation API #19689
- Make equality checks defensive to null reference #19686
- PoolingDataSourceBean getParentLogger throws StackOverflowError #19683
- MetricsWebFilter assigns UNKNOWN outcome to 200 OK responses #19600
- Rejected value is null when configuration property fails validation #19598
- Diagnostics are poor when using
@ConfigurationPropertiesScan
and@ConstructorBinding
on a Kotlin data class without kotlin-reflect #19582 - HypermediaAutoConfiguration hinges on Spring MVC #19562
- Spring Boot's antlib references a properties file that is no longer packaged in its jar #19554
- Unset forward header strategy in kubernetes environment eats X-Forwarded-* headers in Spring Boot 2.2 #19529
- Incorrect target type with wildcard List #19527
- Use RBAC credentials for Couchbase cluster info #19517
- Non-public property in Saml2RelyingPartyProperties' Registration class #19486
- Add support for nested requests in MetricsClientHttpRequestInterceptor #19464
- Support commas embedded in command line arguments from Maven plugin #19463
- Configuration properties that use the builder pattern are not recognized when used with a generic #19441
- Disable Jackson SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS by default #19435
- NoSuchMethodError when deploying to Tomcat 8.5 before 8.5.44 and Tomcat 9 before 9.0.23 #19422
- Micrometer's Dynatrace group property cannot be configured via application properties #19375
- @SpyBean (MockitoPostProcessor) tries to initialize @StepScope Bean out of scope #19310
- server.ssl.key-alias is ignored when configuring Netty #19305
- Actuator does not display immutable configuration properties when using @validated #19279
- Bean class placeholders doesn't work in 2.2.1.RELEASE #19217
- Constructor binding fails when configuration class has a generic field with type parameter java.util.Map #19216
- Liquibase actuator endpoint does not give correct information when multiple databases are used in one project #19191
- ssl.enabled is ignored when Rabbit is configured with an address with no protocol [#19113](https://github.com/spring-projects/sp...
v2.2.4.RELEASE
🪲 Bug Fixes
- Using
@ActiveProfiles
with@SpringBootTest
now adds to the profiles configured using spring.profiles.active rather than overriding them #19821 - Dependency resolution fails with Gradle 5.3.x to 5.6.x #19783
📔 Documentation
- Document RedisCacheManagerBuilderCustomizer #19819
🔨 Dependency Upgrades
- Upgrade to Reactor Dysprosium-SR4 #19795
❤️ Contributors
We'd like to thank all the contributors who worked on this release!