Skip to content

Releases: spring-projects/spring-boot

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

v2.4.4

18 Mar 09:32
Compare
Choose a tag to compare

🪲 Bug Fixes

  • JooqExceptionTranslator passes null exception to jOOQ when SQLException cannot be translated #25717
  • 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 #25692
  • @ConfigurationProperties class's default values are not visible in the Errors instance passed to Validator.validate(Object target, Errors errors) #25614
  • EmbeddedDatabaseConnection#h2 should not specify a host name #25569
  • RSocket's EmbeddedServerAutoConfiguration does not back off if spring-web is absent #25555
  • Incorrect ConfigurationMetadataRepository when loaded from json files containing properties of the same group #25515
  • Layertools may extract entries outside of the destination path #25508
  • Default fork value for spring-boot:stop is not consistent #25483
  • Application fails to start when using Actuator and Jersey configured as a Filter #25449
  • In Spring Boot 2.4 @EntityScan does not support property substitution #25436
  • SpringApplication can replace existing default property source #25408
  • Bootstrapper's intitialize method should be named initialize #25400
  • Including spring-boot-devtools causes package-private getter on proxied class to return null #25367
  • Start up failure when creating an Aspect targeted at ServerHttpSecurity with devtools on the classpath. #19010

📔 Documentation

  • Description of management.metrics.export.influx.db is wrong #25724
  • Correct javadoc for ON_PARAM to accurately describe its behavior #25603
  • Fix typos in README #25600
  • Document Java 16 support #25527
  • Improve documentation of Mockito test execution listeners #25513
  • Highlight link to Actuator API docs in the reference docs #25510
  • Fix property name in gradle plugin documentation #25454
  • Fix grammatical error in documentation #25411
  • Fix wording error in build-info goal description #25385
  • Polish HTTP client metrics documentation wording #25371
  • Document DataSource implementations supported by DataSourceBuilder #25333
  • Add note concerning application yml and properties file precedence #25300
  • Document how to import a Docker secret as a configtree #25095
  • Warn that multi-document property files cannot be loaded by using @PropertySource or @TestPropertySource #24945

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.87 #25623
  • Upgrade to Byte Buddy 1.10.22 #25624
  • Upgrade to Dropwizard Metrics 4.1.18 #25625
  • Upgrade to Ehcache3 3.9.2 #25626
  • Upgrade to Hibernate 5.4.29.Final #25627
  • Upgrade to Infinispan 11.0.10.Final #25628
  • Upgrade to Jakarta Mail 1.6.6 #25629
  • Upgrade to Jetty 9.4.38.v20210224 #25461
  • Upgrade to Jetty Reactive HTTPClient 1.1.6 #25630
  • Upgrade to jOOQ 3.14.8 #25631
  • Upgrade to Kotlin 1.4.31 #25632
  • Upgrade to Kotlin Coroutines 1.4.3 #25719
  • Upgrade to Lettuce 6.0.3.RELEASE #25720
  • Upgrade to Maven Invoker Plugin 3.2.2 #25633
  • Upgrade to Micrometer 1.6.5 #25543
  • Upgrade to MongoDB 4.1.2 #25634
  • Upgrade to Netty 4.1.60.Final #25635
  • Upgrade to OAuth2 OIDC SDK 8.36.1 #25636
  • Upgrade to Postgresql 42.2.19 #25637
  • Upgrade to R2DBC Bom Arabba-SR9 #25638
  • Upgrade to Reactor 2020.0.5 #25539
  • Upgrade to Spring AMQP 2.3.6 #25647
  • Upgrade to Spring Batch 4.3.2 #25579
  • Upgrade to Spring Data 2020.0.6 #25547
  • Upgrade to Spring Framework 5.3.5 #25541
  • Upgrade to Spring HATEOAS 1.2.5 #25545
  • Upgrade to Spring Integration 5.4.5 #25646
  • Upgrade to Spring Kafka 2.6.7 #25578
  • Upgrade to Sun Mail 1.6.6 #25639
  • Upgrade to Tomcat 9.0.44 #25640
  • Upgrade to Undertow 2.2.5.Final #25641

❤️ Contributors

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

v2.5.0-M2

19 Feb 02:05
Compare
Choose a tag to compare
v2.5.0-M2 Pre-release
Pre-release

