Spring Boot v3.3.3 发布

Spring Boot v3.3.3 发布了。

⭐ 新特性

  • JavaVersion 枚举中添加 TWENTY_THREE #41716

🐞 Bug 修复

  • 继承 DefaultErrorAttributes 并覆写 getErrorAttributes() 会被调用两次 #41995
  • 在使用 WebFlux 时,当 ResponseStatusException 的原因是 BindingResult 异常时,server.error.include-binding-errors=ALWAYS 不生效 #41987
  • BOOT-INF/lib 中的 jar 添加到 classpath 时,PropertiesLauncher 不遵循 classpath.idx #41970
  • /cloudfoundryapplicationSBOM 端点的 Web 扩展不可用 #41890
  • 启动器(Launcher)的 ClassLoader 不再具有并行功能 #41873
  • spring-boot-testcontainers 会在 AOT 处理过程中导致不必要的容器初始化 #41859
  • Reactor 不在类路径上时,ReactiveElasticsearchRepositoriesAutoConfiguration 应关闭 #41678
  • classifier 设置为非默认值时,mvn spring-boot:build-image 失败 #41661
  • Spring Boot Maven 插件 AOT 无法使用 module-info.java 处理 Maven 模块 #41647
  • publish 选项为 false 时,会验证 Maven 插件配置中的 Docker publishRegistry #41641
  • 使用 Gradle 新的文件权限 API 的方式可以防止删除旧的 API #41607
  • 某些 @ControllerEndpoint@RestControllerEndpoint 基础架构仍未过时 #41596
  • 由于 Key 类型缺失,EnumMap 的构造函数绑定失败 #41563

📔 文档

  • 改进记录日志属性说明和默认值 #41989
  • 解释启用虚拟线程会禁用传统的线程池 #41976
  • 统一参考文档中 MyUserHandler 的代码示例 #41949
  • 记录环境变量属性映射何时适用 #41945
  • 切片测试注释的 Javadoc 应更准确地描述哪些组件被视为组件 #41935
  • 修复重复字词 #41920
  • 在直接使用 Mock Server 定制器时,需要明确记录重置 Mock Server 的需求 #41849
  • 更正 “使用 Maven 运行应用” 中的语法 #41840
  • 更清楚地说明在设置 spring.data.redis.url 时不会使用用户名和密码 #41748
  • Pulsar 配置没有为元数据中的几个条目设置默认值 #41683
  • management.otlp.metrics.export.aggregation-temporality 在元数据中没有默认值 #41676
  • 在元数据中,manage.newrelic.metrics.export.client-provider-type 没有默认值 #41670
  • 在元数据中,server.error.include-path 没有默认值 #41667
  • 定义自己的 SecurityFilterChainActuator 的影响在文档中的描述不一致 #41638
  • “使用 Spring Data Repository” 操作方法错误地提到了 Repository 注解 #41628
  • “使用 Spring Data Repository” 操作方法错误地提到了 Repository 注解 #41627
  • 更新 log4j-spring-boot 文档链接 #41622
  • 修复指向 Flyway 参考文档的链接 #41593
  • 文件配置属性绑定支持使用 @Name 自定义属性名称 #41585
  • 添加 Flyway 所需的新依赖提示 #41574
  • 关于不应通过命令行运行 spring-boot:repackage 的文档 #22317

🔨 依赖升级

  • 升级到 ActiveMQ 6.1.3 #41782
  • 升级到 Awaitility 4.2.2 #41707
  • 升级到 Byte Buddy 1.14.19 #41886
  • 升级到 Couchbase Client 3.6.3 #41967
  • 升级到 CycloneDX Maven Plugin 2.8.1 #41783
  • 升级到 Infinispan 15.0.7.Final #41784
  • 升级到 Jakarta Servlet JSP JSTL 3.0.1 #41845
  • 升级到 Jersey 3.1.8 #41785
  • 升级到 Jetty 12.0.12 #41828
  • 升级到 Jetty Reactive HTTPClient 4.0.6 #41786
  • 升级到 jOOQ 3.19.11 #41846
  • 升级到 Kotlin 1.9.25 #41787
  • 升级到 Logback 1.5.7 #41887
  • 升级到 Maven Deploy Plugin 3.1.3 #41942
  • 升级到 Maven Install Plugin 3.1.3 #41943
  • 升级到 Micrometer 1.13.3 #41733
  • 升级到 Micrometer Tracing 1.3.3 #41734
  • 升级到 Neo4j Java Driver 5.23.0 #41743
  • 升级到 Netty 4.1.112.Final #41788
  • 升级到 Pulsar 3.2.4 #41789
  • 升级到 Pulsar Reactive 0.5.7 #41888
  • 升级到 Reactor Bom 2023.0.9 #41735
  • 升级到 RxJava3 3.1.9 #41847
  • 升级到 SLF4J 2.0.16 #41790
  • 升级到 Spring AMQP 3.1.7 #41953
  • 升级到 Spring Authorization Server 1.3.2 #41736
  • 升级到 Spring Data Bom 2024.0.3 #41737
  • 升级到 Spring Framework 6.1.12 #41738
  • 升级到 Spring HATEOAS 2.3.2 #41889
  • 升级到 Spring Integration 6.3.3 #41974
  • 升级到 Spring Kafka 3.2.3 #41954
  • 升级到 Spring LDAP 3.2.6 #41739
  • 升级到 Spring Pulsar 1.1.3 #41740
  • 升级到 Spring Retry 2.0.8 #41944
  • 升级到 Spring Security 6.3.3 #41985
  • 升级到 Spring Session 3.3.2 #41742
  • 升级到 Tomcat 10.1.28 #41791
  • 升级到 Yasson 3.0.4 #41792

❤️ 贡献者

感谢所有为此版本做出贡献的人员:

@PiyalAhmed@Rajin9601@cms04@dreis2211@eddumelendez@hyunmin0317@ivamly@jmewes@jxblum@lamtrinhdev@ngocnhan-tran1996@quaff 以及 @ritzykey

更多的细节,可以参考 发布说明