OpenJDK
JEP 432,记录模式(第二次预览),已从 JDK 20 的 Candidate 状态提升为 Proposed to Target 状态。该 JEP 更新自 JEP 405,记录模式(预览版),更新包括:增加了对通用记录模式类型参数推断的支持;增加了对记录模式出现在增强 for 语句条件判断中的支持;并删除了对命名记录模式的支持。
JEP 433,switch模式匹配(第四次预览),已从 JDK 20 的 Candidate 状态提升为 Proposed to Target 状态。该 JEP 更新自 JEP 427,switch模式模式匹配(第三次预览),更新包括: 简化了switch
标签语法;现在, switch
表达式和语句以及支持模式的其他构造体都支持泛型类型模式和记录模式的类型参数推断。
在解决 Thread
和 ThreadGroup
类中所定义的固有的不安全 stop()
和 stop(Throwable)
方法的历史长河中,已经在 JDK-8289610, Degrade Thread.stop
中定义了下一步。它建议将 Thread
类中的 stop
方法降级为无条件抛出 UnsupportedOperationException
,并弃用 ThreadDeath
类。这将需要更新 Java 语言规范的第11.1.3节和定义异步异常的 Java 虚拟机规范的第2.10节。
JDK 20
JDK 20早期访问构建版本的第23版也已于上周发布,其中包括对第 22 版各种问题的修复和更新。有关该版本的更多详细信息,请参阅发布说明。
对于JDK 20,鼓励开发人员通过Java缺陷数据库报告缺陷。
OpenSSL
OpenSSL是一个用于通用加密和安全通信项目的商用级、功能齐全的工具包,它发布了两份通用漏洞披露(CVE)报告,这两个漏洞会影响 OpenSSL 版本的 3.0.0 到 3.0.6,可能会导致拒绝服务(DoS)或远程代码执行(REC)。
CVE-2022-3602,X.509电子邮件地址4字节缓冲区溢出漏洞(X.509 Email Address 4-byte Buffer Overflow),将允许攻击者使用特制的电子邮件地址,该地址可以溢出堆栈上的四个字节。
CVE-22-3786,X.509电子邮件地址可变长度缓冲区溢出漏洞(X.509 Email Address Variable Length Buffer Overflow),将允许攻击者通过恶意电子邮件地址滥用堆栈上包含“.”字符(十进制 46)的任意字节数来创建缓冲区溢出。
BellSoft报告称,包括 Liberica JDK 在内的 OpenJDK 发行版不受这些漏洞的影响,因为它们使用了自己的 TLS 实现。鼓励开发人员升级到 OpenSSL 3.0.7 版。
Loom 项目
Project loom 的早期访问构建版本的 Build 20-loom+20-40 已向 Java 社区提供,并且是基于 JDK 20 早期访问构建版本第22版的。这个版本还包括 ScopedValue API的一个快照,目前正在 JEP 429,作用域值(孵化器)中开发。需要注意的是,JEP 429 最初名为范围局部变量(孵化器),已于 2022 年 10 月中旬更名。
Spring 框架
Spring Framework 6.0.0 的第四个候选版本提供了新特性,例如:支持Jakarta WebSocket 2.1 规范;为 SQL Server 序列引入 DataFieldMaxValueIncrement
接口;并在 ListableBeanFactory
接口上引入了 findAllAnnotationsOnBean()
方法的一个变体,以便在检索注解时进行维护和潜在的重用。还对 Micrometer 1.10.0、Micrometer Context Propagation 1.0.0和Jackson 2.14.0进行了依赖项升级。有关该版本的更多详细信息,请参阅发布说明。
Spring Boot 3.0.0 的第二个候选版本对 /actuator
端点进行了更改,并对 Jakarta EE 规范进行了依赖项升级,例如:Jakarta Persistence 3.1、Jakarta Servlet 6.0.0、Jakarta WebSocket 2.1、Jakarta Annotations 2.1、Jakarta JSON Binding 3.0和 Jakarta JSON Processing 2.1。有关该版本的更多详细信息,请参阅发布说明。
Spring Security 6.0.0 的第二个候选版本也发布了: SpringTestContext
类添加了一个新的 addFilter()
方法 ,它允许 Spring Security 测试指定过滤器; OpenSaml4AuthenticationProvider
类中的 createDefaultAssertionValidator()
方法应该能更容易地为 ValidationContext
类添加静态参数;以及对文档的大量改进。有关该版本的更多详细信息,请参阅发布说明。
Spring Cloud 2021.0.5(代号为 Jubilee)已发布,主要对子项目进行了升级,如:Spring Clound Kubernetes 2.1.5、Spring Cloud Config 3.1.5、Spring Cloud Function 3.2.8、Spring Cloud Config 3.1.5 和 Spring Cloud Openfeign 3.1.5。有关该版本的更多详细信息,请参阅发布说明。
红帽
红帽(Red Hat)已经发布了WildFly和Quarkus的主版本和小版本。
WildFly 27 的发布提供了对 Jakarta EE 10、MicroProfile 5.0、JDK 11 和 JDK 17 的支持。此外,还对Hibernate ORM 6.1、 Hibernate Search 6.1、Infinispan 14、JGroups 5.2、RESTEasy 6.2 和Weld 5 进行了依赖项升级。WildFly 27 是一个 Jakarta EE 10 的兼容实现,已通过了Platform、Web和Core配置文件中的 TCK。Jakarta EE 8 和 Jakarta EE 9.1 将不再受支持。InfoQ 将继续跟进并提供更详细的新闻报道。
WildFly Bootable JAR 8.1 也已发布,支持 JDK 11,示例已升级为使用 Jakarta EE 10 和远程dev-watch。有关 Bootable JAR 的更多详细信息,请参阅文档。
红帽(Red Hat)发布了 Quarkus 2.14.0.Final,特性包括:支持 Jandex 3、类和注解索引器;支持 JSON、图和概率数据结构的新 Redis 命令;以及为 Infinispan缓存注解。有关该版本的更多详细信息,请参阅变更日志。
红帽还发布了 Quarkus 2.13.4.Final,其特性包括:GraalVM 22.3 的最低版本;依赖项升级到 JReleaser 1.3.0 和 Mockito 4.8.1;以及诸如支持编程式 multipart/form-data
响应等的改进。有关该版本的更多详细信息,请参阅变更日志。
在通往Quarkus 3.0的道路上,Red Hat 计划支持:Jakarta EE 10;MicroProfile 6.0;Hibernate ORM 6.0;HTTP/3;基于其初始集成,改进了虚拟线程和结构化并发支持;新的 gRPC 服务器;以及改进的 Dev UI。InfoQ 将跟进并提供更详细的新闻报道。
Reactor 项目
Project Reactor 2022.0.0 已发布,主要对子项目进行了升级:Reactor Core 3.5.0、Reactor Addons 3.5.0、Reactor Pool 1.0.0、Reactor Netty 1.1.0、Reactor Kafka 1.3.13 和 Reactor Kotlin Extensions 1.2.0。
Micrometer
Micrometer Metrics 1.10.0 已发布,支持:Jetty 11;从任何可迭代对象中创建 KeyValues
类的实例;Kotlin Coroutines;允许在 StackdriverMeterRegistry
类中使用不同的度量前缀;以及 WarnThenDebugLogger
类中的消息提供程序,以在未启用调试(debug)级别时减少 String
实例的创建。
Micrometer Tracing 1.0.0版本的特性是:将上下文传播(Context Propagation)库创建为编译时依赖项,以避免必须要在类路径中显式定义它;在 Sender/Receiver 上下文中支持 RemoteServiceAddress
;允许跟踪可用于度量指标数据的处理程序;以及在记录异常时,允许在OpenTelemetery span 上设置错误状态。
JHipster Lite
JHipster Lite 0.22.0 已经发布,特性包括:升级到了 Spring Boot 3.0;一个新的 PostgreSQL 方言模块; AsyncSpringLiquibaseTest
类的重构;修复数据库驱动程序和开发工具的依赖声明;并删除了不更改默认值的 JPA 属性。
Apache Software Foundation
为了与Quarkus保持一致,发布了Camel Quarkus的 2.14.0 版,与 Camel 3.19.0 和 Quarkus 2.14.0.Final 一致。它提供了对新扩展、CloudEvents和Knative的全面支持,并为DSL Modeline提供了 JVM 支持。有关该版本的更多详细信息,请参阅问题列表。
同样还发布了Camel Quarkus 2.13.1,附带了 Camel 3.18.3、Quarkus 2.13.3.Final 和几个缺陷的修复。
原文链接:
https://www.infoq.com/news/2022/11/java-news-roundup-nov07-2022/
相关阅读:
评论