Skip to content

Releases: spring-projects/spring-boot

v2.5.1

10 Jun 18:41
Compare
Choose a tag to compare

🪲 Bug Fixes

  • SqlInitializationAutoConfiguration fails when there is a DataSource bean and no spring-jdbc or a ConnectionFactory bean and no spring-r2dbc #26850
  • MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26827
  • CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26823
  • ConnectionFactoryBuilder.derivefrom should be named derivedFrom to align with DataSourceBuilder #26810
  • Profile-specific property files are incorrectly ordered when both '.' and './config' folders are used in the same application #26782
  • A spring.config.import declared in an application-.properties file calls ConfigDataLocationResolver.resolveProfileSpecific #26755
  • A spring.config.import declared in an application.properties file also attempts to import profile-specific files #26754
  • Jar startup fails on JDK 11 with a SecurityManager enabled #26744
  • Possible divide by zero bugs when using RandomValuePropertySource #26739
  • Resolving properties with a target type can cause ConversionFailedException #26732
  • Upgrading to Spring Boot 2.5.0 leads to a startup warning from Jackson about Kotlin #26727
  • LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26725
  • bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #26703
  • Non-static nested @Configuration in JerseySameManagementContextConfiguration #26697
  • Restore run order of data.sql/schema.sql against high-level database migration tools #26692
  • Gradle plugin does not provided public constant for the productionRuntimeClasspath configuration #26687
  • Non-embedded databases have schema/data.sql scripts applied by default #26682
  • Custom username/password properties are not picked up by DataSourceInitializationConfiguration #26676
  • No subdirectories found for mandatory directory location 'file:./config/*/' is thrown when config dir exists #26672
  • LoggingSystem not available on shutdown to log DisposableBean#destroy invocations #26660
  • Image Building with custom buildpacks fails with permission denied on Arch Linux #26658
  • SingleSignOnService Binding from SAML IdP metadata gets overridden by default #26649
  • UnsupportedDataSourcePropertyException is thrown when attempting to set URL for SQL Server #26647
  • Flyway and Liquibase custom datasource without an url leads to java.lang.ClassCastException #26644
  • Empty value for spring.datasource.password can cause NullPointerException #26633
  • UnsupportedDataSourcePropertyException is thrown when attempting to set driverClassName for H2 #26631
  • Some metrics are lost when Spring Data is on the classpath #26630
  • ApplicationAvailabilityBean should log at debug level #26624

📔 Documentation

  • Update optaplanner spring boot starter url #26816
  • Fix typo in 'Reacting to the Maven plugin' title #26751
  • Link to Spring Data JPA points to Spring Data JDBC #26741
  • Clarify when a connection pool is created for Redis #26735
  • Polish description of server.servlet.session.cookie.domain #26717
  • Document Kubernetes terminationGracePeriodSeconds #26701
  • Correct Kotlin version requirements in documentation #26655
  • Document spring.profiles.default property #26654
  • Add link to Maven Git Commit Id Plugin #26635
  • Rework build-image-customization table in docs #25739

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.89 #26798
  • Upgrade to Couchbase Client 3.1.6 #26799
  • Upgrade to Dropwizard Metrics 4.1.22 #26800
  • Upgrade to Ehcache3 3.9.4 #26801
  • Upgrade to Git Commit ID Plugin 4.0.5 #26845
  • Upgrade to Gson 2.8.7 #26802
  • Upgrade to Hibernate 5.4.32.Final #26803
  • Upgrade to Infinispan 12.1.4.Final #26804
  • Upgrade to JBoss Logging 3.4.2.Final #26805
  • Upgrade to Jetty 9.4.42.v20210604 #26838
  • Upgrade to Jetty Reactive HTTPClient 1.1.9 #26837
  • Upgrade to Johnzon 1.2.13 #26806
  • Upgrade to jOOQ 3.14.11 #26807
  • Upgrade to Kotlin 1.5.10 #26652
  • Upgrade to Neo4j Java Driver 4.2.6 #26808
  • Upgrade to RSocket 1.1.1 #26839
  • Upgrade to Spring AMQP 2.3.8 #26764
  • Upgrade to Spring Framework 5.3.8 #26761
  • Upgrade to Spring Kafka 2.7.2 #26765
  • Upgrade to Undertow 2.2.8.Final #26809

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v2.4.7

10 Jun 12:01
Compare
Choose a tag to compare

🪲 Bug Fixes

  • MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26826
  • CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26822
  • A spring.config.import declared in an application-.properties file calls ConfigDataLocationResolver.resolveProfileSpecific #26753
  • A spring.config.import declared in an application.properties file also attempts to import profile-specific files #26752
  • Jar startup fails on JDK 11 with a SecurityManager enabled #26743
  • Possible divide by zero bugs when using RandomValuePropertySource #26738
  • LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26724
  • bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #26702
  • Non-static nested @Configuration in JerseySameManagementContextConfiguration #26696
  • Gradle plugin does not provided public constant for the productionRuntimeClasspath configuration #26686
  • No subdirectories found for mandatory directory location 'file:./config/*/' is thrown when config dir exists #26627
  • Auto-configured resource handlers don't get applied to child contexts #26622
  • Profile-specific property files are incorrectly ordered when both '.' and './config' folders are used in the same application #26593
  • SingleSignOnService Binding from SAML IdP metadata gets overridden by default #26454

