Skip to content

Releases: spring-projects/spring-boot

v3.5.3

20 Jun 05:35
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Binder context does not restore previous source causing missing data on Spring Boot 3.5 or above #46040

v3.5.2

19 Jun 18:37
Compare
Choose a tag to compare

🐞 Bug Fixes

  • IllegalArgumentException: 'name' must not be null thrown when property source filtering applied twice #46032

v3.5.1

19 Jun 14:23
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • This release upgrades to Tomcat 10.1.42 which has introduced limits for part count and header size in multipart/form-data requests. These limits can be customized using server.tomcat.max-part-count and server.tomcat.max-part-header-size respectively.

⭐ New Features

  • Allow Specifying ConfigData.Options On ConfigDataEnvironmentContributors #42932

🐞 Bug Fixes

  • Executable JAR application class encounters performance issues when classpath URLs reference a host #46028
  • Loading from spring.factories may fail with a ClassNotFoundException when the TCCL changes between calls #46019
  • spring.couchbase.authentication.jks.private-key-password has no effect #46006
  • Actuator heapdump endpoint is failing on modern OpenJ9 JVMs #46005
  • UnboundConfigurationPropertiesException is no longer thrown from IndexedElementsBinder #45994
  • DataSouceBuilder can fail with a NPE when the driver is null #45992
  • JSON writer incorrectly escapes forward slash which can cause structure logging issues #45980
  • ManagementContextAutoConfiguration adds a property source that degrades binding performance #45968
  • ClientHttpConnectorAutoConfiguration fails to load when 'java.net.http.HttpClient' is unavailable #45955
  • It is not possible to opt-out of profile validation or use profile names that contain '.' #45947
  • GraphQlProperties.DeprecatedSse is not annotated as deprecated #45878
  • SpringApplication.setEnvironmentPrefix is ignored when reading MANAGEMENT_SERVER_PORT #45857
  • Write and delete operations no longer work in the Cloud Foundry actuator support with Spring Security due to CSRF protection #45848
  • ConditionalOnAvailableEndpoint does not use the ConditionContext's ClassLoader to load exposure outcome contributors #45803
  • Binding no longer works with sytem environment properties that are not upper case #45741
  • ManagementWebServerFactoryCustomizer and ManagementErrorPageCustomizer should not have the same order #45736
  • Default version of Awailitility is not compatible with Kotlin 1.9 baseline #45673
  • Spring Boot 3.5's dependency management should have been upgraded to Lettuce 6.6.0.RELEASE #45670
  • Spring Boot 3.5's dependency management should have been upgraded to Jedis 6.0.0 #45669
  • SAML2 autoconfiguration is not imported by @WebMvcTest #45666
  • Spring Boot 3.5's dependency management should have been upgraded to MongoDB 5.5.0 #45660

📔 Documentation

  • Fix Docker security options links in Packaging OCI images sections #46021
  • Improve documentation for configuring Spring Security with '/error' #46009
  • Timestamps in Retrieving Audit Events examples do not match the accompanying text #45997
  • Add SSL response structure to actuator info endpoint documentation #45921
  • Update javadoc of test slice annotations to suggest MockitoBean rather than MockBean #45915
  • Include configuration classes from all modules in the "Auto-configuration Classes" appendix #45863
  • Links to Testcontainers javadoc for many classes not in the core testcontainers module do not work #45844
  • Update documentation to reflect changes in TestRestTemplate's default redirect behavior #45842
  • Deprecation replacement for spring.codec.* properties has a typo #45743
  • Gradle Shadow Plugin link in the reference guide is outdated #45740
  • Example of using prometheus-metrics-exporter-pushgateway has wrong artifactId #45684
  • Document use of git-commit-id-maven-plugin consistently #45683
  • Update javadoc of Configurer classes that apply sensible defaults to describe how they're typically used #45656

