Skip to content

Releases: spring-projects/spring-boot

v3.2.0-RC2

03 Nov 02:55
Compare
Choose a tag to compare
v3.2.0-RC2 Pre-release
Pre-release

⭐ New Features

  • Introduce PemSslStore as an alternative to PemSslStoreDetails #38175
  • Introduce a public PemContent class #38174
  • Allow alias and password to be configured on a per PEM store basis #38124
  • Add observationEnabled properties for Apache Kafka #38057

🐞 Bug Fixes

  • Class loading may fail when JVM is stopped using SIGINT #38154
  • spring.webflux.multipart.max-disk-usage-per-part behaves incorrectly for values where the number of bytes overflows an int #38152
  • Apply SslBundleProperties.Key property to PEM keystore and not to the truststore #38125
  • VirtualZipDataBlock does not create zip data descriptor records which can break streaming reads #38063
  • Nested jars are not opened with runtime version set, causing classes in META-INF/versions to be ignored #38050
  • InputStreams cannot be created from nested directory entry URLs which results in Tomcat TldScanner issues #38047
  • Mail health indicator fails when host is not set in properties #38044
  • Testcontainers support for various containers does not work in a native-image #38014
  • Filters added to the auto-configured MockMvc instance have no name, breaking OncePerRequestFilter #38001
  • Application's main class is not found when using PropertiesLauncher with the new nested jar support #37992
  • Docker Compose integration does not work with 2.23.0 due to 'Cannot invoke "org.springframework.boot.docker.compose.core.DockerCliInspectResponse.hostConfig()" because "inspectResponse" is null' #37991
  • @ServiceConnection is not working with @RestartScope in 3.2.0-RC1 #37989

📔 Documentation

  • Document that application.* banner variables require a packaged jar or the use of Boot's launcher #38149
  • Explain how Docker Compose support works when services are already running #38145
  • Improve systemd configuration documentation #38117
  • Clarify that @AutoConfigureWebTestClient binds WebTestClient to mock infrastructure #38114
  • MyErrorWebExceptionHandler example in documentation isn't working #38111
  • Document that properties that change an application's beans are fixed at build time #38108
  • Add section on AspectJ support #38097
  • Document that SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS is disabled by default #38090
  • Document that testing with ApplicationContextRunner in a native image is not supported #38082
  • Spring Boot Actuator documentation misses management.endpoint.env.show-values property #38080
  • Outdated spring-boot-maven-plugin build-info documentation causing project builds to fail #38078
  • Document how to downgrade dependencies to use embedded Jetty 11 #38077
  • Update "Use Another Web Server" how-to to reflect Servlet 5.0 baseline #38075
  • Improve health group membership validation error message to provide hint for property to disable validation #38073
  • Update "Running Behind a Front-end Proxy Server" to include reactive and ForwardedHeaderTransformer #38072
  • Document that spring-boot-starter-parent sets maven.compiler.release and how to unset it if needed #38069
  • Document how to customize the basePackages that auto-configurations consider (for example Spring Data Repositories) #38054
  • Reference documentation MyContainersConfiguration sample is missing @ServiceConnection #38048
  • Clarifying documentation on including a top-level @TestConfiguration class in a test #38041
  • Document ConfigurationPropertyCaching #38038
  • Document server.servlet.encoding.* properties and server.servlet.encoding.mapping in particular #38035
  • Document configuration for building images with Colima #38032
  • Add a section on customizing embedded reactive servers #38028
  • Improve documentation of classpath.idx file and its generation by the Maven and Gradle plugins #38025
  • Document additional user configuration that's required after setting spring.hateoas.use-hal-as-default-json-media-type to false #38022
  • Clarify that MVC components provided through WebMvcRegistrations are subject to subsequent processing and configuration by MVC #38019
  • Add Embedded MongoDB to community starters #38016
  • Links to portfolio projects which use Antora are broken #38000
  • Fix links in Spring Kafka section of ref guide #37987
  • Fix links in Spring Pulsar section of ref guide #37986
  • Add JVM Checkpoint Restore documentation #37975

