Skip to content

Releases: spring-projects/spring-boot

v2.2.12.RELEASE

10 Dec 18:02
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Redis health indicator requests more information than it needs resulting in unnecessarily large responses from Redis #24208
  • elasticsearch-rest-client-sniffer is missing from the dependency management for Elasticsearch's REST client modules #24173
  • WebFluxTags performs unnecessary Pattern compilation when ignoring trailing slashes #24147
  • Actuator web endpoints cannot respond with custom HTTP status codes when running on MVC or WebFlux #24123
  • Missing Spring Integration metrics due to the MeterRegistry bean being looked for before it has been defined #24095
  • Configuration property binding processes JavaBean methods in a non-deterministic order which may result in variable behavior #24068
  • 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 #24041
  • Configuration metadata annotation processor may use the wrong accessor for boolean properties #24002
  • TestTypeExcludeFilter does not implement hashCode and equals as required by its super-class #23978
  • Configuration property annotation processor does not notice overriding getter methods #23966
  • Our auto-configuration should not use @PostConstruct as it's ignored on Java 11+ without a dependency on jakarta-annotation-api #23723
  • JdbcStoreTypeConfiguration picks transaction of primary data source when Quartz data source is not the primary data source #20184
  • @DataJpaTest using H2 with schema.sql and spring.datasource.schema-username fails #19321

📔 Documentation

  • Document how to use Devtools without an IDE #24271
  • Add link to appendix from error handling documentation #24265
  • Fix link to Flyway callback docs #24119
  • Provide more details about overriding SpringPhysicalNamingStrategy's case insensitive flag #24045
  • Clarify the javadoc of AutoConfigureTestDatabase to make it clearer that it only replaces the main DataSource #23808
  • Security properties appendix contains spring.session and spring.ldap properties that belong elsewhere #23558
  • Improve Spring Session back off documentation #23151
  • Clarify documentation regarding relaxed binding of environment variables #22974
  • Recommend that bean definitions provide as much type information as possible #22925
  • Recommend disabling context path redirects when using proxy-terminated SSL with Tomcat #22908
  • Enhance spring.datasource.initialization-mode property description #21121

🔨 Dependency Upgrades

  • Upgrade to Activemq 5.15.14 #24434
  • Upgrade to Appengine Sdk 1.9.83 #24354
  • Upgrade to Byte Buddy 1.10.18 #24358
  • Upgrade to Caffeine 2.8.8 #24430
  • Upgrade to Couchbase Client 2.7.18 #24351
  • Upgrade to Db2 Jdbc 11.5.5.0 #24355
  • Upgrade to Dropwizard Metrics 4.1.16 #24356
  • Upgrade to Groovy 2.5.14 #24361
  • Upgrade to Hibernate 5.4.25.Final #24363
  • Upgrade to Httpcore 4.4.14 #24359
  • Upgrade to Infinispan 9.4.21.Final #24364
  • Upgrade to Jackson 2.10.5.20201202 #24352
  • Upgrade to Jetty 9.4.35.v20201120 #24362
  • Upgrade to Micrometer 1.3.16 #24279
  • Upgrade to Neo4j Ogm 3.2.18 #24365
  • Upgrade to Netty 4.1.55.Final #24431
  • Upgrade to Netty Tcnative 2.0.35.Final #24432
  • Upgrade to Reactor Dysprosium-SR15 #24273
  • Upgrade to Spring AMQP 2.2.13 #24286
  • Upgrade to Spring Batch 4.2.5 #24289
  • Upgrade to Spring Data Moore-SR12 #24282
  • Upgrade to Spring Framework 5.2.12 #24276
  • Upgrade to Spring Integration 5.2.10 #24429
  • Upgrade to Spring Kafka 2.3.13 #24292
  • Upgrade to Spring Security 5.2.8.RELEASE #24366
  • Upgrade to Tomcat 9.0.41 #24435
  • Upgrade to Undertow 2.0.33.Final #24433

❤️ Contributors

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

v2.4.0

12 Nov 16:35
Compare
Choose a tag to compare

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

12 Nov 09:43
Compare
Choose a tag to compare

🪲 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.4.0-RC1

30 Oct 01:28
Compare
Choose a tag to compare
v2.4.0-RC1 Pre-release
Pre-release

