【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

Java 近期新闻:新的 OpenJDK JEP、Payara 平台、Spring 和 Tomcat 更新、WildFly 28

  • 2023-05-11
    北京
  • 本文字数:4713 字

    阅读完需:约 15 分钟

Java近期新闻:新的OpenJDK JEP、Payara平台、Spring和Tomcat更新、WildFly 28

OpenJDK


JEP 446(作用域值预览)已经从 JEP Draft 8304357 状态提升Candidate 状态。该 JEP 就是之前的范围局部变量(第一轮孵化),是对 JDK 20 中发布的 JEP 429(作用域值第一轮孵化)的一个特性预览。该 JEP 建议在线程内部和线程之间共享不可变数据。这种方式比使用线程局部变量更好,特别是在大量使用虚拟线程时。

 

JEP 447(super()之前的语句)已经从 JEP Draft 8300786 状态提升Candidate 状态。在Amber项目的支持下,该 JEP 建议:如果语句不引用正在创建的实例,则可以出现在构造函数中的this()super()调用之前,并为构造函数保留现有的安全性和初始化保证。Gavin Bierman 是 Oracle 的技术咨询顾问,他已经向 Java 社区提供了该 JEP 的初始规范,以供评审和收集反馈。

 

JEP 448(向量API第六轮孵化)已从 JEP Draft 8305868 状态提升Candidate 状态。在Panama项目的支持下,该 JEP 融合了针对前五轮孵化反馈所做的增强:JEP 438,向量API第五轮孵化,在 JDK 20 中交付;JEP 426,向量API第四轮孵化,在 JDK 19 中交付;JEP 417,向量API第三轮孵化,在 JDK 18 中交付;JEP 414,向量API第二轮孵化,在 JDK 17 中交付;JEP 338,向量API第一轮孵化,在 JDK 16 中作为孵化器模块交付。该 JEP 建议增强向量 API,以便从 JEP 424(外部函数和内存API预览)定义的MemorySegment中加载向量以及向其中存储向量。

 

JEP 449(弃用Windows 32-bit x86平台支持)已经从 JEP Draft 8303167 状态提升Candidate 状态。该特性是由微软资深项目经理George Adams引入。该 JEP 建议弃用 Windows x86-32 位平台支持,并打算在未来的版本中删除这一支持。由于不打算在 32 位平台上实现 JEP 436(虚拟线程第二次预览),所以取消对该平台的支持将能够提升 OpenJDK 开发人员开发新特性的速度。

 

JEP Draft 8305968完整性和强封装)和 JEP Draft 8306275默认禁用代理动态加载)已经由 Oracle Loom 项目架构师和技术主管Ron Pressler提交

 

完整性和强封装建议默认启用强封装等各种特性,确保代码和数据的完整性。该草案的目标包括:让 Java 平台可以稳健地维护可维护性、安全性和性能所需的不变性;区分打破封装更方便的用例和必须禁用封装的用例。

 

默认禁用代理动态加载遵循完整性和强封装的方法,建议默认禁止将代理动态加载到正在运行的 JVM 中。该草案的目标包括:重新评估适用性和完整性之间的平衡;确保大多数不需要动态加载代理的工具不受影响。

 

JDK 任务控制(JMC) 8.3.1发布,带来了一些值得注意的修复,如:在 macOS 和 Linux 上安装插件后无法打开 JMX 控制台;在 Linux 上安装 JMC 插件后无法编辑 Eclipse 项目运行配置;无法在 jLinked 应用程序上执行运行记录。要了解关于该版本的更多细节,请查看发布说明

 

JDK 21


JDK 21早期访问构建Build 19在上周发布,其中包括Build 18的更新,主要是修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明

 

对于JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。

 

JDK 20


Oracle 发布 2023 年 4 月的关键补丁更新,其中包括 JDK 20 的第一个维护版本JDK 20.0.1,以及JDK 17.0.7JDK 11.0.19JDK 8u371的安全更新。

 

BellSoft


与 Oracle 发布 2023 年 4 月的关键补丁更新(CPU)同时,BellSoft发布了其 OpenJDK 下游发行版Liberica JDK 17.0.6.0.1、11.0.18.0.1 和 8u371 版本的 CPU 补丁。此外,他们还发布了 20.0.1、17.0.7、11.0.19 和 8u372 版本的补丁集更新(PSU),其中包含 CPU 和非关键修复。

 

