OpenJDK
甲骨文的技术顾问成员、Loom 项目的负责人Ron Pressler提交了 JEP Draft 8302326,即隐式类和主方法增强(Implicit Classes and Enhanced Main Methods)(预览)。该特性 JEP 提议“改进 Java 语言,从而能够让学生无需了解为大型程序所设计的语言特性,就能编写出第一个程序”。这个 JEP 进一步推进了甲骨文的 Java 语言架构师Brian Goetz在 2022 年 9 月份所发表的博客文章“Paving the on-ramp”。
JDK 20
JDK 20早期访问构建版本的Build 36发布,它是对 Build 35 的更新,包括对各种问题的修复。关于该版本的更多细节,可以参见发布说明。
JDK 21
JDK 21早期访问构建版本的Build 10发布,它是对 Build 9 的更新,包括对各种问题的修复。关于该版本的更多细节,可以参见发布说明。
对于JDK 20和JDK 21,鼓励开发人员通过Java Bug数据库报告缺陷。
GraalVM Native Build Tools
在通往 1.0 版本的道路上,Oracle Labs发布了Native Build Tools的0.9.20版本,它是一个 GraalVM 项目,由与 GraalVM Native Image 进行互操作的插件所组成。这个最新版本提供了如下特性:一个新的showPublications
Gradle task,能够列出 Maven 上发布的所有 Group | Artifact | Version(GAV)坐标;当收集元数据时,确保只有一个 task 可以并发访问可达性元数据服务,以避免出现死锁;为初学者提供了一个基于干净 Java 项目的快速入门指南。关于该版本的更多信息,请参阅变更日志。
Spring Framework
Spring Framework 6.0.5发布,其特性包括:对 JDK 21 的早期支持;废弃ConcurrentExecutorAdapter类,并且将会在 6.1 版本中移除;在PayloadMethodArgumentResolver类中支持 Optional;在使用 GraalVM 转换原生镜像时,支持@JsonNaming。关于这个版本的更多细节,请参阅发布说明。
Spring Cloud Data Flow 2.10.1 版本发布,其特性包括:库升级到 Spring Boot 2.7.8、Spring Framework 5.3.25 和 Spring Shell 2.1.5,以及依赖项目的升级,比如Spring Cloud Dataflow Build 2.10.1、Spring Cloud Deployer Kubernetes 2.8.1 和Spring Cloud Common Security Config 1.8.1。关于这个版本的更多细节,请参阅发布说明。
Quarkus
Red Hat发布了 Quarkus 2.16.3.Final 版本,其特性包括支持自定义Flyway凭证和 URL。其他的缺陷修复和改进包括:当使用@ConfigMapping
注解与@Unremovable
注解一起标注时,会注册一个 CDI bean;简化了Quarkiverse Hub的工作流,这是用于托管和构建 Quarkus 扩展的地方;当project.build.directory
属性被 profile 覆盖时,对quarkus:dev
的修复。关于这个版本的更多细节,请参阅发布说明。
Payara
Payara发布了 2023 年 2 月版的Payara平台,包括社区版 6.2023.2 和企业版 5.48.0。这两个版本均包含如下两项改进:将 MicroProfile OpenAPI 属性从mp.openapi.scan.lib
改名为mp.openapi.extensions.scan.lib
,这是一个破坏性的变更;使过期证书的定位和记录更加简便。社区版还包括将 EJB Timer 服务的命名空间迁移至Jakarta Persistence 3.0。在这两个版本中,值得关注的缺陷修复包括:改进 JDK 11 和 JDK 17 上的应用部署;Asadmin CLI 工具命令的超时,start
/stop
/restart-deployment-group
;以及恢复因有问题而删除的JobManager接口。关于这两个版本的细节,可以在社区版发布说明和企业版发布说明中找到。
Micronaut
Micronaut 基金会发布了 Micronaut 3.8.5,该版本包含缺陷修复、文档改进、对 Netty 4.1.87.Final 的依赖升级以及对Micronaut OpenAPI和Micronaut Oracle Cloud的模块更新。关于这个版本的更多细节,请参阅发布说明。
Helidon
Helidon 3.1.2 是一个缺陷修复版本,包括:废弃BodyPart接口中的name()
和 filename()
方法,将其替换为isNamed()
方法;修复 OIDC 退出功能;改善 Helidon Config 组件;在 Helidon 2.x 发布序列中创建一个 OpenTelemetry 规范的向后移植(backport)。
Eclipse Vert.x
尽管 Eclipse Vert.x 3.9 的发布序列已经在 2022 年结束,但是在 2023 年将会继续提供安全更新。3.9.15版本对 Jackson 2.14.0、Netty 4.1.89 和 Hazelcast 3.12.13 进行了升级,以解决CVE-2022-41881、CVE-2022-41915和CVE-2022-36437漏洞。关于这个版本的更多细节,请参阅发布说明。
Hibernate
Hibernate Search 6.2.0 的第二个alpha版本发布,提供了如下特性:与 Elasticsearch 8.6 和 OpenSearch 2.5 的兼容性;将-orm6
制品升级到Hibernate ORM 6.2.0.CR2;更简单的and
/or
/not
断言(predicate);针对多租户的大规模索引;以及在outbox-polling
协调策略中,将标识符切换为 UUID。
Apache 软件基金会
MyFaces Core 4.0.0 的第五个候选版本发布,它是Jakarta Faces规范的兼容实现,其特性包括:集成了jsf.js
的下一代脚本;将所有单元测试迁移到 JUnit 5;如果selectOne
属性没有选中的条目,则显示警告;以及更新WebConfigParamsLogger类中的日志。关于这个版本的更多细节,请参阅发布说明。
Grails
Grails 的5.3.2和5.3.1版本发布,由于org.apache.maven:maven-resolver-provider
从 3.8.3 版本升级到 3.9.0 版本的 Maven 坐标问题,5.3.2 版本修补了 5.3.1 版本。否则,5.3.1 版将由依赖升级组成,包括:Micronaut 3.8.4、Grails Gradle Plugin 5.3.0、com.netflix.nebula:gradle-extra-configurations-plugin
9.0、Vue 5.0.3 和io.methvin:directory-watcher
0.18.0。
Project Reactor
Reactor项目2022.0.3 是第三个维护版本,提供了对reactor-core
3.5.3、reactor-netty
1.1.3 和reactor-kafka
1.3.16 的依赖升级。
Micrometer
Micrometer Metrics 1.11.0 的第一个里程碑版本提供了新的特性,比如,支持 Azul Prime C4垃圾收集器和 Apache HttpClient 5.x;在Observation接口中添加了一个新方法,observe(Function<C extends Observation.Context, T> function)
,以补充现有的observe(Runnable runnable)
和observe(Supplier<T> supplier)
方法。
Micrometer Tracing 1.1.0 的第一个里程碑式版本发布,其特性包括:PropagatingSenderTracingObservationHandler和PropagatingReceiverTracingObservationHandler类的无操作实现;Slf4JEventListener类的自定义 Mapped Diagnostic Context(MDC)键。
Maven
Maven 3.9.0发布,新特性包括:名为MAVEN_ARGS
的新环境变量;允许在多个本地仓库中构建应用程序;能够在独立的本地仓库中存储快照;提供已废弃 Mojo 插件相关的警告;简化了 Maven 制品解析器的 Redis Java 客户端(Redisson)和 Hazelcast 的集成。
Gradle
在经历了五个候选版本之后,Gradle 8.0发布,该版本提供了如下特性:对Kotlin DSL的增强,它是 Groovy DSL 的替代方案,升级到了 Kotlin 1.8 和 JDK 11;buildSrc
构建的改进;配置缓存,这是一个孵化中的新特性;以及 Java工具链的改进。关于这个版本的更多细节,请参阅发布说明,InfoQ 会跟进更详细的报道。
在 GA 发布后不久,紧随其后的补丁版本Gradle 8.0.1 对如下问题进行了修复:以文档形式记录了 Scala 插件与工具链的集成以及target
标记的问题;在没有事先警告和废弃通知的情况下删除了--no-rebuild
命令行选项;以及 Scala 构建失败,且报告内容为,isBlank
不是String
类的成员。
Piranha Cloud
Piranha 23.2.0发布,该版本提供了值得注意的变更,比如,废弃LoggingExtension和MimeTypeExtension类;将pom.xml
文件中的debug
模块重新定位到test
目录中;引入新的静态工具类 WarFileExtractor,用于提取 WAR 文件。关于这个版本的更多细节,请参阅其文档和问题跟踪器。
原文链接:
Java News Roundup: Gradle 8.0, Maven, Payara Platform, Piranha, Spring Framework, MyFaces, Piranha
相关阅读:
深入 OpenTelemetry 源代码:Java 探针的实现和二次开发
Java 近期新闻:Payara Platform、Liberica JDK 更新和 JobRunr 6.0 里程碑版本
评论