All Versions
56
Latest Version
Avg Release Cycle
31 days
Latest Release
1587 days ago

Changelog History
Page 1

  • v2.4.0 Changes

    November 12, 2020

    🍱 ⭐ New Features

    • Provide a property or environment variable to enable DevTools' restarter irrespective of how the application was launched #21424

    🍱 🐞 Bug Fixes

    • 💻 Using last modified for static resources in reproducible archives and images causes unwanted browser caching #24099
    • 🔧 BootJar's afterResolve action causes resolution failures with the Versions plugin due to configurations being copied and made resolvable #24072
    • 📇 Configuration metadata annotation processor may use the wrong accessor for boolean properties #24059
    • When using Tomcat, key and trust store passwords set via javax.net.ssl system properties are overwritten with null when Spring Boot's equivalent properties have not been set #24053
    • Config files no longer loaded if they contain a hidden path element #24043
    • @DataJpaTest using H2 with schema.sql and spring.datasource.schema-username fails #24024
    • "java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #24017
    • JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #24015
    • ✅ TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #24013
    • 🔧 Our auto-configuration should not use @PostConstruct as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #24010
    • @MockBean fields are not reset for JUnit 5 @Nested tests using @WebMvcTest #23984
    • 🔊 ClasspathLoggingApplicationListener logs the classpath as unknown on Java 11 and later #23138

    📔 Documentation

    • 🛠 Fix link to Flyway callback docs #24122
    • 🛠 Fix deprecation warnings in javadoc comments #24120
    • Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24062
    • 📚 Clarify documentation regarding relaxed binding of environment variables #24033
    • ✨ Enhance spring.datasource.initialization-mode property description #24030
    • Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #24026
    • 👌 Improve Spring Session back off documentation #24019
    • ✅ Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #24007
    • Recommend that bean definitions provide as much type information as possible #24005
    • 🌲 logging.file.* properties flagged with error level while they are still honoured #23995
    • ➕ Add missing default value for enum-based configuration properties #23992
    • 📇 Configuration property replacement metadata for spring.resources.cache.cachecontrol.stale-while-revalidate is invalid #23980

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to AppEngine SDK 1.9.83 #24082
    • ⬆️ Upgrade to AssertJ 3.18.1 #24126
    • ⬆️ Upgrade to Byte Buddy 1.10.18 #24083
    • ⬆️ Upgrade to Couchbase Client 3.0.10 #24084
    • ⬆️ Upgrade to Hibernate 5.4.23.Final #24085
    • ⬆️ Upgrade to Infinispan 11.0.5.Final #24127
    • ⬆️ Upgrade to Jetty 9.4.34.v20201102 #24047
    • ⬆️ Upgrade to jOOQ 3.14.3 #24128
    • ⬆️ Upgrade to Kotlin Coroutines 1.4.1 #24087
    • ⬆️ Upgrade to Micrometer 1.6.1 #24051
    • ⬆️ Upgrade to Netty 4.1.54.Final #24129
    • ⬆️ Upgrade to Nimbus JOSE JWT 9.1.2 #24088
    • ⬆️ Upgrade to Pooled JMS 1.2.1 #24089
    • ⬆️ Upgrade to Reactor 2020.0.1 #24110
    • ⬆️ Upgrade to SendGrid 4.6.8 #24090
    • ⬆️ Upgrade to Spring AMQP 2.3.1 #24073
    • ⬆️ Upgrade to Spring Data 2020.0.1 #24036
    • ⬆️ Upgrade to Spring Framework 5.3.1 #24035
    • ⬆️ Upgrade to Spring HATEOAS 1.2.1 #24091
    • ⬆️ Upgrade to Spring Integration 5.4.1 #24097
    • ⬆️ Upgrade to Spring Kafka 2.6.3 #24074
    • ⬆️ Upgrade to Spring Session 2020.0.1 #24098

    🍱 ❤️ Contributors

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

  • v2.4.0-RC1 Changes

    October 30, 2020

    🍱 ⭐ New Features

    • Provide dependency management for jOOQ's new jooq-kotlin module #23964
    • 🔧 Provide a configuration property for the driverClassName of the Liquibase DataSource #23958
    • 🌐 Move spring.resources.* properties to spring.web.resources.* #23917
    • 🔧 Provide configuration properties for setting the logging charsets #23827
    • ➕ Add auto-trimming support to configtree property sources #23826
    • ➕ Add configuration properties for RabbitMQ's batch listener config #23766
    • 🔦 Expose BootBuildImage's cleanCache property as a command-line option #23753
    • 👍 Allow a SAML2 relying party registration's assertion consumer service binding and location to be configured via application properties #23746
    • 🔒 Rename spring.security.saml2.relyingparty.*.relying-party-entity-id to spring.security.saml2.relyingparty.*.entityId #23745
    • ➕ Add a command line option for image.cleanCache when building with Maven #23719
    • 👍 Allow a SAML2 relying party registration's decryption X509 credentials to be configured via application properties #23705
    • ➕ Add support for CNB platform API 0.4 #23692
    • 👍 Allow TestPropertyValues.of to take a Map source #23685
    • 🌲 Rationalize Logback logging properties #23609
    • 🏗 When building with Maven, include project dependencies in the application layer by default #23463
    • 🔧 Provide properties to configure WebFlux's locale and how it's resolved #23449
    • ✂ Remove skipping of spring-boot-* projects when determining what is eligible for DevTools restart #23158
    • 👉 Make @PropertyMapping support nested annotations #23146
    • 🔄 Change favicon default StaticResourceLocation #23126
    • ⚡️ Update TextResourceOrigin to show the source jar of a ClasspathResource #23019
    • 👉 Use stricter multi-document properties separator logic #22963
    • 👌 Support wildcard configtree imports #22958
    • 👌 Support Gradle's configuration cache with Gradle 6.7 and later #22922
    • 🔧 Provide a property for configuring the base path of the Actuator's endpoints when using WebFlux #22906
    • 👍 Allow proxied @SpyBeans to be used with Mockito's inline mock maker #22416
    • 👻 Fail with exception if management.server.address is set but actuator is on the same port #22187
    • 🔧 Don't adapt RandomPropertySource to ConfigurationPropertySource #21659
    • 🔧 Auto-configuration of MethodValidationPostProcessor prevents the use of @Validated on final @ConfigurationProperties classes #21454
    • 👍 Allow @WebListener ServletContextListeners to programmatically add servlets and filters #18303

    🍱 🐞 Bug Fixes

    • 🔧 Configuration property annotation processor does not notice overriding getter methods #23970
    • 📇 Incremental compilation does not keep metadata for inner classes #23960
    • 🏗 Maven plugin build-image creator step fails in Bitbucket pipelines #23957
    • 🔧 Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #23933
    • 📇 ConfigurationMetadataAnnotationProcessor can add duplicate entries #23916
    • Jar entries are duplicated in BOOT-INF/lib with layered jars and Maven #23819
    • ✅ HttpEncodingAutoConfiguration is not added to the WebMvcTest slice #23817
    • 📜 Wildcard locations for configs causes files to be parsed multiple times on k8s #23815
    • 👻 Exception thrown from /actuator/env endpoint when spring.config.import=configtree:xxxx is used #23805
    • 🌲 Exceptions when initializing logging system are not shown #23802
    • excludeProjectDependencies() does not work when customising a jar's layers with Gradle #23763
    • 🔧 A reactive web application using Spring Session uses server.servlet.session.timeout to configure its session timeout #23752
    • ⏱ server.servlet.session.timeout not in effect when using Jetty starter without jakarta.annotation and javax.annotation #23751
    • If the JVM is killed while refresh is in progress, the shutdown hook does not close the context #23744
    • Hang on AbstractEntityManagerFactoryBean.getNativeEntityManagerFactory() #23735
    • BootJar.getConfigurations() should not be public API #23732
    • Renaming of CompositeMeterRegistryAutoConfiguration breaks code that was excluding it or referring to it from @AutoConfigureBefore/After #23724
    • 👍 Databases that support embedded and non-embedded modes are always detected as embedded #23693
    • @MockBean fields are not reset for JUnit 5 @Nested tests #12470

    📔 Documentation

    • ✂ Remove version elements from Maven plugin documentation #23931
    • 📚 Polish HTTP/2 Cleartext documentation #23820
    • 🔧 Document how to enable h2c via programmatic configuration #23816
    • Note that using LiveReload requires Devtools restart to be enabled #23765
    • 🛠 Fix links to Spring Framework documentation #23737
    • 📚 Maven layers documentation is incomplete #23731
    • ➕ Add reference to JobRunr Spring Boot starter #23725
    • 💅 Polish titles on configblocks #23722
    • 🔧 Document how to override attributes already specified in Maven plugin configuration #23718
    • 📄 Block selection in docs only works in single page HTML #23709

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to AssertJ 3.18.0 #23888
    • ⬆️ Upgrade to Commons Pool2 2.9.0 #23889
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.14 #23890
    • ⬆️ Upgrade to Elasticsearch 7.9.3 #23891
    • ⬆️ Upgrade to Flyway 7.1.1 #23932
    • ⬆️ Upgrade to Jetty 9.4.33.v20201020 #23893
    • ⬆️ Upgrade to jOOQ 3.14.0 #23894
    • ⬆️ Upgrade to Kotlin Coroutines 1.4.0 #23913
    • 🚀 Upgrade to Lettuce 6.0.1.RELEASE #23923
    • ⬆️ Upgrade to Lombok 1.18.16 #23895
    • ⬆️ Upgrade to Micrometer 1.6.0 #23525
    • ⬆️ Upgrade to Mockito 3.6.0 #23924
    • ⬆️ Upgrade to MongoDB 4.1.1 #23897
    • ⬆️ Upgrade to MSSQL JDBC 8.4.1.jre8 #23742
    • ⬆️ Upgrade to MySQL 8.0.22 #23898
    • ⬆️ Upgrade to Netty 4.1.53.Final #23899
    • ⬆️ Upgrade to Nimbus JOSE JWT 9.1.1 #23901
    • ⬆️ Upgrade to OAuth2 OIDC SDK 8.23.1 #23900
    • ⬆️ Upgrade to Oracle Database 19.8.0.0 #23902
    • ⬆️ Upgrade to Postgresql 42.2.18 #23903
    • ⬆️ Upgrade to R2DBC Bom Arabba-SR8 #23904
    • ⬆️ Upgrade to Rabbit AMQP Client 5.10.0 #23905
    • ⬆️ Upgrade to Reactor 2020.0.0 #23771
    • ⬆️ Upgrade to RSocket 1.1.0 #23912
    • ⬆️ Upgrade to SendGrid 4.6.7 #23906
    • ⬆️ Upgrade to Spring AMQP 2.3.0 #23785
    • ⬆️ Upgrade to Spring Batch 4.3.0 #23963
    • ⬆️ Upgrade to Spring Data 2020.0.0 #23778
    • ⬆️ Upgrade to Spring Framework 5.3.0 #23774
    • ⬆️ Upgrade to Spring HATEOAS 1.2.0 #23779
    • ⬆️ Upgrade to Spring Integration 5.4.0 #23781
    • ⬆️ Upgrade to Spring Session 2020.0.0 #23788

    🍱 ❤️ Contributors

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

  • v2.4.0-M4 Changes

    October 15, 2020

    🍱 ⭐ 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
    • 0️⃣ 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
    • 0️⃣ 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 #23644
    • ⬆️ Upgrade to Flyway 7.0.2 #23645
    • ⬆️ Upgrade to Hazelcast 4.0.3 #23475
    • ⬆️ Upgrade to Hazelcast Hibernate5 2.1.1 #23476
    • ⬆️ Upgrade to Hibernate 5.4.22.Final #23646
    • ⬆️ Upgrade to Hibernate Validator 6.1.6.Final #23647
    • ⬆️ Upgrade to HtmlUnit 2.44.0 #23648
    • ⬆️ Upgrade to HttpClient 4.5.13 #23649
    • ⬆️ Upgrade to Infinispan 11.0.4.Final #23650
    • ⬆️ Upgrade to Jackson Bom 2.11.3 #23651
    • ⬆️ Upgrade to Jersey 2.32 #23652
    • ⬆️ Upgrade to Jetty 9.4.32.v20200930 #23653
    • ⬆️ Upgrade to jOOQ 3.13.5 #23654
    • ⬆️ Upgrade to JUnit 4.13.1 #23655
    • ⬆️ Upgrade to Kotlin 1.4.10 #23656
    • ⬆️ Upgrade to Kotlin Coroutines 1.4.0-M1 #23678
    • 🚀 Upgrade to Lettuce 6.0.0.RELEASE #23657
    • ⬆️ Upgrade to Liquibase 3.10.3 #23658
    • ⬆️ Upgrade to Lombok 1.18.14 #23659
    • ⬆️ Upgrade to MariaDB 2.7.0 #23660
    • ⬆️ Upgrade to Mockito 3.5.13 #23661
    • ⬆️ Upgrade to OAuth2 OIDC SDK 8.22 #23673
    • ⬆️ Upgrade to Postgresql 42.2.17 #23662
    • ⬆️ Upgrade to QueryDSL 4.4.0 #23663
    • ⬆️ Upgrade to Reactor 2020.0.0-RC2 #23621
    • ⬆️ Upgrade to RSocket 1.1.0-RC1 #23637
    • ⬆️ Upgrade to RxJava2 2.2.20 #23664
    • ⬆️ Upgrade to Selenium HtmlUnit 2.44.0 #23665
    • ⬆️ Upgrade to SendGrid 4.6.6 #23666
    • ⬆️ Upgrade to Spring AMQP 2.3.0-RC1 #23680
    • ⬆️ Upgrade to Spring Data 2020.0.0-RC2 #23594
    • ⬆️ Upgrade to Spring Framework 5.3.0-RC2 #23534
    • ⬆️ Upgrade to Spring Integration 5.4.0-RC1 #23695
    • ⬆️ Upgrade to Spring Kafka 2.6.2 #23679
    • 🔒 Upgrade to Spring Security 5.4.1 #23667
    • ⬆️ Upgrade to Tomcat 9.0.39 #23668
    • ⬆️ Upgrade to Undertow 2.2.2.Final #23669

    🍱 ❤️ Contributors

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

  • v2.4.0-M3 Changes

    September 17, 2020

    🍱 ⭐ 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
    • 0️⃣ 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 examples of Actuator custom endpoints in the reference documentation #23061
    • ➕ Add Hyperledger Fabric for Spring Boot Starter to the community starters #23058
    • ✅ Mention correct JUnit 5 annotations in Kotlin testing section #23005
    • 🛠 Fix Gradle Plugin custom image name example and documentation #22980
    • Javadoc inaccuracy in SpringApplicationBuilder.properties(Properties) #22965
    • 🛠 Fix typo Assert4J -> AssertJ #22961
    • 👍 Document that Java 15 is a supported version #22366
    • 📚 Publish Actuator API and Maven/Gradle plugin reference documentation under htmlsingle #21585
    • ➕ Add more anchors in the properties appendix #16267

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to SendGrid 4.6.5 #23397
    • ⬆️ Upgrade to Micrometer 1.5.5 #23396
    • ⬆️ Upgrade to Flyway 6.5.6 #23395
    • ⬆️ Upgrade to Spring Kafka 2.6.1 #23382
    • 🚀 Upgrade to Spring REST Docs 2.0.5.RELEASE #23377
    • ⬆️ Upgrade to Mockito 3.5.10 #23368
    • ⬆️ Upgrade to Undertow 2.2.0.Final #23367
    • ⬆️ Upgrade to Thymeleaf Layout Dialect 2.5.1 #23366
    • ⬆️ Upgrade to SnakeYAML 1.27 #23365
    • ⬆️ Upgrade to Postgresql 42.2.16 #23364
    • ⬆️ Upgrade to Pooled JMS 1.2.0 #23363
    • ⬆️ Upgrade to InfluxDB Java 2.20 #23362
    • ⬆️ Upgrade to Artemis 2.15.0 #23361
    • ⬆️ Upgrade to Lettuce 6.0.0.RC2 #23360
    • ⬆️ Upgrade to Tomcat 9.0.38 #23359
    • 🚀 Upgrade to Spring WS 3.0.10.RELEASE #23358
    • ⬆️ Upgrade to SendGrid 4.6.4 #23357
    • ⬆️ Upgrade to R2DBC Bom Arabba-SR7 #23356
    • ⬆️ Upgrade to Nimbus JOSE JWT 9.0.1 #23355
    • ⬆️ Upgrade to OAuth2 OIDC SDK 8.19.2 #23354
    • ⬆️ Upgrade to Netty tcNative 2.0.34.Final #23353
    • ⬆️ Upgrade to Netty 4.1.52.Final #23352
    • ⬆️ Upgrade to JUnit Jupiter 5.7.0 #23351
    • ⬆️ Upgrade to Hibernate 5.4.21.Final #23350
    • ⬆️ Upgrade to Hazelcast 3.12.9 #23349
    • ⬆️ Upgrade to Flyway 6.5.5 #23348
    • ⬆️ Upgrade to Elasticsearch 7.9.1 #23347
    • ⬆️ Upgrade to Ehcache3 3.9.0 #23346
    • ⬆️ Upgrade to Couchbase Client 3.0.8 #23345
    • ⬆️ Upgrade to Commons Codec 1.15 #23344
    • ⬆️ Upgrade to Cassandra Driver 4.9.0 #23343
    • ⬆️ Upgrade to AppEngine SDK 1.9.82 #23342
    • 🔒 Upgrade to Spring Security 5.4.0 #23225
    • ⬆️ Upgrade to RSocket 1.1.0-M2 #23214
    • ⬆️ Upgrade to Spring Data 2020.0.0-RC1 #23197
    • ⬆️ Upgrade to Spring Batch 4.3.0-RC1 #23189
    • ⬆️ Upgrade to Spring Session 2020.0.0-RC1 #23188
    • ⬆️ Upgrade to Assertj 3.17.2 #23179
    • ⬆️ Upgrade to Spring Framework 5.3 RC1 #23170
    • ⬆️ Upgrade to Reactor 2020.0.0-RC1 #23065
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.9 #23025
    • ⬆️ Upgrade to Kotlin 1.4.0 #23024
    • ⬆️ Upgrade to Spring AMQP 2.3.0-M3 #23011
    • ⬆️ Upgrade to Spring Integration 5.4.0-M3 #23010

    🍱 ❤️ Contributors

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

  • v2.4.0-M2 Changes

    August 13, 2020

    🍱 ⭐ New Features

    • 🔧 Prefer non-reflective access to ConfigurationClassPostProcessor #22858
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 0️⃣ 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
    • 🔊 Numerous logs mentioning a failed JNDI lookup when using Jetty #22419
    • ConditionMessage#items throws an NPE with a null list of items although the Javadoc states it is tolerated #22357
    • 🏗 Image building fails with an unhelpful error message when building an image from a jar that includes the launch script #22349
    • 🔌 Temporary files not cleaned up after Maven plugin execution #22328
    • 🔧 OnClassCondition tries to determine the outcome for single auto-configuration classes in parallel #22327
    • 🔧 ConfigurationPropertiesBeanDefinitionValidator interferes with EclipseLink load-time weaving #22326
    • 🏗 Image building fails when DOCKER_HOST is set to a local socket prefixed with unix:// #22304
    • A WebFlux app that depends on com.amazonaws:DynamoDBLocal fails to start #22283
    • 🔧 The failure when spring.redis.url is configured with a redis-sentinel:// URL is hard to diagnose #22272
    • ✅ Property spring.autoconfigure.exclude ignored by test slices #22263
    • 🔒 OAuth2ResourceServerAutoConfiguration does not back off completely when spring-security-oauth2-resource-server is not on the classpath #22255
    • 0️⃣ NullPointerException in ErrorPageFilter when a MissingServletRequestParameterException is thrown and there's no DefaultHandlerExceptionResolver #22250
    • 👍 Period conversion does not support a ChronoUnit of WEEKS but supports weeks in ISO-8601 (e.g. P2W) and simple (e.g. 2w) formats #22238
    • ⚠ Layered bootJar task causes warnings when custom source set is present in the project #22202
    • @ConditionalOnSingleCandidate does not match when there is a single candidate that is a scoped bean #22198
    • 🚚 Kafka Stream consumer metrics were lost in the move away from KafkaConsumerMetrics #22196
    • 🏗 NPE in spring-boot-maven-plugin:build-image when setting custom builder that is not a builder #22180
    • 🔧 Accept empty filter dispatcher types in auto-configurations #22176
    • ⚠ TomcatMetricsBinder may log a warning for an NPE if the context is closed before the ApplicationStartedEvent is published #22168
    • Resource loading fails in Tomcat when Spring Boot is loaded from the common class loader #22160
    • 🔧 Inconsistent configuration ordering with profiles #18199
    • Conditional documents in profile specific file are not loaded consistently #11109

    📔 Documentation

    • 📚 PushGateway documentation does not document enabled flag properly #22931
    • 0️⃣ Default value of server.jetty.accesslog.format is wrongly associated to server.forward-headers-strategy #22928
    • Use wildcard in BP_JVM_VERSION with image building #22923
    • 🔧 Kotlin examples for configuring bootBuildImage's environment use wrong map configuration syntax #22917
    • 🔧 Mention configuration customizers for WebTestClient and RestAssured in AutoConfigureRestDocs' javadoc #22911
    • 🌐 Document how to discover the HTTP Port at Runtime for both Servlet and Reactive web apps #22900
    • 🔧 Document that spring-boot-configuration-processor cannot detect default value defined externally #22891
    • 🔧 Document that application.conf is not read by default when using the Cassandra auto-configuration #22889
    • 🛠 Fix wrong reference in ReadinessStateHealthIndicator javadoc #22846
    • 📄 Docs say Health's inner details section may contain components #22775
    • ✅ Recommend the use of AopTestUtils.getTargetObject() when setting expectations on a spied bean that Spring has proxied #22759
    • Document that schema.sql and data.sql will still be run when using Flyway or Liquibase but discourage their use #22749
    • 🛠 Fix broken links to Micrometer registry docs #22707
    • Document properties to enable probe health indicators #22697
    • 🔌 Document how to use Gradle's native bom support as an alternative to the dependency management plugin #22678
    • 🔧 Document how to opt back in to DataSource auto-configuration when using R2DBC #22677
    • 📚 Clarify documentation on use of @AutoConfigureRestDocs with WebTestClient #22670
    • 👍 Document Spring Data Neo4j 6 support #22652
    • 📚 Update metrics documentation to note the benefits of using a MeterBinder when registering a metric that relies on other beans #22630
    • 📚 Include a hint where to find documentation for DevTools in docs overview #22623
    • ➕ Add ElasticsearchReactiveHealthIndicator to docs #22619
    • 🛠 Fix link to Elasticsearch health indicator #22618
    • 🔗 Link to App Engine Standard sample not working #22609
    • 👌 Improve documentation about swapping one technical starter for another #22597
    • Document how to use MongoClientSettingsBuilderCustomizer #22590
    • 🔧 Document the need for configuration files to have a file extension #22588
    • 🔧 Document that java.util.Optional is not recommended with ConfigurationProperties #22575
    • 📇 Typo in metadata for "management.health.readinessstate.enabled" #22561
    • 📚 Overhaul "externalized configuration" documentation #22521
    • 📚 Update the documentation to avoid trivialising what the reader's learning about #22411
    • 🏗 Restructure "Building Container Images" section #22360
    • 🔧 Clarify the effect of ordering auto-configuration #22340
    • 📚 Update documentation to reflect the web server now being started immediately before the ContextRefreshedEvent is published #22316
    • 🛠 Fix dead link url and name of the STS download link #22274
    • Clarify locations inside and outside the jar from which properties are loaded #22265
    • 📄 Rename NoneOfNestedConditions to NoneNestedConditions in example docs #22247
    • 📇 Update metadata for WebFlux time and date-time properties to offer iso-offset as a suggested value #22174
    • ➕ Add package info for org.springframework.boot.autoconfigure.elasticsearch.rest #22173
    • ⚡️ Update layers.idx file example in docs #22152

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Selenium HtmlUnit 2.43.1 #22937
    • ⬆️ Upgrade to Micrometer 1.5.4 #22936
    • ⬆️ Upgrade to Flyway 6.5.4 #22935
    • ⬆️ Upgrade to Spring HATEOAS 1.2.0-M1 #22893
    • ⬆️ Upgrade to Spring Batch 4.3.0-M2 #22892
    • ⬆️ Upgrade to Versions Maven Plugin 2.8.1 #22884
    • ⬆️ Upgrade to Selenium HtmlUnit 2.43.0 #22883
    • ⬆️ Upgrade to Pooled JMS 1.1.2 #22882
    • ⬆️ Upgrade to Maven Resources Plugin 3.2.0 #22881
    • 🚀 Upgrade to Lettuce 5.3.3.RELEASE #22880
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.8 #22879
    • ⬆️ Upgrade to HtmlUnit 2.43.0 #22878
    • ⬆️ Upgrade to Hibernate 5.4.20.Final #22877
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.12.1 #22876
    • 🚀 Upgrade to Dependency Management Plugin 1.0.10.RELEASE #22875
    • ⬆️ Upgrade to Mockito 3.4.6 #22838
    • ⬆️ Upgrade to Tomcat 9.0.37 #22818
    • ⬆️ Upgrade to SQLite JDBC 3.32.3.2 #22817
    • 🚀 Upgrade to Spring HATEOAS 1.1.1.RELEASE #22816
    • ⬆️ Upgrade to Solr 8.5.2 #22815
    • ⬆️ Upgrade to SendGrid 4.6.3 #22814
    • ⬆️ Upgrade to Netty 4.1.51.Final #22812
    • ⬆️ Upgrade to MySQL 8.0.21 #22811
    • ⬆️ Upgrade to MongoDB 4.1.0 #22810
    • ⬆️ Upgrade to Micrometer 1.5.3 #22809
    • ⬆️ Upgrade to Maven War Plugin 3.3.1 #22808
    • ⬆️ Upgrade to MariaDB 2.6.2 #22807
    • ⬆️ Upgrade to Liquibase 3.10.2 #22806
    • ⬆️ Upgrade to Spring AMQP 2.3.0-M2 #22761
    • ⬆️ Upgrade to RSocket 1.1.0-M1 #22751
    • ⬆️ Upgrade to Spring Kafka 2.6.0-M1 #22730
    • ⬆️ Upgrade to Spring Integration 5.4.0-M2 #22729
    • ⬆️ Upgrade to Couchbase Client 3.0.7 #22688
    • 🔒 Upgrade to Spring Security 5.4.0-RC1 #22668
    • ⬆️ Upgrade to Reactor 2020.0.0-M2 #22667
    • ⬆️ Upgrade to Elasticsearch 7.8.1 #22648
    • ⬆️ Upgrade to Spring Data 2020.0.0-M2 #22647
    • ⬆️ Upgrade to Spring Framework 5.3.0-M2 #22640
    • ⬆️ Upgrade to Groovy 2.5.13 #22527
    • ⬆️ Upgrade to R2DBC Arabba-SR6 #22395
    • ⬆️ Upgrade to Infinispan 11.0.1.Final #22286
    • ⬆️ Upgrade to Maven Shade Plugin 3.2.4 #22228

    🍱 ❤️ Contributors

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

  • v2.4.0-M1 Changes

    June 29, 2020

    🍱 ⭐ New Features

    • ➕ Add StatsD transport protocol configuration option #22125
    • ⬆️ Upgrade to Flyway 6.5 and support new create schemas property #22120
    • 👍 Disable LogbackLoggingSystem's XML support when spring.xml.ignore is true #22106
    • Disable XML bean definition loading when spring.xml.ignore is true #22093
    • 🌲 LoggingApplicationListener: Trim trailing whitespace from value of logging.config #22078
    • ✂ Remove plugin management for Flatten Maven Plugin #21984
    • ➕ Add run-image option for image building #21933
    • 👌 Support user info in Elasticsearch URIs #21747
    • ⚡️ Optimize SystemEnvironmentPropertyMapper #21726
    • ➕ Add Java 15 to JavaVersion enum #21691
    • 🏗 Provide better diagnostics when building an OCI image fails due to a 500 response from Docker #21685
    • Provide dependency management for Oracle?s JDBC driver under new com.oracle.database Maven coordinates #21665
    • Spring Cloud's CachedRandomPropertySource is not adapted correctly #21661
    • ✂ Remove JUnit 4 from spring-boot-starter-test #21625
    • 🐳 Provide better error message if Docker is not running #21623
    • 🖨 Print the java version being used on startup #21559
    • 👌 Support filtered scrape for Prometheus #21545
    • 👌 Support for webAdminPassword property of H2 Console #21533
    • RedisReactiveHealthIndicator should provide cluster details in cluster mode #21514
    • ➕ Add Cassandra health indicator that uses CqlSession #20887

    🍱 🐞 Bug Fixes

    • 👀 layertools with a wrong option seems to fail silently #22121
    • RedisReactiveHealthIndicator is broken with Redis cluster mode #22095
    • Management health group does not inherit show-details property #22064
    • NamedPipeSocket does not handle FileSystemException when establishing the file channel #22037
    • ⏱ In a context hierarchy, timeout-per-shutdown-phase is only honoured in the root context #22019
    • 🏗 Image references passed to a CNB builder are not validated #22017
    • LOGBACK: No context given for c.q.l.core.rolling.SizeAndTimeBasedRollingPolicy #22011
    • 🔒 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 #22009
    • ✅ MockBean does not resolve the right type for abstract test class #22007
    • spring-boot-starter-parent contains elements that must be overridden and aren't documented as such #21994
    • 🔌 Dependencies enforced without applying plugin #21940
    • 👍 Welcome page support bypasses controllers mapped to / #21925
    • AvailabilityChangeEvent does not carry generic information #21904
    • 🏗 Not able to use digest in 'builder' reference #21895
    • 🐳 Docker calls may hang forever #21892
    • 0️⃣ Default log levels are inconsistent between log4J2 and logback #21883
    • Actuator 'loggers' endpoint does not return all loggers for log4j #21881
    • Different actuator management server port changes response on errors #21874
    • 🔧 Configuring server.* properties in a child context has no effect in Spring Boot 2.3 #21869
    • 🔧 Auto-Configuration for Cassandra does not back off if a custom ReactiveSessionFactory is defined #21867
    • 🔒 WebMvcTest does not use the auto-configured ordering for Spring Security's filter #21839
    • Password-based authentication with Cassandra does not work with Spring Boot 2.3.0 #21802
    • STOMP does not work with lazy initialization #21788
    • 🛠 Fix BasicErrorController to use binding error cfg #21770
    • 🛠 Fix MustacheEnvironmentCollector to not ignore native fetcher #21766
    • Spring Boot CLI adds classes from current directory to the classpath on Unix-like platforms #21756
    • @SpringBootTest not picking @nAmed classes with a non-public constructor #21735
    • PropertiesLauncher cannot load a resource in jar via URL #21727
    • 👍 UnsupportedOperationException is thrown from war when shutting down Tomcat #21690
    • Scope of some dependencies has changed from compile to runtime #21669
    • SpringConfigurationPropertySource incorrectly returns ABSENT for sub properties #21656
    • 🔌 Maven plugin help is missing #21649
    • 🔒 Management security configuration does not back off when SAML is configured #21644

    📔 Documentation

    • ✂ Remove Javadoc throw for ConfigurationPropertyName.ofIfValid() #22029
    • Document how to exclude an annotation processor with Maven #22024
    • 👍 Document Kafka metrics support #21918
    • 🛠 Fix wrong property reference to keys-to-sanitize in Javadoc #21917
    • 🛠 Fix formatting of @Bean in reference documentation #21915
    • 📚 spring.config.name is not formatted as an environment variable in multi-page reference documentation #21891
    • 🔌 Document using system properties in gradle plugin docs #21799
    • 🗄 Document deprecations of org.springframework.boot.loader.archive.Archive.iterator() #21768
    • 🔄 Change liveness-port to management-port #21765
    • 🔧 Clarify that configuring a custom health HTTP status mapping replaces the default mappings #21763
    • 🚀 Document the difference in dispatch type and the effect on the security filter caused by the error page filter when deployed to a standalone container #21761
    • 👍 Document support for Gradle 5 #21753
    • Replace whitelist with a term that does not have racist connotations #21745
    • 💅 Polish #21734
    • 📚 Use highlightjs for syntax highlighting in HTML documentation #21703
    • Mark new public API added to spring-boot-loader in 2.3 with @SInCE tags #21657
    • 📚 {gradle-project-version}, rather than the project's actual version, appears in the Gradle plugin's reference documentation #21651
    • 🔖 Version-specific content is missing from Gradle Plugin's reference documentation #21641

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to WebJars Locator Core 0.46 #22135
    • 🚀 Upgrade to Spring Kafka 2.5.3.RELEASE #22134
    • ⬆️ Upgrade to Oracle Database 19.7.0.0 #22133
    • ⬆️ Upgrade to Micrometer 1.5.2 #22132
    • ⬆️ Upgrade to MariaDB 2.6.1 #22131
    • ⬆️ Upgrade to Jackson Bom 2.11.1 #22130
    • ⬆️ Upgrade to Hazelcast 3.12.8 #22129
    • ⬆️ Upgrade to Spring AMQP 2.3.0-M1 #22127
    • ⬆️ Upgrade to Spring Batch 4.3.0-M1 #22126
    • ⬆️ Upgrade to SQLite JDBC 3.32.3 #22058
    • ⬆️ Upgrade to Jetty Reactive HTTPClient 1.1.4 #22057
    • ⬆️ Upgrade to Jakarta Servlet 4.0.4 #22056
    • ⬆️ Upgrade to Hibernate 5.4.18.Final #22055
    • ⬆️ Upgrade to Byte Buddy 1.10.12 #22054
    • ⬆️ Upgrade to Cassandra Driver 4.7.2 #22052
    • ⬆️ Upgrade to Undertow 2.1.3.Final #21983
    • ⬆️ Upgrade to Tomcat 9.0.36 #21982
    • ⬆️ Upgrade to Spring Retry 1.3.0 #21981
    • 🚀 Upgrade to Spring Kafka 2.5.2.RELEASE #21980
    • ⬆️ Upgrade to SendGrid 4.6.0 #21977
    • ⬆️ Upgrade to Selenium HtmlUnit 2.41.0 #21976
    • ⬆️ Upgrade to RSocket 1.0.1 #21975
    • ⬆️ Upgrade to R2DBC Bom Arabba-SR5 #21974
    • ⬆️ Upgrade to Postgresql 42.2.14 #21973
    • ⬆️ Upgrade to OkHttp3 3.14.9 #21971
    • ⬆️ Upgrade to OAuth2 OIDC SDK 7.5 #21970
    • ⬆️ Upgrade to Netty tcNative 2.0.31.Final #21969
    • ⬆️ Upgrade to Netty 4.1.50.Final #21968
    • ⬆️ Upgrade to Neo4j OGM 3.2.12 #21967
    • ⬆️ Upgrade to MongoDB 4.0.4 #21966
    • ⬆️ Upgrade to Maven War Plugin 3.3.0 #21965
    • ⬆️ Upgrade to Log4j2 2.13.3 #21964
    • ⬆️ Upgrade to Liquibase 3.10.0 #21963
    • 🚀 Upgrade to Lettuce 5.3.1.RELEASE #21962
    • ⬆️ Upgrade to Kotlin Coroutines 1.3.7 #21961
    • ⬆️ Upgrade to Johnzon 1.2.7 #21960
    • ⬆️ Upgrade to Jetty 9.4.30.v20200611 #21959
    • ⬆️ Upgrade to Jersey 2.31 #21957
    • ⬆️ Upgrade to Jaybird 3.0.9 #21956
    • ⬆️ Upgrade to Javax Money 1.1 #21955
    • ⬆️ Upgrade to InfluxDB Java 2.19 #21954
    • ⬆️ Upgrade to HtmlUnit 2.41.0 #21953
    • ⬆️ Upgrade to Groovy 2.5.12 #21951
    • ⬆️ Upgrade to Elasticsearch 7.7.1 #21948
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.9 #21947
    • ⬆️ Upgrade to Couchbase Client 3.0.5 #21946
    • ⬆️ Upgrade to Caffeine 2.8.4 #21945
    • ⬆️ Upgrade to Awaitility 4.0.3 #21943
    • ⬆️ Upgrade to Artemis 2.13.0 #21942
    • 🔒 Upgrade to Spring Security 5.4.0-M1 #21932
    • ⬆️ Upgrade to Spring Integration 5.4.0-M1 #21931
    • ⬆️ Upgrade to Spring Data 2020.0.0-M1 #21930
    • ⬆️ Upgrade to Spring Framework 5.3.0-M1 #21929
    • ⬆️ Upgrade to Spring Session 2020.0.0-M1 #21928
    • ⬆️ Upgrade to Reactor 2020.0.0-M1 #21927

    🍱 ❤️ Contributors

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

  • v2.3.6.RELEASE Changes

    November 12, 2020

    🍱 🐞 Bug Fixes

    • 📇 Configuration metadata annotation processor may use the wrong accessor for boolean properties #24058
    • When using Tomcat, key and trust store passwords set via javax.net.ssl system properties are overwritten with null when Spring Boot's equivalent properties have not been set #24052
    • @DataJpaTest using H2 with schema.sql and spring.datasource.schema-username fails #24023
    • JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #24014
    • ✅ TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #24012
    • 🔧 Our auto-configuration should not use @PostConstruct as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #24009
    • Config files no longer loaded if they contain a hidden path element #23983
    • "java.lang.IllegalStateException: zip file closed" when call JarFileWrapper.stream() of spring-boot-loader #23821

    📔 Documentation

    • 🛠 Fix link to Flyway callback docs #24121
    • Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24060
    • 📚 Clarify documentation regarding relaxed binding of environment variables #24032
    • ✨ Enhance spring.datasource.initialization-mode property description #24029
    • Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #24025
    • 👌 Improve Spring Session back off documentation #24018
    • ✅ Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #24006
    • Recommend that bean definitions provide as much type information as possible #24004
    • ➕ Add missing default value for enum-based configuration properties #23991

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to AppEngine SDK 1.9.83 #24077
    • ⬆️ Upgrade to Byte Buddy 1.10.18 #24078
    • ⬆️ Upgrade to Couchbase Client 3.0.10 #24079
    • ⬆️ Upgrade to Hibernate 5.4.23.Final #24080
    • ⬆️ Upgrade to Jetty 9.4.34.v20201102 #24046
    • ⬆️ Upgrade to jOOQ 3.13.6 #24081
    • ⬆️ Upgrade to Micrometer 1.5.7 #24050
    • ⬆️ Upgrade to Neo4j OGM 3.2.18 #24125
    • ⬆️ Upgrade to Netty 4.1.54.Final #24124
    • ⬆️ Upgrade to Reactor Dysprosium-SR14 #24109
    • ⬆️ Upgrade to Spring Framework 5.2.11 #24034
    • ⬆️ Upgrade to Spring Integration 5.3.4 #24096
    • 🚀 Upgrade to Spring Kafka 2.5.8.RELEASE #24075

    🍱 ❤️ Contributors

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

  • v2.3.5.RELEASE Changes

    October 29, 2020

    🍱 🐞 Bug Fixes

    • 🔧 Configuration property annotation processor does not notice overriding getter methods #23969
    • 📇 Incremental compilation does not keep metadata for inner classes #23959
    • ✅ HttpEncodingAutoConfiguration is not added to the WebMvcTest slice #23813
    • Jar entries are duplicated in BOOT-INF/lib with layered jars and Maven #23801
    • ⏱ server.servlet.session.timeout not in effect when using Jetty starter without jakarta.annotation and javax.annotation #23750
    • If the JVM is killed while refresh is in progress, the shutdown hook does not close the context #23743
    • Setting server.undertow.eager-filter-init has no effect #23676
    • 🔧 @ConfigurationPropertiesBinding does not apply Formatter beans #23614
    • H2 Console error with AbstractRoutingDataSource #23569
    • When using embedded Jetty, an error response to a HEAD request has a body #23555
    • Custom layer definition does not pick up snapshots #23533
    • BootJar.getConfigurations() should not be public API #23527
    • Dependency management for Netty tcNative does not include its netty-tcnative module #23508
    • PropertiesLauncher requires spring-core on the classpath #23500
    • 0️⃣ Log4j's tag library doesn't work out of the box as log4j-*.jar is skipped by default #23481
    • ✅ Unexpected application context cache hit when testing with SpringBootTest webEnvironment MOCK and DEFINED_PORT #23477
    • 🔧 Log4j2 configuration is not picking up some properties #23428
    • 🔧 Flyway configuration ignores init-sqls when using spring.datasource.* properties #23408
    • 📜 Wildcard locations for configs causes files to be parsed multiple times on k8s #23160
    • 🔧 Datasource initialisation with JPA schema configured in deferred mode happens asynchronously #22852
    • 🏗 Maven plugin build-image creator step fails in Bitbucket pipelines #22840

    📔 Documentation

    • ✂ Remove version elements from Maven plugin documentation #23930
    • 🔧 Document how to enable h2c via programmatic configuration #23812
    • Note that using LiveReload requires Devtools restart to be enabled #23764
    • ➕ Add upgrading section to reference docs with a link to the wiki #23611
    • ➕ Add example of setting system property in gradle bootRun #23598
    • 📇 Update configuration metadata appendix to remove description for Gradle 4.5 and earlier as it is no longer supported #23567
    • 🛠 Fix typos in reference documentation and contributing guidelines #23561
    • 🛠 Fix link to Log4j's JDK Logging Adapter in reference documentation #23461
    • Revisit hint on using classpath* for retrieving templates #23452
    • 👍 Document support for Java 15 #23448
    • 🔧 Note the Kt class name suffix when describing how to configure a Kotlin application's main class name #23422
    • ➕ Add anchor links to section headers in Gradle and Maven plugin reference docs #23406
    • 🏗 Document how JAVA_OPTS can be used with the buildpack #21582
    • 📚 Maven layers documentation is incomplete #21555
    • 🔧 Document how to override attributes already specified in Maven plugin configuration #21536
    • ➕ Add example of default Cloud Native Buildpacks Builder #19967

    ⬆️ 🔨 Dependency Upgrades

    • ⬆️ Upgrade to Byte Buddy 1.10.17 #23865
    • ⬆️ Upgrade to Caffeine 2.8.6 #23866
    • ⬆️ Upgrade to Couchbase Client 3.0.9 #23867
    • ⬆️ Upgrade to Dropwizard Metrics 4.1.14 #23868
    • ⬆️ Upgrade to Hazelcast 3.12.10 #23869
    • ⬆️ Upgrade to Hibernate 5.4.22.Final #23870
    • ⬆️ Upgrade to Hibernate Validator 6.1.6.Final #23871
    • ⬆️ Upgrade to HttpClient 4.5.13 #23872
    • ⬆️ Upgrade to Jackson Bom 2.11.3 #23873
    • ⬆️ Upgrade to Jetty 9.4.33.v20201020 #23874
    • ⬆️ Upgrade to jOOQ 3.13.5 #23875
    • ⬆️ Upgrade to JUnit 4.13.1 #23876
    • ⬆️ Upgrade to JUnit Jupiter 5.6.3 #23915
    • 🚀 Upgrade to Lettuce 5.3.5.RELEASE #23922
    • ⬆️ Upgrade to Lombok 1.18.16 #23877
    • ⬆️ Upgrade to Micrometer 1.5.6 #23791
    • ⬆️ Upgrade to MySQL 8.0.22 #23878
    • ⬆️ Upgrade to Neo4j OGM 3.2.17 #23879
    • ⬆️ Upgrade to Netty 4.1.53.Final #23880
    • ⬆️ Upgrade to Postgresql 42.2.18 #23881
    • ⬆️ Upgrade to R2DBC Bom Arabba-SR8 #23882
    • ⬆️ Upgrade to Reactor Dysprosium-SR13 #23770
    • ⬆️ Upgrade to RSocket 1.0.3 #23911
    • ⬆️ Upgrade to RxJava2 2.2.20 #23883
    • ⬆️ Upgrade to Spring AMQP 2.2.12 #23784
    • ⬆️ Upgrade to Spring Data Neumann-SR5 #23777
    • ⬆️ Upgrade to Spring Framework 5.2.10 #23526
    • ⬆️ Upgrade to Spring Integration 5.3.3 #23780
    • ⬆️ Upgrade to Spring Kafka 2.5.7 #23787
    • 🚀 Upgrade to Spring Security 5.3.5.RELEASE #23884
    • ⬆️ Upgrade to Tomcat 9.0.39 #23885

    🍱 ❤️ Contributors

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

  • v2.3.4.RELEASE Changes

    September 17, 2020

    🍱 🐞 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.3.3.RELEASE Changes

    August 13, 2020

    🍱 ⭐ 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
    • 0️⃣ 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!