📔 Documentation

  • Link to Spring Data JPA points to Spring Data JDBC #26740
  • Clarify when a connection pool is created for Redis #26734
  • Polish description of server.servlet.session.cookie.domain #26716
  • Document Kubernetes terminationGracePeriodSeconds #26700
  • Document spring.profiles.default property #26653
  • Correct Kotlin version requirements in documentation #26421

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.89 #26783
  • Upgrade to Dropwizard Metrics 4.1.22 #26784
  • Upgrade to Ehcache3 3.9.4 #26785
  • Upgrade to Gson 2.8.7 #26786
  • Upgrade to Hibernate 5.4.32.Final #26787
  • Upgrade to JBoss Logging 3.4.2.Final #26788
  • Upgrade to Jetty 9.4.42.v20210604 #26834
  • Upgrade to Jetty Reactive HTTPClient 1.1.9 #26833
  • Upgrade to Johnzon 1.2.13 #26789
  • Upgrade to jOOQ 3.14.11 #26790
  • Upgrade to Neo4j Java Driver 4.1.3 #26835
  • Upgrade to RSocket 1.1.1 #26836
  • Upgrade to Spring AMQP 2.3.8 #26762
  • Upgrade to Spring Framework 5.3.8 #26760
  • Upgrade to Spring Kafka 2.6.9 #26763
  • Upgrade to Undertow 2.2.8.Final #26791

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v2.3.12.RELEASE

10 Jun 09:21
Compare
Choose a tag to compare

🪲 Bug Fixes

  • MetricsRestTemplateCustomizer and LocalHostUriTemplateHandler cannot be used together when building a RestTemplate with RestTemplateBuilder #26812
  • CompositeHealth.getDetails() does not serialize if MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS is disabled #26797
  • LoggingSystem should not return LogbackLoggingSystem if logback-classic is not available #26711
  • Non-static nested @Configuration in JerseySameManagementContextConfiguration #26695
  • Possible divide by zero bugs when using RandomValuePropertySource #26628
  • Auto-configured resource handlers don't get applied to child contexts #25743
  • Jar startup fails on JDK 11 with a SecurityManager enabled #25538
  • bootBuildImage runs forever when a custom image name is used and the version contains an illegal character #23115

📔 Documentation

  • Link to Spring Data JPA points to Spring Data JDBC #26736
  • Clarify when a connection pool is created for Redis #26733
  • Polish description of server.servlet.session.cookie.domain #26713
  • Document spring.profiles.default property #26592
  • Document Kubernetes terminationGracePeriodSeconds #26469

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.89 #26776
  • Upgrade to Dropwizard Metrics 4.1.22 #26777
  • Upgrade to Gson 2.8.7 #26778
  • Upgrade to Hibernate 5.4.32.Final #26779
  • Upgrade to JBoss Logging 3.4.2.Final #26780
  • Upgrade to Jetty 9.4.42.v20210604 #26830
  • Upgrade to Jetty Reactive HTTPClient 1.1.9 #26829
  • Upgrade to Johnzon 1.2.13 #26781
  • Upgrade to Neo4j OGM 3.2.24 #26831
  • Upgrade to RSocket 1.0.5 #26832
  • Upgrade to Spring AMQP 2.2.18 #26770
  • Upgrade to Spring Integration 5.3.8 #26772
  • Upgrade to Spring Kafka 2.5.14 #26771

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v2.5.0

20 May 23:59
Compare
Choose a tag to compare

For full upgrade instructions and new and noteworthy features please see the release notes.

🪲 Bug Fixes

  • Auto-configured resource handlers don't get applied to child contexts #26623
  • Actuator doesn't use the CORS Configuration with default security configuration and Spring Webflux #26614
  • Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #26612
  • SpringApplication additional profiles and active profiles ordering changed with Spring Boot 2.4 #26610
  • An active request delays Jetty's shutdown by 30 seconds #26608
  • SmartInitializingSingleton beans are not working with lazy initialization #26606
  • MVC and WebFlux metrics filters adversely affect the response when metrics recording fails #26596
  • ConfigDataResolvers cannot signal that they should be skipped #26585
  • Remote devtools endpoint cannot be accessed if actuator and spring security are on the classpath #26584
  • The error message when a wildcard directory location does not match any files is misleading #26583
  • Mandatory locations with pattern fail with exception #26582
  • Non-optional locations with wildcards fail if no files are contributed #26581
  • Profiles programmatically set on the Envionment are no longer merged with active profile properties #26580
  • Use of spring.profiles.include in a profile-specific document is not detected when it's configured as a YAML list #26575
  • ConfigurationProperties is retrieved via classpath scanning but does not indicate it should be indexed #26463
  • BufferingApplicationStartup fails with NoSuchElementException #26458
  • Building an image fails when using a custom buildpack image with long file names #26445
  • Additional profiles are processed too late when legacy processing is used #26434
  • Config data location does not exist error can be thrown if a profile-specific properties file is directly imported #26402
  • StandardConfigDataLoader can import profile specific files in incorrect order #26401
  • Resolvability and consumability of productionRuntimeClasspath are not aligned with runtimeClasspath #26365
  • ObjectMapper provided by JacksonAutoConfiguration via JacksonClusterEnvironmentBuilderCustomizer breaks Couchbase driver #26363
  • Empty value in spring.config.import causes NullPointerException #26346
  • @DataRedisTest does not consider RedisReactiveAutoConfiguration #26328
  • When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26323
  • SpringBootConfiguration is retrieved via classpath scanning but does not indicate it should be indexed #26318
  • Maven spring-boot:build-image ignores ZIP layout #26313
  • bootBuildImage does not pick up targetCompatibility when it's configured after task is customised #26301
  • Configuration item metadata ordering is not consistent #26277
  • @EnableAutoConfiguration and @ImportAutoConfiguration use different class loaders to find candidate configurations #26237
  • 'spring.web.resources.cache.use-last-modified=false' doesn't work with Spring MVC #26233
  • Restore support for binding configuration properties from RandomValuePropertySource #26201
  • @Scheduled method not triggered when spring.main.lazy-initialization=true #26156
  • When classes in spring-core and spring-boot are loaded by different ClassLoaders, spring-boot cannot find its own config data location resolvers #26155
  • ConfigFileApplicationListener#loadPostProcessors can not load EnvironmentPostProcessor in child classLoader #26126

