Skip to content

Releases: spring-projects/spring-boot

v2.4.0-M4

15 Oct 22:11
Compare
Choose a tag to compare
v2.4.0-M4 Pre-release
Pre-release

⭐ New Features

  • Improve ConfigData processing code #23711
  • Apply FailureAnalyzers even if the ApplicationContext was not created #23710
  • Set platform API version when invoking image builder #23682
  • Align name of UndertowServletWebServerFactory's eagerInitFilters with Undertow's naming #23674
  • Add KafkaStream's CleanupConfig properties #23636
  • Add a FailureAnalyzer for ConfigDataNotFoundException #23633
  • Update default builder image for image builds with buildpacks #23628
  • Override Undertow's defaults so that the request URL of a forwarded request is spec-compliant and make it configurable via an application property #23619
  • Use a Property named mainClass to configure the main class name in the Gradle plugin #23608
  • Remove org.synchronoss.cloud:nio-multipart-parser from spring-boot-starter-webflux in favour of WebFlux's own parser #23601
  • Address inconsistencies in enabling configuration properties #23593
  • Add configuration properties for Flyway 7.0's new configuration options #23579
  • Use JdbcTransactionManager in favor of DatasourceTransactionManager #23572
  • Deprecate HSQL in EmbeddedDatabaseConnection and add HSQLDB as its preferred replacement #23565
  • Add configuration option to configure RabbitConnectionFactory's channelRpcTimeout #23564
  • Avoid resolving configurations unnecessarily when building a layered jar #23528
  • Add BootstrapContext methods that deal with missing registrations #23438
  • Configure the bootBuildInfo task lazily #23435
  • When building with Gradle, include project dependencies in the application layer by default and make it easer to customise their location #23431
  • Allow users to define their own LocaleContextResolver bean when using WebFlux #23419
  • Add support for Oracle UCP #23403
  • Configure Docker host in build plugins #23400
  • Allow to create a custom RestTemplateBuilder whilst retaining default auto-configuration #23389
  • Don't apply MeterFilter to auto-configured composite registry #23381
  • Add configuration option to customize RSocketServer's fragment size #23247
  • Improve CassandraHealthIndicator with more robust mechanism #23041
  • Allow binding to collections when a boolean 'is' method also exists #23007
  • Stop registering the default servlet by default #22915
  • Add support for Redis 6 authentication with username #22702
  • Expose cache metrics for RedisCache #22701
  • Configure ApplicationContext's ResourceLoader on RabbitConnectionFactory #22332
  • Add origin support for empty YAML list and map #21704
  • Add support for publishing docker images to a registry #21001
  • Add support for Hazelcast 4 #20856

🪲 Bug Fixes

  • Setting server.undertow.eager-filter-init has no effect #23677
  • @ConfigurationPropertiesBinding does not apply Formatter beans #23615
  • spring-boot-configuration-processor prevents builds from being incremental when source retention annotations are present #23580
  • H2 Console error with AbstractRoutingDataSource #23570
  • When using embedded Jetty, an error response to a HEAD request has a body #23557
  • Custom layer definition does not pick up snapshots #23541
  • Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #23535
  • Dependency management for Netty tcNative does not include its netty-tcnative module #23509
  • PropertiesLauncher requires spring-core on the classpath #23501
  • Log4j's tag library doesn't work out of the box as log4j-*.jar is skipped by default #23482
  • DataSourceBuilder should only alias a property when the expected DataSource is configured #23480
  • Unexpected application context cache hit when testing with SpringBootTest webEnvironment MOCK and DEFINED_PORT #23478
  • Log4j2 configuration is not picking up some properties #23430
  • Flyway configuration ignores init-sqls when using spring.datasource.* properties #23409
  • Kubernetes configmap hidden files are exposed as property sources #23232

📔 Documentation

  • Fix XML tag in image publishing example #23632
  • Document that @DataNeo4jTest does not support transactional tests with a reactive setup #23630
  • Document that a reactive transaction manager is not auto-configured with Spring Data Neo4j #23629
  • Document how JAVA_OPTS can be used with the buildpack #23626
  • Add example of default Cloud Native Buildpacks Builder #23623
  • Add upgrading section to reference docs with a link to the wiki #23612
  • Add example of setting system property in gradle bootRun #23599
  • Fix typos in reference documentation and contributing guidelines #23573
  • Update configuration metadata appendix to remove description for Gradle 4.5 and earlier as it is no longer supported #23568
  • Provide both properties and YAML for each configuration properties example #23515
  • Add reference to desensitization spring boot starter #23507
  • Fix typos #23465
  • Fix link to Log4j's JDK Logging Adapter in reference documentation #23462
  • Fix typo #23456
  • Revisit hint on using classpath* for retrieving templates #23453
  • Note the Kt class name suffix when describing how to configure a Kotlin application's main class name #23423
  • Add anchor links to section headers in Gradle and Maven plugin reference docs #23407

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.10.17 #23639
  • Upgrade to Caffeine 2.8.6 #23640
  • Upgrade to Commons DBCP2 2.8.0 #23641
  • Upgrade to Couchbase Client 3.0.9 #23642
  • Upgrade to Dropwizard Metrics 4.1.13 #23643
  • Upgrade to Elasticsearch 7.9.2...