⭐ New Features

  • Group JDBC-related batch properties beneath spring.batch.jdbc #25316
  • Auto-configure javax.jms.ExceptionListener #25278
  • Align default values for Cassandra's throttling properties #25149
  • Make Scheduler consistent for Spring Integration #25109
  • Use SimpleDriverDataSource when creating a Liquibase-specific DataSource #24944
  • Support Jetty 10.0.x #24886
  • Allow the configprops endpoint to return properties with a particular prefix #24718
  • Remove message attribute instead of blanking it when Include.MESSAGE is not set #24712
  • Provide a property to disable the /actuator discovery page #24693
  • Add support for creating layered war files with Maven #22821
  • Add support for creating layered war files with Gradle #22195
  • Add buildpack option for image building #21722

🪲 Bug Fixes

  • DataSourceBuilder no longer invokes setUser on org.postgresql.ds.PGSimpleDataSource #25364
  • Remote application from devtools does not work with security filter in WebSecurityConfigurerAdapter #25351
  • No error message when using spring.profiles.include in a profile-specific config file if it's written as a YAML list #25348
  • BeanCreationException thrown creating 'neo4jMappingContext' with Spring Boot 2.4.2 when combined with MongoDB #25347
  • DataSourceBuilder no longer invokes setUser on org.h2.jdbcx.JdbcDataSource #25342
  • DatabaseDriver does not detect Amazon Redshift correctly #25313
  • Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25311
  • Dependency management for Hibernate's new hibernate-micrometer module is missing #25306
  • Asynchronous deserialization performed by Hazelcast may fail due to the wrong ClassLoader being used #25296
  • Since 2.4.2, the Logback charset defaults to UTF-8 rather than the OS's default #25259
  • Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25186
  • Illegal reflective access by org.springframework.cglib.core.ReflectUtils #25184
  • A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #25175
  • Fix MariaDB driver product name #25173
  • Gradle plugin does not include transitive project dependencies into application layer #25168
  • initQueryTimeout and ildeTimeout defaults are not aligned with Cassandra defaults #25164
  • TestRestTemplate exchange triggers UnsupportedOperationException in RequestEntity #25106
  • WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #25073
  • Collection conversion doesn't work for configtree properties #25060
  • ConfigData with Option.IGNORE_IMPORTS can cause NPE #25031
  • spring.config.activate.on-profile cannot be used in profile specific file #25030
  • ConfigDataLoaders cannot have a DeferredLogFactory injected preventing their subcomponents from logging accurately #24996
  • spring-boot-dependencies still contains dependency management for spring-boot-starter-data-solr #24977
  • DataSource initialization does not see the result of wrapping or proxying a DataSource via a BeanPostProcessor #23736
  • Unexpected constructor-based initialization of @ConfigurationProperties leads to inconsistent behavior #16038
  • Circular reference in JPA, DataSource, initializers #13042

📔 Documentation

  • Remove YAML shortcomings section as it no longer applies #25346
  • Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25308
  • Document Kafka Streams metrics support #25298
  • Default values of integer properties in the application properties appendix are rendered as decimals #25177
  • Clarify usage of BufferingApplicationStartup #25136
  • Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #25067
  • Clarify when retaining . characters in property keys requires bracket notation to be used #25065
  • Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #25062
  • Document logging.register-shutdown-hook and why you may want to enable it #25045
  • bootRun project property command line example is incomplete #25043
  • Document the need to use the launcher to be able to use application.* properties in a custom banner #25041
  • Add some guidance to the reference documentation about diagnosing unexpected property values #25039
  • Add reference to Ogham Spring Boot starters #24964

🔨 Dependency Upgrades

  • Upgrade to Spring Data 2021.0.0-M4 #25004
  • Upgrade to AppEngine SDK 1.9.86 #25228
  • Upgrade to Artemis 2.17.0 #25324
  • Upgrade to AssertJ 3.19.0 #25229
  • Upgrade to Byte Buddy 1.10.20 #25230
  • Upgrade to Caffeine 2.9.0 #25325
  • Upgrade to Couchbase Client 3.1.2 #25231
  • Upgrade to Elasticsearch 7.11.1 #25359
  • Upgrade to Flyway 7.5.3 #25232
  • Upgrade to FreeMarker 2.3.31 #25326
  • Upgrade to Hibernate 5.4.28.Final #25233
  • Upgrade to HikariCP 4.0.1 #25234
  • Upgrade to HikariCP 4.0.2 #25327
  • Upgrade to HtmlUnit 2.47.1 #25235
  • Upgrade to Infinispan 12.0.1.Final #25328
  • Upgrade to Janino 3.1.3 #25237
  • Upgrade to Jedis 3.5.1 #25238
  • Upgrade to Johnzon 1.2.10 #25239
  • Upgrade to jOOQ 3.14.7 #25240
  • Upgrade to JUnit 4.13.2 #25329
  • Upgrade to JUnit Jupiter 5.7.1 #25241
  • Upgrade to Kotlin 1.4.30 #25242
  • Upgrade to Lettuce 6.1.0.M1 #25360
  • Upgrade to ...