🔨 Dependency Upgrades

  • Upgrade to Build Helper Maven Plugin 3.6.1 #45827
  • Upgrade to Byte Buddy 1.17.6 #45981
  • Upgrade to Caffeine 3.2.1 #45864
  • Upgrade to DB2 JDBC 12.1.2.0 #45942
  • Upgrade to Git Commit ID Maven Plugin 9.0.2 #45828
  • Upgrade to Groovy 4.0.27 #45829
  • Upgrade to Hibernate 6.6.18.Final #45958
  • Upgrade to HttpClient5 5.5 #46031
  • Upgrade to Infinispan 15.2.4.Final #45943
  • Upgrade to Jackson Bom 2.19.1 #45982
  • Upgrade to Jaybird 6.0.2 #45832
  • Upgrade to Jetty 12.0.22 #45834
  • Upgrade to Jetty Reactive HTTPClient 4.0.10 #45833
  • Upgrade to jOOQ 3.19.24 #45944
  • Upgrade to Micrometer 1.15.1 #45776
  • Upgrade to Micrometer Tracing 1.5.1 #45777
  • Upgrade to MongoDB 5.5.1 #45865
  • Upgrade to Netty 4.1.122.Final #45835
  • Upgrade to Postgresql 42.7.7 #45945
  • Upgrade to Prometheus Client 1.3.8 #45837
  • Upgrade to Pulsar 4.0.5 #45838
  • Upgrade to Reactor Bom 2024.0.7 #45778
  • Upgrade to REST Assured 5.5.5 #45839
  • Upgrade to Spring Authorization Server 1.5.1 #45779
  • Upgrade to Spring Data Bom 2025.0.1 #45780
  • Upgrade to Spring Framework 6.2.8 #45781
  • Upgrade to Spring HATEOAS 2.5.1 #45946
  • Upgrade to Spring Kafka 3.3.7 #45782
  • Upgrade to Spring LDAP 3.3.1 #45783
  • Upgrade to Spring Pulsar 1.2.7 #45784
  • Upgrade to Spring RESTDocs 3.0.4 #45785
  • Upgrade to Spring Security 6.5.1 #45786
  • Upgrade to Spring Session 3.5.1 #45787
  • Upgrade to Testcontainers 1.21.2 #46029
  • Upgrade to Tomcat 10.1.42 #45872
  • Upgrade to UnboundID LDAPSDK 7.0.3 #45983
  • Upgrade to XmlUnit2 2.10.2 #45841
  • Upgrade to Zipkin Reporter 3.5.1 #45826

❤️ Contributors

Thank you to all the contributors ...

Read more

v3.4.7

19 Jun 10:43
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • This release upgrades to Tomcat 10.1.42 which has introduced limits for part count and header size in multipart/form-data requests. These limits can be customized using server.tomcat.max-part-count and server.tomcat.max-part-header-size respectively.

🐞 Bug Fixes

  • Executable JAR application class encounters performance issues when classpath URLs reference a host #46027
  • Loading from spring.factories may fail with a ClassNotFoundException when the TCCL changes between calls #46018
  • Actuator heapdump endpoint is failing on modern OpenJ9 JVMs #46004
  • DataSouceBuilder can fail with a NPE when the driver is null #45991
  • JSON writer incorrectly escapes forward slash which can cause structure logging issues #45972
  • spring.couchbase.authentication.jks.private-key-password has no effect #45883
  • ConditionalOnAvailableEndpoint does not use the ConditionContext's ClassLoader to load exposure outcome contributors #45800
  • ManagementWebServerFactoryCustomizer and ManagementErrorPageCustomizer should not have the same order #45728
  • SAML2 autoconfiguration is not imported by @WebMvcTest #45650

📔 Documentation

  • Fix Docker security options links in Packaging OCI images sections #46020
  • Improve documentation for configuring Spring Security with '/error' #46008
  • Timestamps in Retrieving Audit Events examples do not match the accompanying text #45996
  • Update javadoc of test slice annotations to suggest MockitoBean rather than MockBean #45887
  • Include configuration classes from all modules in the "Auto-configuration Classes" appendix #45861
  • Links to Testcontainers javadoc for many classes not in the core testcontainers module do not work #45843
  • Add SSL response structure to actuator info endpoint documentation #45792
  • Gradle Shadow Plugin link in the reference guide is outdated #45739
  • Document use of git-commit-id-maven-plugin consistently #45682
  • Update javadoc of Configurer classes that apply sensible defaults to describe how they're typically used #45655
  • Clarify the situation with support for Prometheus PushGateway and the deprecated simpleclient #45649

