Skip to content

Releases: spring-projects/spring-boot

v2.3.1.RELEASE

12 Jun 02:09
Compare
Choose a tag to compare

⭐ 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...
Read more

v2.2.8.RELEASE

11 Jun 13:56
Compare
Choose a tag to compare

⭐ 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

11 Jun 10:33
Compare
Choose a tag to compare

⭐ 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

15 May 06:04
Compare
Choose a tag to compare

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

07 May 16:21
Compare
Choose a tag to compare

⭐ 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...

Read more

v2.1.14.RELEASE

07 May 15:22
Compare
Choose a tag to compare

⭐ 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

01 May 04:43
Compare
Choose a tag to compare
v2.3.0.RC1 Pre-release
Pre-release

⭐ 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

Read more

v2.3.0.M4

03 Apr 11:33
Compare
Choose a tag to compare
v2.3.0.M4 Pre-release
Pre-release

⭐ 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

Read more

v2.2.6.RELEASE

26 Mar 12:49
Compare
Choose a tag to compare

⭐ 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

12 Mar 16:57
Compare
Choose a tag to compare
v2.3.0.M3 Pre-release
Pre-release

⭐ 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...
Read more