
golang.org/x/text v0.33.0 の CVE-2026-56852 (GO-2026-5970) バックポート(Go 1.24 向け)
このリポジトリには、テキスト処理のための補助的な Go パッケージが含まれています。その多くは Unicode に関連しています。
x/text で使用される Unicode のバージョンが、お使いの Go コンパイラで使用されるバージョンと一致することが重要です。x/text リポジトリは複数の Unicode バージョンをサポートしており、Go コンパイラの Unicode バージョンに合わせて調整されます。現時点では、これは Go コンパイラのバージョン 1.7 以降でサポートされています。
このリポジトリへの変更を送信するには、http://go.dev/doc/contribute を参照してください。
git リポジトリは https://go.googlesource.com/text です。
このリポジトリ内のテーブル(エンコーディングテーブルを除く)を生成するには、このディレクトリで go generate を実行してください。デフォルトでは、core 内の Unicode バージョンと golang.org/x/text/unicode/cldr で定義された CLDR バージョンに対してテーブルが生成されます。
go generate を実行すると、副作用としてこのディレクトリに DATA サブディレクトリが作成され、テーブル生成のソースとして使用されるすべてのファイルが格納されます。このディレクトリはキャッシュとしても機能します。
実行
go test ./...
このディレクトリから実行すると、すべてのテストが実行されます。ICU 適合テスト(利用可能な場合)も実行するには、"-tags icu" フラグを追加してください。これには、システムに正しい ICU バージョンがインストールされている必要があります。
TODO:
このリポジトリ内のテーブル(エンコーディングテーブルを除く)を生成するには、このディレクトリで go generate を実行してください。デフォルトでは、core 内の Unicode バージョンと golang.org/x/text/unicode/cldr で定義された CLDR バージョンに対してテーブルが生成されます。
go generate を実行すると、副作用としてこのディレクトリに DATA サブディレクトリが作成され、テーブル生成のソースとして使用されるすべてのファイルが格納されます。このディレクトリはキャッシュとしても機能します。
Unicode バージョンを更新するには、次を実行します
UNICODE_VERSION=x.x.x go generate
ここで x.x.x は https://www.unicode.org/Public/ 内のディレクトリに対応している必要があります。このバージョンが core 内のバージョンより新しい場合、そこにある関連パッケージも更新されます。x/net 内の idna パッケージは常に更新されます。
CLDR バージョンを更新するには、次を実行します
CLDR_VERSION=version go generate
ここで version は https://www.unicode.org/Public/cldr/ 内のディレクトリに対応している必要があります。
コードはデータの変更に合わせて時間とともに適応され、後方互換性は維持されないことに注意してください。そのため、異なるバージョンへの更新は機能しない場合があります。
DATA/{iana|icu|w3|whatwg} 内のファイルは現在バージョン管理されていません。
text リポジトリのメインの課題トラッカーは https://go.dev/issues にあります。件名に "x/text:" をプレフィックスとして付けると、見つけやすくなります。