Skip to content

Releases: spring-projects/spring-boot

v3.5.0-M2

20 Feb 20:41
Compare
Choose a tag to compare
v3.5.0-M2 Pre-release
Pre-release

⭐ New Features

  • Remove deprecated micrometer.observations.annotations.enabled #44320
  • Auto-configure CqlTemplate and ReactiveCqlTemplate #44291
  • Auto-configure an ObjectDirectoryMapper bean and configure LdapTemplate to use it #44290
  • Add TWENTY_FOUR to JavaVersion enum #44210
  • Add property to configure Spring Kafka's authExceptionRetryInterval #44199
  • Rename management.server.accesslog.prefix to make is clear that it does not affect Netty #44196
  • Mappings Endpoint support web-servlet router funtion #44172
  • Add property to configure Spring MVC default content types #44040
  • ConversionServiceDeducer should detect more bean types and support lambdas #44018
  • Add 'spring.r2dbc.pool.acquire-retry' property #44017
  • Ignore unbindable DataSource properties #43988
  • Deprecate SignalFX support #43962
  • Use isXxx() instead of getXxx() for boolean property #43934
  • Register Logback OnErrorConsoleStatusListener when using custom Logback file #43931
  • Update PrometheusPushGatewayManager to use the new Prometheus client #43923
  • Allow stacktrace processing when using structured logging #43864
  • Auto-configure VirtualThreadMetrics #43852
  • Remove usage of java.home system property in native image #43517
  • Add support for multiple StructuredLoggingJsonMembersCustomizers #43368
  • Add the ability to trigger a Quartz job on-demand through an Actuator endpoint #43086
  • Make it easier to provide custom TrustManagers in SslManagerBundle #43064
  • Support loading config files (YAML and properties) embedded in env vars via spring.config.import #41609
  • Consider how to provide SSL from ConnectionDetails #41137
  • Write TraceId in HTTP Response headers #40857
  • Make it easier to add a SanitizingFunction to mask properties with specific names #39243
  • Provide a configuration property for configuring an external jOOQ settings file #38778
  • Add ability to match Endpoint requests by HTTP method #29596
  • Add ConditionalOnBean support for generic @Bean return types #29500
  • Support lambda based converters by parsing bean method signature generics #22885
  • Make @ConditionalOnProperty and @ConditionalOnBooleanProperty @Repeatable #2541
  • Provide a mechanism to hide properties in the metadata #2421

🐞 Bug Fixes

  • Console output may be lost when using Log4j2 with something that replaces System.out #44381
  • Maven plugin does not consistently use ArgFile for classpath argument on Windows #44329
  • Non-default DataSource candidates are not considered in H2ConsoleAutoConfiguration #44322
  • Reactive Jetty web server does not fail fast when configured to use a server name bundle which Jetty does not support #44321
  • When web server application context refresh fails, the original failure is lost if stopping or destroying the web server throws an exception #44318
  • View resolver for Thymeleaf should back off if spring-webmvc is not present #44297
  • WebServer is not destroyed when ReactiveWebServerApplicationContext refresh fails #44295
  • Banner placeholder and defaults do not work during development #44256
  • Metrics and health do not include non-default candidate beans #44248
  • Reactive Jetty, Tomcat, and Undertow management servers do not apply management_ prefix to their access logs #44197
  • Mustache templates return with ISO-8859-1 charset rather than UTF-8 in Content-Type response header #44194
  • java.lang.ClassCastException when using default management security with WebFlux and health probes enabled #44192
  • Servlet EndpointRequest doesn't match web server namespace correctly #44190
  • Logback configuration that relies on inner-classes does not work in a native image #44026
  • IllegalStateException: Unable to register SSL bundle after 3.3.8 or 3.4.2 #43990

📔 Documentation

  • Document that auto-configuration classes should be identified using their binary names #44304
  • Correct typo in MVC security when explaining when UserDetailsService auto-configuration will back off #44302
  • Link to JarLauncher's javadoc #44171
  • When using observability annotations, recommend that care is taken to avoid double instrumentation #44146
  • Fix typo in Running Your Application #44036
  • Document Kubernetes preStop handler when using a Docker image without a shell #44023
  • Source snippet in Developing Your First Spring Boot Application section uses the root package #43984
  • Correct the location of MyApplication.java in "Developing Your First Spring Boot Application" #43976
  • Add links to Jackson Javadoc #43972
  • Warn that some Quartz database schema scripts must be modified before use #43959

