4.10. 動的プログラミング言語、Web サーバー、およびデータベースサーバー
nodejs:18
モジュールストリームに完全に対応しました。
以前はテクノロジープレビューとして利用できた nodejs:18
モジュールストリームは、RHSA-2022:8833 アドバイザリーのリリースで完全に対応しています。nodejs:18
モジュールストリームでは、LTS (Long Term Support) バージョンの Node.js 18.12
が提供されるようになりました。
RHEL 8.5 に含まれる Node.js 18
は、RHEL 8.7 以降で利用可能な Node.js 16
上で、多くの新機能と、バグおよびセキュリティーの修正を提供します。
主な変更点は、以下のとおりです。
-
V8
エンジンがバージョン 10.2 にアップグレードされました。 -
npm
パッケージマネージャーがバージョン 8.18.0 にアップグレードされました。 -
Node.js
が実験的な新しいfetcj
API を提供するようになりました。 -
Node.js
は、新しい実験的なnode:test
モジュールを提供するようになりました。これにより、Test Anything Protocol (TAP) 形式で結果を報告するテストの作成が容易になります。 -
Node.js
は、IPv4 よりも IPv6 アドレスを優先するようになりました。
nodejs:18
モジュールストリームをインストールするには、以下を使用します。
# yum module install nodejs:18
nodejs:16
ストリームからアップグレードする場合は、皇族のストリームへの切り替え を参照してください。
(BZ#2083073)
nodejs:18
がバージョン 18.14 にリベースされ、npm
がバージョン 9
にリベースされました。
RHSA-2023:1583 でリリースされた Node.js 18.14
には、npm
のバージョン 8 からバージョン 9 への SemVer メジャーアップグレードが含まれています。この更新はメンテナンス上の理由から必要であり、npm
設定の調整が必要になる場合があります。
特に、特定のレジストリーに範囲を限定しない認証関連の設定はサポートされなくなりました。この変更はセキュリティー上の理由から行われました。スコープ指定されていない認証設定を使用した場合、指定されたトークンは .npmrc
ファイルにリストされているすべてのレジストリーに送信されます。
スコープなしの認証トークンを使用する場合は、レジストリースコープ付きトークンを生成して .npmrc
ファイルに指定します。
.npmrc
ファイル内に //registry.npmjs.org/:_auth
など、_auth
を使用する設定行がある場合は、それらを //registry.npmjs.org/:_authToken=${NPM_TOKEN}
に置き換え、生成したスコープ付きトークンを指定します。
変更の完全なリストについては、アップストリームの変更ログ を参照してください。
新しいモジュールストリーム: ruby:3.1
RHEL 8.7 では、新しい ruby:3.1.2
モジュールストリームに Ruby 3.1
が導入されました。このバージョンでは、RHEL 8.5 で配布される Ruby 3.0
に対するパフォーマンスの向上、バグおよびセキュリティー修正、および新機能が数多く追加されました。
主な機能拡張は、次のとおりです。
-
Interactive Ruby
(IRB) ユーティリティーは、オートコンプリート機能とドキュメントダイアログを提供するようになりました。 -
lib/debug.rb
を置き換える新しいdebug
gem は、パフォーマンスを改善し、リモートデバッグとマルチプロセス/マルチスレッドデバッグをサポートします。 -
error_highlight
gem は、バックトレースでエラーの詳細な場所を提供するようになりました。 - ハッシュリテラルデータ型とキーワード引数の値を省略できるようになりました。
-
ピン Operator (
^
) がパターンマッチングで式を受け入れるようになりました。 - 1 行のパターンマッチングで括弧を省略できるようになりました。
- 新しい実験的なインプロセス Just-in-Time (JIT) コンパイラーである YJIT が、AMD および Intel 64 ビットアーキテクチャーで利用可能になりました。
-
TypeProf For IDE
ユーティリティーが導入されました。これは、IDE 内のRuby
コード用の実験的な静的型分析ツールです。
Method Based Just-in-Time Compiler (MJIT) では、以下の通りパフォーマンスが改善されました。
-
Rails
のようなワークロードでは、デフォルトの最大 JIT キャッシュ値が 100 から 10000 に増加しました。 -
クラスイベントの
TracePoint
が有効になっている場合、JIT を使用してコンパイルされたコードがキャンセルされなくなりました。
その他の主な変更点は次の通りです。
-
tracer.rb
ファイルが削除されました。 -
バージョン 4.0 以降、
Psych
YAML パーサーはデフォルトでsafe_load
メソッドを使用します。
ruby:3.1
モジュールストリームをインストールするには、以下を使用します。
# yum module install ruby:3.1
以前の ruby
モジュールストリームからアップグレードするには、Switching to a later stream を参照してください。
(BZ#2063772)
新しいモジュールストリーム: mercurial:6.2
RHEL 8.7 は、新しいモジュールストリームとして Mercurial 6.2
を追加します。このバージョンでは、RHEL 8.0 以降に利用可能な Mercurial 4.8
よりも多くのバグ修正、機能強化、およびパフォーマンスの改善が提供されます。
主な変更点は、以下のとおりです。
-
Mercurial 6.2
はPython 3.6
以降をサポートします -
Mercurial
はPython 2
をサポートしなくなりました -
hg purge
およびhg clean
コマンドで新しい-i
オプションが提供されるようになりました。これにより、追跡されていないファイルの代わりに無視されたファイルを削除できます。 -
hg diff
およびhg extdiff
コマンドは、--from <revision>
および--to <revision>
引数をサポートするようになりました -
新しい内部マージユーティリティー
internal:mergediff
が利用可能になりました - Zstandard (ZSTD) 圧縮は、利用可能な場合、新しいリポジトリーにデフォルトで使用されるようになりました
-
必要な拡張機能が見つからない場合に
Mercurial
が起動しないようにする、必要な拡張機能を指定する新しい方法が利用可能になりました。
さらに、hg
コマンドの C ラッパーを提供する新しい mercurial-chg
ユーティリティーが利用可能になりました。chg
コマンドを使用すると、Mercurial
コマンドサーバーのバックグラウンドプロセスが作成され、C プログラムがそのバックグラウンドプロセスに接続して Mercurial
コマンドを実行します。その結果、パフォーマンスが大幅に向上します。
mercurial:6.2
モジュールストリームをインストールするには、次を使用します。
# yum module install mercurial:6.2
mercurial:4.8
ストリームからアップグレードする場合は、新しいストリームへの切り替えを 参照してください。
(BZ#2089849)
mariadb-java-client
がバージョン 2.7.1 にリベースされました
Java で開発されたアプリケーション用の MariaDB
コネクターを提供する mariadb-java-client
パッケージが、バージョン 2.7.1 に更新されました。
この更新では、サービスに次の変更が導入されています。
-
クライアント認証プラグインがサービスとして定義されるようになりました。その結果、新しいクライアント認証プラグインを簡単に追加できます。ドライバーには、
MySQL
との互換性のためにcaching_sha2_password
およびsha256_password
プラグインが含まれています。 -
資格情報プラグインが資格情報を提供できるようになりました。ドライバーには、
AWS IAM
、Environment
、およびProperty
の 3 つのデフォルトプラグインが含まれています。 -
SSL ファクトリーサービスにより、カスタム SSL 実装を使用できるようになりました。たとえば、新しい
HostnameVerifier
実装を作成できます。
その他の主な変更点は次の通りです。
-
enabledSslProtocolSuites
オプションには、デフォルトで TLSv1.2 が含まれるようになりました。
バージョン 6.2.7 にリベースされた redis
redis:6
モジュールストリームを提供する高度なキー値ストアである Redis 6
は、バージョン 6.2.7 に更新されました。この更新では、RHEL 8.4 以降に利用可能なバージョン 6.0 に対するバグ修正、セキュリティー修正、および改善が提供されます。
httpd
設定の LimitRequestBody
ディレクティブのデフォルトが新しくなりました
CVE-2022-29404 を修正するために、Apache HTTP Server の LimitRequestBody
ディレクティブのデフォルト値が 0
(無制限) から 1 GiB に変更されました。
LimitRequestBody
の値が httpd
設定ファイルで明示的に指定されていないシステムでは、httpd
パッケージを更新すると、LimitRequestBody
がデフォルト値の 1 GiB に設定されます。その結果、HTTP 要求本文の合計サイズがデフォルトの制限である 1 GiB を超える場合、httpd
は 413 Request Entity Too Large
エラーコードを返します。
HTTP 要求メッセージ本文の新しいデフォルトの許容サイズがユースケースに不十分な場合は、それぞれのコンテキスト (サーバー、ディレクトリーごと、ファイルごと、または場所ごと) 内で httpd
設定ファイルを更新し、適切な制限をバイト単位で設定します。たとえば、新しい制限を 2 GiB に設定するには、次を使用します。
LimitRequestBody 2147483648
すでに LimitRequestBody
ディレクティブで明示的な値を使用するように設定されているシステムは、この変更の影響を受けません。
(BZ#2128016)