Read more

v2.4.0-M3

17 Sep 21:17
Compare
Choose a tag to compare
v2.4.0-M3 Pre-release
Pre-release

⭐ New Features

  • Allow trailing whitespace on properties document split marker #23399
  • Add startup Actuator endpoint #23213
  • Support constructor binding on 3rd party classes #23172
  • Add mainApplicationClass information as a tag to "starting" StartupStep #23162
  • Allow EntityScanner to be extended to provide a custom ClassPathScanningCandidateComponentProvider #23154
  • Allow redis's connect and read/command timeouts to be configured separately #23137
  • Allow default binder to work with multiple constructors #23117
  • Avoid unnecessary reflection in TaskExecutorBuilder #23107
  • Add global optional config data opt-out #23097
  • Provide a property for configuring Spring AMQP's address shuffle mode #23091
  • Generate a default value in the metadata for configuration properties initialised with Period.ZERO and Duration.ZERO #23082
  • Fix some typos in tests #23050
  • Provide a configuration property for Kafka listener container's idleBetweenPolls #23048
  • Configure SAML 2.0 Service Provider via Metadata #23045
  • Fail if import locations are not found #23032
  • Provide a simple Instantiator utility class #23029
  • Allow placeholders to be used in config import locations #23020
  • Improve origin of imported config #23018
  • Rename CompositeMeterRegistryAutoConfiguration #22988
  • Auto-configure ConcurrentKafkaListenerContainerFactory with a user-provided RecordFilterStrategy bean if available #22973
  • Support authentication from Docker daemon to private docker registry. #22972
  • Add a registry to support long lived instances during environment processing #22956
  • Rename neo4j.version to neo4j-java-driver.version #22952
  • Restore support for spring.profiles.include for non profile specific documents #22944
  • Mark bootArchives as nonresolvable configuration in Gradle plugin to better convey its purpose #22943
  • Make GridFsTemplate's bucket configurable #22854
  • Align WebClient uri metric tag with RestTemplate's #22832
  • Disable default security configuration when SecurityFilterChain bean is present #22739
  • Provide a buffering implementation for application startup metrics #22603
  • Remove Elasticsearch RestClient auto-configuration #22358
  • Support loading external configuration from files with no file extension #22280
  • Exclude empty starters jars and annotation processors when running or packaging with Maven and Gradle #22036
  • Make Devtools file detection more resilient across application restarts #19543
  • Add SSL support to RSocketServer #19399

🪲 Bug Fixes

  • spring-boot-dependencies should not define a spring-boot.version property #23378
  • @ManagementContextConfiguration is meta-annotated with @configuration(proxyBeanMethods=false) which does not disable proxying #23306
  • Signed jar dependency performance problem when repackaged in a single jar #23265
  • ValidationHandler no longer works with certain map keys #23261
  • MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23259
  • Missing sanitization in lists of URIs properties on actuator endpoints #23253
  • Cassandra's pool duration mapping uses a wrong duration unit #23251
  • PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23241
  • ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23205
  • When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23204
  • Large files can throw YAMLException due to node limits #23153
  • Configurable SSL Logback extensions can't be supported due to URL checks #23136
  • Image building support does not zero-pad digest hashes to 64 characters #23134
  • Image builder fails silently when there's an error loading the ephemeral image #23133
  • RSocketPortInfoApplicationContextInitializer can throw NPE #23089
  • Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #23072
  • UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23064
  • Freemarker is configured to prefer filesystem access by default #23051
  • Too much logging when building an OCI image with Maven #23015
  • LayoutFactory can be presented with empty source file #23001
  • Extracting layers with layertools doesn't work with executable JAR files #23000
  • JarFile can cause memory issues when running on Java 11+ #22999
  • Metrics auto-configurations are not ordered correctly #22990
  • Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22984
  • The @TypeExcludeFilters annotation is not @inherited #22967
  • Update transaction auto-configuration to backoff if a TransactionManager is defined #22851
  • MongoClientFactorySupport overrides existing uuidRepresentation with MongoProperties default value #22321

📔 Documentation

  • Document that @ConfigurationProperties beans are not scanned in sliced tests #23244
  • Document that buildpacks use non-root users for building container images and running containers #23201
  • Add reference to AOProfiling Spring Boot starter #23161
  • Document setting buildpack Java version from compiler plugin version #23148
  • Document how to perform tasks after application startup #23145
  • Fix documentation on Elasticsearch client configuration #23144
  • Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #23143
  • Document how to use spring.factories to add auto-configuration to a test slice #23142
  • Document that graceful shutdown may not work from IDEs #23140
  • Provide ex...