Spring Framework


Spring Boot 3.1.0 的第一个候选版本提供了一些值得注意的新特性:改进 Testcontainer 支持,包括开发阶段支持;支持 Docker Compose;增强 SSL 配置;改进 Docker 镜像构建。要了解关于该版本的更多细节,请查看发布说明

 

Spring Boot 3.0.6 的发布主要解决了 CVE-2023-20873 漏洞:在Cloud Foundry上利用通配符模式匹配进行安全绕过。该漏洞使得部署到Spring Cloud for Cloud Foundry的应用程序容易受到安全绕过的影响。除了文档改进和依赖项升级,该版本还提供了一些值得注意的 Bug 修复,如:Spring Cloud for Cloud Foundry 集成没有使用端点路径映射;ApplicationAvailability bean 是自动配置的,即使已经存在自定义 bean;Apache Cassandra 中的默认配置替换不能解析来自spring.data.cassandra属性文件的配置。要了解关于该版本的更多细节,请查看发布说明

 

同样,Spring Boot 2.7.11 的发布也是为了解决了上面提到的 CVE-2023-20873 漏洞,并提供了文档方面的改进、依赖项升级和与 Spring Boot 3.0.6 相同的 Bug 修复。要了解关于该版本的更多细节,请查看发布说明

 

Spring Security的 6.1.0-RC1、6.0.3、5.8.3 和 5.7.8 版本发布,主要用于解决 CVE-2023-20862 漏洞:空的SecurityContext在注销时未正确保存。该漏洞使得序列化版本的注销不能正确地清除安全上下文,并且无法显式地将空的安全上下文保存到HttpSessionSecurityContextRepository 类。这将导致用户在注销之后仍然处于身份已验证状态。要了解关于这些版本的更多细节,请查看6.1.0-RC16.0.35.8.35.7.8的发布说明。

 

Spring Session 3.1.0 的第一个候选版本提供了依赖项升级和一个新特性,即重用StringRedisSerializer类的实例,从而消除了实例化其他序列化器实例的需要。要了解关于该版本的更多细节,请查看发布说明

 

Spring Authorization Server 1.1.0 的第一个候选版本提供了依赖项升级和新特性,包括:在JdbcOAuth2AuthorizationService类中支持设备代码和用户代码;改进OAuth 2.0 Device Authorization Grant,包括添加测试和参考文档;改进 OpenID Connect 1.0 注销端点。要了解关于该版本的更多细节,请查看发布说明

 

同样,Spring Authorization Server 的 1.0.2 和 0.4.2 版本也发布了,带来了依赖项升级和一些值得注意的 Bug 修复:将不正确的INVALID_CLIENT令牌错误代码返回给正确的INVALID_GRANT令牌错误代码;坏掉的支持链接;认证密钥应该在客户端注册时编码保存;考虑允许在重定向 URI 中使用localhost。要了解关于这些版本的更多细节,请查看1.0.20.4.2版本的发布说明。

 

Spring Integration的 6.1.0-RC1 和 6.0.5 版本发布,它们有一些值得注意的变化,包括:删除了IntegrationWebSocketContainer类中的尾随空格;改进了BaseWsInboundGatewaySpecTailAdapterSpec类,它们没有覆盖super方法,并且由于target字段未填充而抛出NullPointerException实例。要了解关于这些版本的更多细节,请查看6.1.0-RC16.0.5版本的发布说明。

 

Spring for GraphQL 1.2.0 的第一个候选版本提供了以下新特性:更新SchemaMappingInspector类以支持Connection类型;利用 Querydsl 和 Query By Example 支持分页;对分页和排序的全面支持。要了解关于该版本的更多细节,请查看发布说明

 

Spring Shell的 3.1.0-M2、3.0.2 和 2.1.8 版本发布,带来了一些值得注意的变化,包括:分别基于 Spring Boot 3.1.0-M2、3.0.5 和 2.7.10 构建;Bug 修复反向移植;对使用位置参数的自定义类型处理进行了重要修复。要了解关于这些版本的更多细节,请查看3.1.0-M23.0.22.1.8版本的发布说明。

 