Read more

v2.4.3

18 Feb 15:10
Compare
Choose a tag to compare

🗒️ Noteworthy Changes

Nimbus JOSE JWT

In versions 5.4.4 and earlier, Spring Security 5.4.x depended on versions of oauth2-oidc-sdk and nimbus-jose-jwt that were not compatible with each other. This was corrected in Spring Security 5.4.5 by downgrading from nimbus-jose-jwt 9.x to 8.x. A similar change has been made to Spring Boot's dependency management in this release. If you were relying on nimbus-jose-jwt 9.x, you can restore the 9.x version using the nimbus-jose-jwt.version property.

🪲 Bug Fixes

  • DataSourceBuilder no longer invokes setUser on org.postgresql.ds.PGSimpleDataSource #25363
  • DatabaseDriver does not detect Amazon Redshift correctly #25312
  • Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25310
  • No error message when using spring.profiles.include in a profile-specific config file if it's written as a YAML list #25309
  • Dependency management for Hibernate's new hibernate-micrometer module is missing #25305
  • DataSourceBuilder no longer invokes setUser on org.h2.jdbcx.JdbcDataSource #25263
  • Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25185
  • A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #25174
  • Gradle plugin does not include transitive project dependencies into application layer #25163
  • initQueryTimeout and ildeTimeout defaults are not aligned with Cassandra defaults #25150
  • Remote application from devtools does not work with security filter in WebSecurityConfigurerAdapter #25147
  • TestRestTemplate exchange triggers UnsupportedOperationException when using a UriTemplateRequestEntity #25097
  • WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #25072
  • Managed versions of oauth2-oidc-sdk and nimbus-jose-jwt are incompatible #25070
  • BeanCreationException thrown creating 'neo4jMappingContext' with Spring Boot 2.4.2 when combined with MongoDB #25069
  • Collection conversion doesn't work for configtree properties #25057
  • ConfigData with Option.IGNORE_IMPORTS can cause NPE #25029
  • spring.config.activate.on-profile cannot be used in profile specific file #24990
  • ConfigDataLoaders cannot have a DeferredLogFactory injected preventing their subcomponents from logging accurately #24988
  • Spring Data Solr support is not flagged as deprecated #24943
  • Since 2.4.2, the Logback charset defaults to UTF-8 rather than the OS's default #24894
  • InvalidConfigDataPropertyException thrown when server processed ConfigData contains profiles #24890
  • When spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser, the error handling of a management server listening on a separate port is broken #24877
  • mappings endpoint fails due to an NPE when spring.mvc.pathmatch.matching-strategy is set to path-pattern-parser #24874
  • Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24872
  • Auto-configured DataSourceTransactionManager uses spring.dao.exceptiontranslation.enable rather than spring.dao.exceptiontranslation.enabled to control exception translation #24867
  • Illegal reflective access by org.springframework.cglib.core.ReflectUtils #24857
  • Configuration metadata for logging.charset.* has invalid reference for java.nio.charset.Charset #24851
  • Asynchronous deserialization performed by Hazelcast may fail due to the wrong ClassLoader being used #24836