🔨 Dependency Upgrades

  • Upgrade to ActiveMQ 5.18.3 #38126
  • Upgrade to Artemis 2.31.2 #38127
  • Upgrade to Glassfish JAXB 4.0.4 #38128
  • Upgrade to Hazelcast 5.3.5 #38129
  • Upgrade to Jakarta Json 2.1.3 #38130
  • Upgrade to Jakarta XML SOAP 3.0.1 #38131
  • Upgrade to Jakarta XML WS 4.0.1 #38132
  • Upgrade to Jedis 5.0.2 #38133
  • Upgrade to Jetty 12.0.3 #38135
  • Upgrade to Jetty Reactive HTTPClient 4.0.1 #38134
  • Upgrade to Kotlin 1.9.20 #38136
  • Upgrade to Liquibase 4.24.0 #38120
  • Upgrade to Log4j2 2.21.1 #38137
  • Upgrade to Maven Clean Plugin 3.3.2 #38138
  • Upgrade to Maven Dependency Plugin 3.6.1 #38139
  • Upgrade to MSSQL JDBC 12.4.2.jre11 #38140
  • Upgrade to Native Build Tools Plugin 0.9.28 #38141
  • Upgrade to Oracle Database 23.3.0.23.09 #38121
  • Upgrade to Pulsar 3.1.1 #38142
  • Upgrade to SAAJ Impl 3.0.3 #38143
  • Upgrade to Spring Framework 6.1.0-RC2 #37995
  • Upgrade to Spring WS 4.0.7 #38144

❤️ Contributors

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

@GVictorG7, @Wzy19930507, @ch4570, @dreis2211, @izeye, @onobc, and @sdeleuze

v3.2.0-RC1

20 Oct 13:44
Compare
Choose a tag to compare
v3.2.0-RC1 Pre-release
Pre-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 t...
Read more

v3.1.5