🔨 Dependency Upgrades

  • Upgrade to Build Helper Maven Plugin 3.6.1 #45812
  • Upgrade to Git Commit ID Maven Plugin 9.0.2 #45813
  • Upgrade to Groovy 4.0.27 #45814
  • Upgrade to Hibernate 6.6.18.Final #45956
  • Upgrade to Infinispan 15.0.15.Final #45816
  • Upgrade to Jackson Bom 2.18.4.1 #45957
  • Upgrade to Jaybird 5.0.8.java11 #45817
  • Upgrade to Jetty 12.0.22 #45819
  • Upgrade to Jetty Reactive HTTPClient 4.0.10 #45818
  • Upgrade to Micrometer 1.14.8 #45763
  • Upgrade to Micrometer Tracing 1.4.7 #45764
  • Upgrade to Netty 4.1.122.Final #45820
  • Upgrade to Postgresql 42.7.6 #45821
  • Upgrade to Prometheus Client 1.3.8 #45822
  • Upgrade to Pulsar 3.3.7 #45823
  • Upgrade to Reactor Bom 2024.0.7 #45765
  • Upgrade to REST Assured 5.5.5 #45824
  • Upgrade to Spring Authorization Server 1.4.4 #45766
  • Upgrade to Spring Data Bom 2024.1.7 #45767
  • Upgrade to Spring Framework 6.2.8 #45768
  • Upgrade to Spring Kafka 3.3.7 #45769
  • Upgrade to Spring LDAP 3.2.13 #45770
  • Upgrade to Spring Pulsar 1.2.7 #45771
  • Upgrade to Spring RESTDocs 3.0.4 #45772
  • Upgrade to Spring Security 6.4.7 #45773
  • Upgrade to Spring Session 3.4.4 #45774
  • Upgrade to Spring WS 4.0.15 #45775
  • Upgrade to Tomcat 10.1.42 #45870
  • Upgrade to XmlUnit2 2.10.2 #45825

❤️ Contributors

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

@chanbinme, @csbiy, @davidlj95, @izeye, @ngocnhan-tran1996, @nicolasgarea, @nosan, @quaff, @shekharAggarwal, and @wonyongg

v3.3.13

19 Jun 08:55
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • This release upgrades to Tomcat 10.1.42 which has introduced limits for part count and header size in multipart/form-data requests. These limits can be customized using server.tomcat.max-part-count and server.tomcat.max-part-header-size respectively.

🐞 Bug Fixes

  • Executable JAR application class encounters performance issues when classpath URLs reference a host #46015
  • Loading from spring.factories may fail with a ClassNotFoundException when the TCCL changes between calls #45984
  • DataSouceBuilder can fail with a NPE when the driver is null #45976
  • Actuator heapdump endpoint is failing on modern OpenJ9 JVMs #45973

📔 Documentation

  • Fix Docker security options links in Packaging OCI images sections #46016
  • Timestamps in Retrieving Audit Events examples do not match the accompanying text #45995
  • Links to Testcontainers javadoc for many classes not in the core testcontainers module do not work #45802
  • Gradle Shadow Plugin link in the reference guide is outdated #45720
  • Document use of git-commit-id-maven-plugin consistently #45677
  • Improve documentation for configuring Spring Security with '/error' #45663
  • Clarify the situation with support for Prometheus PushGateway and the deprecated simpleclient #44392
  • Update javadoc of Configurer classes that apply sensible defaults to describe how they're typically used #42878

🔨 Dependency Upgrades

  • Upgrade to Groovy 4.0.27 #45805
  • Upgrade to Infinispan 15.0.15.Final #45806
  • Upgrade to Jaybird 5.0.8.java11 #45807
  • Upgrade to Jetty 12.0.22 #45809
  • Upgrade to Jetty Reactive HTTPClient 4.0.10 #45808
  • Upgrade to jOOQ 3.19.24 #45940
  • Upgrade to Micrometer 1.13.15 #45749
  • Upgrade to Micrometer Tracing 1.3.13 #45750
  • Upgrade to Netty 4.1.122.Final #45810
  • Upgrade to Postgresql 42.7.7 #45941
  • Upgrade to Reactor Bom 2023.0.19 #45751
  • Upgrade to Spring AMQP 3.1.12 #45752
  • Upgrade to Spring Authorization Server 1.3.7 #45753
  • Upgrade to Spring Data Bom 2024.0.13 #45754
  • Upgrade to Spring Framework 6.1.21 #45755
  • Upgrade to Spring Integration 6.3.11 #45756
  • Upgrade to Spring Kafka 3.2.10 #45757
  • Upgrade to Spring LDAP 3.2.13 #45758
  • Upgrade to Spring Pulsar 1.1.13 #45759
  • Upgrade to Spring RESTDocs 3.0.4 #45760
  • Upgrade to Spring Security 6.3.10 #45761
  • Upgrade to Spring WS 4.0.15 #45762
  • Upgrade to Tomcat 10.1.42 #45869