Read more

v2.3.4.RELEASE

17 Sep 14:45
Compare
Choose a tag to compare

🪲 Bug Fixes

  • @ManagementContextConfiguration is meta-annotated with @Configuration(proxyBeanMethods=false) which does not disable proxying #23305
  • Signed jar dependency performance problem when repackaged in a single jar #23264
  • ValidationHandler no longer works with certain map keys #23260
  • MVC error model unnecessarily requires timestamp entry to be a java.util.Date #23258
  • Missing sanitization in lists of URIs properties on actuator endpoints #23252
  • Cassandra's pool duration mapping uses a wrong duration unit #23249
  • When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23203
  • ErrorPageFilter is no longer ordered at HIGHEST_PRECEDENCE + 1 #23200
  • spring-boot-dependencies should not define a spring-boot.version property #23174
  • PropertiesLauncher fails to load PBKDF-OpenSSL of bcprov-jdk15on-1.64.jar #23165
  • Configurable SSL Logback extensions can't be supported due to URL checks #23135
  • Image building support does not zero-pad digest hashes to 64 characters #23132
  • Image builder fails silently when there's an error loading the ephemeral image #23130
  • Large files can throw YAMLException due to node limits #23096
  • RSocketPortInfoApplicationContextInitializer can throw NPE #23087
  • UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23063
  • JarFile can cause memory issues when running on Java 11+ #22998
  • Dependency convergence error for nimbus-jose-jwt when depending on spring-boot-starter-oauth2-client #22996
  • LayoutFactory can be presented with empty source file #22995
  • Metrics auto-configurations are not ordered correctly #22989
  • The @TypeExcludeFilters annotation is not @Inherited #22966
  • Exception inclusion cannot be disabled when sub-classing DefaultErrorAttributes and using its deprecated constructor #22750
  • Too much logging when building an OCI image with Maven #22674

📔 Documentation

  • Document that @ConfigurationProperties beans are not scanned in sliced tests #23243
  • Fix documentation on Elasticsearch client configuration #23074
  • Provide examples of Actuator custom endpoints in the reference documentation #23060
  • Mention correct JUnit 5 annotations in Kotlin testing section #23004
  • Document that extracting layers with layertools doesn't work with executable JAR files #22993
  • Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22964
  • Fix typo Assert4J -> AssertJ #22960
  • Document that graceful shutdown may not work from IDEs #22959
  • Fix typos in docs #22945
  • Fix Gradle Plugin custom image name example and documentation #22918
  • Document how to use spring.factories to add auto-configuration to a test slice #22531
  • Update Maven Plugin's documentation to note the importance of configuring start and stop goals with the same JMX port #22401
  • Document how to perform tasks after application startup #22100
  • Document setting buildpack Java version from compiler plugin version #21796
  • Document that buildpacks use non-root users for building container images and running containers #21122

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.5.5 #23393
  • Upgrade to Spring REST Docs 2.0.5.RELEASE #23376
  • Upgrade to Spring AMQP 2.2.11 #23373
  • Upgrade to Spring WS 3.0.10.RELEASE #23339
  • Upgrade to Spring HATEOAS 1.1.2.RELEASE #23338
  • Upgrade to Lettuce 5.3.4.RELEASE #23337
  • Upgrade to Undertow 2.1.4.Final #23318
  • Upgrade to Tomcat 9.0.38 #23317
  • Upgrade to R2DBC Bom Arabba-SR7 #23316
  • Upgrade to Postgresql 42.2.16 #23315
  • Upgrade to Netty tcNative 2.0.34.Final #23314
  • Upgrade to Netty 4.1.52.Final #23313
  • Upgrade to Neo4j OGM 3.2.16 #23312
  • Upgrade to Hibernate 5.4.21.Final #23311
  • Upgrade to Hazelcast 3.12.9 #23310
  • Upgrade to Flatten Maven Plugin 1.2.5 #23309
  • Upgrade to Couchbase Client 3.0.8 #23308
  • Upgrade to AppEngine SDK 1.9.82 #23307
  • Upgrade to Spring Kafka 2.5.6 #23199
  • Upgrade to Spring Data Neumann-SR4 #23196
  • Upgrade to Reactor Dysprosium-SR12 #23192
  • Upgrade to Spring Session Dragonfruit-SR1 #23187
  • Upgrade to Spring Framework 5.2.9 #23183

❤️ Contributors

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

v2.2.10.RELEASE

17 Sep 11:57
Compare
Choose a tag to compare

