Java 近期新聞: NetBeans 15、Jakarta EE 10、jtreg 7、Spring Cloud、Groovy、Helidon 和 Micronaut

語言: CN / TW / HK

本期的 Java 新聞包括 OpenJDK、JDK 20、Jakarta EE 10、Spring Cloud 2021.0.4、Quarkus 2.12.1、Micronaut 3.6.2 和 3.6.3、Helidon 2.5.3、JDK 8 維護版本的重要變更、Hibernate ORM 6.1.3、Reactive Native JHipster 4.3.0、Apache NetBeans 15、Apache Groovy 4.0.5、Apache Camel 3.18.2、Ktor 2.1.1 以及 JavaZone 會議。

OpenJDK

JDK 的迴歸測試工具 jtreg 7 版本 釋出 ,其特性包括升級至 JUnit 5,提供了 Jupiter API 並支援執行現有的 JUnit 4 測試和 標籤語言規範(Tag Language Specification) 。第三方庫 JAR 檔案的命名約定已經變更為使用 jtreg 構建時指定的 JAR 檔案的基礎名稱。這個名稱可能依賴於庫的版本。受此影響的 JDK 測試均已更新。 jtreg 7 支援的最低版本是 JDK 11。

JDK 19

JDK 19 依然處於 釋出候選 階段,預計 GA 版本會在 2022 年 9 月 20 日釋出。 釋出說明 包含了文件的連結,比如 完整的API規範 以及一個 標註的API規範 ,後者對比了 JDK 18( Build 36 )和 JDK 19( Build 36 )的差異。關於 JDK 19 的更多細節和對 JDK 20 的預測可以參閱 InfoQ 的 新聞報道

JDK 20

JDK 20 的 早期訪問構建 版本 Build 14 釋出,它是對 Build 13 的 更新 ,包括對各種 問題 的修復。關於該版本的更多細節,請參閱 釋出說明

對於 JDK 19JDK 20 ,鼓勵開發者通過 Java Bug資料庫 報告缺陷。

Jakarta EE 10

在通往 Jakarta EE 10 的路上,Eclipse 基金會的 Jakarta EE 開發人員倡導者 Ivar Grimstad 在他的 Hashtag Jakarta EE 週報宣佈 ,Jakarta EE 10 的 Platform ProfileWeb Profile 審查投票已經開始,預計會在 9 月 13 日結束。 Core Profile 已經在 8 月份通過了審查。這似乎是一個好的訊號,Jakarta EE 10 有可能會在本月正式釋出。關於 Jakarta EE 規範的更多細節可以參閱 Grimstad 在 JavaZone 上做的題為 Jakarta EE 10 - Feature-by-Feature 的演講。

Spring 框架

代號為 Jubilee 的 Spring Cloud 2021.0.4 版本 釋出 ,其特性包括對所有 Spring Cloud 子專案的更新,在 ConfigGatewayOpenFeignCircuit Breaker 方面都有明顯的變化。關於該版本的更多細節,可以參閱 釋出說明

Quarkus

Red Hat 釋出 了 Quarkus 2.12.1.Final,對 RequestContext 類的效能下降問題進行了修復。此外,還對 Smallrye OpenAPI 2.2.1 和 Dekorate 2.11.2 進行了依賴升級。關於該版本的更多細節,可以參閱 釋出說明

Micronaut

Micronaut 基金會發布了 3.6.23.6.3 版本的 Micronaut ,對 Micronaut 的一些模組進行了缺陷修復和補丁釋出,例如 SecurityEmailMicronaut for SpringTracingFlywayAWSSerializationData 。3.6.2 版本還提供了升級後的 SnakeYAML 1.31,它解決了 CVE-2022-25857 漏洞,在之前版本 SnakeYAML 中的這個漏洞缺少對集合巢狀深度的限制,很容易導致拒絕服務攻擊(Denial of Service)。關於這些版本的更多細節可以在 3.6.23.6.3版本 的釋出說明中找到。

Helidon

Helidon 2.5.3 釋出 ,其中有許多變化,包括在 gRPC 元件中升級了 protocol buffer 以支援 osx-aarch_64 架構;在 Security 元件中實現了 access token 重新整理;在 Config 元件中修復了為 watcher 服務獲取父目錄的問題。此外,還對 SnakeYAML 1.31 和 Oracle Cloud Integration Integration 2.41.0 進行了依賴升級。