19 Oct 13:09
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • The behavior of spring.jms.listener.concurrency has been corrected to match the documentation (#37180). If you were setting spring.jms.listener.concurrency without also setting spring.jms.listener.max-concurrency, please review your configuration when upgrading.

🐞 Bug Fixes

  • Constructor binding with a custom collection type does not work #37941
  • @Order does not work on (CommandLine|Application)Runner @Bean methods #37938
  • @ComponentScan on a test class is processed when creating a test context but is not included in the context's cache key #37924
  • Restarter creates memory leak in tests #37920
  • AOT processing fails when a @WebServlet found by scanning is annotated with @MultipartConfig #37883
  • Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37881
  • Task executor metrics are not registered when using lazy initialization #37838
  • Gradle AOT processing tasks do not use project's Java toolchain #37826
  • @ServiceConnection is not found when used in an interface implemented by a test class #37671
  • Image building can fail when using GraalVM compilation and a remote Docker daemon #37665
  • NPE from Jetty's WebSocketUpgradeFilter when testing with @SpringBootTest, @AutoConfigureMockMvc, and MockMvc #37663
  • @WebListener does not work in a native image without additional reflection hints #37635
  • AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37632
  • IPv6 IP addresses cannot be used with RabbitMQ #37619
  • Unwanted Logback status messages are sometimes logged during startup #37600
  • Managed types for Neo4j are not used in Neo4j Data auto configuration #37594
  • fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37588
  • Application fails to start when an optional config import cannot be resolved #37570
  • Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37553
  • Dependency management for kafka-server-common with a test classifier is missing #37542
  • RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37535

📔 Documentation

  • Document that 'spring.docker.compose.file' can be used to share Docker Compose configuration between applications #37886
  • Remove link to LiveReload website due to timeout #37691
  • Refer to ActiveMQ as ActiveMQ "Classic" #37615
  • Removal of spring.webflux.multipart.streaming is not documented #37609
  • Default value of spring.jmx.registration-policy is not documented #37596
  • Update documentation to align with Mockito 5 using the inline mock maker by default #37561
  • Add Javadoc since for AbstractAotMojo.getSession() #37547
  • Document support for Java 21 #37532
  • Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37510

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.9 #37853
  • Upgrade to Couchbase Client 3.4.11 #37759
  • Upgrade to Dropwizard Metrics 4.2.21 #37897
  • Upgrade to Hibernate 6.2.13.Final #37854
  • Upgrade to HttpCore5 5.2.3 #37762
  • Upgrade to Infinispan 14.0.19.Final #37855
  • Upgrade to Jackson Bom 2.15.3 #37898
  • Upgrade to Jetty 11.0.17 #37856
  • Upgrade to Jetty Reactive HTTPClient 3.0.9 #37932
  • Upgrade to jOOQ 3.18.7 #37857
  • Upgrade to Micrometer 1.11.5 #37693
  • Upgrade to Micrometer Tracing 1.1.6 #37694
  • Upgrade to Neo4j Java Driver 5.13.0 #37793
  • Upgrade to Netty 4.1.100.Final #37858
  • Upgrade to Pooled JMS 3.1.4 #37764
  • Upgrade to R2DBC MySQL 1.0.5 #37859
  • Upgrade to Reactor Bom 2022.0.12 #37695
  • Upgrade to RxJava3 3.1.8 #37766
  • Upgrade to Spring AMQP 3.0.10 #37696
  • Upgrade to Spring Authorization Server 1.1.3 #37697
  • Upgrade to Spring Data Bom 2023.0.5 #37698
  • Upgrade to Spring Framework 6.0.13 #37816
  • Upgrade to Spring Integration 6.1.4 #37914
  • Upgrade to Spring Kafka 3.0.12 #37797
  • Upgrade to Spring LDAP 3.1.2 #37699
  • Upgrade to Spring Retry 2.0.4 #37700
  • Upgrade to Spring Security 6.1.5 #37701
  • Upgrade to Spring Session 3.1.3 #37702
  • Upgrade to Tomcat 10.1.15 #37902
  • Upgrade to UnboundID LDAPSDK 6.0.10 #37767
  • Upgrade to Undertow 2.3.10.Final #37933

❤️ Contributors

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

@JinseongHwang, @bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @jonasfugedi, @michael-simons, @nielsbasjes, @onobc, @sushant1987, @ttddyy, and @vpavic

v3.0.12

19 Oct 11:31
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • The behavior of spring.jms.listener.concurrency has been corrected to match the documentation (#37180). If you were setting spring.jms.listener.concurrency without also setting spring.jms.listener.max-concurrency, please review your configuration when upgrading.

🐞 Bug Fixes

  • Constructor binding with a custom collection type does not work #37940
  • @Order does not work on (CommandLine|Application)Runner @Bean methods #37937
  • @ComponentScan on a test class is processed when creating a test context but is not included in the context's cache key #37923
  • Restarter creates memory leak in tests #37919
  • Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37880
  • Task executor metrics are not registered when using lazy initialization #37837
  • Gradle AOT processing tasks do not use project's Java toolchain #37717
  • NPE from Jetty's WebSocketUpgradeFilter when testing with @SpringBootTest, @AutoConfigureMockMvc, and MockMvc #37660
  • AOT processing fails when a @WebServlet found by scanning is annotated with @MultipartConfig #37637
  • AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37631
  • fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37587
  • Managed types for Neo4j are not used in Neo4j Data auto configuration #37574
  • Application fails to start when an optional config import cannot be resolved #37569
  • Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37552
  • Dependency management for kafka-server-common with a test classifier is missing #37541
  • RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37534
  • @WebListener does not work in a native image without additional reflection hints #36008
  • Unwanted Logback status messages are sometimes logged during startup #34505

📔 Documentation

  • Remove link to LiveReload website due to timeout #37690
  • Refer to ActiveMQ as ActiveMQ "Classic" #37614
  • Removal of spring.webflux.multipart.streaming is not documented #37608
  • Document support for Java 21 #37531
  • Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37509
  • Add Javadoc since for AbstractAotMojo.getSession() #37462

🔨 Dependency Upgrades

  • Upgrade to Couchbase Client 3.4.11 #37754
  • Upgrade to Dropwizard Metrics 4.2.21 #37896
  • Upgrade to Infinispan 14.0.19.Final #37846
  • Upgrade to Jetty 11.0.17 #37847
  • Upgrade to Jetty Reactive HTTPClient 3.0.9 #37930
  • Upgrade to jOOQ 3.17.16 #37848
  • Upgrade to Micrometer 1.10.12 #37678
  • Upgrade to Micrometer Tracing 1.0.11 #37679
  • Upgrade to Neo4j Java Driver 5.13.0 #37792
  • Upgrade to Netty 4.1.100.Final #37849
  • Upgrade to Reactor Bom 2022.0.12 #37680
  • Upgrade to RxJava3 3.1.8 #37757
  • Upgrade to Spring AMQP 3.0.10 #37681
  • Upgrade to Spring Data Bom 2022.0.11 #37682
  • Upgrade to Spring Framework 6.0.13 #37814
  • Upgrade to Spring Integration 6.0.8 #37795
  • Upgrade to Spring Kafka 3.0.12 #37796
  • Upgrade to Spring LDAP 3.0.6 #37683
  • Upgrade to Spring Retry 2.0.4 #37684
  • Upgrade to Spring Security 6.0.8 #37685
  • Upgrade to Spring Session 3.0.4 #37686
  • Upgrade to Tomcat 10.1.15 #37901
  • Upgrade to UnboundID LDAPSDK 6.0.10 #37758
  • Upgrade to Undertow 2.3.10.Final #37931

❤️ Contributors

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

@bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @michael-simons, @nielsbasjes, @onobc, @ttddyy, and @vpavic

v2.7.17

19 Oct 08:25
Compare
Choose a tag to compare

⚠️ Noteworthy Changes

  • The behavior of spring.jms.listener.concurrency has been corrected to match the documentation (#37180). If you were setting spring.jms.listener.concurrency without also setting spring.jms.listener.max-concurrency, please review your configuration when upgrading.

🐞 Bug Fixes

  • @Order does not work on (CommandLine|Application)Runner @Bean methods #37905
  • Gradle plugin uses to-be-deprecated API for getting and setting file permissions #37878
  • Task executor metrics are not registered when using lazy initialization #37832
  • Constructor binding with a custom collection type does not work #37734
  • Dependency management for kafka-server-common with a test classifier is missing #37499
  • fileMode and dirMode are not applied to all entries in an archive produced by BootJar #37496
  • Gradle plugin's build info support produces a deprecation warning when using Gradle 8.4-rc-1 #37493
  • RepackageMojo doesn't support 1 digit numerical values for project.build.outputTimestamp #37438
  • Restarter creates memory leak in tests #37373
  • Contrary to the documentation, setting spring.jms.listener.concurrency alone configures the maximum concurrency #37180
  • Application fails to start when an optional config import cannot be resolved #35683
  • @ComponentScan on a test class is processed when creating a test context but is not included in the context's cache key #31577
  • AspectJ transaction management with compile-time weaving does not work with spring.main.lazy-initialization=true #37506

📔 Documentation

  • Remove link to LiveReload website due to timeout #37643
  • Refer to ActiveMQ as ActiveMQ "Classic" #37606
  • Use more idiomatic Kotlin in example for "Map Health Indicators to Micrometer Metrics" #37491
  • Document support for Java 21 #37371

🔨 Dependency Upgrades

  • Upgrade to Dropwizard Metrics 4.2.21 #37893
  • Upgrade to Elasticsearch 7.17.14 #37840
  • Upgrade to Infinispan 13.0.20.Final #37841
  • Upgrade to Jetty 9.4.53.v20231009 #37842
  • Upgrade to Jetty Reactive HTTPClient 1.1.15 #37927
  • Upgrade to Micrometer 1.9.16 #37674
  • Upgrade to Netty 4.1.100.Final #37843
  • Upgrade to Pooled JMS 1.2.5 #37894
  • Upgrade to Reactor Bom 2020.0.37 #37675
  • Upgrade to Spring AMQP 2.4.17 #37676
  • Upgrade to Spring Data Bom 2021.2.17 #37677
  • Upgrade to Spring Session Bom 2021.2.3 #37928
  • Upgrade to Tomcat 9.0.82 #37895
  • Upgrade to UnboundID LDAPSDK 6.0.10 #37753
  • Upgrade to Undertow 2.2.28.Final #37929

❤️ Contributors

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

@bottlerocketjonny, @dependabot[bot], @erichaagdev, @esperar, @izeye, @jbertram, @nielsbasjes, @onobc, @ttddyy, and @vpavic

v3.2.0-M3

21 Sep 13:26
Compare
Choose a tag to compare
v3.2.0-M3 Pre-release
Pre-release

⭐ New Features

  • Support security options for CNB builder container #37479
  • Support bind mounts for image building workspace #37478
  • Auto-configure ObservationRegistry on JmsTemplate #37388
  • Add Docker Compose service connection support for Neo4j #37379
  • Remove usage of deprecated ServerHttpObservationFilter for WebFlux instrumentation #37344
  • Use spring.application.name as fallback for service.name in OtlpConfig #37285
  • Introduce configuration property "spring.servlet.multipart.strict-servlet-compliance" #37242
  • Add ConnectionDetails and ServiceConnection support to Pulsar #37197
  • Add virtual host support for Rabbit Stream #37189
  • Include JdbcClientAutoConfiguration in @JdbcTest and @DataJpaTest test slices #37122
  • Unwrap a validator instance of specified type contained in SpringValidatorAdapter #37119
  • Reduce logging in WelcomePageHandlerMapping on invalid Accept headers #37118
  • Add dependency management for Kotlin Serialization #37093
  • Provide a RestClientBuilderConfigurer for apply Boot's defaults to a custom RestClient.Builder #36265
  • Add configuration property for GraphQL Schema Mapping Inspection #36252
  • Upgrade to Jetty 12 #36073
  • Configure virtual threads on Spring Data Redis' ClusterCommandExecutor #35942
  • Add service connection from Testcontainers OpenTelemetry Collector #35082
  • Add support for Spring for Apache Pulsar #34763

🐞 Bug Fixes

  • When SLF4J and Logback are initialized on multiple threads in parallel, startup may fail due to SubstituteLoggerFactory being considered to be a competing LoggerFactory implementation #37485
  • Saml2RelyingPartyAutoConfiguration ignores sign-request when metadata-url is used #37483
  • Leaking file descriptor / socket within DomainSocket tooling #37461
  • Property 'logging.threshold.console' not working #37446
  • PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37423
  • java.lang.OutOfMemoryError: Metaspace when repeatedly deploying and undeploying a Spring Boot web application multiple times in Tomcat #37402
  • RestClientSsl is not provided as a bean #37400
  • "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37381
  • AOT processing fails when a @ConfigurationProperties-annotated record has multiple constructors #37337
  • SslStoreBundle implementations aren't immutable #37335
  • OpenTelemetryProperties fail if opentelemetry-sdk-common is not available #37284
  • Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37271
  • ServiceConnectionContextCustomizer can trigger docker usage during AOT processing #37194
  • Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37184
  • Producing and consuming different tracing propagation formats doesn't work #37179
  • Using https with elliptic curves other than secp384r1 fails #37171
  • In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37159
  • Local baggage is propagated when using Brave and W3C #37157
  • Default value metadata for management.otlp.metrics.export.base-time-unit is missing #37094

📔 Documentation

  • Document that PKCS8 PEM files should be used whenever possible #37444
  • Update Antora reference documentation links to Spring projects #37428
  • Add reference to Oracle Spring Boot Starters #37412
  • Add SSL section to Pulsar docs #37375
  • Correct the description of spring.artemis.broker-url #37310
  • Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37254
  • Polish javadoc #37144
  • Add Javadoc since for AbstractRabbitListenerContainerFactoryConfigurer.setTaskExecutor() #37117
  • Include Spring Modulith in Spring Boot Documentation #37106
  • Document Welcome Page support ordering #34846

🔨 Dependency Upgrades

  • Upgrade to Artemis 2.31.0 #37475
  • Upgrade to Byte Buddy 1.14.8 #37429
  • Upgrade to Commons DBCP2 2.10.0 #37312
  • Upgrade to Couchbase Client 3.4.10 #37313
  • Upgrade to Elasticsearch Client 8.10.1 #37467
  • Upgrade to Flyway 9.22.1 #37389
  • Upgrade to GraphQL Java 21.1 #37458
  • Upgrade to Groovy 4.0.15 #37390
  • Upgrade to H2 2.2.224 #37468
  • Upgrade to Hibernate 6.3.1.Final #37476
  • Upgrade to Infinispan 14.0.17.Final #37318
  • Upgrade to Jakarta XML Bind 4.0.1 #37391
  • Upgrade to Jedis 4.4.4 #37319
  • Upgrade to Jetty Reactive HTTPClient 4.0.0 #37339
  • Upgrade to Lombok 1.18.30 #37489
  • Upgrade to MariaDB 3.2.0 #37320
  • Upgrade to Maven Enforcer Plugin 3.4.1 #37321
  • Upgrade to Maven Javadoc Plugin 3.6.0 #37469
  • Upgrade to Micrometer 1.12.0-M3 #37226
  • Upgrade to Micrometer Tracing 1.2.0-M3 #37346
  • Upgrade to MSSQL JDBC 12.4.1.jre11 #37322
  • Upgrade to Native Build Tools Plugin 0.9.27 #37430
  • Upgrade to Neo4j Java Driver 5.12.0 #37324
  • Upgrade to OpenTelemetry 1.30.1 #37347
  • Upgrade to Pooled JMS 3.1.3 #37431
  • Upgrade to R2DBC MySQL 1.0.3 #37470
  • Upgrade to Reactor Bom 2023.0.0-M3 #37227
  • Upgrade to REST Assured 5.3.2 #37327
  • Upgrade to Selenium 4.12.1 #37328
  • Upgrade to Selenium HtmlUnit 4.12.0 [#3...
Read more

v3.1.4

21 Sep 11:18
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_ONE to JavaVersion enum #37364

🐞 Bug Fixes

  • When SLF4J and Logback are initialized on multiple threads in parallel, startup may fail due to SubstituteLoggerFactory being considered to be a competing LoggerFactory implementation #37484
  • Saml2RelyingPartyAutoConfiguration ignores sign-request when metadata-url is used #37482
  • Leaking file descriptor / socket within DomainSocket tooling #37460
  • Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37457
  • PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37422
  • "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37380
  • AOT processing fails when a @ConfigurationProperties-annotated record has multiple constructors #37336
  • Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37270
  • SslStoreBundle implementations aren't immutable #37222
  • Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37183
  • Producing and consuming different tracing propagation formats doesn't work #37178
  • Using https with elliptic curves other than secp384r1 fails #37169
  • In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37158
  • Local baggage is propagated when using Brave and W3C #37156
  • ServiceConnectionContextCustomizer can trigger docker usage during AOT processing #37097
  • java.lang.OutOfMemoryError: Metaspace when repeatedly deploying and undeploying a Spring Boot web application multiple times in Tomcat #37096
  • Property 'logging.threshold.console' not working #36741

📔 Documentation

  • Document that PKCS8 PEM files should be used whenever possible #37443
  • Add reference to Oracle Spring Boot Starters #37411
  • Correct the description of spring.artemis.broker-url #37309
  • Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37253
  • Polish javadoc #37143

🔨 Dependency Upgrades

  • Upgrade to Byte Buddy 1.14.8 #37419
  • Upgrade to Couchbase Client 3.4.10 #37297
  • Upgrade to Groovy 4.0.15 #37386
  • Upgrade to Hibernate 6.2.9.Final #37465
  • Upgrade to Infinispan 14.0.17.Final #37299
  • Upgrade to Jakarta XML Bind 4.0.1 #37387
  • Upgrade to Jetty 11.0.16 #37300
  • Upgrade to Lombok 1.18.30 #37488
  • Upgrade to Micrometer 1.11.4 #37261
  • Upgrade to Micrometer Tracing 1.1.5 #37262
  • Upgrade to Native Build Tools Plugin 0.9.27 #37420
  • Upgrade to Neo4j Java Driver 5.12.0 #37353
  • Upgrade to Pooled JMS 3.1.3 #37421
  • Upgrade to R2DBC MySQL 1.0.3 #37466
  • Upgrade to Reactor Bom 2022.0.11 #37263
  • Upgrade to REST Assured 5.3.2 #37303
  • Upgrade to SLF4J 2.0.9 #37304
  • Upgrade to Spring AMQP 3.0.9 #37264
  • Upgrade to Spring Data Bom 2023.0.4 #37350
  • Upgrade to Spring Framework 6.0.12 #37265
  • Upgrade to Spring GraphQL 1.2.3 #37266
  • Upgrade to Spring Integration 6.1.3 #37267
  • Upgrade to Spring Kafka 3.0.11 #37305
  • Upgrade to Spring Retry 2.0.3 #37280
  • Upgrade to Spring Security 6.1.4 #37424
  • Upgrade to Spring WS 4.0.6 #37425
  • Upgrade to Tomcat 10.1.13 #37306

❤️ Contributors

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

@Eng-Fouad, @dependabot[bot], @izeye, @markxnelson, @mdeinum, and @quaff

v3.0.11

21 Sep 09:38
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_ONE to JavaVersion enum #37363

🐞 Bug Fixes

  • Saml2RelyingPartyAutoConfiguration ignores sign-request when metadata-url is used #37481
  • When SLF4J and Logback are initialized on multiple threads in parallel, startup may fail due to SubstituteLoggerFactory being considered to be a competing LoggerFactory implementation #37477
  • Leaking file descriptor / socket within DomainSocket tooling #37459
  • Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37456
  • PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37413
  • "languageVersion is final and cannot be changed" when using Gradle 8.3 and configuring the Java toolchain's language version #37343
  • Spring Boot dependency management not working for ehcache when using Gradle and the dependency management plugin #37243
  • Parsing OCI image names that are invalid due to the use of upper case letters is very slow #37182
  • Using https with elliptic curves other than secp384r1 fails #37168
  • Producing and consuming different tracing propagation formats doesn't work #37161
  • AOT processing fails when a @ConfigurationProperties-annotated record has multiple constructors #37283
  • In 3.0.x and later, Spring Security cannot be used to secure a WebSocket upgrade request when using Jetty #37115
  • Local baggage is propagated when using Brave and W3C #37109

📔 Documentation

  • Document that PKCS8 PEM files should be used whenever possible #37442
  • Correct the description of spring.artemis.broker-url #37308
  • Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37252
  • Polish javadoc #37142
  • Add reference to Oracle Spring Boot Starters #37069

🔨 Dependency Upgrades

  • Upgrade to Couchbase Client 3.4.10 #37289
  • Upgrade to Groovy 4.0.15 #37384
  • Upgrade to Infinispan 14.0.17.Final #37290
  • Upgrade to Jakarta XML Bind 4.0.1 #37385
  • Upgrade to Jetty 11.0.16 #37291
  • Upgrade to Lombok 1.18.30 #37487
  • Upgrade to Micrometer 1.10.11 #37255
  • Upgrade to Micrometer Tracing 1.0.10 #37345
  • Upgrade to Native Build Tools Plugin 0.9.27 #37416
  • Upgrade to Neo4j Java Driver 5.12.0 #37352
  • Upgrade to Reactor Bom 2022.0.11 #37256
  • Upgrade to SLF4J 2.0.9 #37293
  • Upgrade to Spring AMQP 3.0.9 #37257
  • Upgrade to Spring Data Bom 2022.0.10 #37349
  • Upgrade to Spring Framework 6.0.12 #37258
  • Upgrade to Spring GraphQL 1.1.7 #37464
  • Upgrade to Spring Kafka 3.0.11 #37294
  • Upgrade to Spring Retry 2.0.3 #37279
  • Upgrade to Spring Security 6.0.7 #37417
  • Upgrade to Spring WS 4.0.6 #37418
  • Upgrade to Tomcat 10.1.13 #37295

❤️ Contributors

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

@Eng-Fouad, @dependabot[bot], @izeye, @markxnelson, @mdeinum, and @quaff

v2.7.16

21 Sep 07:49
Compare
Choose a tag to compare

⭐ New Features

  • Add TWENTY_ONE to JavaVersion enum #37362

🐞 Bug Fixes

  • Invalid Accept header produces HTTP 500 in WelcomePageHandlerMapping #37455
  • PrivateKeyParser doesn't support ed448, XDH and RSA-PSS keys #37237
  • Parsing OCI image names that are invalid due to the use of upper case letters is very slow #35657
  • Using https with elliptic curves other than secp384r1 fails #34232
  • Saml2RelyingPartyAutoConfiguration ignores sign-request when metadata-url is used #33747
  • Leaking file descriptor / socket within DomainSocket tooling #32423

📔 Documentation

  • Correct the description of spring.artemis.broker-url #37260
  • Add default value metadata for management.metrics.export.signalfx.published-histogram-type #37210
  • Document that PKCS8 PEM files should be used whenever possible #37170
  • Polish javadoc #37112

🔨 Dependency Upgrades

  • Upgrade to Elasticsearch 7.17.13 #37286
  • Upgrade to Jetty 9.4.52.v20230823 #37287
  • Upgrade to Lombok 1.18.30 #37486
  • Upgrade to Micrometer 1.9.15 #37245
  • Upgrade to Reactor Bom 2020.0.36 #37246
  • Upgrade to Spring AMQP 2.4.16 #37247
  • Upgrade to Spring Data Bom 2021.2.16 #37248
  • Upgrade to Spring Framework 5.3.30 #37249
  • Upgrade to Spring GraphQL 1.0.6 #37250
  • Upgrade to Spring Integration 5.5.19 #37251
  • Upgrade to Spring Security 5.7.11 #37414
  • Upgrade to Spring WS 3.1.7 #37415
  • Upgrade to Tomcat 9.0.80 #37288

❤️ Contributors

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

@dependabot[bot], @hakan-krgn, @izeye, @mdeinum, and @quaff

v3.2.0-M2

24 Aug 13:46
Compare
Choose a tag to compare
v3.2.0-M2 Pre-release
Pre-release

⭐ New Features

  • Use JOOQ functionality to determine dialect #36991
  • Add support for CNB platform API 0.12 #36712
  • Upgrade default CNB builders to Paketo Jammy #36689
  • Add resource hints for default MessageSource properties file locations #36682
  • Add ThreadPoolTaskSchedulerBuilder as a replacement for TaskSchedulerBuilder #36651
  • Add support for using an AuthTokenManager bean to authenticate with Neo4j #36650
  • Add ThreadPoolTaskExecutorBuilder as a replacement for TaskExecutorBuilder #36637
  • Deprecate support for OkHttp3 #36632
  • Provide a condition for threading (platform or virtual) #36624
  • Auto-configure SimpleAsyncTaskScheduler when virtual threads are enabled #36609
  • Add auto-configuration for JdbcClient #36579
  • Register user-provided SdkLoggerProvider and SdkMeterProvider on the OpenTelemetry bean #36545
  • Provide OpenTelemetry Resource as a bean #36544
  • Add RabbitMQ container forceStop property #36539
  • Provide a condition for checkpoint-restore #36536
  • Add since support to @DeprecatedConfigurationProperty and the resulting metadata #36482
  • Allow auto-configured HikariDataSource to participate in checkpoint-restore #36422
  • When virtual threads are enabled, auto-configure Kafka listener container factories to use a virtual thread based executor #36396
  • When virtual threads are enabled, auto-configure Rabbit listener container factories to use a virtual thread based executor #36387
  • Auto-configure AbstractKafkaListenerContainerFactory with any Function<MessageListenerContainer, String> bean as its threadNameSupplier #36344
  • Provide a configuration property for Spring Kafka's changeConsumerThreadName MessageListenerContainer setting #36343
  • Configure Virtual Threads support in Reactor #36302
  • Order ProblemDetailsExceptionHandler beans #36288
  • Provide SimpleAsyncTaskExecutorBuilder to build SimpleAsyncTaskExecutors #35711
  • Rename run goal's directories property to additionalClasspathElements #35179
  • Add R2DBC observation auto-configuration #33768
  • Expose configuration properties to configure the WebsocketServerSpec to use #29567
  • Support caching build layers to a bind mount #28387

🐞 Bug Fixes

  • Changed environment variable name APP_PASSWORD to APP_USER_PASSWORD i? #37064
  • Logging config URLs with query parameters are not detected as XML #37063
  • BindableRuntimeHintsRegistrar does not generate hints for all nested types of a ConfigurationProperties type #37023
  • server.max-http-request-header-size doesn't affect Netty server with http2 enabled #37016
  • AbstractAotMojo should not add source or target if they are null #36973
  • Exception message in ProcessTestAotMojo has a typo #36967
  • Docker Compose start fails with "unknown flag: --no-color" #36910
  • Script-based database initialization fails with an unhelpful error message when configured with a resource that points to a directory #36787
  • Artemis ConnectionFactory is not configured when CachingConnectionFactory is missing and enabled properties are false #36773
  • DatabaseDriver swallows real exception #36760
  • Defining a custom ElasticsearchTransport causes the auto-configured JsonpMapper to back off #36701
  • Auto-configuration's session repository customization may override that of SessionRepositoryCustomizer beans #36697
  • @ServiceConnection on a @Bean method does not work in sliced tests #36661
  • RabbitMQ smoke test is missing a test #36613
  • Tomcat warns about a missing +/- prefix when enabling multiple protocols through server.ssl.enabled-protocols #36585
  • management.metrics.export.stackdriver properties are incomplete #36560
  • management.wavefront.metrics.export properties are incomplete #36557
  • management.metrics.export.signalfx properties are incomplete #36554
  • JobLauncherApplicationRunner returns a success exit code even when no jobs have been run #36533
  • Remove use of jakarta.annotation.PostConstruct #36530
  • management.metrics.export.atlas properties are incomplete #36527
  • Descriptions of started and ready time metrics contain time units but the unit may change when the metrics are exported #36517
  • Unlike other Spring Boot goals, process-aot and process-test-aot run on Maven reactor projects #36495

📔 Documentation

  • Fix broken links in the documentation #37072
  • Maven plugin docs contain invalid parameter for image building #37052
  • Align javadoc of AbstractFilterRegistrationBean#setDispatcherTypes #36970
  • Improve documentation of spring.cache.type=none #36963
  • Clarify that spring.security.filter properties only apply to servlet-based web apps #36866
  • Improve documentation to describe how @EntityScan and @Enable?Repositories can be used to tune scanning #36863
  • Describe quirks of JUL and Log4j2 in the javadoc of OutputCaptureExtension #36860
  • LogbackLoggingSystem does not report suppressed exception details #36857
  • Clarify table that shows how logging properties are transferred to system properties #36854
  • Review Google AppEngine documentation #36851
  • Rework Working with NoSQL Technologies to clarify which stores are supported by Spring Data #36814
  • Clarify how nested directories are treated for configtree with wildcards #36811
  • Clarify the effect of using @EnableWebMvc #36798
  • Document defaults for spring.mvc.format.* and spring.webflux.format.* properties #36794
  • Documentation describes how to opt in to using the path pattern parser but it's now the default #36790
  • Document that scripts for database initialization are optional by default and how they can be made mandatory #36784
  • Document @DataR2dbcTest support #36757
  • @since is missing from javadoc of values added to JavaVersion since its introduction [#36736](https://github...
Read more