Skip to content

v3.2.0-RC1

Pre-release
Pre-release
Compare
Choose a tag to compare
@spring-builds spring-builds released this 20 Oct 13:44
· 6187 commits to main since this release

⭐ New Features

  • Support setting gradle provider values in BuildInfoProperties.additional map #37889
  • Add properties for configuring Jackson's EnumFeature and JsonNodeFeature #37885
  • When auto-configuring MockMvc, add filters with their init parameters and dispatcher types #37835
  • Add SSL bundle support to RabbitMQ auto-configuration #37833
  • Implement SSL bundle reload #37808
  • restTemplateBuilderConfigurer doesn't need to be @ConditionalOnMissingBean #37746
  • Add 'keep-alive' property to SpringApplication and document that it is useful when using virtual threads #37736
  • Add property for PEM SSL bundles to verify keys #37727
  • Add background preinitializers for Tomcat and JDK ZoneId #37670
  • Add classic loader module and the ability to easily switch implementations #37669
  • Rewrite nested jar support code and remove Java 8 support #37668
  • Relocate launcher classes to 'org.springframework.boot.loader.launch' package #37667
  • Add auto-configuration for SpanAspect #37640
  • Auto-configure HikariCheckpointRestoreLifecycle for a user-defined HikariDataSource #37630
  • Add SSL bundle support to Apache Kafka auto-configuration #37629
  • Expand transaction manager customization to support any type of TransactionManager #37628
  • Add auto-configuration for CountedAspect and TimedAspect #37626
  • Provide a configuration property for RabbitMQ's max inbound message body size #37603
  • Move spring.jms.listener.acknowledge-mode to spring.jms.listener.session.acknowlege-mode #37602
  • Add support for configuring non-standard JMS acknowledge modes #37576
  • Disable validate connection on borrow for Oracle UCP datasource #37501
  • Add configuration properties for JmsTemplate's sessionAcknowledgeMode and sessionTransacted #37500
  • Add a configuration property for configuring sessionTransacted flag on auto-configured JMS listener container #37473
  • Develop a more efficient WebResourceSet implementation for nested jars #37452
  • Rename spring.jms.listener.concurrency property to spring.jms.listener.min-concurrency #37451
  • Add Awaitility to spring-boot-starter-test #37195
  • Support new CSP auth method for Wavefront (AOA) #37165
  • Refine Spring Boot startup message when restoring a Spring Boot application with CRaC #37084
  • Support parallel initialization of Testcontainers #37073
  • Support RestClient.Builder with @RestClientTest #37033
  • Break cycle between TransactionManagerCustomizers and TransactionManager #36801
  • Add any TransactionExecutionListener beans to the auto-configured transaction manager #36770
  • When virtual threads are enabled, auto-configure Spring Pulsar to use them #36347
  • Add a testAndDevelopmentOnly Gradle configuration #35436
  • Disable user details auto-configuration if the application has resource server, saml, or oauth2-client dependencies #35338
  • Provide a setting for automatic context propagation with reactor-core #34201
  • Honor timeouts in Zipkin WebClient sender #31496
  • Support java.nio.file Paths and FileSystems with nested jars #7161

🐞 Bug Fixes

  • Constructor binding with a custom collection type does not work #37942
  • @Order does not work on (CommandLine|Application)Runner @Bean methods #37939
  • @ComponentScan on a test class is processed when creating a test context but is not included in the context's cache key #37925
  • Restarter creates memory leak in tests #37921
  • Wrong HandlerMapping ordering for GraphQL WebSocket configuration #37892
  • AOT processing fails when a @WebServlet found by scanning is annotated with @MultipartConfig #37884
  • Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37882
  • Task executor metrics are not registered when using lazy initialization #37839
  • Gradle AOT processing tasks do not use project's Java toolchain #37827
  • @ServiceConnection is not found when used in an interface implemented by a test class #37799
  • Image building can fail when using GraalVM compilation and a remote Docker daemon #37666
  • NPE from Jetty's WebSocketUpgradeFilter when testing with @SpringBootTest, @AutoConfigureMockMvc, and MockMvc #37664
  • @WebListener does not work in a native image without additional reflection hints #37636
  • AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37633
  • IPv6 IP addresses cannot be used with RabbitMQ #37622
  • Unwanted Logback status messages are sometimes logged during startup #37601
  • Managed types for Neo4j are not used in Neo4j Data auto configuration #37595
  • fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37589
  • When using checkpoint-restore and Hikari, dependency injection fails if the HikariDataSource has been replaced or wrapped #37580
  • Application fails to start when an optional config import cannot be resolved #37571
  • Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37554
  • Dependency management for kafka-server-common with a test classifier is missing #37543
  • RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37536
  • Excluding ReactiveUserDetailsServiceAutoConfiguration can cause a WebFlux app to fail to start due to a null authentication manager #37504
  • Signed Jar verification fails from a nested Jar under Oracle Java 17 #28837
  • Does not work 'classpath*:' for Resource[] property on configuration properties since 2.x #15835

