Java 近期新闻:OpenJDK、Spring 升级和 CVE、Payara 平台以及 Apache Tomcat 升级

2022年6月12日 343点热度 1人点赞 0条评论

图片

作者 | Michael Redlich
译者 | 张卫滨
策划 | 丁晓昀

本期的 Java 新闻包括 JDK 19、OpenJDK、Jakarta EE 10、Spring 里程碑和小版本升级以及 CVE、Payara 平台发布、Quarkus 2.9.1.Final、Micronaut 3.4.4、WildFly 16.1.1、Hibernate ORM 5.6.9.Final、Hibernate Reactive 11.5.Final、JDKMon 17.0.25、JobRunr 5.1.2、JReleaser 早期访问版本、Apache Tomcat 小版本发布以及 Apache Camel 3.17.0。

OpenJDK

尽管为期一周的审查已经在 2022 年 5 月 19 日结束,但是 JEP 405,Record Patterns(Preview)依然处于 JDK 19 的 Proposed to Target 状态。在 Amber 项目的支持下,这个 JEP 提议使用 record 模式来增强该语言,从而实现 record 值的解构。Record 模式可以与 type 模式联合使用,从而“实现强大的、声明式的以及可组合形式的数据导航和处理”。Type 模式最近通过 JEP 406,Pattern Matching for switch(Preview)(在 JDK 17 中交付)和 EP 420, Pattern Matching for switch(Second Preview)(在 JDK 18 中交付)被扩展到了 switch case 标签中。

JEP 428,Structured Concurrency(Incubator)从 JEP Draft 8277129 状态提升到了 Candidate 状态。这个孵化中的 JEP 在 Loom 项目的支持下,提议通过引入一个库来简化多线程编程,它能够将运行在不同线程中的多个任务视为一个工作单元。这可以简化错误处理和任务取消功能,提升可靠性并增强可观测性。

JDK 19

JDK 19 早期访问构建版本的 Build 23 已经发布,它是 Build 22 的更新,包括对各种问题的修复。更多细节可以在发布说明中找到。

随着 Rampdown 第一阶段目标日期的临近(2022 年 6 月 9 日),JDK 19 的特性集目前包含如下所示的六个特性:

  • 405: Record Patterns (Preview) (依然在审查状态)

  • 422: Linux/RISC-V Port

  • 424: Foreign Function & Memory API (Preview)

  • 425: Virtual Threads (Preview)

  • 426: Vector API (Fourth Incubator)

  • 427: Pattern Matching for switch (Third Preview)

鼓励开发者通过 Java Bug 数据库报告缺陷。

Jakarta EE

在通往 Jakarta EE 10 的道路上,Eclipse 基金会的 Jakarta EE 开发人员倡导者 Ivar Grimstad 在其 Hashtag Jakarta EE 每周博客中宣布,Jakarta EE 10 平台规范进入发布审查的新目标日期是 2022 年 6 月 9 日。做出该决定是为了确保企业级应用能够完全兼容 JDK 11 和 JDK 17。另外,Eclipse GlassFish 最近在 7.0.0-M4 和即将发布的 7.0.0-M5 版本之间提供了一个中间预发布版本,该版本已经顺利通过了 JDK 11 的 TCK,但要通过 JDK 17 的 TCK 依然还需要相关的工作。

Spring Framework

最近,对于 Spring 团队是非常繁忙的,他们提供了 Spring Boot, Spring for GraphQL、Spring Data、Spring Session 和 Spring Security 相关的小版本、里程碑版本以及 CVE。

Spring Boot 2.7.0 发布,提供了如下功能:Spring for GraphQL 1.0 的自动配置和度量;新的注解 @DataCouchbaseTest@DataElasticsearchTest,分别用于 Couchbase 和 Elasticsearch 的测试。依赖升级,包括:Spring Data 2021.2、Spring HATEOAS 1.5、Spring LDAP 2.4、Spring Security 5.7 和 Spring Session 2021.2。关于这个版本的更多细节,可以在发布说明中找到。InfoQ 将在后续推出更详细的新闻报道。

