OpenJDK
JEP 485(Stream Gatherers)已从 Candidate 进入到 Proposed to Target 状态,目标版本为 JDK 24。这个 JEP 提议在经过两轮预览之后完成这个特效:在 JDK 23 中交付的 JEP 473(Stream Gatherers (第二轮预览)和, 在 JDK 22 中交付的 JEP 461(Stream Gatherers (预览))。该功能旨在增强 Stream API,使其能够支持自定义中间操作,“让流式管道能够以一种不易通过现有内置中间操作实现的方式转换数据。”有关此 JEP 的更多细节,可在原始设计文档和 InfoQ 的报道中找到。评审在 2024 年 10 月 23 日结束。
Oracle 已发布JDK 的 23.0.1、21.0.5、17.0.13、11.0.25 和 8u431 版本,作为 2024 年 10 月季度关键补丁更新的一部分。有关这些发布的更多细节,可在23.0.1、21.0.5、17.0.13、11.0.25和8u431的发布说明中找到。
JDK 回归测试工具jtreg的 7.5.0 版本已发布,并准备集成到 JDK 中。最重要的变化包括:恢复jtdiff工具;支持在 @library 标签指定的目录中的 LIBRARY.properties 文件,这些文件将在 jtreg 编译该库中的类时读取。JUnit 升级到 5.11.0 版本。有关该版本的更多细节,可在发布说明中找到。
JDK 24
JDK 24早期访问构建版本的Build 20已发布,包含了自 Build 19 以来的更新,修复了各种问题。有关该版本的更多细节,可在发布说明中找到。
对于JDK 24,开发者可以通过Java Bug数据库报告错误。
Jakarta EE 11
Eclipse 基金会的 Jakarta EE 开发者布道师Ivar Grimstad在每周的Hashtag Jakarta EE博客中分享了有关 Jakarta EE 11 的最新进展,他写道:
GlassFish 已通过重构的 Jakarta EE 11 TCK 84%的测试,剩余的测试主要与应用客户端容器有关。Jakarta EE 平台项目提议在 Jakarta EE 12 中弃用应用容器。目前正在讨论这些测试对 Jakarta EE 11 的重要性。
Jakarta EE 11 Core Profile TCK 已分阶段进行,Open Liberty 和 WildFly 正在通过(或非常接近通过)测试。因此,我们有望在 Jakarta EE 11 Core Profile 之前发布 Jakarta EE 11 Platform 和 Jakarta EE 11 Web Profile。
Jakarta EE 11 将经理四个里程碑版本,必要时可能会发布候选版本,然后在 2024 年第四季度发布 GA 版本。
BellSoft
与 Oracle 发布的 2024 年 10 月关键补丁更新同步,BellSoft 也发布了关键补丁更新,分别针对Liberica JDK(OpenJDK 下游发行版)的 21.0.4.0.1、17.0.12.0.1、11.0.24.0.1、8u431、7u441 和 6u441 版本,解决了这些CVE问题。此外还发布了包含关键布丁更新和非关键修复的 Patch Set Update (PSU)版本 23.0.1、21.0.5、17.0.13、11.0.25 和 8u432。
BellSoft 表示,他们总共参与了 1169 个修复和回溯,解决了所有发布版本中的 18 个问题。
Spring Framework
Spring Framework 6.2.0 的第二个发布候选版本包含了错误修复、文档改进、依赖项升级和许多新特性,例如:将OverrideMetadata类重命名为BeanOverrideHandler,以便与org.springframework.test.context.bean.override包中定义的其他类、接口和注释的命名约定保持一致;向RestClient.Builder接口添加了 messageConverters()方法,允许在不初始化默认设置的情况下为RestClient接口设置转换器。这个版本将包含在即将发布的 Spring Boot 3.4.0-RC1 中。有关该版本的更多细节,可在发布说明中找到。
类似的,Spring Framework 6.1.14 也已发布,包含了错误修复、文档改进、依赖项升级和新特性,例如:在ResourceHandlerUtils类中移除了对相对路径的支持,消除了潜在的安全问题;确保在遇到格式错误的 Origin 表头时,CorsUtils类中定义的 isCorsRequest()方法能够正确处理异常。这个版本将包含在即将发布的 Spring Boot 3.3.5 和 3.2.11 中。有关该版本的更多细节,可在发布说明中找到。
Spring Framework 团队还披露了两个常见的 CVE:
CVE-2024-38819,影响 Spring Web MVC 和 Spring WebFlux 的路径遍历漏洞。攻击者可以通过创建恶意 HTTP 请求来获取对运行 Spring 应用程序的服务器文件系统的访问权限。这个 CVE 是 CVE-2024-38816(功能性Web框架中的路径遍历漏洞的延续,只是后者使用的是不同的恶意输入。
CVE-2024-38820:Java String类中定义的 toLowerCase()方法对Locale类存在依赖异常,有可能导致字段未能受到预期的保护。这是解决CVE-2022-22968所带来的副作用,该解决方案将DataBinder类中定义的 disallowedFields 字段的模式变成不区分大小写。
这些 CVE 影响了 Spring Framework 的 5.3.0 - 5.3.40、6.0.0 - 6.0.24 和 6.1.0 - 6.1.13 版本。
Spring Data 2024.1.0 的第一个发布候选版本带来了对Spring Data Value Expressions的扩展支持,属性占位符现在可以在用@Query注解的仓库查询方法中使用。还更新了子项目,如:Spring Data Commons 3.4.0-RC1、Spring Data MongoDB 4.4.0-RC1、Spring Data Elasticsearch 5.4.0-RC1 和 Spring Data Neo4j 7.4.0-RC1。有关该版本的更多细节,可在发布说明中找到。
同样,Spring Data 2024.0.5 和 2023.1.11发布,包括了错误修复和子项目的依赖项升级,如:Spring Data Commons 3.3.5 和 3.2.11、Spring Data MongoDB 4.3.5 和 4.2.11、Spring Data Elasticsearch 5.3.5 和 5.2.11,以及 Spring Data Neo4j 7.3.5 和 7.2.11。这些版本将包含在即将发布的 Spring Boot 3.3.5 和 3.2.11 中。
WildFly
WildFly 34发布,主要关注WildFly Preview,即 WildFly 服务器的技术预览版本。新功能包括:支持Jakarta Data 1.0、MicroProfile Rest Client 4.0和MicroProfile Telemetry 2.0;WildFly Preview 新的Bill of Materials;以及HTTP管理界面配置中的四个新系统属性(backlog、connection-high-water、connection-low-water 和 no-request-timeout)。有关该版本的更多细节,可在发布说明中找到。InfoQ 将跟进更详细的报道。
Quarkus
Quarkus 团队披露,他们最近发现 Quarkiverse 和 SmallRye 的发布过程中可能存在漏洞,但并没有造成任何损害。
Red Hat 杰出工程师Clement Escoffier总结了这个问题,写道:
我们发现在 Quarkiverse 和 SmallRye 的发布流程中存在一个安全漏洞,该漏洞可能被恶意行为者利用,冒充项目发布者并上传恶意篡改的构件。
我们已经采用一个新的、更安全的发布流程来解决这个问题。如果你是维护者,可能已经收到了一个迁移到新流程的拉取请求。Quarkus 本身不受这个问题的影响,问题仅涉及 SmallRye 和 Quarkiverse。
他们采用了更安全的发布流程,并希望与 Java 社区分享这些细节。InfoQ 将跟进更详细的报道。
Micrometer
Micrometer Metrics 1.14.0 首个发布候选版本包含了错误修复、文档改进、依赖项升级和一些新功能,例如:通过 AssertJ 的 assertThat()方法在Assertions类中暴露TestObservationRegistry类的实例;增加指标,包含了虚拟线程数据;用排序的唯一标签数组初始化Tags类,提高了性能。有关该版本的更多细节,可在发布说明中找到。
同样,Micrometer Metrics 的 1.13.6 和 1.12.11 版本也包含了错误修复、文档改进和一项新特性,即通过移除可以从FixedBoundaryHistogram实例访问内部字段来优化StepBucketHistogram的内存使用。有关这些版本的更多细节,可在1.13.6和1.12.11的发布说明中找到。
Micrometer Tracing 1.4.0 首个发布候选版本带来了依赖项升级和新功能:在Span和SpanCustomizer接口中支持标签中的列表值;将OtelSpan类从私有改为公共,避免使用底层的 OpenTelemetrySpan接口。有关该版本的更多细节,可在发布说明中找到。
Micrometer Tracing 1.3.5 和 1.2.11 仅包含了依赖项升级。有关这些版本的更多细节,可在1.3.5和1.2.11的发布说明中找到。
Project Reactor
Project Reactor 2024.0.0 首个发布候选版本包含这些依赖项升级:reactor-core 3.7.0-RC1、reactor-netty 1.2.0-RC1、reactor-pool 1.1.0-RC1、reactor-addons 3.6.0-RC1、reactor-kotlin-extensions 1.3.0-RC1 和 reactor-kafka 1.4.0-RC1。从Spring Calendar来看,预计 Project 2024.0.0 的 GA 版本将在 2024 年 11 月发布。有关该版本的更多细节,可在更新日志中找到。
Project Reactor 2023.0.11,即第十一个维护版本,包含了 reactor-core 3.6.11 和 reactor-netty 1.1.23 依赖项升级,reactor-pool 1.0.8、reactor-addons 3.5.2、reactor-kotlin-extensions 1.2.3 和 reactor-kafka 1.3.23 保持不变。有关该版本的更多细节,可在更新日志中找到。
Piranha Cloud
Piranha 24.10.0发布,包含了错误修复和一些显著的变化,例如:确保在必要时安装 Eclipse Jersey 的InjecteeSkippingAnalyzer实例;在DefaultServletRequestDispatcher类中使用 Java 的PrintStream类或在DefaultWebApplicationResponse类中定义的 isWriterAcquired()方法,作为对顶级异常的响应。有关该版本的更多细节,可在其文档和问题追踪器中找到。
Apache 软件基金会
Apache TomEE 10.0.0 第三个里程碑版本包含了错误修复、依赖项升级和一些新功能,例如:改进了数据源和实体管理器的导入,不再必要使用ImportSql类;新的RequestNotActiveException类,替代在没有活动的 Servlet 请求的线程上调用 Jakarta ServletHttpServletRequest实例时抛出的 NullPointerException。有关该版本的更多细节,可在发布说明中找到。
JobRunr
JobRunr 7.3.1带来了一些新功能,例如:作为接口而不是实现注入时,JobDetails的实例是可缓存的;增强的 JobRunr 仪表盘,包含了诊断严重 JobRunr 异常的提示,提高了通知的清晰度。有关该版本的更多细节,可在发布说明中找到。
Keycloak
Keycloak 26.0.1发布,包含错误修复和一些功能增强:对在同一集群操作符中安装多个Keycloak Operator版本的明确说明;改进事务提交期间的错误日志记录。有关该版本的更多细节,可在发布说明中找到。
JDKUpdater
JDKUpdater 14.0.59+79发布,这是一个新的实用工具,旨在帮助开发者跟踪与 OpenJDK 和 GraalVM 构建相关的更新,由 Azul 首席工程师Gerrit Grunwald在 3 月中旬推出,这个版本解决了计算 JDK 下一个更新和下一个发布日期的问题。有关该版本的更多细节,可在发布说明中找到。
Gradle
Gradle 8.11.0首个发布候选版本带来了一些新功能,例如:通过在配置缓存中引入选择性并行加载和存储缓存条目来提升性能;C++和Swift插件现在与配置缓存兼容;改进了错误和警告报告,其中Java编译错误显示在构建输出的末尾。有关该版本的更多细节,可在发布说明中找到。
原文链接:
https://www.infoq.com/news/2024/10/java-news-roundup-oct14-2024/
评论