❤️ Contributors

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

@chanbinme, @davidlj95, @ngocnhan-tran1996, @nicolasgarea, @nosan, @quaff, and @wonyongg

v3.5.0

22 May 22:09
Compare
Choose a tag to compare

Full release notes for Spring Boot 3.5 are available on the wiki.

⭐ New Features

  • Make heapdump endpoint restricted by default #45624
  • Remove SSL status tag from metrics #45602
  • Remove 'spring.http.client' deprecation and change 'spring.http.reactiveclient.settings' to 'spring.http.reactiveclient' #45507

🐞 Bug Fixes

  • Unable to override/set nested ConfigurationProperties by passing as a system property #45639
  • ValidationAutoConfiguration triggers early initialization of properties binding #45618
  • Micrometer "enable" annotations property does not cover observed aspect #45617
  • spring.graphql.sse.timeout is no longer exposed #45613
  • SpringApplication.setEnvironmentPrefix is ignored when reading SPRING_PROFILES_ACTIVE #45549
  • IllegalStateException when extracting using layers a module with no code of its own #45449
  • Removed spring.batch.initialize-schema property is still considered #45380
  • ReactorHttpClientBuilder does not offer a factory method to create the HttpClient #45378
  • Suggested values for spring.jpa.hibernate.ddl-auto are not aligned with Hibernate #45351
  • Custom default units declared on a field are ignored when binding properties in a native image #45347
  • DockerRegistryConfigAuthentication uses the wrong serverUrl as a fallback for the Credentials helper #45345
  • Various spring.datasource properties are mistakenly marked as ignored #45342
  • JerseyWebApplicationInitializer always gets loaded, setting a ServletContext initParameter #45297
  • DockerRegistryConfigAuthentication does not align with Docker CLI #45292
  • Unlike the Docker CLI, "\x00" characters are not trimmed from a decoded Docker Registry password #45290
  • CloudFoundry security matcher logs a warning due to use of the 'ignoring()' method #32622

📔 Documentation

  • Document the java info contribution #45634
  • Document the process info contribution #45632
  • Document the os info contribution #45630
  • Document typical spring.application.group and name use #45628
  • Document that bean methods should be static when annotated with @ConfigurationPropertiesBinding #45626
  • Document the way that primary Kotlin constructors are used when binding #45553
  • Improve "profile" reference documentation with additional admonitions #45551
  • Improve setEnvironmentPrefix(...) reference documentation #45376
  • Document all the available Testcontainers integrations #45367
  • Document when a spring.config.import value is relative and when it is fixed #45363
  • Update org.cyclonedx.bom version in docs to 2.3.0 #45320
  • Update link to "Parameter Name Retention" section of Spring Framework's release notes #45299

🔨 Dependency Upgrades

  • Prevent upgrade to Prometheus Client 1.3.7 #45541
  • Upgrade to Couchbase Client 3.8.1 #45539
  • Upgrade to Elasticsearch 8.18.1 #45447
  • Upgrade to GraphQL Java 24.0 #45588
  • Upgrade to Hibernate 6.6.15.Final #45540
  • Upgrade to HttpClient5 5.4.4 #45462
  • Upgrade to Jackson Bom 2.18.4 #45463
  • Upgrade to Jackson Bom 2.19.0 #45542
  • Upgrade to Jetty 12.0.21 #45519
  • Upgrade to jOOQ 3.19.23 #45465
  • Upgrade to Kafka 3.9.1 #45606
  • Upgrade to Micrometer 1.15.0 #45432
  • Upgrade to Micrometer Tracing 1.5.0 #45433
  • Upgrade to Neo4j Java Driver 5.28.5 #45446
  • Upgrade to Netty 4.1.121.Final #45466
  • Upgrade to R2DBC Proxy 1.1.6.RELEASE #45467
  • Upgrade to Reactor Bom 2024.0.6 #45434
  • Upgrade to REST Assured 5.5.2 #45571
  • Upgrade to Spring Authorization Server 1.5.0 #45435
  • Upgrade to Spring Data Bom 2025.0.0 #45436
  • Upgrade to Spring Framework 6.2.7 #45437
  • Upgrade to Spring GraphQL 1.4.0 #45438
  • Upgrade to Spring HATEOAS 2.5.0 #45559
  • Upgrade to Spring Integration 6.5.0 #45439
  • Upgrade to Spring Kafka 3.3.6 #45440
  • Upgrade to Spring LDAP 3.3.0 #45441
  • Upgrade to Spring Pulsar 1.2.6 #45442
  • Upgrade to Spring Retry 2.0.12 #45443
  • Upgrade to Spring Security 6.5.0 #45444
  • Upgrade to Spring Session 3.5.0 #45560
  • Upgrade to Spring WS 4.1.0 #45445
  • Upgrade to Tomcat 10.1.41 #45520
  • Upgrade to XmlUnit2 2.10.1 #45607