BellSoft

BellSoftLiberica JDK (OpenJDK 的下游釋出版)的建立者,他們討論了一些 重要的變更 ,這會影響將於 2022 年 10 月釋出的 JDK 8 Maintenance Release 4。核心變化是 JDK-8202260,也就是 JDK缺陷系統 中定義的 引用物件不應該支援克隆(Reference Objects Should Not Support Cloning) ,它描述了在 Java SE 8 平臺中發現的一個重要問題:

在 Java SE 規範中,並沒有明確定義克隆引用物件的語義。克隆與垃圾回收密切相關,如果引用物件的可達性狀態在 GC 活動中發生變化,收集器可能在程式碼呼叫 clone() 方法之前,對該物件進行入隊(enqueue)。結果就是,克隆的物件不會被入隊和引用。從而導致高度不可預知的引用處理。

在 JDK 9 和 JDK 11 中進行了一些後續的變更,這些變更會回傳到 JDK 8 Maintenance Release 4 中。例如,在 JDK 11, Reference.clone() 方法始終會丟擲一個 CloneNotSupportedException 異常。

Hibernate

Hibernate ORM 6.1.3.Final 釋出 了一項 優化 ,其中帶有 @JdbcTypeCode (SqlTypes.JSON)和 @JdbcTypeCode(SqlTypes.SQLXML)註解的字串將不會被序列化為 JSON/XML。相反,它們會被解析為純 JSON/XML,以避免序列化/反序列化的開銷。

React Native JHipster

JHipster 7.9.3釋出後不久JHipster React Native 的 4.3.0 版本已 交付給 Java 社群。改進之處包括:通過 React Native 0.69.5 和 React 18 升級到 Expo SDK 46 ;遷移到 Expo Application Services ;支援基於 Auth0 的登出;為 GitHub Actions 使用 Node 16;大量的依賴升級;以及使用 Keycloak、Okta 和 Auth0 改進質量保證。關於這個版本的更多細節可以參閱 釋出說明

Apache 軟體基金會

Apache NetBeans 15 釋出 ,其特性包括:支援 JEP 413,即 Java API文件中支援程式碼片段(Code Snippets in Java API Documentation) (在 JDK 18 中交付);清理程式碼庫,刪除對 Windows 95 和 Windows 98 的支援;升級到 Maven-Indexer 6.2.0,包括刪除避免 IndexOutOfBoundsException 的臨時方案;以及更新到 Oracle Cloud Integration 2.27.0。關於這個版本的更多細節可以參閱 釋出說明

Apache Groovy 4.0.5 釋出 ,它具有 56 個缺陷修復、改進和依賴性升級,比如,JUnit Jupiter 5.9.0、JUnit Platform 1.9.0、Gradle 7.5.1、Spock 2.2 和 slf4j 2.0.0。 唯一的新特性是對 DateUtilExtensions 類的增強,以便檢索靜態日曆常量的子集。關於這個版本的更多細節可以在 釋出說明 中找到。

Apache Camel 3.18.2 釋出 ,它包含了 50 個錯誤修復和改進,例如:支援 Camel Freemarker 元件中的郵件附件;以及處理 CamelMicroProfilePropertiesSource 類中 loadProperties() 方法中的 NoSuchElementException 。還有一些依賴性的升級,包括 Spring Boot 2.7.3 和 gRPC 1.48.1。關於這個版本的更多細節可以在 釋出說明 中找到。

JetBrains

JetBrains 釋出 了 Ktor 2.1.1,其特性是改進了以下問題:Netty HTTP/2 的異常;JDK 8 和 JDK 11 在構建 Ktor 時的不匹配;以及廢棄 receiveOrNull() 方法,該方法被認為令人感到困惑。關於這個版本的更多細節可以在 更新日誌中 找到。

JavaZone Conference

JavaZone 會議在挪威奧斯陸的 Oslo Spektrum 舉行,來自 Java 社群的許多演講者發表了閃電演講、報告和工作坊。

原文連結:

Java News Roundup: NetBeans 15, Jakarta EE 10, jtreg 7, Spring Cloud, Groovy, Helidon, Micronaut