🪲 Bug Fixes

  • @ManagementContextConfiguration is meta-annotated with @Configuration(proxyBeanMethods=false) which does not disable proxying #23301
  • Signed jar dependency performance problem when repackaged in a single jar #23263
  • Allow types other than Date to be used in the "timestamp" MVC error model #23256
  • RSocketPortInfoApplicationContextInitializer can throw NPE #23084
  • UndertowWebServerFactoryCustomizer requires commons lang via an unintended import on ClassUtils #23059
  • Missing sanitization in lists of URIs properties on actuator endpoints #23037
  • When using HSQLDB, Hikari logs a warning message about the driver class name when the first connection is retrieved from the pool #23036
  • JarFile can cause memory issues when running on Java 11+ #22991
  • Configurable SSL Logback extensions can't be supported due to URL checks #22946
  • The @TypeExcludeFilters annotation is not @Inherited #22939
  • When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22777
  • LiquibaseEndpoint does not report change sets from ancestor contexts #22681
  • TaskExecutorBuilder only uses second-precision when configuring the await termination period #22604
  • Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22566
  • WebMvcTest and WebFluxTest do not include Jackson Module beans #22530
  • UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22502
  • Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22308
  • Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #21897
  • Legacy endpoint ids with '-' do not migrate cleanly #21615
  • Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #21542
  • Proper ordering of metrics auto-configurations #21134
  • ValidationHandler no longer works with certain map keys #20350
  • XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #20229
  • Async exceptions not handled by error pages in war deployments #19471

📔 Documentation

  • Document that @ConfigurationProperties beans are not scanned in sliced tests #23210
  • Provide examples of Actuator custom endpoints in the reference documentation #23028
  • Mention correct JUnit 5 annotations in Kotlin testing section #23002
  • Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22962
  • Fix typo Assert4J -> AssertJ #22948
  • PushGateway documentation does not document enabled flag properly #22919
  • Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22898
  • Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22765
  • Fix broken links to Micrometer registry docs #22705
  • Document that spring-boot-configuration-processor cannot detect default value defined externally #22685
  • Link to App Engine Standard sample not working #22607
  • Fix link to Elasticsearch health indicator #22598
  • Include a hint where to find documentation for DevTools in docs overview #22591
  • Document that constructor binding does not support @DurationUnit and @DataSizeUnit #22565
  • Docs say Health's inner details section may contain components #22490
  • Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22281
  • Document the need for configuration files to have a file extension #22278
  • Document that java.util.Optional is not recommended with ConfigurationProperties #21868
  • Document how to use MongoClientSettingsBuilderCustomizer #21696
  • Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #20920
  • Improve documentation about swapping one technical starter for another #20408
  • Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #19557
  • Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #15977

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.3.14 #23388
  • Upgrade to Spring AMQP 2.2.11 #23372
  • Upgrade to Spring Ws 3.0.10.RELEASE #23336
  • Upgrade to Neo4j Ogm 3.2.16 #23335
  • Upgrade to Tomcat 9.0.38 #23334
  • Upgrade to Spring Security 5.2.6.RELEASE #23299
  • Upgrade to Postgresql 42.2.16 #23297
  • Upgrade to Infinispan 9.4.20.Final #23295
  • Upgrade to Hibernate 5.4.21.Final #23294
  • Upgrade to Elasticsearch 6.8.12 #23293
  • Upgrade to Jetty 9.4.31.v20200723 #23292
  • Upgrade to Byte Buddy 1.10.14 #23291
  • Upgrade to Undertow 2.0.31.Final #23290
  • Upgrade to Rsocket 1.0.2 #23289
  • Upgrade to Netty Tcnative 2.0.34.Final #23288
  • Upgrade to Netty 4.1.52.Final #23287
  • Upgrade to Dropwizard Metrics 4.1.12.1 #23285
  • Upgrade to Hazelcast 3.12.9 #23284
  • Upgrade to Appengine Sdk 1.9.82 #23283
  • Upgrade to Spring Kafka 2.3.11 #23198
  • Upgrade to Spring Data Moore-SR10 #23195
  • Upgrade to Reactor Dysprosium-SR12 #23191
  • Upgrade to Spring Session Corn-SR4 #23186
  • Upgrade to Spring Framework 5.2.9 #23182
  • Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22615

❤️ Contributors

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

Read more

v2.1.17.RELEASE

17 Sep 08:28
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Signed jar dependency performance problem when repackaged in a single jar #19041

📔 Documentation

  • Fix broken links to Micrometer registry docs #22704

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.1.18 #23384
  • Upgrade to Spring AMQP 2.1.17 #23371
  • Upgrade to Spring Ws 3.0.10.RELEASE #23333
  • Upgrade to Neo4j Ogm 3.1.22 #23332
  • Upgrade to Tomcat 9.0.38 #23331
  • Upgrade to Spring Security 5.1.12.RELEASE #23278
  • Upgrade to Postgresql 42.2.16 #23277
  • Upgrade to Infinispan 9.4.20.Final #23275
  • Upgrade to Hibernate 5.3.18.Final #23274
  • Upgrade to Jetty 9.4.31.v20200723 #23273
  • Upgrade to Undertow 2.0.31.Final #23272
  • Upgrade to Dependency Management Plugin 1.0.10.RELEASE #23271
  • Upgrade to Netty Tcnative 2.0.34.Final #23270
  • Upgrade to Netty 4.1.52.Final #23269
  • Upgrade to Appengine Sdk 1.9.82 #23267
  • Upgrade to Jackson 2.9.10.20200824 #23266
  • Upgrade to Spring Data Lovelace-SR20 #23194
  • Upgrade to Reactor Californium-SR21 #23190
  • Upgrade to Spring Session Bean-SR12 #23185
  • Upgrade to Spring Framework 5.1.18 #23181