❤️ Contributors

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

@ahrytsiuk, @izeye, @lhotari, @ngocnhan-tran1996, @nosan, @quaff, @thecooldrop, and @yybmion

v3.4.6

22 May 12:05
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Micrometer "enable" annotations property does not cover observed aspect #45616
  • SpringApplication.setEnvironmentPrefix is ignored when reading SPRING_PROFILES_ACTIVE #45548
  • IllegalStateException when extracting using layers a module with no code of its own #45448
  • Suggested values for spring.jpa.hibernate.ddl-auto are not aligned with Hibernate #45350
  • Custom default units declared on a field are ignored when binding properties in a native image #45346
  • JerseyWebApplicationInitializer always gets loaded, setting a ServletContext initParameter #45296

📔 Documentation

  • Document the java info contribution #45633
  • Document the process info contribution #45631
  • Document the os info contribution #45629
  • Document typical spring.application.group and name use #45627
  • Document that bean methods should be static when annotated with @ConfigurationPropertiesBinding #45625
  • Document the way that primary Kotlin constructors are used when binding #45552
  • Improve "profile" reference documentation with additional admonitions #45550
  • Improve setEnvironmentPrefix(...) reference documentation #45375
  • Document all the available Testcontainers integrations #45366
  • Document when a spring.config.import value is relative and when it is fixed #45362
  • Update link to "Parameter Name Retention" section of Spring Framework's release notes #45298

🔨 Dependency Upgrades

  • Upgrade to Hibernate 6.6.15.Final #45537
  • Upgrade to HttpClient5 5.4.4 #45455
  • Upgrade to Jackson Bom 2.18.4 #45456
  • Upgrade to Jetty 12.0.21 #45516
  • Upgrade to jOOQ 3.19.23 #45458
  • Upgrade to Micrometer 1.14.7 #45412
  • Upgrade to Micrometer Tracing 1.4.6 #45413
  • Upgrade to Neo4j Java Driver 5.28.5 #45431
  • Upgrade to Netty 4.1.121.Final #45459
  • Upgrade to R2DBC Proxy 1.1.6.RELEASE #45460
  • Upgrade to Reactor Bom 2024.0.6 #45414
  • Upgrade to REST Assured 5.5.2 #45570
  • Upgrade to Spring Data Bom 2024.1.6 #45415
  • Upgrade to Spring Framework 6.2.7 #45417
  • Upgrade to Spring Integration 6.4.5 #45419
  • Upgrade to Spring Kafka 3.3.6 #45421
  • Upgrade to Spring Pulsar 1.2.6 #45423
  • Upgrade to Spring Retry 2.0.12 #45425
  • Upgrade to Spring Security 6.4.6 #45558
  • Upgrade to Spring WS 4.0.14 #45581
  • Upgrade to Tomcat 10.1.41 #45517
  • Upgrade to XmlUnit2 2.10.1 #45605

❤️ Contributors

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

@ahrytsiuk, @izeye, @ngocnhan-tran1996, @nosan, @quaff, @thecooldrop, and @yybmion

v3.3.12

22 May 09:41
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Micrometer "enable" annotations property does not cover observed aspect #45601
  • SpringApplication.setEnvironmentPrefix is ignored when reading SPRING_PROFILES_ACTIVE #45387
  • IllegalStateException when extracting using layers a module with no code of its own #45385
  • Custom default units declared on a field are ignored when binding properties in a native image #45343
  • Suggested values for spring.jpa.hibernate.ddl-auto are not aligned with Hibernate #45336
  • JerseyWebApplicationInitializer always gets loaded, setting a ServletContext initParameter #45289

