OpenJDK
面向 JDK 21 的 JEP 451(代理动态加载禁用准备)已经从候选状态提升到 Proposed to Target 状态。该 JEP 起初名为“默认禁止代理的动态加载”,在 JEP Draft 8305968(完整性和强封装)之后提出。其意图本是默认禁止将代理动态加载到正在运行中的 JVM,现在已经演变为在将代理动态加载到运行中的 JVM 时发出警告。该 JEP 的目标包括:重新评估可用性和完整性之间的平衡;确保大多数不需要动态加载代理的工具不受影响。InfoQ 后续将带来更详细的新闻报道。
为了回答关于 switch 模式穷尽检查的设计哲学的诸多问题,Oracle Java 语言架构师Brian Goetz和 Oracle 技术顾问Gavin Bierman发布了一份文档,详细说明了无条件、穷尽和余值(remainder)之间的关系。
JDK 21
JDK 21早期访问构建Build 24在上周发布,其中包括Build 23的更新,主要是修复了各种问题。要了解关于这个版本的更多细节,请查看发布说明。
对于JDK 21,我们鼓励开发人员通过Java Bug数据库报告 Bug。
Spring Framework
Spring Cloud 2022.0.3版本的代号为 Kilburn,与 Spring Boot 3.1 兼容,并更新了 Spring Cloud 子项目,包括:Spring Cloud OpenFeign 4.0.3、Spring Cloud Commons 4.0.3、Spring Cloud Kubernetes 3.0.3 和 Spring Cloud Starter Build 2022.0.3。然而,以下子项目的删除也带来了一些破坏性更改:Spring Cloud CLI、Spring Cloud for Cloud Foundry 和 Spring Cloud Sleuth。关于该版本的更多细节,请查看发布说明。
Spring Shell 3.1.0,3.0.4 和 2.1.10 版本发布,带来了一些值得注意的修复,例如:ConfirmationInput
类的实例在输入时不显示所选择的选项;如果未使用@Option
或@ShellOption
注解,那么将目标方法参数作为布尔参数将失败。这些版本分别基于Spring Boot 3.1.0、3.0.7 和 2.7.12 构建。关于这些版本的更多细节,请查看3.1.0、3.0.4和2.1.10的发布说明。
Spring Security Kerberos 2.0.0 的第二个候选版本将依赖项升级到了Spring Security 6.1.0。关于该版本的更多细节,请查看发布说明。
Payara
Payara发布了Payara平台的 2023 年 5 月版,其中包括社区版 6.2023.5、企业版 6.2.0 和企业版 5.51.0。这三个版本主要是解决:CVE-2023-1370漏洞——在Json-smart (JSON 处理器库)中对 JSON 嵌套数组和对象进行非受控递归解析时,可能导致堆栈溢出,进而导致软件崩溃;使用 Web UI 创建 JVM 选项时抛出的异常“JVM option${ } 在配置中已经存在”。该版本还带来了依赖项升级:Jackson 2.15.0、SnakeYAML 2.0、JSON Smart 2.4.10 以及 JDK 8u372、11.0.19 和 17.0.7 的 Docker 镜像。要了解关于这些版本的详细信息,请查看社区版6.2023.5、企业版6.2.0和企业版5.51.0的发布说明。
Quarkus
Quarkus 3.0.4.Final 是第三个维护版本(第一个是 3.0.1),提供了文档方面的改进和重要的 Bug 修复,例如:当设置了quarkus.package.output-directory
属性时,本地镜像构建失败;当将@ConfigMapping
与onStartup()
方法一起使用时,会出现“No current injection point found”错误;修复RestEasy Reactive中的 location 和 content location 头信息。要了解关于该版本的更多细节,请查看变更日志。
同样,Quarkus 2.13.8 也带来了一些重要的 Bug 修复,其中许多是向后移植的,例如:针对警告消息quarkus.oidc.application-type=service
的修复;默认加密 OIDC 会话 cookie 值;在ProviderConfigInjectionWarningsTest
类中过滤掉与 Apache HTTP 客户端未关闭相关的 RESTEasy 警告;因最近一次 Netty 版本升级所导致的 MongoDB 客户端本地镜像构建警告。要了解关于该版本的更多细节,请查看发布说明。
WildFly
WildFly 28.0.1发布,提供了依赖项升级和重要的 Bug 修复,包括:在ContextPropagationTestCase
类中定义的testContextPropagation()
测试在使用 Long Running Actions 时偶尔会失败;一个可部署、但在 OpenShift 上不起作用的 QS 应用,这是由todo-backend
(OpenShift 后端部署快速入门)中的Helm Charts更新导致的;在ExpirationMetaData
接口中定义的isExpired()
方法与LocalScheduler
类中的逻辑不一致。
Micronaut
在迈向 4.0 版本的道路上,Micronaut 基金会发布了 Micronaut 4.0.0-M5,带来了许多依赖项升级和改进,包括:向 JSON 消息阅读器添加@BootstrapContextCompatible
注解(带有该注解的 bean 可以加载到 Bootstrap Context 中);在Micronaut OpenAPI中使用 Micronaut 环境时禁用 SLF4J 初始化的能力;使用 bean 定义类型作为基于AbstractConcurrentCustomScope
类定义类单例作用域时的 bean 类型。要了解关于该版本的更多细节,请查看发布说明。
Helidon
Oracle 发布了 Helidon 2.6.1,升级了依赖项,并引入了一些重要的更改,包括:更新ByteBufDataChunk
类中定义的isReleased()
方法,使用AtomicBoolean
类的一个实例来防止可能多次调用 release 回调的竞态条件;为@MPTest
注解添加@Target(ElementType.METHOD)
注解,用于指定具体的目标;修复WritableMultiPart
类中定义的重载方法create()
。要了解关于该版本的更多细节,请查看发布说明。
MicroStream
MicroStream 8.1.0发布,提供了与 Quarkus 3 的集成,并修复了在使用 Lazy Collections API 时 Stream API 无法按预期卸载的问题。
Micronaut 团队还为 MicroStream引入了Quarkus扩展,允许在 Quarkus 应用程序中通过注解访问 MicroStream 的功能。
Apache Camel
Apache Camel 3.20.5发布,主要是针对camel-jbang
模块进行了 Bug 修复、依赖项升级和改进,包括:加载仅定义 Java bean 的YAML
文件的能力;使用camel-jbang
在 XML DSL 中创建 Camel 文件时,使用文件名生成路由 ID;从空文件夹运行camel-jbang
,然后在文件夹中新增文件时重新加载。要了解关于该版本的更多细节,请查看发布说明。
JDKMon
JDKMon 17.0.61(一个监控和更新已安装 JDK 的工具)于上周发布。这个新版本是由 Azul 首席工程师Gerrit Grunwald创建的,它向jdkmon.properties
文件中添加了一个属性,用于禁用通知。同时,它还修复了与检测到的 CPU 架构相关的问题以及与同一 JDK 版本的多个构建相关的问题。
JHipster
JHipster 团队发布了JHipster Lite的 0.333.0 版本,带来了许多依赖项升级和重要的更改,包括:修复了JGit集成的本地提示;新增DestroyRef
提供程序。要了解关于该版本的更多细节,请查看发布说明。
Java,28 岁生日快乐!
Java 初次露面是在 1995 年 5 月 23 日的 SunWorld 1995 大会上,上周,它迎来了自己的 28 岁生日。Oracle Java 开发关系团队举办了名为 Java 28 小时的庆祝活动,由Ana Maria Mihalceanu、Nicolai Parlog和Sharat Chander主持。活动主题包括:实时编码和探索、演示、与 Java 杰出人物对话以及有趣的游戏。以下是活动议程:
与 Nicolai 一起探索JUnit Pioneer。
由 Nicolai 介绍面向数据的Java编程(21)。
与Gavin Bierman聊模式匹配,由 Nicolai 主持。
与 Nicolai 讨论 JEP 451(代理动态加载禁用准备)以及 JEP Draft 8305968(完整性和强封装)。
与Ron Pressler聊平台完整性(JEP Draft 8305968)、 JEP 445(未命名类和实例主方法预览)以及 JEP 453(结构化并发预览),由 Nicolai 主持。
Ana 发表“与 Java 共成长”的演讲。
和 Ana 一起玩Byte Legend。
Sharat 介绍 Java 现状以及社区的重要性。
与Pratik Patel、Mohammed Aboullaite、Venkat Subramaniam、Andres Almiray、Ixchel Ruiz和Vincent Mayers进行圆桌讨论,由 Sharat 主持。
与Brian Goetz聊 Valhalla 项目,重点是如何在语言中显示值、基本类型和空值,由 Nicolai 主持。
对话Gunnar Morling,由 Nicolai 主持。
由 Nicolai 介绍Java Next。
与 Nicolai 一起玩 Slay the Spire(用 Java 编写)并探索modding。
由 Nicolai 介绍“Amber项目:Java问题的SolutionFactory”。
由 Nicolai 介绍从Idea到IDE。
由 Nicolai 主持的“随便问”环节。
Nicolai 致闭幕词。
这次特别的活动在 Java YouTube频道上进行了直播。
开发者调查
Azul推出了Java现状调查,涉及的领域包括:OpenJDK 发行版及开发者正在使用的 Java 版本;基于 Java 的基础架构和语言;在公有云上运行的 Java 应用程序。调查将于 2023 年 6 月 15 日结束。
原文链接:
https://www.infoq.com/news/2023/05/java-news-roundup-may22-2023/
评论