Spring Boot 2.6.8 发布,其中包括 35 个缺陷修复、文档改进和依赖升级。关于该版本的更多细节可在发布说明中找到。

Spring Boot 2.5.14 发布,包括 29 个缺陷修复、文档改进和依赖升级。2.5 版本已经结束了其生命周期,开发者应该考虑升级到更高版本的 Spring Boot。关于这个版本的更多细节可以在发布说明中找到。

在通往 Spring Boot 3.0.0 的道路上,第三个里程碑版本已经发布,其特性包括:Micrometer Observation、Tracing 和 OtlpMeterRegistry 的自动配置,并恢复了对 REST Assured 和 Pooled JMS 的支持。关于这个版本的更多细节可以在发布说明中找到。

从第一次提交到现在已经过去了两年,从第一次介绍给 Java 社区到现在也已经过去了 10 个月,Spring for GraphQL 1.0 发布,其特性包括:为 data fetcher 提供了基于注解的编程模型;将 Querydsl 和 Query by Example 资源库(repository)作为 data fetcher;通过 HTTP、WebSocket 和 RSocket 改进服务器、客户端和测试;通过对数据@Controller方法的注解实现字段级的安全。InfoQ 将在后续推出更详细的新闻报道。

Spring Data 2021.2 和 2022.0 的第四个里程碑版本发布。2022.0 的发布列车将基于 Spring Framework 6、JDK 17 和 Jakarta EE 9。代号为 Raj 的 Spring Data 2021.2 特性包括:data-mongodb模块的声明式Update方法;data-jpa模块对@IdClass处理的改进;data-elasticsearch模块对重索引的支持;以及data-cassandra模块的直接投影。有关该版本的更多细节可在发布说明中找到。

Spring Session 2021.2 发布,其特性是依赖升级到 Spring Data 2021.2。这个版本也是下一代的 Spring Session,该版本将建立在 Spring Framework 6.0 之上。

CVE-2022-22978,Authorization Bypass in RegexRequestMatcher 已经得到解决,但无意中被写成了 CVE-2022-22975。使用 RegexRequestMatcher 类实例的应用程序,如果正则表达式中带有“.”,有可能会导致绕过授权的情况。

CVE-2022-22976,BCrypt Skips Salt Rounds for Work Factor of 31 也已解决,它解决了一个整数溢出的错误,该错误会导致编码器不执行加盐轮转。

Spring Security 的 5.7.1、5.6.5 和 5.5.8 版本发布,提供了一个缺陷修复,StrictHttpFirewall 类的实例错误地拒绝有效的中文、日文、韩文和越南文(CJKV)字符。

Spring Security 5.7.0、5.6.4、5.5.7 版本也已发布,解决了上述的 CVE-2022-22978 和 CVE-2022-22976 漏洞。

在通往 Spring Security 6.0.0 的道路上,第五个里程碑版本已经发布,值得注意的变化包括:每个分发类型都需要授权;将 shouldFilterAllDispatchTypes 属性的默认值改为 true;将默认的安全上下文过滤器从 SecurityContextPersistenceFilter 类改为 SecurityContextHolderFilter 类;并删除 SAML API 中定义的所有废弃功能。该版本还修复了 StrictHttpFirewall 类的实例错误地拒绝有效的 CJKV 字符。

Payara

Payara 公司发布了其 Payara 平台的 2022 年 5 月企业版。Payara Platform Enterprise 5.39.0 版提供了四个缺陷修复、两个组件升级和五个改进,其中包括:支持 JDK 17,以及在调用 Admin Console 时能够指定超时选项。关于这个版本的更多细节可以在发布说明中找到。

Quarkus

在 Quarkus 2.9.0 发布一周后,Red Hat 提供了 Quarkus 2.9.1.Final 的维护版本,其中包括缺陷修复和文档改进,以及依赖升级,包括:GraalVM 22.1、Hibernate Reactive 1.1.5.Final、Hibernate ORM 5.6.9.Final、Micrometer BOM 1.8.6 和 Infinispan 13.0.10.Final。关于这个版本的更多细节可以在更新日志中找到。

Micronaut