📔 Documentation

  • Document that bean methods should be static when annotated with @ConfigurationPropertiesBinding #45621
  • Document typical spring.application.name use #45597
  • Document the process info contribution #45567
  • Document the java info contribution #45566
  • Document the os info contribution #45565
  • Improve "profile" reference documentation with additional admonitions #45522
  • Improve setEnvironmentPrefix(...) reference documentation #45370
  • Document when a spring.config.import value is relative and when it is fixed #45349
  • Update link to "Parameter Name Retention" section of Spring Framework's release notes #45286
  • Document the way that primary Kotlin constructors are used when binding #44849
  • Document all the available Testcontainers integrations #44187

🔨 Dependency Upgrades

  • Upgrade to Jetty 12.0.21 #45513
  • Upgrade to jOOQ 3.19.23 #45452
  • Upgrade to Micrometer 1.13.14 #45416
  • Upgrade to Micrometer Tracing 1.3.12 #45418
  • Upgrade to Neo4j Java Driver 5.28.5 #45430
  • Upgrade to Netty 4.1.121.Final #45453
  • Upgrade to R2DBC Proxy 1.1.6.RELEASE #45454
  • Upgrade to Reactor Bom 2023.0.18 #45420
  • Upgrade to Spring Data Bom 2024.0.12 #45422
  • Upgrade to Spring Framework 6.1.20 #45424
  • Upgrade to Spring Integration 6.3.10 #45426
  • Upgrade to Spring Kafka 3.2.9 #45427
  • Upgrade to Spring Pulsar 1.1.12 #45428
  • Upgrade to Spring Retry 2.0.12 #45429
  • Upgrade to Spring WS 4.0.14 #45580
  • Upgrade to Tomcat 10.1.41 #45514

❤️ Contributors

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

@ahrytsiuk, @izeye, @ngocnhan-tran1996, @nosan, @quaff, @thecooldrop, and @yybmion

v3.5.0-RC1

25 Apr 11:45
Compare
Choose a tag to compare
v3.5.0-RC1 Pre-release
Pre-release

⭐ New Features

  • Add support for Docker's credential stores and helpers #45269
  • Introduce 'spring.test.print-condition-evaluation-report' property to control whether the condition evaluation report should be printed when the ApplicationContext fails to start #45268
  • Fail fast when both management 'base path' and 'endpoint mapping' are set to '/' #45251
  • Allow structured logging with relocated or disabled context elements #45218
  • Auto-configure OtlpMetricsSender if available #45204
  • Support per-meter configuration for OtlpMetricsProperties #45203
  • Migrate from AntPathRequestMatcher to PathPatternRequestMatcher #45163
  • Add support for configuring SimpleAsyncTaskExecutor#rejectTasksWhenLimitReached #45155
  • Align FilterRegistrationBean empty dispatcher type logic with FilterRegistration annotation #45130
  • Add missing attributes to ServletRegistration annotation #45007
  • Add missing attributes to FilterRegistration annotation #45005
  • Add ClientHttpRequestFactoryBuilderCustomizer support #44987
  • Remove RECORD_COMPONENT target from @DefaultValue #44984
  • AutoConfiguredRestClientSsl should build upon, rather than overwrite, the configuration from HttpClientProperties #44979
  • Rename spring.codec properties to spring.http.codecs #44971
  • Rename 'spring.http.client' properties to 'spring.http.client.settings' #44958
  • Enable RestClientAutoConfiguration in reactive web applications when virtual threads are enabled #44952
  • Rename spring.mvc.converters.preferred-json-mapper to spring.http.converters.preferred-json-mapper #44925
  • Make it easier to create an integration test for an OAuth2 resource server #44906
  • Add spring.kafka.consumer.max-poll-interval configuration property #44901
  • Add OtlpGrpcSpanExporterBuilderCustomizer and OtlpHttpSpanExporterBuilderCustomizer customizers #44900
  • Improve performance of MapBinder by calculating reused fields only once #44868
  • Improve performance of IndexedElementsBinder.assertNoUnboundChildren by not checking all elements #44867
  • Add containsDescendantOfCache for system property source #44863
  • Bypass SystemEnvironmentPropertySource.resolvePropertyName calls for configuration properties #44862
  • Introduce a cache for expensive JavaBeanBinder and ValueObjectBinder #44861
  • Allow ConfigurationPropertyCaching overriding for the duration of a bind operation #44860
  • Improve SystemEnvironmentPropertyMapper performance by caching results #44858
  • Improve ConfigurationPropertyName equals/hashCode performance #44857
  • ApplicationInfoPropertySource should be marked as immutable #44856
  • Add support for LdapContextSource#referral property #44850
  • Auto-configure Otel's MeterProvider where appropriate #44833
  • Make it possible to opt in to TaskExecutor auto-configuration when an Executor has already been defined #44659
  • Support optional: prefix with logging.log4j2.config.override #44488
  • Align TestRestTemplate default redirect settings to be the same as RestTemplate #43431
  • Refactor TestRestTemplate to remove need for CustomHttpComponentsClientHttpRequestFactory #43422
  • Add ClientHttpConnector builders for WebClient with a similar design to ClientHttpRequestFactoryBuilder #43079
  • Use paketobuildpacks/builder-noble-java-tiny as the default image builder #42711
  • Broaden OAuth2 client auto-configuration to include non servlet web applications #40997
  • Auto-configure a bootstrapExecutor bean to be used by Framework's background bean initialization #39791
  • Add a dedicated annotation to register filters and servlets #16500

