chore(release): v1.0.30 版本号与 CHANGELOG 四语同步
CI / typecheck + test + build (windows) (push) Canceled after 0s

This commit is contained in:
Bill committed 2026-10-18 10:17:36 +08:00
1 parent fc0d1afdce
commit be243fd111
6 files changed
+143 -3

No files matched your search

+35
View File
@@ -1,5 +1,40 @@
# OpenTerminal 更新履歴
## v1.0.30 - 2026-10-18
本リリースでは中国語表示、キーワードハイライト、カスタムリンク規則を改善し、ユーザー定義正規表現への ReDoS 対策を追加しました。また、長時間のフリーズを調査するため、より正確なレンダラー性能タイムラインを導入しました。
### 改善:中国語とフォント表示
- ターミナルが Unicode 11 の幅テーブルを使用するようになり、中国語、全角記号、罫線の位置合わせが正確になりました
- ターミナルフォント設定に CJK フォールバック専用スロットを追加しました
- WebGL レンダラーが重なるグリフのスケーリングを有効化し、文字の重なりを軽減します
- フォント一覧に等幅表示を追加し、プレビューに中国語 / 英語混在サンプルを用意しました。フォント適用前にずれを確認できます
### 追加:ハイライトとクリック可能リンク規則
- ハイライト規則に「行単位でマッチ」スイッチを追加し、`^ERROR$` のようなアンカーが各行で機能します
- カスタムクリック可能リンク規則を追加しました。正規表現のキャプチャグループを `http/https` リンクテンプレートに展開し、Ctrl+クリックで開けます
- ハイライト規則で「一致時に通知」を有効化できます。長時間タスクの出力内のエラーや秘密情報の漏えい確認に便利です
- 長すぎる出力は行単位で低下させ、4KB を超える行だけをスキップするようになりました。チャンク全体のハイライトが無効になることはありません
### 修正:ハイライトとフォント設定の安定性
- 複数行や色付きの `ls -l` 出力でパーミッションビットがハイライトされない問題を修正しました
- ハイライト範囲の終了後にアプリ自身の色が消える問題を修正し、色付き TUI 出力が元のスタイルを維持します
- 無効な行高、カーソルスタイル、scrollback、レンダラーモードによるペインクラッシュや設定無効化を修正しました。壊れた旧設定は起動時に修復されます
- 空白や括弧などを含むフォント名が一部の場面で警告なしに失敗する問題を修正しました
### セキュリティ:カスタム正規表現の ReDoS 対策
- カスタムハイライト規則とリンク規則は、ターミナルで同期実行される前にメインプロセスの Worker で動的検証されます
- 規則ごとに 500ms のハードタイムアウトがあり、超過した規則は隔離され UI を凍結させません
- エディタープレビュー、インポート、既存設定、手動編集した設定ファイルも同じゲートを通ります
- 内蔵プリセットは検証を省略します。カスタム規則がない環境では Worker を起動せず、出力ホットパスのオーバーヘッドもありません
- アップグレード後、既存のカスタム規則は自動で再検証され、短時間「検証待ち」と表示されることがあります
### 診断:レンダラーフリーズのタイムライン
- レンダラーのフリーズログが、実際のロングタスクとタイマー / スリープなどのスケジューリング遅延を区別するようになりました
- fit/reflow、xterm の書き込み消費、書き込みキュー、WebGL ライフサイクルのログを追加しました
- 診断ログは頻度制限され、ターミナル内容ではなくメタデータのみを記録します
- フリーズを報告するときはその日の診断ログを添付すると、再配置、出力停滞、GPU、外部プログラムのどれが原因かを判断しやすくなります
## v1.0.29 - 2026-10-16
今回のリリースはライトテーマの可読性を修正します。ホワイト系テーマでは、ターミナル内の文字(特に各プログラムが出力する色付きの文字)がほとんど読めず、設定ダイアログなども明るい背景にダーク向けの色が重なって表示されていました。