📔 Documentation

  • Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25307
  • Document Kafka Streams metrics support #25297
  • Default values of integer properties in the application properties appendix are rendered as decimals #25176
  • Clarify usage of BufferingApplicationStartup #25075
  • Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #25066
  • Clarify when retaining . characters in property keys requires bracket notation to be used #25064
  • Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #25061
  • Document logging.register-shutdown-hook and why you may want to enable it #25044
  • bootRun project property command line example is incomplete #25042
  • Document the need to use the launcher to be able to use application.* properties in a custom banner #25040
  • Add some guidance to the reference documentation about diagnosing unexpected property values #25038
  • WebMvcProperties.MatchingStrategy should be documented as being since 2.4.0 #24875
  • CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24869
  • Add version to reference docs index #24854
  • Remove YAML shortcomings section as it no longer applies #24620

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.16.1 #25205
  • Upgrade to AppEngine SDK 1.9.86 #25206
  • Upgrade to Byte Buddy 1.10.20 #25207
  • Upgrade to FreeMarker 2.3.31 #25338
  • Upgrade to Hibernate 5.4.28.Final #25208
  • Upgrade to Infinispan 11.0.9.Final #25209
  • Upgrade to Janino 3.1.3 #25210
  • Upgrade to Jaybird 3.0.10 #25211
  • Upgrade to Jetty 9.4.36.v20210114 #25212
  • Upgrade to Johnzon 1.2.10 #25213
  • Upgrade to jOOQ 3.14.7 #25214
  • Upgrade to JUnit 4.13.2 #25339
  • Upgrade to JUnit Jupiter 5.7.1 #25215
  • Upgrade to Kotlin 1.4.30 #25216
  • Upgrade to Lombok 1.18.18 #25217
  • Upgrade to MariaDB 2.7.2 #25218
  • Upgrade to Micrometer 1.6.4 #25291
  • Upgrade to MySQL 8.0.23 #25219
  • Upgrade to Netty 4.1.59.Final #25220
  • Upgrade to Reactor 2020.0.4 #25286
  • Upgrade to RxJava2 2.2.21 #25340
  • Upgrade to Spring AMQP 2.3.5 #25290
  • Upgrade to Spring Data 2020.0.5 [#25002](https://github.com/spring-proj...
Read more

v2.3.9.RELEASE

18 Feb 10:51
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Migrations performed by Flyway or Liquibase may not have completed before the database is accessed via jOOQ #25279
  • Dependency management for Hibernate's new hibernate-micrometer module is missing #25277
  • DatabaseDriver does not detect Amazon Redshift correctly #25265
  • Missing RabbitMQ metrics if bean is defined as a ConnectionFactory #25138
  • A ContextRefreshedEvent from a child context may result in deadlock when using JPA deferred repositories #24966
  • Spring Data Solr support is not flagged as deprecated #24942
  • Failures when recording metrics in MetricsClientHttpRequestInterceptor may interfere with RestTemplate's main behaviour #24753
  • WebMvcTest and WebFluxTest ignore user-provided Thymeleaf IDialect beans #24149

📔 Documentation

  • Update the Gradle plugin documentation to recommend the maven-publish plugin over the maven plugin #25299
  • Document Kafka Streams metrics support #25272
  • Default values of integer properties in the application properties appendix are rendered as decimals #25172
  • bootRun project property command line example is incomplete #25012
  • Document the need to use the launcher to be able to use application.* properties in a custom banner #24982
  • CONTRIBUTING.adoc contains broken link to spring-javaformat-intellij-idea-plugin #24864
  • Since 2.3.8 and 2.4.2, the documented index format does not match the implementation #24856
  • Add version to reference docs index #24848
  • Document logging.register-shutdown-hook and why you may want to enable it #24507
  • Add some guidance to the reference documentation about diagnosing unexpected property values #24336
  • Clarify when retaining . characters in property keys requires bracket notation to be used #23390
  • Highlight that Duration and Period conversion is provided by the ApplicationConversionService and, by default, is not available for web conversion #22718

🔨 Dependency Upgrades

  • Upgrade to AppEngine SDK 1.9.86 #25189
  • Upgrade to Byte Buddy 1.10.20 #25190
  • Upgrade to FreeMarker 2.3.31 #25334
  • Upgrade to Hazelcast 3.12.12 #25191
  • Upgrade to Hibernate 5.4.28.Final #25192
  • Upgrade to Janino 3.1.3 #25193
  • Upgrade to Jaybird 3.0.10 #25194
  • Upgrade to Jetty 9.4.36.v20210114 #25195
  • Upgrade to Johnzon 1.2.10 #25196
  • Upgrade to JUnit 4.13.2 #25335
  • Upgrade to Lombok 1.18.18 #25197
  • Upgrade to Micrometer 1.5.11 #25285
  • Upgrade to MySQL 8.0.23 #25198
  • Upgrade to Neo4j OGM 3.2.20 #25199
  • Upgrade to Netty 4.1.59.Final #25200
  • Upgrade to Reactor Dysprosium-SR17 #25280
  • Upgrade to RxJava2 2.2.21 #25336
  • Upgrade to Spring AMQP 2.2.15.RELEASE #25284
  • Upgrade to Spring Data Neumann-SR7 #25282
  • Upgrade to Spring Framework 5.2.13 #25281
  • Upgrade to Spring HATEOAS 1.1.4.RELEASE #25337
  • Upgrade to Spring Integration 5.3.6.RELEASE #25283
  • Upgrade to Spring Security 5.3.8.RELEASE #25201
  • Upgrade to Spring Session Bom Dragonfruit-SR2 #25202
  • Upgrade to Tomcat 9.0.43 #25203
  • Upgrade to Undertow 2.1.6.Final #25204

❤️ Contributors

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