🐞 Bug Fixes

  • In a reactive web app, SslBundle can no longer open store file locations without using a 'file:' prefix #45263
  • JsonValueWriter can throw StackOverflowError on deeply nested items #45262
  • Spring Boot with native image container image build fails on podman due to directory permissions #45257
  • Neo4jReactiveDataAutoConfiguration assumes that certain beans are available #45236
  • Wrong jOOQ exception translator with empty db name #45220
  • MessageSourceMessageInterpolator does not replace a parameter when the message matches its code #45214
  • Logging a Path object using structured logging throws StackOverflowError #45211
  • IntegrationMbeanExporter is not eligible for getting processed by all BeanPostProcessors warnings are shown when using JMX #45195
  • OAuth2AuthorizationServerJwtAutoConfiguration uses @ConditionalOnClass incorrectly #45179
  • MongoDB's dependency management is missing Kotlin coroutine driver modules #45160
  • ImagePlatform can cause "OS must not be empty" IllegalArgumentException #45154
  • ECS structure logging is not compatible with all collectors as it does not use the nested format #45063
  • TypeUtils does not handle generics with identical names in different positions #45040
  • HttpClient5 5.4.3 breaks local Docker transport #45035
  • ConnectionDetailsFactories should use the context class loader to load factories #45014
  • spring.datasource.hikari.data-source-class-name cannot be used as a driver class name is always required and Hikari does not accept both #45003
  • Post-processing to apply custom JdbcConnectionDetails triggers an NPE in Hikari if the JDBC URL is for an unknown driver #44999
  • DataSourceBuilder triggers an NPE in Hikari when trying to build a DataSource with a JDBC URL for an unknown driver #44996
  • ClientHttpRequestFactoryBuilder detection does not use the bean class loader #44986
  • SSL config does not watch for symlink file changes #44890
  • EmbeddedLdapAutoConfiguration should not rely on PreDestroy #44875
  • SystemEnvironmentPropertySource is no longer considered immutable #44859
  • DataSourceTransactionManagerAutoConfiguration should run after DataSourceAutoConfiguration #44820

📔 Documentation

  • Make @Component a javadoc link #45259
  • Fix documentation links to buildpacks.io #45242
  • Document th...
Read more

v3.4.5

24 Apr 14:43
Compare
Choose a tag to compare