📔 Documentation

  • Document that 'spring.docker.compose.file' can be used to share Docker Compose configuration between applications #37960
  • Mention new RestClient class when suggesting @RegisterReflectionForBinding #37726
  • Remove link to LiveReload website due to timeout #37692
  • Use the term "uber jar" in reference documentation and javadoc #37653
  • Refer to ActiveMQ as ActiveMQ "Classic" #37616
  • Default value of spring.jmx.registration-policy is not documented #37611
  • Removal of spring.webflux.multipart.streaming is not documented #37610
  • Update documentation to align with Mockito 5 using the inline mock maker by default #37572
  • Add Javadoc since for AbstractAotMojo.getSession() #37548
  • Document support for Java 21 #37533
  • Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37511

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.9 #37802
  • Upgrade to Classmate 1.6.0 #37862
  • Upgrade to Commons Pool2 2.12.0 #37770
  • Upgrade to Couchbase Client 3.4.11 #37771
  • Upgrade to Dropwizard Metrics 4.2.21 #37899
  • Upgrade to Elasticsearch Client 8.10.4 #37912
  • Upgrade to Flyway 9.22.3 #37864
  • Upgrade to GraphQL Java 21.2 #37906
  • Upgrade to HttpCore5 5.2.3 #37775
  • Upgrade to Infinispan 14.0.19.Final #37865
  • Upgrade to Jackson Bom 2.15.3 #37900
  • Upgrade to Jedis 5.0.1 #37776
  • Upgrade to Jetty 12.0.2 #37803
  • Upgrade to jOOQ 3.18.7 #37866
  • Upgrade to Kafka 3.6.0 #37777
  • Upgrade to Kotlin 1.9.20-RC #37926
  • Upgrade to Log4j2 2.21.0 #37907
  • Upgrade to Maven Shade Plugin 3.5.1 #37778
  • Upgrade to Micrometer 1.12.0-RC1 #37703
  • Upgrade to Micrometer Tracing 1.2.0-RC1 #37704
  • Upgrade to Mockito 5.6.0 #37779
  • Upgrade to MongoDB 4.11.0 #37874
  • Upgrade to Neo4j Java Driver 5.13.0 #37780
  • Upgrade to Netty 4.1.100.Final #37867
  • Upgrade to OkHttp 4.12.0 #37908
  • Upgrade to OpenTelemetry 1.31.0 #37782
  • Upgrade to Pooled JMS 3.1.4 #37783
  • Upgrade to Pulsar Reactive 0.4.0 #37801
  • Upgrade to R2DBC MySQL 1.0.5 #37868
  • Upgrade to Rabbit AMQP Client 5.19.0 #37785
  • Upgrade to Rabbit Stream Client 0.13.0 #37786
  • Upgrade to Reactor Bom 2023.0.0-RC1 #37705
  • Upgrade to RxJava3 3.1.8 #37787
  • Upgrade to Selenium 4.14.1 #37875
  • Upgrade to Selenium HtmlUnit 4.13.0 #37789
  • Upgrade to Spring AMQP 3.1.0-RC1 #37706
  • Upgrade to Spring Authorization Server 1.2.0-RC1 #37707
  • Upgrade to Spring Batch 5.1.0-RC1 #37708
  • Upgrade to Spring Data Bom 2023.1.0-RC1 #37709
  • Upgrade to Spring Framework 6.1.0-RC1 #37710
  • Upgrade to Spring HATEOAS 2.2.0-RC1 #37876
  • Upgrade to Spring Integration 6.2.0-RC1 #37711
  • Upgrade to Spring Kafka 3.1.0-RC1 #37712
  • Upgrade to Spring LDAP 3.2.0-RC1 #37713
  • Upgrade to Spring Pulsar 1.0.0-RC1 #37918
  • Upgrade to Spring Retry 2.0.4 #37714
  • Upgrade to Spring Security 6.2.0-RC1 #37715
  • Upgrade to Spring Session 3.2.0-RC1 #37716
  • Upgrade to SQLite JDBC 3.43.2.0 #37877
  • Upgrade to Testcontainers 1.19.1 #37790
  • Upgrade to Tomcat 10.1.15 #37903
  • Upgrade to UnboundID LDAPSDK 6.0.10 #37791
  • Upgrade to Undertow 2.3.10.Final #37934

❤️ Contributors

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

@JinseongHwang, @OlgaMaciaszek, @SimonVerhoeven, @bottlerocketjonny, @dependabot[bot], @eddumelendez, @erichaagdev, @esperar, @garyrussell, @izeye, @jbertram, @jonasfugedi, @jonatan-ivanov, @mhalbritter, @michael-simons, @nielsbasjes, @onobc, @shin-mallang, @sreekarareddy, @sushant1987, @techiesarav, @ttddyy, and @vpavic