WildFly


Red Hat发布了 WildFly 28,改进了对可观察性的支持,并完全支持 Jakarta EE 10。WildFly 增加了对MicrometerMicroProfile Telemetry规范的支持,但取消了对MicroProfile Metrics的支持。Red Hat 建议在生产应用程序中使用 JDK 17,但是他们也看到,在 JDK 20 上的效果也不错。要了解关于该版本的更多细节,请查看发布说明,InfoQ 后续也会带来更详细的新闻报道。

 

Payara


Payara发布了 2023 年 4 月版的Payara平台,其中包括社区版 6.2023.4、企业版 6.1.0 和企业版 5.50.0。

 

社区版 6.2023.4 提供的新特性包括:修复了使用 JDK17 和 Records 时的 Payara 6 部署错误;改进了应用程序部署描述符和全局 HTTP 网络监听器中的SameSite cookie 属性;依赖项升级到 EclipseLink 4.0.1、EclipseLink ASM 9.4.0、Hazelcast 5.2.2 和 ASM 9.4。要了解关于该版本的更多细节,请查看发布说明

 

类似地,企业版 6.1.0 的新特性也包括:修复了使用 JDK17 和 Records 时的 Payara 6 部署错误;改进了应用程序部署描述符中的SameSite cookie 属性;依赖项升级到 EclipseLink 4.0.1、 EclipseLink ASM 9.4.0、Hazelcast 5.2.2 和 ASM 9.4。要了解关于该版本的更多细节,请查看发布说明

 

企业版 5.50.0 还附带了以下特性:解决CVE-2023-24998漏洞。这是Apache Commons FileUpload中的一个漏洞,由于未对已处理请求部分的数量做限制,所以攻击者可以通过恶意上传触发拒绝服务;修复 Hazelcast NoDataMemberInClusterException ;改进应用程序部署描述符中的SameSite cookie 属性;依赖项升级到 Hazelcast 5.2.2。要了解关于该版本的更多细节,请查看发布说明

 

Open Liberty


IBM发布了 Open Liberty 23.0.0.4-beta 版,更新了对Jakarta Data规范的支持,开发人员现在可以组合使用多种方式指定排序和分类,定义优先级。首先应用由@OrderBy注解或按方法查询关键字定义的排序,然后应用方法或Pageable接口上Sort记录中的参数。

 

Micronaut


Micronaut 基金会发布了 Micronaut Framework 3.9.0,带来了以下新特性:允许自定义包,使用@Introspected注解的targetPackage字段编写自省;通过@CrossOrigin注解启用跨域资源共享(CORS)配置;一个破坏性更改,为了防止意外暴露用户的 API,配置属性micronaut.server.cors.*.configurations.allowed-origins不支持正则表达式;模块更新,包括:Micronaut KubernetesMicronaut SecurityMicronaut CRaCMicronaut MavenMicronaut Launch。要了解关于该版本的更多细节,请查看发布说明

 

Apache 软件基金会


Apache Tomcat 团队发布了11.0.0-M510.1.89.0.748.5.88的点版本。四个版本都有的显著变化包括:将maxParameterCount的默认值从 10000 减少到 1000;修正了Bug 66442修复中的回归,即没有响应体的流在完成时不会减少活动流计数,导致某些连接出现ERR_HTTP2_SERVER_REFUSED_STREAM;实现 RFC 9239,更新ECMAScript媒体类型,其中 JavaScript 的 MIME 类型更改为text/javaScript。要了解关于这些版本的更多细节,请查看11.0.0-M510.1.89.0.748.5.88版本的发布说明。

 

Ktor


JetBrains发布Ktor 2.3.0,这是一个用于创建微服务和 Web 应用程序的异步框架。该版本带来了一些改进和修复,包括:支持在定义路由时使用正则表达式;放弃支持将在 Kotlin 1.9.0(即将发布)中删除的遗留 JS 编译器;支持 Apache 5 和 Jetty 11;支持套接字的结构化并发性。要了解关于该版本的更多细节,请查看发布说明

 

JHipster