🐞 Bug Fixes

  • Spring Boot with native image container image build fails on podman due to directory permissions #45256
  • Neo4jReactiveDataAutoConfiguration assumes that certain beans are available #45235
  • Wrong jOOQ exception translator with empty db name #45219
  • MessageSourceMessageInterpolator does not replace a parameter when the message matches its code #45213
  • IntegrationMbeanExporter is not eligible for getting processed by all BeanPostProcessors warnings are shown when using JMX #45194
  • OAuth2AuthorizationServerJwtAutoConfiguration uses @ConditionalOnClass incorrectly #45178
  • MongoDB's dependency management is missing Kotlin coroutine driver modules #45159
  • ImagePlatform can cause "OS must not be empty" IllegalArgumentException #45153
  • TypeUtils does not handle generics with identical names in different positions #45039
  • HttpClient5 5.4.3 breaks local Docker transport #45028
  • spring.datasource.hikari.data-source-class-name cannot be used as a driver class name is always required and Hikari does not accept both #45002
  • Post-processing to apply custom JdbcConnectionDetails triggers an NPE in Hikari if the JDBC URL is for an unknown driver #44998
  • DataSourceBuilder triggers an NPE in Hikari when trying to build a DataSource with a JDBC URL for an unknown driver #44995
  • SSL config does not watch for symlink file changes #44887
  • EmbeddedLdapAutoConfiguration should not rely on PreDestroy #44874
  • DataSourceTransactionManagerAutoConfiguration should run after DataSourceAutoConfiguration #44819
  • JsonValueWriter can throw StackOverflowError on deeply nested items #44627
  • In a reactive web app, SslBundle can no longer open store file locations without using a 'file:' prefix #44535
  • Logging a Path object using structured logging throws StackOverflowError #44507

📔 Documentation

  • Make @Component a javadoc link #45258
  • Fix documentation links to buildpacks.io #45241
  • Clarify the use of multiple profile expressions with "spring.config.activate.on-profile" #45224
  • Show the use of token properties in authorization server clients configuration example #45176
  • Add details of the purpose of the metrics endpoint #45047
  • Escape the asterisk in spring-application.adoc #45033
  • Add reference to Styra (OPA) Spring Boot SDK #44976
  • Update CDS documentation to cover AOTCache #44970
  • WebFlux security documentation incorrectly links to servlet classes #44966
  • Replace mentions of deprecated MockBean annotation #44947
  • TaskExecution documentation should describe what happens when multiple Executor beans are present #44908
  • Documentation lists coordinates for some dependencies that are not actually managed #44879
  • Polish javadoc of SpringProfileAction #44826

🔨 Dependency Upgrades

  • Upgrade to AspectJ 1.9.24 #45184
  • Upgrade to Couchbase Client 3.7.9 #45072
  • Upgrade to Hibernate 6.6.13.Final #45073
  • Upgrade to HttpClient5 5.4.3 #45074
  • Upgrade to HttpCore5 5.3.4 #45075
  • Upgrade to Jaybird 5.0.7.java11 #45076
  • Upgrade to Jetty 12.0.19 #45077
  • Upgrade to jOOQ 3.19.22 #45078
  • Upgrade to Lombok 1.18.38 #45079
  • Upgrade to MariaDB 3.4.2 #45080
  • Upgrade to Maven Failsafe Plugin 3.5.3 #45081
  • Upgrade to Maven Surefire Plugin 3.5.3 #45082
  • Upgrade to Micrometer 1.14.6 #45085
  • Upgrade to Micrometer Tracing 1.4.5 #45086
  • Upgrade to Neo4j Java Driver 5.28.4 #45133
  • Upgrade to Pulsar 3.3.6 #45083
  • Upgrade to Reactor Bom 2024.0.5 #45087
  • Upgrade to Spring AMQP 3.2.5 #45088
  • Upgrade to Spring Authorization Server 1.4.3 #45089
  • Upgrade to Spring Data Bom 2024.1.5 #45090
  • Upgrade to Spring Framework 6.2.6 #45091
  • Upgrade to Spring GraphQL 1.3.5 #45092
  • Upgrade to Spring Integration 6.4.4 #45093
  • Upgrade to Spring Kafka 3.3.5 #45094
  • Upgrade to Spring LDAP 3.2.12 #45095
  • Upgrade to Spring Pulsar 1.2.5 #45096
  • Upgrade to Spring Security 6.4.5 #45097
  • Upgrade to Spring Session 3.4.3 #45098
  • Upgrade to Spring WS 4.0.13 #45099
  • Upgrade to Tomcat 10.1.40 #45084

❤️ Contributors

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

@EvaristeGalois11, @MelleD, @aahlenst, @ali-jalaal, @erichaagdev, @florgust, @geniusYoo, @izeye, @jonatan-ivanov, @nenros, @nevenc, @ngocnhan-tran1996, @nosan, @quaff, and @rainboyan