❤️ Contributors

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

v2.4.0-M2

13 Aug 23:03
Compare
Choose a tag to compare
v2.4.0-M2 Pre-release
Pre-release

⭐ New Features

  • Prefer non-reflective access to ConfigurationClassPostProcessor #22858
  • Do not include cookie headers in HTTP traces by default #22829
  • Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22826
  • Add no-pull option for image building #22736
  • Use new core framework r2dbc support #22708
  • Fail hard if spring.profiles.include is used with new config processing #22693
  • Allow DurationFormat and PeriodFormat to be used on parameters #22646
  • Allow for programatic access to new ConfigDataEnvironment processing #22601
  • Instrument SpringBootApplication for application startup metrics #22600
  • Add configuration to disable Redis Cluster dynamic sources refresh #22571
  • Allow Jedis to be selected when both Jedis and Lettuce are on the classpath #22569
  • Add basic auth support for Prometheus pushgateway #22548
  • Add functional constructor to EnvironmentPostProcessorApplicationListener #22529
  • Add support for profile groups #22522
  • Extract DefaultPropertiesPropertySource class #22520
  • Add plugin management for liquibase-maven-plugin #22499
  • Add CloudPlatform.isEnforced that uses a Binder #22498
  • Replace ConfigFileApplicationListener and rework application properties support #22497
  • Add DeferredLogFactory support #22496
  • Add multi-document properties file support #22495
  • Add ConfigurationPropertySource.from factory method #22494
  • Add @name support for value object binding #22492
  • Improve Liveness/Readiness health indicators and probes configuration #22483
  • Remove version management for exec-maven plugin #22397
  • Make DefaultErrorAttributes easier to subclass for message customization #22378
  • Add properties for Netty HttpDecoderSpec #22367
  • Avoid unnecessary allocations in ConditionMessage for NORMAL style #22331
  • Allow SpringApplication to create its application context without requiring reflection #22322
  • Add failure analyzer for missing Liquibase changelog #22320
  • Switch Neo4j health checks to the new Neo4j driver #22302
  • Add auto-configuration for Neo4j driver #22301
  • Upgrade to Spring Data Neo4j 6 #22299
  • Measure with nanoseconds in HttpExchangeTracer #22266
  • Support configuration of localEntityIdTemplate for a SAML Relying Party #22258
  • Add a property to not create HealthIndicators from AbstractRoutingDatasources #22222
  • Add support for reactive Elasticsearch healthcheck #22215
  • Support incremental annotation processing with Gradle #22150
  • Allow exclude only health groups #22053
  • Auto-configure Rabbit connection factory with CredentialsProvider and CredentialsRefreshService when available #22016
  • Allow specifying unit type of configuration property when injected via constructor #21746
  • Add option to configure PathPatternParser in Spring MVC #21694
  • Add support for easily disabling metrics export #21658
  • Support iso offset time and date-time conversion with MVC and WebFlux by setting time or date-time properties to iso-offset #21630
  • Add properties to control exceptions ignored by LdapTemplate #21289
  • Support additional R2DBC pool properties #21219
  • Switching default to include layers index for fat jar #20983
  • Add support for creating property sources from volume-mounted Kubernetes ConfigMaps and Secrets #19990
  • Add a test slice for Spring Data Cassandra #17490
  • Consider spring.profiles.default when processing configuration files #15994
  • Application properties outside of jar should take precedence over profile-specific variants inside the jar #3845