📔 Documentation

  • Info endpoint in reference doc has outdated defaults #26591
  • Update documentation following the release of Spock Framework 2.0 #26586
  • Update Gradle docs to use module replacement rather than dependency substitution #26526
  • Improve documentation of TestRestTemplate's fault tolerance #26522
  • Document that the heap dump endpoint requires a HotSpot JVM #26474
  • Suggest enabling the default servlet when using Jersey as a filter #26452
  • Document support for Gradle 6.9 #26409
  • Fix wrong reference to Cassandra in DockerImageNames#couchbase #26406
  • PDF documentation include hidden code elements #26373
  • Move Working with the Code from CONTRIBUTING.adoc to the wiki #26334
  • Fix typo in NamedContributors Javadoc #26325
  • Polish README #26320
  • Fix link to Webservices reference docs #26316
  • Document property names to enable reactive health indicators #26299
  • Documentation has wrong key for DataSourceHealthIndicator #26283
  • Reorder a few howtos #26262
  • Align documentation with main default branch name #26257
  • Align Maven version in system requirements with what is actually tested #26211
  • Document that MeterFilters are only applied to the Spring-managed MeterRegistry #26186
  • Use new update site for Spring Java Format's Eclipse plugin #26172
  • spring.profiles.include has outdated sourceType in configuration metadata #26165
  • Include spring.profiles.group in additional-spring-configuration-metadata.json #26164
  • Enhance multiple entity manager factories online documentation #26160
  • SQL init schema-locations and data-locations are missing metadata to cause them to be handled as Resources #26154
  • Replacements for spring.datasource.schema and spring.datasource.data are documented incorrectly #26150

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.16.2 #26528
  • Upgrade to Caffeine 2.9.1 #26529
  • Upgrade to Cassandra Driver 4.11.1 #26530
  • Upgrade to Couchbase Client 3.1.5 #26531
  • Upgrade to Dropwizard Metrics 4.1.21 #26532
  • Upgrade to Ehcache ...
Read more

v2.4.6

20 May 11:00
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #26611
  • An active request delays Jetty's shutdown by 30 seconds #26607
  • SmartInitializingSingleton beans are not working with lazy initialization #26605
  • MVC and WebFlux metrics filters adversely affect the response when metrics recording fails #26595
  • Mandatory locations with pattern fail with exception #26577
  • Non-optional locations with wildcards fail if no files are contributed #26468
  • ConfigurationProperties is retrieved via classpath scanning but does not indicate it should be indexed #26462
  • The error message when a wildcard directory location does not match any files is misleading #26415
  • StandardConfigDataLoader can import profile specific files in incorrect order #26400
  • Resolvability and consumability of productionRuntimeClasspath are not aligned with runtimeClasspath #26364
  • Empty value in spring.config.import causes NullPointerException #26342
  • @DataRedisTest does not consider RedisReactiveAutoConfiguration #26327
  • When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26322
  • SpringBootConfiguration is retrieved via classpath scanning but does not indicate it should be indexed #26317
  • Maven spring-boot:build-image ignores ZIP layout #26312
  • bootBuildImage does not pick up targetCompatibility when it's configured after task is customised #26300
  • Configuration item metadata ordering is not consistent #26275
  • @EnableAutoConfiguration and @ImportAutoConfiguration use different class loaders to find candidate configurations #26236
  • 'spring.web.resources.cache.use-last-modified=false' doesn't work with Spring MVC #26212
  • Use of spring.profiles.include in a profile-specific document is not detected when it's configured as a YAML list #26205
  • SpringApplication additional profiles and active profiles ordering changed with Spring Boot 2.4 #26189
  • Profiles programmatically set on the Envionment are no longer merged with active profile properties #26151
  • When classes in spring-core and spring-boot are loaded by different ClassLoaders, spring-boot cannot find its own config data location resolvers #26149
  • Config data location does not exist error can be thrown if a profile-specific properties file is directly imported #26147
  • Profile cannot easily be deduced from StandardConfigDataResource #25940
  • ConfigDataResolvers cannot signal that they should be skipped #25894
  • Remote devtools endpoint cannot be accessed if actuator and spring security are on the classpath #25868
  • Additional profiles are processed too late when legacy processing is used #25817
  • BufferingApplicationStartup fails with NoSuchElementException #25792
  • @Scheduled method not triggered when spring.main.lazy-initialization=true #25315
  • Actuator doesn't use the CORS Configuration with default security configuration and Spring Webflux #24541