🔨 Dependency Upgrades

  • Upgrade to Brave 6.1.0 #44335
  • Upgrade to Byte Buddy 1.17.1 #44282
  • Upgrade to Cassandra Driver 4.19.0 #44270
  • Upgrade to Commons Codec 1.18.0 #44073
  • Upgrade to Commons Pool2 2.12.1 #44074
  • Upgrade to Couchbase Client 3.7.8 #44271
  • Upgrade to DB2 JDBC 12.1.0.0 #44075
  • Upgrade to Elasticsearch Client 8.17.2 #44226
  • Upgrade to Flyway 11.3.3 #44371
  • Upgrade to Groovy 4.0.25 #44078
  • Upgrade to Gson 2.12.1 #44079
  • Upgrade to Hamcrest 3.0 #44080
  • Upgrade to Hibernate 6.6.8.Final #44336
  • Upgrade to HttpClient5 5.4.2 #44082
  • Upgrade to HttpCore5 5.3.3 #44083
  • Upgrade to Infinispan 15.1.5.Final #44084
  • Upgrade to Json-smart 2.5.2 #44238
  • Upgrade to Lettuce 6.5.4.RELEASE [#44373](https://github.com/...
Read more

v3.4.3

20 Feb 16:01
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_FOUR to JavaVersion enum #44209

🐞 Bug Fixes

  • Console output may be lost when using Log4j2 with something that replaces System.out #44380
  • Maven plugin does not consistently use ArgFile for classpath argument on Windows #44328
  • Reactive Jetty web server does not fail fast when configured to use a server name bundle which Jetty does not support #44319
  • When web server application context refresh fails, the original failure is lost if stopping or destroying the web server throws an exception #44317
  • View resolver for Thymeleaf should back off if spring-webmvc is not present #44296
  • WebServer is not destroyed when ReactiveWebServerApplicationContext refresh fails #44294
  • Non-default DataSource candidates are not considered in H2ConsoleAutoConfiguration #44293
  • Banner placeholder and defaults do not work during development #44255
  • Mustache templates return with ISO-8859-1 charset rather than UTF-8 in Content-Type response header #44193
  • Servlet EndpointRequest doesn't match web server namespace correctly #44188
  • java.lang.ClassCastException when using default management security with WebFlux and health probes enabled #44052
  • Logback configuration that relies on inner-classes does not work in a native image #44025
  • IllegalStateException: Unable to register SSL bundle after 3.3.8 or 3.4.2 #43989
  • Metrics and health do not include non-default candidate beans #43481

📔 Documentation

  • Document that auto-configuration classes should be identified using their binary names #44303
  • Correct typo in MVC security when explaining when UserDetailsService auto-configuration will back off #44301
  • Link to JarLauncher's javadoc #44170
  • When using observability annotations, recommend that care is taken to avoid double instrumentation #44145
  • Fix typo in Running Your Application #44035
  • Document Kubernetes preStop handler when using a Docker image without a shell #44022
  • Source snippet in Developing Your First Spring Boot Application section uses the root package #43983
  • Correct the location of MyApplication.java in "Developing Your First Spring Boot Application" #43975
  • Add links to Jackson Javadoc #43971
  • Warn that some Quartz database schema scripts must be modified before use #43958

🔨 Dependency Upgrades

  • Upgrade to Commons Pool2 2.12.1 #44173
  • Upgrade to Couchbase Client 3.7.8 #44269
  • Upgrade to Groovy 4.0.25 #44174
  • Upgrade to Hibernate 6.6.8.Final #44332
  • Upgrade to HttpClient5 5.4.2 #44176
  • Upgrade to HttpCore5 5.3.3 #44177
  • Upgrade to Infinispan 15.0.13.Final #44178
  • Upgrade to jOOQ 3.19.19 #44368
  • Upgrade to Json-smart 2.5.2 #44264
  • Upgrade to Maven Clean Plugin 3.4.1 #44349
  • Upgrade to Micrometer 1.14.4 #44115
  • Upgrade to Micrometer Tracing 1.4.3 #44116
  • Upgrade to Native Build Tools Plugin 0.10.5 #44179
  • Upgrade to Neo4j Java Driver 5.28.1 #44195
  • Upgrade to Netty 4.1.118.Final #44221
  • Upgrade to Prometheus Client 1.3.6 #44280
  • Upgrade to R2DBC MySQL 1.3.2 #44180
  • Upgrade to Reactor Bom 2024.0.3 #44117
  • Upgrade to REST Assured 5.5.1 #44281
  • Upgrade to RSocket 1.1.5 #44181
  • Upgrade to Spring AMQP 3.2.3 #44278
  • Upgrade to Spring Authorization Server 1.4.2 #44118
  • Upgrade to Spring Data Bom 2024.1.3 #44119
  • Upgrade to Spring Framework 6.2.3 #44120
  • Upgrade to Spring GraphQL 1.3.4 #44121
  • Upgrade to Spring Integration 6.4.2 #44122
  • Upgrade to Spring Kafka 3.3.3 #44123
  • Upgrade to Spring LDAP 3.2.11 #44124
  • Upgrade to Spring Pulsar 1.2.3 #44125
  • Upgrade to Spring Security 6.4.3 #44126
  • Upgrade to Spring Session 3.4.2 #44127
  • Upgrade to Testcontainers 1.20.5 #44369
  • Upgrade to Testcontainers Redis Module 2.2.4 #44370
  • Upgrade to Tomcat 10.1.36 #44333

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Ru311, @ashishkujoy, @izeye, @jearton, @ngocnhan-tran1996, @nosan, @quaff, and @timotheeandres

v3.3.9

20 Feb 11:16
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Reactive Jetty web server does not fail fast when configured to use a server name bundle which Jetty does not support #44316
  • When web server application context refresh fails, the original failure is lost if stopping or destroying the web server throws an exception #44310
  • Maven plugin does not consistently use ArgFile for classpath argument on Windows #44305
  • View resolver for Thymeleaf should back off if spring-webmvc is not present #44259
  • Banner placeholder and defaults do not work during development #44137
  • WebServer is not destroyed when ReactiveWebServerApplicationContext refresh fails #44134
  • Mustache templates return with ISO-8859-1 charset rather than UTF-8 in Content-Type response header #44053
  • Logback configuration that relies on inner-classes does not work in a native image #44021
  • IllegalStateException: Unable to register SSL bundle after 3.3.8 or 3.4.2 #43966

📔 Documentation

  • Document that auto-configuration classes should be identified using their binary names #44298
  • Correct typo in MVC security when explaining when UserDetailsService auto-configuration will back off #44267
  • Link to JarLauncher's javadoc #44168
  • When using observability annotations, recommend that care is taken to avoid double instrumentation #44037
  • Fix typo in Running Your Application #44032
  • Source snippet in Developing Your First Spring Boot Application section uses the root package #43982
  • Correct the location of MyApplication.java in "Developing Your First Spring Boot Application" #43965
  • Add links to Jackson Javadoc #43961
  • Warn that some Quartz database schema scripts must be modified before use #43955
  • Document Kubernetes preStop handler when using a Docker image without a shell #43830

🔨 Dependency Upgrades

  • Upgrade to Commons Pool2 2.12.1 #44138
  • Upgrade to Groovy 4.0.25 #44139
  • Upgrade to Infinispan 15.0.13.Final #44140
  • Upgrade to jOOQ 3.19.19 #44367
  • Upgrade to Json-smart 2.5.2 #44263
  • Upgrade to Micrometer 1.13.11 #44102
  • Upgrade to Micrometer Tracing 1.3.9 #44103
  • Upgrade to Native Build Tools Plugin 0.10.5 #44141
  • Upgrade to Netty 4.1.118.Final #44218
  • Upgrade to Reactor Bom 2023.0.15 #44104
  • Upgrade to RSocket 1.1.5 #44041
  • Upgrade to Spring AMQP 3.1.9 #44277
  • Upgrade to Spring Authorization Server 1.3.5 #44105
  • Upgrade to Spring Data Bom 2024.0.9 #44106
  • Upgrade to Spring Framework 6.1.17 #44107
  • Upgrade to Spring GraphQL 1.3.4 #44108
  • Upgrade to Spring Integration 6.3.8 #44109
  • Upgrade to Spring Kafka 3.2.7 #44110
  • Upgrade to Spring LDAP 3.2.11 #44111
  • Upgrade to Spring Pulsar 1.1.9 #44112
  • Upgrade to Spring Security 6.3.7 #44113
  • Upgrade to Spring Session 3.3.6 #44114
  • Upgrade to Tomcat 10.1.36 #44331

❤️ Contributors

Thank you to all the contributors who worked on this release:

@Ru311, @ashishkujoy, @izeye, @jearton, @ngocnhan-tran1996, @nosan, and @timotheeandres

v3.5.0-M1

23 Jan 17:10
Compare
Choose a tag to compare
v3.5.0-M1 Pre-release
Pre-release

⭐ New Features

  • Add spring.validation.method.adapt-constraint-violations property #43886
  • Add support for configuring the Redis database using spring.data.redis.url #43813
  • Add support for detecting AWS Advanced JDBC Wrapper to DatabaseDriver #43812
  • Remove APIs that were deprecated for removal in 3.5 #43788
  • Switch relevant Assert calls to throw IllegalStateException rather than IllegalArgumentException #43779
  • Add support for ALLOW_EMPTY_PASSWORD when using bitnami/postgresql with Docker Compose #43771
  • Add marker information to ECS structured logging #43768
  • Deprecate ConditionOutcome.inverse() #43739
  • Introduce dedicated annotation to deal with boolean property conditions #43704
  • DataSourceTransactionManagerAutoConfiguration should not enable DataSourceProperties as it does not use them #43603
  • Add info contributor support for JDK 24's VirtualThreadSchedulerMXBean #43594
  • Logback StructuredLogFormatter exceptions are not visible to the user #43575
  • Use SQLExceptionTranslator bean if defined #43511
  • Allow specifying a different management access log prefix #43434
  • Ensure DefaultErrorAttributes adds JSON serialization safe errors #43330
  • Add a configuration property to customize the Tomcat connector's max parameter count #43286
  • Add TaskDecorator support for scheduled tasks #43190
  • Tighten rules around profile naming #43176
  • Make ZipkinHttpClientSender the default BytesMessageSender #43085
  • Add support for Vibur DBCP connection pool to DataSourceBuilder #42903
  • JacksonAutoConfiguration should retain modules registered in Jackson2ObjectMapperBuilderCustomizer with higher precedence rather than overwriting them #42836
  • Stop publishing spring-boot-parent #42828
  • Add spring.data.redis.lettuce.read-from property #42588
  • Configure specific GraphQL schema files #42792
  • Auto-configure the Postgres application_name when using Docker Compose #42460
  • Expose SslBundle information via actuator metrics #42030
  • GraphQL auto-configuration should not back off when existing GraphQlSource bean #33096

🐞 Bug Fixes

  • Property metadata for "logging.structured.json.customizer" has incorrect type #43921
  • Structured logging properties have no effect in a native image #43913
  • GraylogExtendedLogFormatProperties throws NullPointerException when only 'logging.structured.gelf.host' is specified #43880
  • NoClassDefFoundError when using JUnit to test a Gradle 7.6.x app that depends on spring-boot-actuator-autoconfigure but not on org.junit.platform:junit-platform-launcher #43870
  • Docker Compose support for ClickHouse does not allow an empty password when ALLOW_EMPTY_PASSWORD=yes #43831
  • Spring Boot 3.4 is not compatible with Gson 2.10 #43818
  • docker compose ps now fails due to unknown --orphans flag with 2.23 or earlier #43718
  • CapturedOutput is empty when using Log4J2 StatusLogger #43707
  • Several auto-configurations are creating JMX beans unnecessarily #43706

📔 Documentation

  • Document that the @ConfigurationProperties annotation processor cannot generate description and defaultValue metadata for external types #43930
  • Fix description of management.metrics.graphql.autotime.enabled #43906
  • Document that support for clean on validation error has been removed in Flyway 11 #43890
  • Document 'base64:' prefix support #43836
  • Document handling of @Fallback beans in ConditionalOnSingleCandidate's javadoc #43834
  • Javadoc of DataSourceBuilder does not reference all supported types #43733
  • Document that system libraries are a reason to customize the builder and switch away from builder-jammy-java-tiny #43731
  • Update OpenTelemetry section in Supported Monitoring Systems to refer to OTLP instead #43730
  • Consistently document the minimum supported versions of Gradle #43726
  • Make application main class explicit in usage help of SpringApplicationAotProcessor #43614

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.5 #43795
  • Upgrade to Artemis 2.39.0 #43666
  • Upgrade to AssertJ 3.27.3 #43667
  • Upgrade to Byte Buddy 1.16.1 #43892
  • Upgrade to Caffeine 3.2.0 #43893
  • Upgrade to Commons Codec 1.17.2 #43796
  • Upgrade to Commons DBCP2 2.13.0 #43668
  • Upgrade to Couchbase Client 3.7.7 #43853
  • Upgrade to Flyway 11.2.0 #43894
  • Upgrade to FreeMarker 2.3.34 #43671
  • Upgrade to Hibernate 6.6.5.Final #43895
  • Upgrade to HikariCP 6.2.1 #43672
  • Upgrade to HtmlUnit 4.9.0 #43942
  • Upgrade to HttpCore5 5.3.2 #43801
  • Upgrade to Infinispan 15.1.4.Final #43914
  • Upgrade to Jaybird 6.0.0 #43675
  • Upgrade to Jersey 3.1.10 #43803
  • Upgrade to jOOQ 3.19.18 #43854
  • Upgrade to Kafka 3.9.0 #43676
  • Upgrade to Lettuce 6.5.2.RELEASE #43677
  • Upgrade to Liquibase 4.31.0 #43896
  • Upgrade to Logback 1.5.16 #43679
  • Upgrade to MariaDB 3.5.1 #43680
  • Upgrade to Maven Invoker Plugin 3.9.0 #43681
  • Upgrade to Maven Javadoc Plugin 3.11.2 #43682
  • Upgrade to Micrometer 1.15.0-M1 #43757
  • Upgrade to Micrometer Tracing 1.5.0-M1 #43758
  • Upgrade to Mockito 5.15.2 #43683
  • Upgrade to MySQL 9.2.0 #43915
  • Upgrade to Netty 4.1.117.Final #43855
  • Upgrade to OpenTelemetry 1.46.0 #43805
  • Upgrade to Oracle Database 23.6.0.24.10 [#43686](https://github.co...
Read more

v3.4.2

23 Jan 13:22
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Property metadata for "logging.structured.json.customizer" has incorrect type #43916
  • GraylogExtendedLogFormatProperties throws NullPointerException when only 'logging.structured.gelf.host' is specified #43863
  • Structured logging properties have no effect in a native image #43862
  • Docker Compose support for ClickHouse does not allow an empty password when ALLOW_EMPTY_PASSWORD=yes #43790
  • docker compose ps now fails due to unknown --orphans flag with 2.23 or earlier #43717
  • Build info timestamp is truncated to seconds #43617
  • FileWatcher used for SSL reload does not support symlinks #43604
  • BindableRuntimeHintsRegistrar should handle TypeNotPresentException #43600
  • CapturedOutput is empty when using Log4J2 StatusLogger #43578
  • Spring Boot 3.4 is not compatible with Gson 2.10 #43442
  • NoClassDefFoundError when using JUnit to test a Gradle 7.6.x app that depends on spring-boot-actuator-autoconfigure but not on org.junit.platform:junit-platform-launcher #43340

📔 Documentation

  • Document that the @ConfigurationProperties annotation processor cannot generate description and defaultValue metadata for external types #43929
  • Fix description of management.metrics.graphql.autotime.enabled #43905
  • Document 'base64:' prefix support #43835
  • Document handling of @Fallback beans in ConditionalOnSingleCandidate's javadoc #43826
  • Javadoc of DataSourceBuilder does not reference all supported types #43732
  • Update OpenTelemetry section in Supported Monitoring Systems to refer to OTLP instead #43729
  • Consistently document the minimum supported versions of Gradle #43725
  • Document that system libraries are a reason to customize the builder and switch away from builder-jammy-java-tiny #43716
  • Links to the Javadoc of Jakarta Messaging are invalid #43662
  • Paragraph HTML tags are rendered as-is in Maven Plugin reference documentation #43623
  • Javadoc link for jakarta.xml.bind is invalid #43607
  • Documentation still has references to 'layertools' #43605
  • Javadoc of ConstructorBinding should not use markdown formatting #43599
  • Managed Dependency Coordinates lists Spock and OkHttp dependencies that are not managed #43584

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.5 #43791
  • Upgrade to Commons Codec 1.17.2 #43720
  • Upgrade to Couchbase Client 3.7.7 #43843
  • Upgrade to FreeMarker 2.3.34 #43721
  • Upgrade to Hibernate 6.6.5.Final #43910
  • Upgrade to HttpCore5 5.3.2 #43792
  • Upgrade to Infinispan 15.0.12.Final #43911
  • Upgrade to Jersey 3.1.10 #43793
  • Upgrade to jOOQ 3.19.18 #43844
  • Upgrade to Lettuce 6.4.2.RELEASE #43609
  • Upgrade to Logback 1.5.16 #43715
  • Upgrade to Micrometer 1.14.3 #43745
  • Upgrade to Micrometer Tracing 1.4.2 #43746
  • Upgrade to Netty 4.1.117.Final #43845
  • Upgrade to Postgresql 42.7.5 #43846
  • Upgrade to Pulsar 3.3.4 #43912
  • Upgrade to R2DBC MySQL 1.3.1 #43722
  • Upgrade to Reactor Bom 2024.0.2 #43747
  • Upgrade to Spring AMQP 3.2.2 #43748
  • Upgrade to Spring Data Bom 2024.1.2 #43749
  • Upgrade to Spring Framework 6.2.2 #43750
  • Upgrade to Spring Kafka 3.3.2 #43751
  • Upgrade to Spring Pulsar 1.2.2 #43752
  • Upgrade to SQLite JDBC 3.47.2.0 #43723

❤️ Contributors

Thank you to all the contributors who worked on this release:

@arefbehboudi, @dreis2211, @gavarava, @hezean, @izeye, @jxblum, @ngocnhan-tran1996, @nosan, @quaff, and @tmaciejewski

v3.3.8

23 Jan 10:01
Compare
Choose a tag to compare

🐞 Bug Fixes

  • POSTGRESQL_USERNAME and POSTGRESQL_DATABASE are ignored when using the Bitnami PostgreSQL image with Docker Compose #43787
  • docker compose ps now fails due to unknown --orphans flag with 2.23 or earlier #43710
  • Build info timestamp is truncated to seconds #43612
  • FileWatcher used for SSL reload does not support symlinks #43586
  • BindableRuntimeHintsRegistrar should handle TypeNotPresentException #43598

📔 Documentation

  • Document that the @ConfigurationProperties annotation processor cannot generate description and defaultValue metadata for external types #43925
  • Fix description of management.metrics.graphql.autotime.enabled #43904
  • Document 'base64:' prefix support #43809
  • Update OpenTelemetry section in Supported Monitoring Systems to refer to OTLP instead #43727
  • Javadoc of DataSourceBuilder does not reference all supported types #43724
  • Links to the Javadoc of Jakarta Messaging are invalid #43661
  • Paragraph HTML tags are rendered as-is in Maven Plugin reference documentation #43622
  • Javadoc link for jakarta.xml.bind is invalid #43606
  • Documentation still has references to 'layertools' #43601
  • Javadoc of ConstructorBinding should not use markdown formatting #43590

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.5 #43799
  • Upgrade to FreeMarker 2.3.34 #43719
  • Upgrade to Infinispan 15.0.12.Final #43909
  • Upgrade to Jersey 3.1.10 #43800
  • Upgrade to jOOQ 3.19.18 #43840
  • Upgrade to Logback 1.5.16 #43568
  • Upgrade to Micrometer 1.13.10 #43740
  • Upgrade to Micrometer Tracing 1.3.8 #43741
  • Upgrade to Netty 4.1.117.Final #43841
  • Upgrade to Postgresql 42.7.5 #43842
  • Upgrade to Reactor Bom 2023.0.14 #43742
  • Upgrade to Spring Data Bom 2024.0.8 #43743
  • Upgrade to Spring Pulsar 1.1.8 #43744

❤️ Contributors

Thank you to all the contributors who worked on this release:

@arefbehboudi, @dreis2211, @gavarava, @hezean, @izeye, @jxblum, @ngocnhan-tran1996, @quaff, and @tmaciejewski

v3.4.1

19 Dec 13:53
Compare
Choose a tag to compare

🐞 Bug Fixes

  • KafkaProperties fail to build SSL properties when the bundle name is an empty string #43563
  • Diagnostics are poor when property resolution throws a ConversionFailedException #43559
  • SpringApplicationShutdownHandlers do not run in deterministic order #43536
  • Unable to find a @SpringBootConfiguration results in misleading error message #43507
  • With multiple ResourceHandlerRegistrationCustomizer beans in the context, only one of them is used #43497
  • Unable to use Docker Compose support when mixing dedicated and shared services #43472
  • Kafka dependency management does not include the kafka-server module #43454
  • Docker API version is incorrectly reported when '/_ping` calls fail and version should be fixed #43452
  • Methods to build producer / consumer properties from KafkaProperties are inconvienenent to use without an SSL bundle #43448
  • Failures in -Djarmode=tools do not consistently return a non-zero exit #43436
  • HttpComponentsClientHttpRequestFactoryBuilder replaces the existing defaultRequestConfigCustomizer rather than adding to it #43429
  • spring-boot-maven-plugin sets imagePlatform even if it's empty #43424
  • OnBeanCondition fails to match on annotations when using Scoped Proxies #43423
  • Failure analysis for InvalidConfigurationPropertyValueException doesn't correctly handle fuzzy matching of environment variables #43382
  • H2ConsoleAutoConfiguration causes early initialization of DataSource beans #43359
  • Accept progress on numbers >2GB #43356
  • Servlet-based UserDetailsServiceAutoConfiguration is active in a reactive app #43334
  • StructuredLoggingJsonMembersCustomizer implementations declared in spring.factories with a generic type more specific than Object are not called #43312
  • Overriding log level with an environment variable does not work when using an environment prefix #43307
  • Management endpoint access and enabled properties are ignored unless the endpoint ID is an exact match #43302
  • UnsupportedOperationException when starting a Maven shaded application on Java 21 with virtual threads enabled #43291
  • JmsListener failing with Narayana (pooled ConnectionFactory) since 3.4.0 #43277
  • SslBundle can no longer open store file locations without using a 'file:' prefix #43274
  • TestRestTemplate does not allow redirects to be customized #43258
  • Testcontainers start() methods may be started multiple times #43253

📔 Documentation

  • Fix typo in documentation #43558
  • Document that server.ssl.cipher and server.ssl.enabled-protocols are not fallbacks used with SSL bundles #43552
  • Use <annotationProcessorPaths> in Maven examples for configuring an annotation processor #43544
  • Fix typo #43519
  • Links to logback javadoc are incorrect #43456
  • Fix JUnit javadoc links #43428
  • Reference documentation incorrectly uses 'disabled' rather than 'none' for access restrictions #43351
  • Restore System property in Logging section of the reference documentation #43342
  • Fix link to proxyBeanMethods in @AutoConfiguration javadoc #43325
  • Fix links to Servlet and JPA javadoc #43324
  • Link to @EnableMethodSecurity instead of the deprecated @EnableGlobalMethodSecurity #43315
  • Document that StructuredLoggingJsonMembersCustomizer implementations may optionally take constructor parameters #43314
  • Update javadoc of StructuredLoggingJsonMembersCustomizer to note that implementations can registered through spring.factories #43313
  • Fix Javadoc link for Hikari #43311
  • Document how to use structured logging with custom log configuration #43301
  • Update Javadoc since for OtlpMetricsProperties and OtlpTracingProperties #43249

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.15.11 #43529
  • Upgrade to Couchbase Client 3.7.6 #43500
  • Upgrade to CycloneDX Maven Plugin 2.9.1 #43398
  • Upgrade to Dependency Management Plugin 1.1.7 #43543
  • Upgrade to Elasticsearch Client 8.15.5 #43399
  • Upgrade to Hibernate 6.6.4.Final #43566
  • Upgrade to Hibernate Validator 8.0.2.Final #43510
  • Upgrade to Jackson Bom 2.18.2 #43401
  • Upgrade to Jetty 12.0.16 #43488
  • Upgrade to jOOQ 3.19.16 #43468
  • Upgrade to JUnit Jupiter 5.11.4 #43530
  • Upgrade to Log4j2 2.24.3 #43501
  • Upgrade to Micrometer 1.14.2 #43408
  • Upgrade to Micrometer Tracing 1.4.1 #43409
  • Upgrade to Native Build Tools Plugin 0.10.4 #43403
  • Upgrade to Netty 4.1.116.Final #43548
  • Upgrade to Prometheus Client 1.3.5 #43503
  • Upgrade to Pulsar 3.3.3 #43405
  • Upgrade to Pulsar Reactive 0.5.10 #43539
  • Upgrade to Reactor Bom 2024.0.1 #43410
  • Upgrade to RxJava3 3.1.10 #43406
  • Upgrade to Spring AMQP 3.2.1 #43411
  • Upgrade to Spring Authorization Server 1.4.1 #43412
  • Upgrade to Spring Batch 5.2.1 #43477
  • Upgrade to Spring Data Bom 2024.1.1 #43413
  • Upgrade to Spring Framework 6.2.1 #43414
  • Upgrade to Spring HATEOAS 2.4.1 #43478
  • Upgrade to Spring Integration 6.4.1 #43415
  • Upgrade to Spring Kafka 3.3.1 #43416
  • Upgrade to Spring LDAP 3.2.10 #43417
  • Upgrade to Spring Pulsar 1.2.1 #43418
  • Upgrade to Spring Retry 2.0.11 #43486
  • Upgrade to Spring Security 6.4.2 #43419
  • Upgrade to Spring Session 3.4.1 #43420
  • Upgrade to SQLite JDBC 3.47.1.0 #43407
  • Upgrade to Thymeleaf 3.1.3.RELEASE [#43469](https://github.com/sp...
Read more

v3.3.7

19 Dec 11:09
Compare
Choose a tag to compare

🐞 Bug Fixes

  • KafkaProperties fail to build SSL properties when the bundle name is an empty string #43561
  • With multiple ResourceHandlerRegistrationCustomizer beans in the context, only one of them is used #43494
  • Kafka dependency management does not include the kafka-server module #43450
  • Failures in -Djarmode=tools do not consistently return a non-zero exit #43435
  • SpringApplicationShutdownHandlers do not run in deterministic order #43430
  • Failure analysis for InvalidConfigurationPropertyValueException doesn't correctly handle fuzzy matching of environment variables #43380
  • Diagnostics are poor when property resolution throws a ConversionFailedException #43378
  • Unable to find a @SpringBootConfiguration results in misleading error message #43357
  • H2ConsoleAutoConfiguration causes early initialization of DataSource beans #43337
  • Accept progress on numbers >2GB #43328
  • Overriding log level with an environment variable does not work when using an environment prefix #43304
  • Methods to build producer / consumer properties from KafkaProperties are inconvienenent to use without an SSL bundle #43300
  • UnsupportedOperationException when starting a Maven shaded application on Java 21 with virtual threads enabled #43284
  • Unable to use Docker Compose support when mixing dedicated and shared services #40139

📔 Documentation

  • Fix typo in documentation #43557
  • Fix typo #43512
  • Links to logback javadoc are incorrect #43439
  • Fix JUnit javadoc links #43383
  • Document that server.ssl.cipher and server.ssl.enabled-protocols are not fallbacks used with SSL bundles #43353
  • Restore System property in Logging section of the reference documentation #43341
  • Use <annotationProcessorPaths> in Maven examples for configuring an annotation processor #43329
  • Fix link to proxyBeanMethods in @AutoConfiguration javadoc #43323
  • Fix links to Servlet and JPA javadoc #43320
  • Link to @EnableMethodSecurity instead of the deprecated @EnableGlobalMethodSecurity #43308
  • Fix Javadoc link for Hikari #43305

🔨 Dependency Upgrades

  • Upgrade to Dependency Management Plugin 1.1.7 #43542
  • Upgrade to Hibernate Validator 8.0.2.Final #43509
  • Upgrade to Jetty 12.0.16 #43487
  • Upgrade to jOOQ 3.19.16 #43463
  • Upgrade to Kafka 3.7.2 #43502
  • Upgrade to Micrometer 1.13.9 #43388
  • Upgrade to Micrometer Tracing 1.3.7 #43389
  • Upgrade to Native Build Tools Plugin 0.10.4 #43385
  • Upgrade to Netty 4.1.116.Final #43549
  • Upgrade to Reactor Bom 2023.0.13 #43390
  • Upgrade to RxJava3 3.1.10 #43386
  • Upgrade to Spring Authorization Server 1.3.4 #43391
  • Upgrade to Spring Batch 5.1.3 #43474
  • Upgrade to Spring Data Bom 2024.0.7 #43392
  • Upgrade to Spring Framework 6.1.16 #43393
  • Upgrade to Spring HATEOAS 2.3.4 #43475
  • Upgrade to Spring Integration 6.3.7 #43476
  • Upgrade to Spring Kafka 3.2.6 #43394
  • Upgrade to Spring LDAP 3.2.10 #43395
  • Upgrade to Spring Pulsar 1.1.7 #43396
  • Upgrade to Spring Retry 2.0.11 #43485
  • Upgrade to Spring Security 6.3.6 #43527
  • Upgrade to Spring Session 3.3.5 #43397
  • Upgrade to Thymeleaf 3.1.3.RELEASE #43464
  • Upgrade to Thymeleaf Extras SpringSecurity 3.1.3.RELEASE #43465
  • Upgrade to Tomcat 10.1.34 #43466
  • Upgrade to Undertow 2.3.18.Final #43387
  • Upgrade to Zipkin Reporter 3.4.3 #43462

❤️ Contributors

Thank you to all the contributors who worked on this release:

@BenchmarkingBuffalo, @kgb-financial-com, @ngocnhan-tran1996, @nosan, @quaff, @scordio, and @sobychacko

v3.4.0

21 Nov 17:55
Compare
Choose a tag to compare

⭐ New Features

  • Add withDefaultRequestConfigCustomizer method to HttpComponentsClientHttpRequestFactoryBuilder #43139
  • Fail JsonWriter if duplicate names are detected #43041
  • Add JsonObjectDeserializer.nullSafeValue method that accepts a mapper Function #42972
  • Support timeout property for GraphQL over SSE #42966
  • Improve performance of ConfigurationPropertiesBinder by storing bind handlers on first access #42950
  • Improve performance of ConcurrentReferenceCachingMetadataReaderFactory #42949
  • Log warning in HikariCheckpointRestoreLifecycle if pool suspension isn't configured #42937
  • Remove spring-boot-starter-aop dependency from spring-boot-starter-data-jpa and spring-boot-starter-integration #42934

🐞 Bug Fixes

  • Jersey body handling is inconsistent with Spring Webflux and Spring MVC #43209
  • Classes are accidentally named "structure logging" instead of "structured logging" #43203
  • StructuredLoggingJsonProperties customizer should be a Class reference rather than a String #43202
  • Cannot package OCI image when 'docker.io/paketobuildpacks/new-relic' is provided as a buildpack #43171
  • Incorrect Type for 'management.endpoints.access.default' defined in additional-spring-configuration-metadata.json #43154
  • WebServerPortFileWriter fails when using a portfile without extension #43117
  • SslOptions.isSpecified() only returns true if ciphers and enabled protocols are set #43084
  • SslHealthIndicator throws NullPointerException when using SslBundle with SslStoreBundle.NONE #43078
  • JdkClientHttpRequestFactoryBuilder and JettyClientHttpRequestFactoryBuilder do not set Ciphers or Enabled Protocols #43077
  • Root cause of errors is hidden when loading images from archive #43070
  • mvn spring-boot:run fails on Windows with "Could Not Find or Load Main Class" when path contains non-ASCII characters #43062
  • A @SpyBean on the output of a FactoryBean is not reset #43053
  • Logback logging system does not process URLs with paths not ending in .xml #42990
  • Bean-based conditions do not consider factory beans correctly when determining if they are a candidate #42970
  • NPE in bootBuildImage when setting DOCKER_CONTEXT=default #42960
  • Warning due to duplicate MockResolver extensions #42957
  • HttpHostConnectException is thrown when using buildpacks with Gradle or Maven on Windows #42952
  • build-info doesn't support seconds since the epoch from project.build.outputTimestamp #42936
  • NPE in OnClassCondition.resolveOutcomesThreaded following thread interruption because firstHalf is null #42926
  • Default WebSocketMessageBrokerConfigurer is always overriding custom channel executor #42924
  • X-Registry-Auth header sent to Docker Engine API contains field "authHeader" #42915
  • ApplicationContextRunner has inconsistent behaviour with duplicate auto-configuration class names #17963

📔 Documentation

  • Migrate class references to full javadoc links #43239
  • Documentation for 'spring.datasource.type' is misleading #43199
  • Update "Upgrading From" section to use "2.x" #43160
  • Include spring-boot-loader in API documentation #43153
  • Document how and where to add custom GraalVM configuration files #43074
  • Rework DataSource configuration examples to separate defining an additional DataSource and defining a DataSource of a different type #43059
  • Location of the layers schema is incorrect in the Maven Plugin's examples #43033
  • Link to Eclipse setup instructions #42954
  • Fix link to Checkpoint and Restore status page #42939

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.4 #43128
  • Upgrade to Byte Buddy 1.15.10 #43097
  • Upgrade to Couchbase Client 3.7.5 #43098
  • Upgrade to Elasticsearch Client 8.15.4 #43129
  • Upgrade to Flyway 10.20.1 #43130
  • Upgrade to Groovy 4.0.24 #43099
  • Upgrade to Hibernate 6.6.2.Final #43100
  • Upgrade to HttpClient5 5.4.1 #43102
  • Upgrade to Infinispan 15.0.11.Final #43131
  • Upgrade to Jackson Bom 2.18.1 #43103
  • Upgrade to Jetty 12.0.15 #43104
  • Upgrade to jOOQ 3.19.15 #43105
  • Upgrade to Kafka 3.8.1 #43106
  • Upgrade to Lettuce 6.4.1.RELEASE #43185
  • Upgrade to Logback 1.5.12 #43107
  • Upgrade to Lombok 1.18.36 #43186
  • Upgrade to Maven Dependency Plugin 3.8.1 #43108
  • Upgrade to Maven Failsafe Plugin 3.5.2 #43109
  • Upgrade to Maven Surefire Plugin 3.5.2 #43110
  • Upgrade to Micrometer 1.14.1 #43187
  • Upgrade to Micrometer Tracing 1.4.0 #43120
  • Upgrade to MongoDB 5.2.1 #43111
  • Upgrade to Netty 4.1.115.Final #43133
  • Upgrade to Prometheus Client 1.3.3 #43112
  • Upgrade to Pulsar Reactive 0.5.9 #43188
  • Upgrade to Reactor Bom 2024.0.0 #43015
  • Upgrade to Spring AMQP 3.2.0 #43016
  • Upgrade to Spring Authorization Server 1.4.0 #43017
  • Upgrade to Spring Batch 5.2.0 #43018
  • Upgrade to Spring Data Bom 2024.1.0 #43019
  • Upgrade to Spring Framework 6.2.0 #43020
  • Upgrade to Spring HATEOAS 2.4.0 #43021
  • Upgrade to Spring Integration 6.4.0 #43022
  • Upgrade to Spring Kafka 3.3.0 #43023
  • Upgrade to Spring LDAP 3.2.8 #43189
  • Upgrade to Spring Pulsar 1.2.0 #43024
  • Upgrade to Spring RESTDocs 3.0.3 #43025
  • Upgrade to Spring Security 6.4.1 #43232
  • Upgrade to Spring Session 3.4.0 [#43027](https:/...
Read more

v3.3.6

21 Nov 12:32
Compare
Choose a tag to compare

⚠️ Noteworthy

🐞 Bug Fixes

  • Spring Boot 3.3.x dependencies do not converge for Micrometer Tracing and OpenTelemetry #43200
  • Cannot package OCI image when 'docker.io/paketobuildpacks/new-relic' is provided as a buildpack #43170
  • WebServerPortFileWriter fails when using a portfile without extension #43116
  • SslOptions.isSpecified() only returns true if ciphers and enabled protocols are set #43083
  • Root cause of errors is hidden when loading images from archive #43069
  • mvn spring-boot:run fails on Windows with "Could Not Find or Load Main Class" when path contains non-ASCII characters #43051
  • Logback logging system does not process URLs with paths not ending in .xml #42989
  • NPE in bootBuildImage when setting DOCKER_CONTEXT=default #42959
  • build-info doesn't support seconds since the epoch from project.build.outputTimestamp #42935
  • NPE in OnClassCondition.resolveOutcomesThreaded following thread interruption because firstHalf is null #42925
  • X-Registry-Auth header sent to Docker Engine API contains field "authHeader" #42914
  • A @SpyBean on the output of a FactoryBean is not reset #31204

📔 Documentation

  • Documentation for 'spring.datasource.type' is misleading #43198
  • Update "Upgrading From" section to use "2.x" #43159
  • Include spring-boot-loader in API documentation #43151
  • Document how and where to add custom GraalVM configuration files #43073
  • Rework DataSource configuration examples to separate defining an additional DataSource and defining a DataSource of a different type #43058
  • Location of the layers schema is incorrect in the Maven Plugin's examples #43032
  • Link to Eclipse setup instructions #42953
  • Fix link to Checkpoint and Restore status page #42938
  • Update HttpWebServiceMessageSenderBuilder javadoc #42893
  • Move default value descriptions to "description" in logging property metadata #42881

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 6.1.4 #43146
  • Upgrade to Groovy 4.0.24 #43095
  • Upgrade to Infinispan 15.0.11.Final #43147
  • Upgrade to Jackson Bom 2.17.3 #43036
  • Upgrade to Jetty 12.0.15 #43093
  • Upgrade to jOOQ 3.19.15 #43037
  • Upgrade to Logback 1.5.12 #43038
  • Upgrade to Lombok 1.18.36 #43181
  • Upgrade to Micrometer 1.13.8 #43182
  • Upgrade to Micrometer Tracing 1.3.6 #43000
  • Upgrade to Netty 4.1.115.Final #43148
  • Upgrade to Pulsar Reactive 0.5.9 #43183
  • Upgrade to Reactor Bom 2023.0.12 #43002
  • Upgrade to Spring AMQP 3.1.8 #43004
  • Upgrade to Spring Data Bom 2024.0.6 #43006
  • Upgrade to Spring Framework 6.1.15 #43008
  • Upgrade to Spring Integration 6.3.6 #43010
  • Upgrade to Spring Kafka 3.2.5 #43011
  • Upgrade to Spring LDAP 3.2.8 #43184
  • Upgrade to Spring Pulsar 1.1.6 #43012
  • Upgrade to Spring RESTDocs 3.0.3 #43014
  • Upgrade to Spring Security 6.3.5 #43013
  • Upgrade to Tomcat 10.1.33 #43149

❤️ Contributors

Thank you to all the contributors who worked on this release:

@ahoehma, @izeye, @ngocnhan-tran1996, @nosan, @quaff, and @wickdynex