跳转至

Spring-Boot v3.4.0-M2

```markdown

⭐ 新功能

  • @ConditionalOnAvailableEndpoint 添加值别名并迁移简单条件 #41969
  • 自动配置 BraveBaggageManager 上的远程字段 #41884
  • 添加对 Pulsar 默认租户/命名空间的支持 #41851
  • 在 JavaVersion 枚举中添加 TWENTY_THREE #41717
  • 启用虚拟线程时,配置 Spring Integration 的任务调度器以使用它们 #41695
  • 支持多个 Docker Compose 文件 #41691
  • GraphQL 对于不支持的内容类型应回复 HTTP 415 #41675
  • 使用结构化日志时自动禁用横幅 #41659
  • 在环境中提供应用程序版本和 PID 的属性 #41604
  • 更新 @ConditionalOnSingleCandidate 以处理回退 bean #41580
  • 改进对 SAML 私钥和证书的属性支持 #41567
  • 添加对 grafana/otel-lgtm 和 LgtmStackContainer 的支持 #41551
  • 添加对 CNB 平台 API 版本 0.14 的支持 #41549
  • 允许 PemContent.of 处理未修剪的内容 #41540
  • 提供使用客户端证书进行 Couchbase 认证的自动配置 #41520
  • 改进结构化日志支持 #41491
  • 为 WAR 部署关闭 Reactor 调度器 #41548
  • 添加 SslInfoContributor 和 SslHealthIndicator #41205
  • 在可插拔抽象后重新设计 Cloud Foundry 执行器支持 #41135
  • 为镜像构建添加平台选项 #40944
  • 引入 ApplicationProperties 类,以便我们可以停止直接绑定到 SpringApplication #40592
  • 在 AnnotatedControllerConfigurer 上自动配置 HandlerMethodArgumentResolvers #40393
  • 在 Cloud Foundry 环境中自动激活健康探针 #39804
  • 支持基于 JavaBean 的配置属性中的 @Name #39452
  • 使 DataSourceBuilder 能够从 URL 派生 driverClassName #39376
  • 更容易定义与自动配置的同类型 bean #22403
  • 为计划任务执行器端点添加执行元数据 #17585
  • 更容易使用带有 Hibernate 特定属性的自动配置 EntityManagerFactoryBuilder #15318
  • 当找不到唯一的 CacheManager bean 时执行失败分析 #13348
  • 提供自定义 Freemarker 变量的回调 #8965
  • 在配置处理器中添加对枚举默认值的支持 #7562

🐞 Bug 修复

  • 使用 WebFlux 时,当 BindingResult 异常是 ResponseStatusException 的原因时,server.error.include-binding-errors=ALWAYS 不再有效 #41988
  • PropertiesLauncher 在将 BOOT-INF/lib 中的 jar 添加到类路径时不尊重 classpath.idx #41971
  • SBOM 端点的 Web 扩展在 /cloudfoundryapplication 下不可用 #41891
  • 启动器的 ClassLoader 不再具有并行能力 #41874
  • spring-boot-testcontainers 在 AOT 处理期间导致不必要的容器初始化 #41860
  • 带有 spring-boot-testcontainers 依赖项的类路径中的 @Bean-method 中的 DynamicPropertyRegistry 失败 (3.4.0-M1) #41839
  • ReactiveElasticsearchRepositoriesAutoConfiguration 应在类路径中没有 Reactor 时退让 #41681
  • 当 'classifier' 设置为非默认值时,mvn spring-boot:build-image 失败 #41662
  • Spring Boot Maven 插件 AOT 无法处理带有 module-info.java 的 Maven 模块 #41648
  • 当发布选项为 false 时,Maven 插件配置中的 Docker publishRegistry 被验证 #41642
  • 一些 @ControllerEndpoint@RestControllerEndpoint 基础设施未弃用 #41620
  • 使用 Gradle 的新文件权限 API 的实现方式阻止了旧 API 的移除 #41608
  • EnumMap 的构造函数绑定由于缺少键类型而失败 #41564
  • @ConditionalOnBean 匹配不是自动装配候选的 bean,导致尝试注入 bean 时出现 UnsatisfiedDependencyException #41526
  • 如果祖先上下文已经启用了属性,则在子上下文中启用的配置属性将被忽略 #41487

📔 文档

  • 文档中的发布类型条件不起作用 #41994
  • 改进记录属性描述和默认值的文档 #41990
  • 解释启用虚拟线程会禁用传统线程池 #41977
  • 统一参考文档中 MyUserHandler 的代码示例 #41950
  • 记录环境变量属性映射的应用时间 #41946
  • slice 测试注释的 Javadoc 应更准确地描述考虑的组件 #41936
  • 修复重复的单词 #41921
  • 修正“