📔 Documentation

  • Update Gradle docs to use module replacement rather than dependency substitution #26525
  • Improve documentation of TestRestTemplate's fault tolerance #26521
  • Document that the heap dump endpoint requires a HotSpot JVM #26473
  • Fix wrong reference to Cassandra in DockerImageNames#couchbase #26405
  • Move Working with the Code from CONTRIBUTING.adoc to the wiki #26333
  • Fix typo in NamedContributors Javadoc #26324
  • Document property names to enable reactive health indicators #26298
  • Documentation has wrong key for DataSourceHealthIndicator #26282
  • Align documentation with main default branch name #26256
  • Align Maven version in system requirements with what is actually tested #26210
  • Document that MeterFilters are only applied to the Spring-managed MeterRegistry #26185
  • Use new update site for Spring Java Format's Eclipse plugin #26171
  • spring.profiles.include has outdated sourceType in configuration metadata #26163
  • Enhance multiple entity manager factories online documentation #26159
  • Include spring.profiles.group in additional-spring-configuration-metadata.json #26127
  • Suggest enabling the default servlet when using Jersey as a filter #25733

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.16.2 #26496
  • Upgrade to Dropwizard Metrics 4.1.21 #26497
  • Upgrade to Ehcache 2.10.9.2 #26498
  • Upgrade to Ehcache3 3.9.3 #26499
  • Upgrade to Hibernate 5.4.31.Final #26500
  • Upgrade to Infinispan 11.0.11.Final #26501
  • Upgrade to Janino 3.1.4 #26502
  • Upgrade to JBoss Transaction SPI 7.6.1.Final #26503
  • Upgrade to Jetty 9.4.41.v20210516 #26601
  • Upgrade to Jetty Reactive HTTPClient 1.1.8 #26504
  • Upgrade to Johnzon 1.2.11 #26506
  • Upgrade to jOOQ 3.14.9 #26507
  • Upgrade to Json-smart 2.3.1 #26508
  • Upgrade to JUnit Jupiter 5.7.2 #26509
  • Upgrade to Kafka 2.6.2 #24247
  • Upgrade to Lettuce 6.0.5.RELEASE #26510
  • Upgrade to MariaDB 2.7.3 #26511
  • Upgrade to Micrometer 1.6.7 #26430
  • Upgrade to MySQL 8.0.25 #26512
  • Upgrade to Neo4j Java Driver 4.1.2 #26513
  • Upgrade to Netty 4.1.65.Final #26602
  • Upgrade to Netty tcNative 2.0.39.Final #26514
  • Upgrade to Pooled JMS 1.2.2 #26515
  • Upgrade to Postgresql 42.2.20 #26516
  • Upgrade to R2DBC Bom Arabba-SR10 #26517
  • Upgrade to Reactor 2020.0.7 #26358
  • Upgrade to Spring AMQP 2.3.7 #26383
  • Upgrade to Spring Batch 4.3.3 [#26391](https://...
Read more

v2.3.11.RELEASE

20 May 08:56
Compare
Choose a tag to compare

🪲 Bug Fixes

  • SmartInitializingSingleton beans are not working with lazy initialization #26470
  • ConfigurationProperties is retrieved via classpath scanning but does not indicate it should be indexed #26459
  • @DataRedisTest does not consider RedisReactiveAutoConfiguration #26319
  • SpringBootConfiguration is retrieved via classpath scanning but does not indicate it should be indexed #26308
  • bootBuildImage does not pick up targetCompatibility when it's configured after task is customised #26297
  • When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26292
  • When a single bean causes a dependency cycle the failure analysis does not clearly illustrate the cycle #26269
  • @EnableAutoConfiguration and @ImportAutoConfiguration use different class loaders to find candidate configurations #26234
  • Configuration item metadata ordering is not consistent #26230
  • Maven spring-boot:build-image ignores ZIP layout #26216
  • Resolvability and consumability of productionRuntimeClasspath are not aligned with runtimeClasspath #25798
  • MVC and WebFlux metrics filters adversely affect the response when metrics recording fails #24151
  • An active request delays Jetty's shutdown by 30 seconds #22689
  • Actuator doesn't use the CORS Configuration with default security configuration and Spring MVC #11987

📔 Documentation

  • Document that the heap dump endpoint requires a HotSpot JVM #26467
  • Fix wrong reference to Cassandra in DockerImageNames#couchbase #26399
  • Move Working with the Code from CONTRIBUTING.adoc to the wiki #26332
  • Fix typo in NamedContributors Javadoc #26321
  • Document property names to enable reactive health indicators #26279
  • Documentation has wrong key for DataSourceHealthIndicator #26268
  • Align documentation with main default branch name #26255
  • Improve documentation of TestRestTemplate's fault tolerance #26227
  • Align Maven version in system requirements with what is actually tested #26209
  • Use new update site for Spring Java Format's Eclipse plugin #26167
  • Update Gradle docs to use module replacement rather than dependency substitution #25944
  • Document that MeterFilters are only applied to the Spring-managed MeterRegistry #25610
  • Enhance multiple entity manager factories online documentation #14928

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.15.15 #26481
  • Upgrade to Dropwizard Metrics 4.1.21 #26482
  • Upgrade to Ehcache 2.10.9.2 #26483
  • Upgrade to Hibernate 5.4.31.Final #26484
  • Upgrade to Janino 3.1.4 #26485
  • Upgrade to JBoss Transaction SPI 7.6.1.Final #26486
  • Upgrade to Jetty 9.4.41.v20210516 #26597
  • Upgrade to Jetty Reactive HTTPClient 1.1.8 #26487
  • Upgrade to Johnzon 1.2.11 #26489
  • Upgrade to Json-smart 2.3.1 #26598
  • Upgrade to Micrometer 1.5.14 #26427
  • Upgrade to MySQL 8.0.25 #26490
  • Upgrade to Neo4j OGM 3.2.23 #26599
  • Upgrade to Netty 4.1.65.Final #26600
  • Upgrade to Netty tcNative 2.0.39.Final #26492
  • Upgrade to Postgresql 42.2.20 #26493
  • Upgrade to R2DBC Bom Arabba-SR10 #26494
  • Upgrade to Reactor Dysprosium-SR20 #26424
  • Upgrade to Spring AMQP 2.2.17 #26428
  • Upgrade to Spring Batch 4.2.7 #26426
  • Upgrade to Spring Framework 5.2.15 #26425
  • Upgrade to Spring Kafka 2.5.13 #26429
  • Upgrade to Spring LDAP 2.3.4.RELEASE #25528
  • Upgrade to Tomcat 9.0.46 #26495

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v2.5.0-RC1

16 Apr 03:09
Compare
Choose a tag to compare
v2.5.0-RC1 Pre-release
Pre-release

⭐ New Features

  • Make ApplicationConversionService.getSharedInstance() unmodifiable #26088
  • @Document should be considered when auto-configuring Spring Data Elasticsearch #26028
  • Support Gradle 7 and raise minimum supported version of Gradle 6.x to 6.8 #26026
  • Provide auto-configuration for using Apache HttpClient 5 with WebClient #26004
  • Automatically enable h2c when HTTP/2 is enabled without SSL #25856
  • Add detection of Azure App Service to CloudPlatform #25829
  • Ensure that database initialization has completed before R2DBC ConnectionFactory is used #25818
  • Add configuration properties for configuring Tomcat's keep-alive timeout and max keep-alive requests #25815
  • Allow an R2DBC ConnectionFactoryBuilder to be derived from an existing ConnectionFactory #25788
  • Move classes for DataSource initialization dependency detection into their own package #25757
  • Move basic script-based DataSource initializer from spring-boot-autoconfigure to spring-boot #25756
  • Add environment prefix support to SpringApplicationBuilder #25740
  • Provide health for an AbstractRoutingDataSource's resolved targets #25708
  • Support optional: prefix for DDL and DML script locations #25487
  • Use SimpleDriverDataSource when creating an initialization-specific DataSource #25390
  • Expose Spring Integration global properties #25377
  • Separate auto-configuration of script-based DataSource initialization from the auto-configuration of the DataSource #25323
  • Develop custom ApplicationEnvironment implementation #24892
  • Allow Spring Security's RSA key converters to be used when binding configuration properties #24891
  • Add R2DBC support for schema.sql and data.sql #24741
  • Allow spring.config.location directories to end with system-dependent separators #24490
  • Provide a constant for graceful shutdown's smart lifecycle phase #24255
  • Raise the minimum supported version of Gradle to 6.x #24225
  • Provide a request attribute for storing exception info for tagging purposes #24028
  • Auto-configure Mongo metrics #23990
  • Record WebFlux server metrics for client disconnection #23606
  • Add property to control the auto-configuration of a DataSource for an embedded database #23412
  • Support @Timed annotation for WebFlux #23112
  • Log ApplicationAvailability state changes #23098
  • Expose Spring Data Repository metrics #22217
  • Deprecate environment fallback for Mustache variable resolution #21045
  • Configure SameSite attribute on session Cookies for Spring WebFlux #20970
  • Short circuit checking of source already covered by ConfigurationPropertySources #17400
  • Configure memory leak detection for Netty #14338
  • Add Quartz actuator endpoint #10364
  • Allow RabbitMQ ConnectionFactory to be customized (to set SaslConfig or enable NIO for example) #6719

🪲 Bug Fixes

  • Profile cannot easily be deduced from StandardConfigDataResource #26139
  • CloudPlatform.isActive can return true when spring.main.cloud-platform is set to NONE #26125
  • Converters added directly to the bean factory's conversion service are not used for property binding when @ConfigurationPropertiesBinding bean is defined #26089
  • @Persistent should not be considered when scanning for MongoDB entities #26032
  • Elasticsearch auto-configuration does not configure default converters #26030
  • Gradle bootBuildImage does not preserve file permissions for resources #25938
  • Configuration of ciphers is ignored for TCP with Reactory Netty #25936
  • Keystore.load calls do not close InputStream #25923
  • ConfigData imports cannot override profile specific imports #25887
  • java.util.concurrent.RejectedExecutionException when shutting down Spring Boot app with Cassandra #25870
  • When running with a context hierarchy, PrimaryDefaultValidatorPostProcessor causes a NoSuchBeanDefinitionException when a Validator is in an ancestor context #25864
  • Unlike Micrometer's PushMeterRegistry, PrometheusPushGatewayManager stops publishing when an UnknownHostException is caught #25845
  • spring-boot:build-image hangs when classifier is specified in configuration #25811
  • During incremental compilation, configuration property metadata isn't generated for classes annotated with @ControllerEndpoint, @JmxEndpoint, @RestControllerEndpoint, @ServletEndpoint, or @WebEndpoint #25799
  • Bootstrapper interface provides no clean upgrade path due to deprecated method #25790
  • DefaultErrorWebExceptionHandler does not remove MetaType.ALL when a quality values is present #25787
  • AbstractWebMvcEndpointHandlerMapping does not chain InvalidEndpointRequestExceptions #25785
  • Unpacked jars are not deleted when the JVM exits #25775
  • TldPatterns are not aligned with Tomcat #25771
  • Actuator's rest template metrics customization prevents RootUriRequestExpectationManager.forRestTemplate from identifying that the template has had a root URI configured #25769
  • URI tag of http.client.requests metric ignores REST template's root URI #25767
  • Checks 'javax.persistence.schema-generation.database.action' when determining DDL auto default #25755
  • spring-boot:build-image hangs if finalName is specified in Spring Boot plugin configuration #25701
  • Without AspectJ, using @EnableGlobalMethodSecurity causes JDK proxies to be used by default #25413
  • Resetting the log level of a Log4j2 Logger wrongly flags its LoggerConfiguration as explicitly configured #24298

📔 Documentation

  • Fix typo in "Initialize a Database using basic SQL scripts" #26137
  • Avoid some redirects in docs #26129
  • Document limitations of using deferred JPA bootstrap and early access to JPA #26111
  • Mention special behavior of spring.config.additional-location in docs #26105
  • Provide package info for org.springframework.boot.test.autoconfigure.data.cassandra #26082
  • Add reference to IBM MQ Spring Boot starter [#26041](https://github.com/spring-proj...
Read more

v2.4.5

15 Apr 12:10
Compare
Choose a tag to compare

🪲 Bug Fixes

  • CloudPlatform.isActive can return true when spring.main.cloud-platform is set to NONE #26124
  • Elasticsearch auto-configuration does not configure default converters #26029
  • Gradle bootBuildImage does not preserve file permissions for resources #25937
  • Keystore.load calls do not close InputStream #25922
  • Configuration of ciphers is ignored for TCP with Reactory Netty #25913
  • java.util.concurrent.RejectedExecutionException when shutting down Spring Boot app with Cassandra #25869
  • When running with a context hierarchy, PrimaryDefaultValidatorPostProcessor causes a NoSuchBeanDefinitionException when a Validator is in an ancestor context #25863
  • Unlike Micrometer's PushMeterRegistry, PrometheusPushGatewayManager stops publishing when an UnknownHostException is caught #25844
  • @Persistent should not be considered when scanning for MongoDB entities #25797
  • spring-boot:build-image hangs when classifier is specified in configuration #25789
  • DefaultErrorWebExceptionHandler does not remove MetaType.ALL when a quality values is present #25786
  • AbstractWebMvcEndpointHandlerMapping does not chain InvalidEndpointRequestExceptions #25784
  • Unpacked jars are not deleted when the JVM exits #25774
  • TldPatterns are not aligned with Tomcat #25770
  • Actuator's rest template metrics customization prevents RootUriRequestExpectationManager.forRestTemplate from identifying that the template has had a root URI configured #25768
  • ConfigData imports cannot override profile specific imports #25766
  • URI tag of http.client.requests metric ignores REST template's root URI #25765
  • Checks 'javax.persistence.schema-generation.database.action' when determining DDL auto default #25754
  • Bootstrapper interface provides no clean upgrade path due to deprecated method #25735
  • spring-boot:build-image hangs if finalName is specified in Spring Boot plugin configuration #25700
  • During incremental compilation, configuration property metadata isn't generated for classes annotated with @ControllerEndpoint, @JmxEndpoint, @RestControllerEndpoint, @ServletEndpoint, or @WebEndpoint #25388

📔 Documentation

  • Document limitations of using deferred JPA bootstrap and early access to JPA #26110
  • Mention special behavior of spring.config.additional-location in docs #26085
  • Provide package info for org.springframework.boot.test.autoconfigure.data.cassandra #26081
  • Document more prominently that DataJpaTest sets spring.jpa.show-sql=true by default #26024
  • Document how to provide runtime JVM arguments when building an image #25992
  • Javadoc link for non-public autoconfiguration classes does not exist #25987
  • Fix typos in docs #25947
  • Use main as the branch name in info endpoint example #25866
  • Document how to configure Maven's Failsafe plugin when not using spring-boot-starter-parent #25832
  • Update deprecation warnings with for removal targets #25825

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.88 #26006
  • Upgrade to Dropwizard Metrics 4.1.19 #26007
  • Upgrade to Glassfish JAXB 2.3.4 #26100
  • Upgrade to Hibernate 5.4.30.Final #26008
  • Upgrade to HSQLDB 2.5.2 #26101
  • Upgrade to Jakarta Mail 1.6.7 #26009
  • Upgrade to Jaybird 3.0.11 #26010
  • Upgrade to Jetty 9.4.39.v20210325 #26012
  • Upgrade to Jetty Reactive HTTPClient 1.1.7 #26011
  • Upgrade to Kotlin 1.4.32 #26013
  • Upgrade to Lettuce 6.0.4.RELEASE #26102
  • Upgrade to Lombok 1.18.20 #26014
  • Upgrade to Micrometer 1.6.6 #26103
  • Upgrade to MIMEPull 1.9.14 #26015
  • Upgrade to Netty 4.1.63.Final #26016
  • Upgrade to Netty tcNative 2.0.38.Final #26017
  • Upgrade to Reactor 2020.0.6 #25908
  • Upgrade to SAAJ Impl 1.5.3 #26104
  • Upgrade to Spring Data 2020.0.8 #25910
  • Upgrade to Spring Framework 5.3.6 #25909
  • Upgrade to Spring Integration 5.4.6 #26113
  • Upgrade to Spring Security 5.4.6 #25911
  • Upgrade to Spring Session 2020.0.4 #25912
  • Upgrade to Sun Mail 1.6.7 #26018
  • Upgrade to Tomcat 9.0.45 #26019
  • Upgrade to Undertow 2.2.7.Final #26020

❤️ Contributors

We'd like to thank all the contributors who worked on this release!

v2.3.10.RELEASE

15 Apr 10:33
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Gradle bootBuildImage does not preserve file permissions for resources #25915
  • Keystore.load calls do not close InputStream #25884
  • Unlike Micrometer's PushMeterRegistry, PrometheusPushGatewayManager stops publishing when an UnknownHostException is caught #25804
  • When running with a context hierarchy, PrimaryDefaultValidatorPostProcessor causes a NoSuchBeanDefinitionException when a Validator is in an ancestor context #25800
  • java.util.concurrent.RejectedExecutionException is logged when shutting down Spring Boot app with Cassandra #25796
  • DefaultErrorWebExceptionHandler does not remove MetaType.ALL when a quality values is present #25778
  • Unpacked jars are not deleted when the JVM exits #25773
  • TldPatterns are not aligned with Tomcat #25764
  • URI tag of http.client.requests metric ignores REST template's root URI #25744
  • Actuator's rest template metrics customization prevents RootUriRequestExpectationManager.forRestTemplate from identifying that the template has had a root URI configured #25741
  • spring-boot:build-image hangs when classifier is specified in configuration #25736
  • An EnvironmentAware FailureAnalyzer may be configured with the wrong Environment #25691
  • AbstractWebMvcEndpointHandlerMapping does not chain InvalidEndpointRequestExceptions #25642
  • When multiple schema or data script locations are configured and no resources can be found at a location, you can't tell which location is faulty #25620
  • spring-boot:build-image hangs if finalName is specified in Spring Boot plugin configuration #25590
  • EmbeddedDatabaseConnection#h2 should not specify a host name #25560
  • RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25551
  • Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25507
  • Layertools may extract entries outside of the destination path #25505
  • Default fork value for spring-boot:stop is not consistent #25472
  • CloudPlatform.isActive can return true when spring.main.cloud-platform is set to NONE #25455
  • @ConfigurationProperties class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25356
  • Application fails to start when using Actuator and Jersey configured as a Filter #25262
  • javax.persistence.schema-generation.database.action is ignored when checking if default DDL auto setting should be applied #25129
  • Elasticsearch auto-configuration does not configure default converters #25087

📔 Documentation

  • Javadoc link for non-public autoconfiguration classes does not exist #25948
  • Use main as the branch name in info endpoint example #25865
  • Document more prominently that DataJpaTest sets spring.jpa.show-sql=true by default #25843
  • Update deprecation warnings with for removal targets #25808
  • Description of management.metrics.export.influx.db is wrong #25723
  • Document how to configure Maven's Failsafe plugin when not using spring-boot-starter-parent #25621
  • Fix typos in README #25597
  • Highlight link to Actuator API docs in the reference docs #25486
  • Correct javadoc for ON_PARAM to accurately describe its behavior #25480
  • Fix wording error in build-info goal description #25382
  • Improve documentation of Mockito test execution listeners #25375
  • Polish HTTP client metrics documentation wording #25353
  • Document limitations of using deferred JPA bootstrap and early access to JPA #24027
  • Document how to provide runtime JVM arguments when building an image #21478

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.88 #25953
  • Upgrade to Byte Buddy 1.10.22 #25954
  • Upgrade to Dropwizard Metrics 4.1.19 #25955
  • Upgrade to Flatten Maven Plugin 1.2.7 #26094
  • Upgrade to Glassfish JAXB 2.3.4 #26095
  • Upgrade to Hibernate 5.4.30.Final #25956
  • Upgrade to HSQLDB 2.5.2 #26096
  • Upgrade to Jakarta Mail 1.6.7 #25957
  • Upgrade to Jaybird 3.0.11 #25958
  • Upgrade to Jetty 9.4.39.v20210325 #25960
  • Upgrade to Jetty Reactive HTTPClient 1.1.7 #25959
  • Upgrade to Lettuce 5.3.7.RELEASE #26097
  • Upgrade to Lombok 1.18.20 #25961
  • Upgrade to Maven Invoker Plugin 3.2.2 #25962
  • Upgrade to Micrometer 1.5.13 #26098
  • Upgrade to MIMEPull 1.9.14 #25964
  • Upgrade to MongoDB 4.0.6 #25965
  • Upgrade to Neo4j OGM 3.2.21 #25966
  • Upgrade to Netty 4.1.63.Final #25967
  • Upgrade to Netty tcNative 2.0.38.Final #25968
  • Upgrade to OAuth2 OIDC SDK 7.1.3 #25969
  • Upgrade to Postgresql 42.2.19 #25970
  • Upgrade to R2DBC Bom Arabba-SR9 #25971
  • Upgrade to Reactor Dysprosium-SR19 #25902
  • Upgrade to RSocket 1.0.4 #25972
  • Upgrade to SAAJ Impl 1.5.3 #26099
  • Upgrade to Spring AMQP 2.2.16.RELEASE #25973
  • Upgrade to Spring Batch 4.2.6.RELEASE #25974
  • Upgrade to Spring Data Neumann-SR9 #25905
  • Upgrade to Spring Framework 5.2.14 #25903
  • Upgrade to Spring HATEOAS 1.1.5 #25904
  • Upgrade to Spring Integration 5.3.7 #26112
  • Upgrade to Spring Kafka 2.5.12.RELEASE #25975
  • Upgrade to Spring Security 5.3.9 #25906
  • Upgrade to Spring Session Dragonfruit-SR3 #25907
  • Upgrade to Sun Mail 1.6.7 #25976
  • Upgrade to Tomcat 9.0.45 #25977
  • Upgrade to Undertow 2.1.7.Final [#25978](https://github.com/spring-projects/spring-boot/issues...
Read more

v2.5.0-M3

19 Mar 07:07
Compare
Choose a tag to compare
v2.5.0-M3 Pre-release
Pre-release

⭐ New Features

  • Allow actuator endpoints to inject an enum indicating what to produce #25738
  • Support sending metrics to InfluxDB v2 #25721
  • Support Maven's reproducible build feature for war repackaging #25571
  • Support OpenMetrics text format in Prometheus Actuator endpoint #25564
  • Replace spring.datasource.initialization-order with a JPA-specific property #25559
  • Move R2DBC ConnectionFactoryBuilder and associated classes into spring-boot #25492
  • Deprecate support for checking Flyway locations #25488
  • Provide configuration properties for Flyway's Vault and Conjur support #25456
  • Allow PersistenceUnitPostProcessor to be configured on EntityManagerFactoryBuilder #25443
  • Sanitize the value of url and urls keys in the same way that the values of uri and uris keys are sanitized #25387
  • Support defining additional keys to sanitize for actuator endpoints #25384
  • Add InfluxDB customizer hook point #25319
  • Allow JMX endpoint ObjectNames to be customized by providing an EndpointObjectNameFactory bean #25317
  • Deprecate our Gradle plugin's integration with Gradle's maven plugin #25267
  • Register logging system's shutdown hook by default #25046
  • Allow configuring Cassandra configuration file #24065
  • Support building an image when using war packaging with Gradle #23825
  • Support building an image when using war packaging with Maven #23823
  • Leave jar and war tasks enabled by default and differentiate their output locations from those of bootJar and bootWar by configuring them with a classifier #23797
  • Add bindings option for image building #23518
  • Consider a generic way of indicating database setup #17619
  • Add prefix support for environment variables #3450

🪲 Bug Fixes

  • JooqExceptionTranslator passes null exception to jOOQ when SQLException cannot be translated #25718
  • When multiple schema or data script locations are configured and no resources can be found at a location, you can't tell which location is faulty #25693
  • When creating an initialization-specific DataSource, Flyway, Liquibase and our script-based auto-configuration all incorrectly assume that the primary DataSource will always have been derived from DataSourceProperties #25643
  • @ConfigurationProperties class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25615
  • Including spring-boot-devtools causes package-private getter on proxied class to return null #25585
  • Start up failure when creating an Aspect targeted at ServerHttpSecurity with devtools on the classpath. #25584
  • EmbeddedDatabaseConnection#h2 should not specify a host name #25570
  • RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25556
  • Bootstrapper's intitialize method should be named initialize #25517
  • Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25516
  • Layertools may extract entries outside of the destination path #25509
  • SpringApplication can replace existing default property source #25495
  • In Spring Boot 2.4 @EntityScan does not support property substitution #25491
  • Default fork value for spring-boot:stop is not consistent #25484
  • Application fails to start when using Actuator and Jersey configured as a Filter #25450
  • Image is not built when a buildpack is used #25378
  • The auto-configured WebFluxConfigurer is unordered so it may override customizations made in a user's WebFluxConfigurer #25302

📔 Documentation

  • Description of management.metrics.export.influx.db is wrong #25725
  • Document Java 16 support #25645
  • Document DataSource implementations supported by DataSourceBuilder #25644
  • Correct javadoc for ON_PARAM to accurately describe its behavior #25604
  • Fix typos in README #25601
  • Improve documentation of Mockito test execution listeners #25514
  • Highlight link to Actuator API docs in the reference docs #25511
  • Warn that multi-document property files cannot be loaded by using @PropertySource or @TestPropertySource #25502
  • Document how to import a Docker secret as a configtree #25500
  • Add note concerning application yml and properties file precedence #25464
  • Fix property name in gradle plugin documentation #25463
  • Fix grammatical error in documentation #25432
  • Fix wording error in build-info goal description #25386
  • Polish HTTP client metrics documentation wording #25372
  • Polish README #24981

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.87 #25654
  • Upgrade to Byte Buddy 1.10.22 #25655
  • Upgrade to Commons Lang3 3.12.0 #25656
  • Upgrade to Couchbase Client 3.1.3 #25657
  • Upgrade to Dropwizard Metrics 4.1.18 #25658
  • Upgrade to Ehcache3 3.9.2 #25659
  • Upgrade to Flyway 7.7.0 #25660
  • Upgrade to Hazelcast 4.1.2 #25661
  • Upgrade to Hibernate 5.4.29.Final #25662
  • Upgrade to HikariCP 4.0.3 #25663
  • Upgrade to Infinispan 12.0.2.Final #25664
  • Upgrade to Jackson Bom 2.12.2 #25665
  • Upgrade to Jakarta Mail 1.6.6 #25666
  • Upgrade to Jedis 3.5.2 #25667
  • Upgrade to Jetty 9.4.38.v20210224 #25462
  • Upgrade to Jetty Reactive HTTPClient 1.1.6 #25668
  • Upgrade to jOOQ 3.14.8 #25669
  • Upgrade to Kotlin 1.4.31 #25670
  • Upgrade to Kotlin Coroutines 1.4.3 #25671
  • Upgrade to Lettuce 6.1.0.RC1 #25722
  • Upgrade to Log4j2 2.14.1 [#25672](https://github.com/...
Read more