⭐ 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](https://...
Read more

v2.3.5.RELEASE

29 Oct 23:12
Compare
Choose a tag to compare

🪲 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
  • 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.2.11.RELEASE

29 Oct 15:20
Compare
Choose a tag to compare

🪲 Bug Fixes

  • HttpEncodingAutoConfiguration is not added to the WebMvcTest slice #23749
  • server.servlet.session.timeout not in effect when using Jetty starter without jakarta.annotation and javax.annotation #23716
  • Setting server.undertow.eager-filter-init has no effect #23675
  • If the JVM is killed while refresh is in progress, the shutdown hook does not close the context #23625
  • @ConfigurationPropertiesBinding does not apply Formatter beans #23613
  • H2 Console error with AbstractRoutingDataSource #23566
  • When using embedded Jetty, an error response to a HEAD request has a body #23551
  • Dependency management for Netty tcNative does not include its netty-tcnative module #23502
  • PropertiesLauncher requires spring-core on the classpath #23474
  • Flyway configuration ignores init-sqls when using spring.datasource.* properties #23392
  • Log4j's tag library doesn't work out of the box as log4j-*.jar is skipped by default #23302
  • Unexpected application context cache hit when testing with SpringBootTest webEnvironment MOCK and DEFINED_PORT #23085
  • Log4j2 configuration is not picking up some properties #22983
  • Incremental compilation does not keep metadata for inner classes #10886

📔 Documentation

  • Remove version elements from Maven plugin documentation #23909
  • Note that using LiveReload requires Devtools restart to be enabled #23755
  • Add upgrading section to reference docs with a link to the wiki #23610
  • Add example of setting system property in gradle bootRun #23578
  • Update configuration metadata appendix to remove description for Gradle 4.5 and earlier as it is no longer supported #23562
  • Fix link to Log4j's JDK Logging Adapter in reference documentation #23459
  • Document support for Java 15 #23447
  • Note the Kt class name suffix when describing how to configure a Kotlin application's main class name #23418
  • Add anchor links to section headers in Gradle plugin reference docs #23402
  • Revisit hint on using classpath* for retrieving templates #23068
  • Document how to enable h2c via programmatic configuration #21997

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.10.17 #23852
  • Upgrade to Caffeine 2.8.6 #23844
  • Upgrade to Dropwizard Metrics 4.1.14 #23846
  • Upgrade to Elasticsearch 6.8.13 #23856
  • Upgrade to Hazelcast 3.12.10 #23845
  • Upgrade to Hibernate 5.4.22.Final #23857
  • Upgrade to Hibernate Validator 6.0.21.Final #23858
  • Upgrade to Httpclient 4.5.13 #23853
  • Upgrade to Jetty 9.4.33.v20201020 #23855
  • Upgrade to Joda Time 2.10.8 #23850
  • Upgrade to Lombok 1.18.16 #23861
  • Upgrade to Micrometer 1.3.15 #23790
  • Upgrade to Mysql 8.0.22 #23851
  • Upgrade to Neo4j Ogm 3.2.17 #23859
  • Upgrade to Netty 4.1.53.Final #23847
  • Upgrade to Postgresql 42.2.18 #23860
  • Upgrade to Reactor Dysprosium-SR13 #23769
  • Upgrade to RSocket 1.0.3 #23910
  • Upgrade to Rxjava2 2.2.20 #23848
  • Upgrade to Spring AMQP 2.2.12 #23783
  • Upgrade to Spring Data Moore-SR11 #23776
  • Upgrade to Spring Framework 5.2.10 #23773
  • Upgrade to Spring Integration 5.2.9 #23956
  • Upgrade to Spring Kafka 2.3.12 #23786
  • Upgrade to Spring Security 5.2.7.RELEASE #23862
  • Upgrade to Tomcat 9.0.39 #23854
  • Upgrade to Undertow 2.0.32.Final #23849

❤️ Contributors

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

v2.1.18.RELEASE

29 Oct 12:43
Compare
Choose a tag to compare

🪲 Bug Fixes

  • @ConfigurationPropertiesBinding does not apply Formatter beans #23576

📔 Documentation

  • Add upgrading section to reference docs with a link to the wiki #23529

🔨 Dependency Upgrades

  • Upgrade to Hibernate Validator 6.0.21.Final #23840
  • Upgrade to Httpclient 4.5.13 #23837
  • Upgrade to Jetty 9.4.33.v20201020 #23839
  • Upgrade to Joda Time 2.10.8 #23835
  • Upgrade to Lombok 1.18.16 #23842
  • Upgrade to Micrometer 1.1.19 #23789
  • Upgrade to Mysql 8.0.22 #23836
  • Upgrade to Netty 4.1.53.Final #23832
  • Upgrade to Postgresql 42.2.18 #23841
  • Upgrade to Reactor Californium-SR22 #23792
  • Upgrade to Rxjava2 2.2.20 #23833
  • Upgrade to Spring Data Lovelace-SR21 #23775
  • Upgrade to Spring Framework 5.1.19 #23772
  • Upgrade to Spring Integration 5.1.13 #23798
  • Upgrade to Spring Security 5.1.13.RELEASE #23843
  • Upgrade to Tomcat 9.0.39 #23838
  • Upgrade to Undertow 2.0.32.Final #23834

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!