OpenJDK 8.0.332 リリースノート

OpenJDK 8

リリースノート

概要

本書では、OpenJDK 8 の新機能の概要と、考えられる既知の問題と、その回避策を説明します。

はじめに

OpenJDK (Open Java Development Kit) は、Java Platform Standard Edition (Java SE) のオープンソース実装です。OpenJDK の Red Hat ビルドは、OpenJDK 8u、OpenJDK 11u と OpenJDK 17u の 3 つのバージョンで利用できます。

Red Hat ビルドの OpenJDK 向けパッケージは、Red Hat Enterprise Linux および Microsoft Windows で利用でき、Red Hat Ecosystem Catalog の JDK および JRE として同梱されています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ を参照してください。

第1章 サポートポリシー

Red Hat は、一部の OpenJDK のメジャーバージョンをサポートします。一貫性のため、これらのバージョンは Oracle JDK 向けに LTS を規定するバージョンと同じです。

OpenJDK のメジャーバージョンは、最初に導入された時点から最低 6 年間サポートされます。

OpenJDK 8 の Microsoft Windows および Red Hat Enterprise Linux サポートは 2026 年 5 月までです。

注記

RHEL 6 のライフサイクルは 2020 年 11 月に終了します。このため、OpenJDK はサポート対象設定として RHEL 6 をサポートしません。 

OpenJDK Life Cycle and Support Policy (Red Hat Customer Portal) を参照してください。

第2章 アップストリームの OpenJDK 8 との相違点

Red Hat Enterprise Linux (RHEL) の OpenJDK には、OpenJDK のアップストリームディストリビューションの構造上の変更が数多く含まれています。Microsoft Windows バージョンの OpenJDK は、RHEL の更新にできる限り従います。

以下は、Red Hat OpenJDK 8 における最も注目すべき変更の一覧です。

  • FIPS のサポート。Red Hat OpenJDK 8 は、RHEL が FIPS モードであるかどうかを自動的に検出し、そのモードで動作するように OpenJDK 8 を自動的に設定します。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。
  • 暗号化ポリシーのサポート。Red Hat Open JDK 8 は、有効な暗号化アルゴリズムとキーサイズ制約のリストを RHEL システム設定から取得します。これらの設定コンポーネントは、トランスポート層セキュリティー (TLS) 暗号化プロトコル、証明書パス検証、および署名された JAR によって使用されます。さまざまなセキュリティープロファイルを設定して、安全性と互換性のバランスをとることができます。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。
  • Red Hat OpenJDK on RHEL は、アーカイブ形式のサポート用の zlib、イメージのサポート用の libjpeg-turbolibpnggiflib などのネイティブライブラリーと動的にリンクします。また、RHEL はフォントのレンダリングと管理のために、Harfbuzz および Freetype に対して動的にリンクします。この変更は、Microsoft Windows 向けの OpenJDK ビルドには適用されません。
  • src.zip ファイルには、OpenJDK に同梱されるすべての JAR ライブラリーのソースが含まれます。
  • Red Hat OpenJDK on RHEL は、タイムゾーン情報のソースとして、システム全体のタイムゾーンデータファイルを使用します。
  • Red Hat OpenJDK on RHEL は、システム全体の CA 証明書を使用します。
  • Red Hat OpenJDK on Microsoft Windows には、RHEL で利用可能な最新のタイムゾーンデータが含まれています。
  • Red Hat OpenJDK on Microsoft Windows は、RHEL から入手可能な最新の CA 証明書を使用します。

関連情報

第3章 OpenJDK の機能

最新の OpenJDK 8 リリースには、新機能が含まれている可能性があります。さらに、このリリースは、以前の Open JDK 8 リリースに由来する機能を強化、非推奨、または削除する可能性があります。

注記

その他の変更点やセキュリティー修正については、OpenJDK 8u332 Released を参照してください。

3.1. 新機能および拡張された機能

次のリリースノートを確認して、OpenJDK 8.0.332 リリースに含まれている新機能と機能拡張を理解してください。

ポータブル Linux ビルドによる cacerts へのアクセス

Red Hat OpenJDK 8.0.322 のポータブル Linux ビルドは、セキュリティー証明書データベースとして /etc/pki/java/cacerts を使用しようとしました。これは、移植可能な Linux ビルドが独自のディレクトリー構造にある cacerts データベースを使用する OpenJDK 8.0.312 リリースからの望ましくない動作の変更でした。

OpenJDK 8.0.332 は、cacerts ファイルの場所を <java_home>/jre/lib/java.security に変更することでこの問題を修正します。これは、OpenJDK 8.0.312 リリースで指定されたデフォルトの場所でした。

さらに、OpenJDK 8.0.332 リリースでは、プロパティー security.systemCACerts を使用して、java.security ファイルで cacerts データベースを設定できます。JVM の起動時に -Djava.security.disableSystemCACerts=true 引数を渡すことにより、この機能を無効にできます。

OpenJDK for Microsoft Windows での代替データストリーム (ADS) の動作

OpenJDK 8 for Microsoft Windows リリースでは、java.io.FileOutputStream がコロン (:) 文字を含む一部のファイルを開かないために一部の Java アプリケーションが失敗する問題が修正されています。この問題は、jdk.io.File.enableADS のデフォルト値が false に設定されていたために発生しました。

この OpenJDK 8 for Microsoft Windows リリースでは、jdk.io.File.enableADS のデフォルト値が true に設定されています。デフォルトでは、OpenJDK は Alternative Data Streams や、NUL: ファイルなどの Microsoft Windows の特別なファイルに書き込むことができるようになりました。

次のいずれかのオプションを選択して、OpenJDK の ADS への書き込み機能を無効にできます。

  • -Djdk.io.File.enableADS=false パラメーターを OpenJDK デプロイメントに渡します。
  • JAVA_TOOL_OPTIONS 環境変数を JAVA_TOOL_OPTIONS=-Djdk.io.File.enableADS=false に設定します。
重要

これらの設定のいずれかを実装すると、Java アプリケーションが OpenJDK 8 for Microsoft Windows ビルドのファイルにデータを書き込む方法に問題が発生する可能性があります。

JDK-8285445 (JDK Bug System) を参照してください。

第4章 既知の問題

OpenJDK 8 には既知の問題が含まれている可能性があります。これらの既知の問題のいくつかには解決策が存在する可能性があります。

XPath 式

OpenJDK 8 は、XPath 式の新しいデフォルト制限を指定します。コードがこれらの制限を超えていることがわかった場合は、次のパラメーターを OpenJDK デプロイメントに渡すか、JAVA_TOOL_OPTIONS 環境変数を設定してそれらを使用することで制限を引き上げることができます。

  • -Djdk.xml.xpathExprGrpLimit。デフォルトは 10 です。
  • -Djdk.xml.xpathExprOpLimit。デフォルトは 100 です。
  • -Djdk.xml.xpathTotalOpLimit, which defaults to 10,000

これらのデフォルトの制限は、式グループの数、単一の式の演算子の数、および演算子の総数を制限します。

第5章 このリリースに関連するアドバイザリー

以下のアドバイザリーは、本リリースに含まれるバグ修正および CVE の修正に発行されています。