🪲 Bug Fixes

  • MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22938
  • Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22897
  • CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22874
  • Requests that should be handled by an additional DispatcherServlet result in a 404 response #22856
  • Legacy endpoint ids with '-' do not migrate cleanly #22850
  • When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22848
  • StartupStep are closed twice in SpringApplicationRunListeners #22776
  • OCI image build fails if environment has any empty properties #22735
  • Kubernetes readiness probe endpoint returning 404 #22698
  • NPE in BeanDefinitionLoader when loading non-Class sources and XML support is disabled #22696
  • LiquibaseEndpoint does not report change sets from ancestor contexts #22687
  • Async exceptions not handled by error pages in war deployments #22673
  • XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22642
  • TaskExecutorBuilder only uses second-precision when configuring the await termination period #22612
  • Profile groups are not applied to the environment #22605
  • Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22586
  • Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22584
  • Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22581
  • UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22579
  • WebMvcTest and WebFluxTest do not include Jackson Module beans #22577
  • CouchbaseCacheConfiguration is not ordered properly #22568
  • AbstractRepositoryConfigurationSourceSupport does not override registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) #22546
  • Filter empty YAML documents [#22493](https://github.com/sp...
Read more

v2.3.3.RELEASE

13 Aug 17:10
Compare
Choose a tag to compare

⚠️ Upgrading from 2.3.2.RELEASE

  • If you've applied a configuration workaround for an issue about missing liveness/readiness probes #22562, you should ensure that this workaround is removed when upgrading to 2.3.3.RELEASE.

⭐ New Features

  • Jetty with Conscrypt no longer a requirement for easy HTTP/2 #22188

🪲 Bug Fixes

  • Externalized Configuration ignores null values in SPRING_APPLICATION_JSON #22895
  • Legacy endpoint ids with '-' do not migrate cleanly #22849
  • When Reactor's debug agent fails to initialize, the cause of the failure is discarded #22847
  • OCI image build fails if environment has any empty properties #22703
  • LiquibaseEndpoint does not report change sets from ancestor contexts #22686
  • Requests that should be handled by an additional DispatcherServlet result in a 404 response #22682
  • Async exceptions not handled by error pages in war deployments #22672
  • XADataSourceAutoConfiguration is difficult to use with DB2XADataSource as it does not have a URL property #22641
  • TaskExecutorBuilder only uses second-precision when configuring the await termination period #22611
  • Setting ignoreInvalidFields=true on @ConfigurationProperties causes unknown fields to be ignored as well #22585
  • Spring Boot 2.3.2: new context is created for every IT class if SpyBean is used #22583
  • Background preinitialisation may cause Jackson2ObjectMapperBuilder's Kotlin detection warning to be silently dropped #22580
  • UndertowWebServerFactoryCustomizer does not support Options but only UndertowOptions #22578
  • WebMvcTest and WebFluxTest do not include Jackson Module beans #22576
  • CouchbaseCacheManager can no longer be customized using CacheManagerCustomizer #22573
  • Kubernetes readiness probe endpoint returning 404 #22562
  • CouchbaseCacheConfiguration is not ordered properly #22542
  • MustacheEnvironmentCollector with nullValue compiler option no longer works in version 2.3.1 #22039

📔 Documentation

  • PushGateway documentation does not document enabled flag properly #22930
  • Default value of server.jetty.accesslog.format is wrongly associated to server.forward-headers-strategy #22921
  • Use wildcard in BP_JVM_VERSION with image building #22916
  • Kotlin examples for configuring bootBuildImage's environment use wrong map configuration syntax #22913
  • Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22910
  • Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22899
  • Document that spring-boot-configuration-processor cannot detect default value defined externally #22890
  • Docs say Health's inner details section may contain components #22774
  • Fix wrong reference in ReadinessStateHealthIndicator javadoc #22760
  • Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22758
  • Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #22748
  • Fix broken links to Micrometer registry docs #22706
  • Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #22669
  • Document that constructor binding does not support @DurationUnit and @DataSizeUnit #22665
  • Document properties to enable probe health indicators #22631
  • Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #22629
  • Include a hint where to find documentation for DevTools in docs overview #22622
  • Fix link to Elasticsearch health indicator #22617
  • Add ElasticsearchReactiveHealthIndicator to docs #22616
  • Link to App Engine Standard sample not working #22608
  • Improve documentation about swapping one technical starter for another #22596
  • Document how to use MongoClientSettingsBuilderCustomizer #22589
  • Document the need for configuration files to have a file extension #22587
  • Document that java.util.Optional is not recommended with ConfigurationProperties #22574
  • Typo in metadata for "management.health.readinessstate.enabled" #22560
  • Document how to opt back in to DataSource auto-configuration when using R2DBC #22094
  • Document that application.conf is not read by default when using the Cassandra auto-configuration #21787
  • Document how to use Gradle's native bom support as an alternative to the dependency management plugin #21570

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.5.4 #22932
  • Upgrade to Spring Security 5.3.4.RELEASE #22873
  • Upgrade to Spring HATEOAS 1.1.1.RELEASE #22872
  • Upgrade to RSocket 1.0.2 #22871
  • Upgrade to Pooled JMS 1.1.2 #22870
  • Upgrade to Lettuce 5.3.3.RELEASE #22869
  • Upgrade to Kafka 2.5.1 #22868
  • Upgrade to jOOQ 3.13.4 #22867
  • Upgrade to Jetty 9.4.31.v20200723 #22866
  • Upgrade to Jackson Bom 2.11.2 #22865
  • Upgrade to Hibernate 5.4.20.Final #22864
  • Upgrade to Dropwizard Metrics 4.1.12.1 #22863
  • Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22862
  • Upgrade to Couchbase Client 3.0.7 #22861
  • Upgrade to Commons Pool2 2.8.1 #22860
  • Upgrade to Byte Buddy 1.10.14 #22859
  • Upgrade to Spring Data Neumann SR3 #22844
  • Upgrade to Spring Kafka 2.5.5 #22843
  • Upgrade to Spring AMQP 2.2.10 #22842
  • Upgrade to Reactor Dysprosium-SR11 #22841

❤️ Contributors

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

v2.3.2.RELEASE

24 Jul 20:06
Compare
Choose a tag to compare

⭐ New Features

  • Improve Liveness/Readiness health indicators and probes configuration #22107
  • Add run-image option for image building #21534
  • Add support for reactive Elasticsearch healthcheck #21042

🪲 Bug Fixes

  • AbstractRepositoryConfigurationSourceSupport does not override registerBeanDefinitions(AnnotationMetadata, BeanDefinitionRegistry) #22480
  • ConditionMessage#items throws an NPE with a null list of items although the Javadoc states it is tolerated #22344
  • ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #22325
  • Image building fails when DOCKER_HOST is set to a local socket prefixed with unix:// #22300
  • OnClassCondition tries to determine the outcome for single auto-configuration classes in parallel #22294
  • A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22282
  • NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22249
  • Numerous logs mentioning a failed JNDI lookup when using Jetty #22241
  • OAuth2ResourceServerAutoConfiguration does not back off completely when spring-security-oauth2-resource-server is not on the classpath #22233
  • Period conversion does not support a ChronoUnit of WEEKS but supports weeks in ISO-8601 (e.g. P2W) and simple (e.g. 2w) formats #22225
  • Image building fails with an unhelpful error message when building an image from a jar that includes the launch script #22223
  • Layered bootJar task causes warnings when custom source set is present in the project #22200
  • @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22197
  • NPE in spring-boot-maven-plugin:build-image when setting custom builder that is not a builder #22179
  • Accept empty filter dispatcher types in auto-configurations #22175
  • TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22167
  • Resource loading fails in Tomcat when Spring Boot is loaded from the common class loader #22119
  • Temporary files not cleaned up after Maven plugin execution #22112
  • RedisReactiveHealthIndicator is broken with Redis cluster mode #22096
  • Management health group does not inherit show-details property #22063
  • layertools with a wrong option seems to fail silently #22042
  • NamedPipeSocket does not handle FileSystemException when establishing the file channel #22035
  • In a context hierarchy, timeout-per-shutdown-phase is only honoured in the root context #22014
  • LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #22010
  • MockBean does not resolve the right type for abstract test class #22006
  • The failure when spring.redis.url is configured with a redis-sentinel:// URL is hard to diagnose #21999
  • spring-boot-starter-parent contains elements that must be overridden and aren't documented as such #21989
  • Projects using Maven and spring-security-oauth2-client end up with a downgraded version of json-smart that isn't compatible with the managed version of json-path #21939
  • Kafka Stream consumer metrics were lost in the move away from KafkaConsumerMetrics #21921
  • Dependencies enforced without applying plugin #21911
  • Welcome page support bypasses controllers mapped to / #21909
  • AvailabilityChangeEvent does not carry generic information #21898
  • Property spring.autoconfigure.exclude ignored by test slices #21736
  • Image references passed to a CNB builder are not validated #21495

📔 Documentation

  • Update the documentation to avoid trivialising what the reader's learning about #22410
  • Clarify the effect of ordering auto-configuration #22339
  • Restructure "Building Container Images" section #22296
  • Update documentation to reflect the web server now being started immediately before the ContextRefreshedEvent is published #22277
  • Clarify locations inside and outside the jar from which properties are loaded #22264
  • Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22246
  • Add package info for org.springframework.boot.autoconfigure.elasticsearch.rest #22147
  • Document how to exclude an annotation processor with Maven #22023
  • Remove Javadoc throw for ConfigurationPropertyName.ofIfValid() #22018
  • Fix wrong property reference to keys-to-sanitize in Javadoc #21916
  • Document Kafka metrics support #21910
  • Fix formatting of @Bean in reference documentation #21908
  • Update layers.idx file example in docs #21510

🔨 Dependency Upgrades

  • Upgrade to Micrometer 1.5.3 #22553
  • Upgrade to MariaDB 2.6.2 #22541
  • Upgrade to AspectJ 1.9.6 #22540
  • Upgrade to Groovy 2.5.13 #22526
  • Upgrade to Tomcat 9.0.37 #22478
  • Upgrade to Solr 8.5.2 #22477
  • Upgrade to Netty 4.1.51.Final #22476
  • Upgrade to Neo4j OGM 3.2.14 #22475
  • Upgrade to MySQL 8.0.21 #22474
  • Upgrade to MongoDB 4.0.5 #22473
  • Upgrade to Lettuce 5.3.2.RELEASE #22470
  • Upgrade to Kotlin Coroutines 1.3.8 #22469
  • Upgrade to jOOQ 3.13.3 #22468
  • Upgrade to Johnzon 1.2.8 #22467
  • Upgrade to Jetty 9.4.30.v20200611 #22466
  • Upgrade to Jetty Reactive HTTPClient 1.1.4 #22465
  • Upgrade to Jakarta Servlet 4.0.4 #22464
  • Upgrade to Jackson Bom 2.11.1 #22463
  • Upgrade to HSQLDB 2.5.1 #22462
  • Upgrade to Hibernate 5.4.18.Final #22461
  • Upgrade to Hazelcast 3.12.8 #22460
  • Upgrade to Flatten Maven Plugin 1.2.4 #22459
  • Upgrade to Dropwizard Metrics 4.1.11 [#22458](https://gi...
Read more

v2.2.9.RELEASE

24 Jul 09:50
Compare
Choose a tag to compare

🪲 Bug Fixes

  • A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22275
  • NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22248
  • TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22141
  • Accept empty filter dispatcher types in auto-configurations #22138
  • RedisReactiveHealthIndicator is broken with Redis cluster mode #22061
  • @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22038
  • Management health group does not inherit show-details property #22022
  • LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #21056
  • MockBean does not resolve the right type for abstract test class #20916
  • ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #20798

📔 Documentation

  • Update the documentation to avoid trivialising what the reader's learning about #22409
  • Clarify the effect of ordering auto-configuration #22337
  • Clarify locations inside and outside the jar from which properties are loaded #22262
  • Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22207
  • Document how to exclude an annotation processor with Maven #22000
  • Fix wrong property reference to keys-to-sanitize in Javadoc #21906
  • Some entries in the tables of configuration properties are incomplete #21131

🔨 Dependency Upgrades

  • Upgrade to Aspectj 1.9.6 #22539
  • Upgrade to Micrometer 1.3.11 #22538
  • Upgrade to Groovy 2.5.13 #22525
  • Upgrade to Spring Session Bom Corn-SR3 #22451
  • Upgrade to Neo4j Ogm 3.2.14 #22450
  • Upgrade to Kotlin Coroutines 1.3.8 #22449
  • Upgrade to Hsqldb 2.5.1 #22448
  • Upgrade to Hibernate 5.4.18.Final #22447
  • Upgrade to Jetty 9.4.30.v20200611 #22446
  • Upgrade to Tomcat 9.0.37 #22445
  • Upgrade to Johnzon Jsonb 1.2.8 #22444
  • Upgrade to Activemq 5.15.13 #22443
  • Upgrade to Byte Buddy 1.10.13 #22442
  • Upgrade to Mysql 8.0.21 #22441
  • Upgrade to Jakarta Servlet 4.0.4 #22440
  • Upgrade to Netty 4.1.51.Final #22439
  • Upgrade to Dropwizard Metrics 4.1.11 #22437
  • Upgrade to Db2 Jdbc 11.5.4.0 #22436
  • Upgrade to Hazelcast 3.12.8 #22435
  • Upgrade to Appengine Sdk 1.9.81 #22434
  • Upgrade to Caffeine 2.8.5 #22433
  • Upgrade to Jackson 2.10.5 #22432
  • Upgrade to Couchbase Client 2.7.16 #22431
  • Upgrade to Spring Kafka 2.3.10 #22386
  • Upgrade to Spring Integration 5.2.8 #22385
  • Upgrade to Spring Data Moore-SR9 #22384
  • Upgrade to Spring AMQP 2.2.9 #22383
  • Upgrade to Reactor Dysprosium-SR10 #22374
  • Upgrade to Spring Framework 5.2.8 #22372

❤️ Contributors

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

v2.1.16.RELEASE

24 Jul 04:36
Compare
Choose a tag to compare

🪲 Bug Fixes

  • NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22169

📔 Documentation

  • Update the documentation to avoid trivialising what the reader's learning about #22408

🔨 Dependency Upgrades

  • Upgrade to Aspectj 1.9.6 #22537
  • Upgrade to Micrometer 1.1.16 #22536
  • Upgrade to Spring Integration 5.1.12 #22511
  • Upgrade to Spring AMQP 2.1.16 #22507
  • Upgrade to Groovy 2.5.13 #22505
  • Upgrade to Spring Session Bom Bean-SR11 #22430
  • Upgrade to Neo4j Ogm 3.1.20 #22429
  • Upgrade to Jetty 9.4.30.v20200611 #22428
  • Upgrade to Tomcat 9.0.37 #22427
  • Upgrade to Activemq 5.15.13 #22426
  • Upgrade to Mysql 8.0.21 #22425
  • Upgrade to Netty 4.1.51.Final #22424
  • Upgrade to Micrometer 1.1.15 #22423
  • Upgrade to Appengine Sdk 1.9.81 #22422
  • Upgrade to Jackson 2.9.10.20200621 #22421
  • Upgrade to Couchbase Client 2.7.16 #22420
  • Upgrade to Spring Data Lovelace-SR19 #22382
  • Upgrade to Reactor Californium-SR20 #22371
  • Upgrade to Spring Framework 5.1.17 #22370

❤️ Contributors

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