Micronaut 基金会发布了 Micronaut 3.4.4,对 Micronaut 模块进行了更新:Micronaut Maven Plugin 3.2.4、Micronaut SQL 4.2.3、Micronaut JAX-RS 3.2.1、Micronaut Oracle Cloud 2.1.3、Micronaut MQTT 2.1.1 和 Micronaut OpenAPI 4.0.1。关于这个版本的更多细节可以在发布说明中找到。

WildFly

在 WildFly 26.1 发布五周后,Red Hat 提供了一个维护版本,即 26.1.1,该版本具有许多组件的升级,包括:WildFly Core 18.1.1.Final、Smallrye Config 2.10.0、Smallrye Health 3.2.1、Netty 4.1.76 以及 RESTEasy 6.0.1.Final。有关该版本的更多细节可在发布说明中找到。

Hibernate

JBoss 提供了 Hibernate ORM 和 Hibernate Reactive 的更新。

Hibernate ORM 5.6.9.Final 是 5.6 版本中的一个维护版本,提供了补丁和关键缺陷的修复。

Hibernate Reactive 1.1.5.Final 为使用 Stage.SessionFactoryStage.Session 接口的开发者提供了一个关键的缺陷修复。如果开发者的应用程序偶尔产生“No Vert.x context active”的错误信息,那就应该升级到这个最新版本。

JDKMon

最新版本的 JDKMon(一个监控和更新已安装的 JDK 的新工具),已经交付给 Java 社区。该工具由 Azul 公司的首席工程师 Gerrit Grunwald 创建,17.0.25 版包括:Linux 版本相关的缺陷修复;用新的指示器取代 CVE 的指示器(indicator)。

JobRunr

JobRunr 是一个在 Java 中进行后台处理的工具,其创始人和主要开发者 Ronald Dehuysser 发布了 5.1.2 版本,其特性包括:支持用 @Recurring 注解提供一个间隔以取代 cron 表达式;允许在 MockJobContext 测试中设置 JobContext 类的实例。

JReleaser

JReleaser 的一个更新的早期访问版本发布,其特性包括:对 aws-java-sdk 1.12.220、jsonschema 4.24.3、sshj 0.33.0、tika 2.4.0 和 mockito 4.5.1 进行了依赖升级。

Apache Tomcat

对于 Apache Tomcat 团队来说,最近也是非常繁忙的,他们为 9.0、10.0 和 10.1 版本提供了小版本发布。

9.0.63、10.0.21 和 10.1.0-M5 版本都具有以下特性:从 Kubernetes 服务绑定作为属性源获取值;识别 Linux 内核重复接受缺陷的根本原因;对 Tomcat 本地库 1.2.3 的依赖性升级,以支持用 OpenSSL 1.1.1 构建的 Windows 二进制文件,以及在配置内部、内存密钥存储时支持加密的 PKCS#1 格式的私钥。

Apache Tomcat 10.1.0-M15 是一个 alpha 里程碑版本,为开发者提供了早期访问 Apache Tomcat 10.1 版本中的新功能。

Apache Camel

Apache 软件基金会发布了 Apache Camel 3.17.0,其中有 220 个缺陷修复、改进和依赖性升级,包括:Spring Boot 2.6.7;用于 camel-jbang模块的 Kamelets 0.8.1;Google Cloud Libraries BOM 25.2.0;Jakarta Mail 1.6(Jakarta EE 8),以及用于修复 OSGi 可重复性问题的maven-bundle-plugin模块。该版本的更多细节可以在发布说明中找到。

原文链接:

https://www.infoq.com/news/2022/05/java-news-roundup-may16-2022/

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

2022,我们该如何理解可观测技术

95后百度员工对领导不满,删改公司数据库被判刑;微软在美取消竞业协议;TikTok中国管理团队与海外员工冲突引发离职潮 |Q资讯

GitHub官宣“报废”Atom编辑器,创始团队不甘心表示正用Rust重写

印度萌新令人绝望的操作:提交PR“轰炸”近40万开发者,GitHub负责?

图片

点个在看少个 bug ?

5900Java 近期新闻:OpenJDK、Spring 升级和 CVE、Payara 平台以及 Apache Tomcat 升级

root

这个人很懒,什么都没留下

文章评论