JHipster 团队发布JHipster Lite 0.32.0,其中有许多依赖项升级,并带来了一些显著的变化,如:通过将spring.jpa.properties.hibernate.cache.use_second_level_cache属性设置为true来支持 Hibernate 二级缓存;删除执行npm run lint命令时不必要的警告;删除运行npm t命令时不必要的堆栈跟踪信息。要了解关于该版本的更多细节,请查看发布说明

 

JBang


JBang 0.106.3发布,修复了 ChatGPT 在坏键或使用限制上出错的问题。

 

Gradle


Gradle 8.1.1发布,修复了一些 Bug,包括:当探测一个在配置缓存中存储了大量 lambdas 的类时,会出现MethodTooLargeException;使用 Gradle 8.1 构建的 Kotlin DSL 预编译脚本插件不能与 Gradle 的其他版本一起使用;Gradle 8.1 在buildSrc中为 Kotlin 配置的freeCompilerArgs方法会破坏构建,提供无用的错误信息。要了解关于该版本的更多细节,请查看发布说明

 

原文链接:

https://www.infoq.com/news/2023/04/java-news-roundup-apr17-2023/


相关阅读:

Java 近期新闻:JEP for JDK 21、MicroStream 成为 Eclipse 项目、Helidon、Piranha、Gradle 8.1

Java 近期新闻:字符串模板、Quarkus、Open Liberty、PrimeFaces、JobRunr、Devnexus 2023

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-05-11 08:0015703

评论

发布
暂无评论
发现更多内容

Java数组最大长度

okokabcd

Java

在线SQL转TSV工具

入门小站

工具

动态注册广播流程源码解析

北洋

Andriod 7月月更

Java中的泛型与通配符

未见花闻

7月月更

SpringBoot核心应用第二弹

Java学术趴

7月月更

dotnetcore环境下优雅的执行计划任务

为自己带盐

7月月更

如何现实小老虎拼图游戏

自由

小游戏 7月月更

后端实战教程:如何使用 Node.js 开发 RESTful API 接口(Node.js + Express + Sequelize + MySQL)

蒋川

node.js MySQL 后端开发 Express

如何优雅的告诉老板软件的研发成本?

涛哥 数字产品和业务架构

企业架构 Archimate

与众不同的破铜烂铁的算法爱好者和牛客的回忆

KEY.L

7月月更

Javac编译自定义注解及分析Lombok的注解实现

宁在春

注解 Java’ 7月月更

漏洞挖掘之文件漏洞后利用姿势【网络安全】

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

小程序基础内容组件

小恺

7月月更

C 语言入门(三)

逝缘~

7月月更

【刷题记录】7. 整数反转

WangNing

7月月更

Python 绘制精美可视化数据分析图表 (二)-pyecharts

迷彩

可视化 7月月更

linux之抓包神器tcpdump

入门小站

Linux

5G NR Paging 寻呼

柒号华仔

5G 7月月更

微服务治理框架对比

穿过生命散发芬芳

微服务框架 7月月更

OpenHarmony藏头诗应用

坚果

Open HarmonyOS OpenHarmony Open Harmony 7月月更

ArrayBlockingQueue源码分析-删除数据

zarmnosaj

7月月更

【愚公系列】2022年7月 Go教学课程 009-数据类型之浮点型

愚公搬代码

7月月更

Spring AOP

武师叔

7月月更

任务拆分中的「敏捷刺客」,你中招了吗?

LigaAI

团队管理 敏捷开发 需求管理 垂直拆分 需求梳理

Envoy与Nginx的八大对比

阿泽🧸

envoy 7月月更

Flutter、ReactJS+小程序容器技术,降本增效急速提升100%

Speedoooo

flutter react.js 跨端开发 降本增效 小程序容器

Go 语言入门很简单:上下文

宇宙之一粟

Go 语言 7月月更

【Java】中的String、StringBuffer和StringBuilder的区别

工程师日月

Java’ 7月月更

新星计划Day4【数据结构与算法】 稀疏数组与队列

京与旧铺

7月月更

2022读过的书 -- 《Essential C++(中文版)》

SkyFire

c++ 读书 入门

在线文本批量查找多个字符串出现的次数工具

入门小站

工具

Java近期新闻:新的OpenJDK JEP、Payara平台、Spring和Tomcat更新、WildFly 28_编程语言_Michael Redlich_InfoQ精选文章