26.0.0.5 での Jakarta EE 11、Spring Boot 4.0、その他
このリリースでは、Open Liberty に Jakarta EE 11、Spring Boot 4.0 アプリケーション、および更新された TLS/SSL 暗号処理の公式サポートが導入され、Spring Boot デプロイメントサポートの強化と SSL 暗号設定の簡素化が含まれています。
Open Liberty 26.0.0.5 の内容:
26.0.0.5 で修正されたバグのリストは こちら です。
以前の Open Liberty GA リリースのブログ投稿 もチェックして下さい。
26.0.0.5 でアプリを開発して実行する
もし Maven を使用しているなら、pom.xml ファイルに以下を含めます。
<plugin>
<groupId>io.openliberty.tools</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>3.12.0</version>
</plugin>
Gradle を使用している場合は、build.gradle ファイルに以下を含めます。
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'io.openliberty.tools:liberty-gradle-plugin:4.0.0'
}
}
apply plugin: 'liberty'
コンテナ・イメージ を使用している場合は、以下のようにします。
FROM icr.io/appcafe/open-liberty
または、ダウンロード・ページ をご覧ください。
IntelliJ IDEA、Visual Studio Code、または Eclipse IDE を使用している場合は、オープンソースの Liberty 開発者ツール を利用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。
Jakarta EE 11 Core Profile、Web Profile、および Platform
Jakarta EE 11 Core Profile、Web Profile、および Platform が Open Liberty で正式にサポートされるようになりました! まず、さまざまなベータ版を通じてフィードバックを提供してくださったすべての方々に感謝いたします。
Jakarta EE 11 は重要なマイルストーンです。これは、2017 年の Java EE 8 以来、プラットフォームに新しい仕様を追加する最初の Jakarta リリースであり、したがって、プラットフォームが Eclipse Foundation に引き継がれて以来、新しいコンポーネント仕様を提供する最初のリリースです。既存の Java 仕様への多くの更新の中で、Platform からすべてのオプション仕様と機能も削除されます。Liberty は、Jakarta EE 11 の機能と組み合わせた場合、これらのオプション仕様と機能を引き続きサポートします。
Core Profile 仕様は、MicroProfile ベースのアプリケーションなどの軽量なクラウドネイティブアプリケーション向けのプロファイルを提供するために Jakarta EE 10 で導入されました。このリリースで Jakarta EE 11 サポートが導入されたことにより、MicroProfile 7.0 および 7.1 の機能も Jakarta EE 11 で動作するようになりました。Jakarta EE 10 または Jakarta EE 11 の機能のいずれかを使用して MicroProfile 7 アプリケーションを実行できます。
以下の仕様が Jakarta Platform および Core および Web プロファイルを構成します。
Jakarta EE Core Profile 11
| 仕様 | 更新 | Liberty 機能ドキュメント |
|---|---|---|
メジャーアップデート |
||
メジャーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
変更なし |
||
変更なし |
||
変更なし |
Jakarta EE Web Profile 11
| 仕様 | 更新 | Liberty 機能ドキュメント |
|---|---|---|
メジャーアップデート |
前の 表 を参照 |
|
新規 |
||
メジャーアップデート |
||
メジャーアップデート |
||
メジャーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
マイナーアップデート |
||
変更なし |
該当なし |
|
変更なし |
||
変更なし |
||
変更なし |
該当なし (Javadoc を参照) |
Jakarta EE Platform 11
| 仕様 | 更新 | Liberty 機能ドキュメント |
|---|---|---|
メジャーアップデート |
前の 表 を参照 |
|
メジャーアップデート |
||
変更なし |
||
変更なし |
||
変更なし |
||
変更なし |
||
変更なし |
||
変更なし |
注: Enterprise Beans 4.0 は変更されていませんが、enterpriseBeans-4.0 の機能が他の Jakarta EE 11 の機能と共に構成されている場合、オプションの EJB 2.x 機能は有効になりません。EJB 2.x API を使用したいユーザーは、enterpriseBeansHome-4.0 の機能も追加する必要があります。
Liberty は、Jakarta EE 11 Web Profile (webProfile-11.0) および Jakarta EE 11 Platform (jakartaee-11.0) に含まれるすべてのコンポーネント仕様を実行するための便利な機能を提供します。これらの便利な機能により、それぞれの仕様に含まれるすべての API を使用してアプリケーションを迅速に開発できます。アプリケーションクライアントで Jakarta EE 11 の機能を使用するには、jakartaeeClient-11.0 Liberty 機能を使用します。
Jakarta EE Platform 11 の機能を有効にするには、server.xml ファイルに jakartaee-11.0 feature を追加します。
<featureManager>
<feature>jakartaee-11.0</feature>
</featureManager>
または、Jakarta EE Web Profile 11 の機能を有効にするには、server.xml ファイルに webProfile-11.0 feature を追加します。
<featureManager>
<feature>webProfile-11.0</feature>
</featureManager>
Core Profile には便利な機能は存在しませんが、server.xml ファイルに以下の feature を追加することで、同等の機能を有効にできます。
<featureManager>
<feature>jsonb-3.0</feature>
<feature>jsonp-2.1</feature>
<feature>cdi-4.1</feature>
<feature>restfulWS-4.0</feature>
</featureManager>
Application Client Container で Jakarta EE 11 の機能を実行するには、client.xml ファイルに以下のエントリを追加します。
<featureManager>
<feature>jakartaeeClient-11.0</feature>
</featureManager>
詳細については、以下を参照してください:
Spring Boot 4.0
Open Liberty は現在、Spring Boot 1.5.x、2.x、および 3.x アプリケーションの実行をサポートしています。新しい springBoot-4.0 機能の導入により、ユーザーは Spring Boot 4.x アプリケーションをデプロイできるようになりました。Liberty は一貫して WAR ファイルとしてパッケージ化された Spring Boot アプリケーションをサポートしてきましたが、この機能強化により、Spring Boot 4.x アプリケーションの JAR および WAR 形式の両方へのサポートが拡張されます。
springBoot-4.0 機能は、Open Liberty で Spring Boot 4.x アプリケーションを実行するための完全なサポートと、コンテナ化されたアプリケーションを構築する際にアプリケーションを thin 化する機能を提供します。
この機能を使用するには、ユーザーは Jakarta EE 11 の機能を有効にした Java 17 以降を実行している必要があります。アプリケーションがサーブレットを使用する場合は、servlet-6.1 を使用するように構成する必要があります。サーバーを構成するには、server.xml ファイルに以下の feature を含めます。
<featureManager>
<feature>springBoot-4.0</feature>
<feature>servlet-6.1</feature>
</featureManager>
Spring Boot アプリケーションをデプロイするための server.xml 構成は、以前の Liberty Spring Boot バージョンで使用されていたアプローチと同じです。
<springBootApplication id="spring-boot-app" location="spring-boot-app-0.1.0.jar" name="spring-boot-app" />
以前のバージョンと同様に、Spring Boot アプリケーション JAR は /dropins/spring フォルダに配置することでデプロイできます。このデプロイ方法を使用する場合、server.xml ファイルの springBootApplication 構成は省略できます。
TLS/SSL 暗号サポートの更新
Liberty は、SSL 構成に JDK からの有効な暗号リストを使用するようになりました。SSL 構成の securityLevel 属性は使用されなくなりました。さらに、SSL 構成の enabledCiphers 属性が更新され、より柔軟な方法で SSL 暗号をカスタマイズできるようになりました。
Liberty の securityLevel ベースの暗号カテゴリは、もはや意味のある価値を提供しません。MEDIUM および LOW カテゴリには、残りの暗号が含まれていません。
enabledCiphers 属性には、相互に排他的な 2 つのモードがあります: (1) スペースで区切られた暗号のカスタムリストを指定する、または (2) 有効な JDK 暗号リストから暗号スイートを追加 (+) または削除 (-) するフィルタ基準を指定する。enabledCiphers に設定された値に静的エントリと +/- エントリが含まれている場合、エラーがログに記録され、サーバーは有効な JDK 暗号リストを返すことで enabledCiphers 値を無視します。
既存の使用法: ユーザーが securityLevel を HIGH に設定
<ssl id="defaultSSL" securityLevel=HIGH/>
securityLevel 属性は無視されるようになったため、前の <ssl> 構成は、securityLevel 属性が構成されていない次の構成と同等に扱われます。
<ssl id="defaultSSL"/>
既存の使用法: ユーザーが有効な JDK リストからすべての暗号を指定し、1 つ (TLS_RSA_WITH_AES_128_GCM_SHA256) を除くすべての TLS_RSA 暗号を除外
<ssl id="defaultSSL" securityLevel="CUSTOM" enabledCiphers="TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_DHE_DSS_WITH_AES_256_CBC_SHA TLS_DHE_DSS_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_128_GCM_SHA256">
新しい構文の例: ワイルドカードを使用して同じロジックを実現
<ssl id="defaultSSL" enabledCiphers="-TLS_RSA* +TLS_RSA_WITH_AES_128_GCM_SHA256"/>
トランスポートセキュリティの詳細については、SSL Constants Javadoc、JSSEProvider Javadoc、および SSL 構成リファレンス を参照してください。
このリリースでのセキュリティ脆弱性 (CVE) 修正
| CVE | CVSS スコア | 脆弱性評価 | 影響を受けるバージョン | 備考 |
|---|---|---|---|---|
7.5 |
ID なりすまし |
17.0.0.3-26.0.0.4 |
過去のセキュリティ脆弱性修正のリストについては、セキュリティ脆弱性 (CVE) リスト を参照してください。
このリリースで修正された注目すべきバグ
バグ修正に時間を費やしました。以下のセクションでは、このリリースで解決された問題の一部について説明します。興味がある場合は、26.0.0.5 で修正されたバグの完全なリスト をご覧ください。
Open Liberty 26.0.0.5 を今すぐ入手
Maven、Gradle、Docker、およびダウンロード可能なアーカイブ から入手できます。