概要
- ripgrep 15の主な内容は バグ修正、 パフォーマンス改善、 小規模な新機能追加。
- gitignore関連の問題 や 大規模gitignoreファイルのメモリ使用量 のバグ修正。
- 新たに Windows aarch64対応 や jjリポジトリ対応 などのプラットフォーム強化。
- -r/--replaceと--jsonの併用、 ネストした中括弧のglob など機能拡張。
- CIやリリースアーティファクト の変更、 LTO有効化 による軽量化。
ripgrep 15の新機能と改善点
- ripgrep 15 は主に バグ修正 と 軽微な機能追加、 パフォーマンス向上 が中心
- ripgrep は正規表現でディレクトリを再帰的に検索する 高速検索ツール
- デフォルトで gitignoreルール を尊重し、 隠しファイルやバイナリファイル を自動的にスキップ
- jjリポジトリ(Jujutsu) もgitリポジトリ同様に扱い、gitignoreを適用
- Windows aarch64 向けリリースアーティファクト追加、 powerpc64 向けは生成停止
パフォーマンス改善
- LTO(Link Time Optimization) をフル有効化し、 バイナリサイズ削減 と 性能向上
- -z/--search-zip 未使用時、Windowsで 補助バイナリ解決処理 をスキップ
- Windows環境で ハイパーリンク出力時のパス正規化 を回避し高速化
- -A/--after-context オプション使用時の大規模値でのパフォーマンス向上
バグ修正
- gitignoreの親ディレクトリ適用バグ、 大規模gitignoreファイルのメモリ問題 など解消
- rg -vf file でfileが空の場合、全件一致するよう修正
- .gitignore先頭のUTF-8 BOM を無視する処理追加
- --stats出力の検索バイト数誤表示 や globパターンの誤動作 など細かな不具合修正
- -m/--max-countと-U/--multiline 併用時の一致数過多問題を修正
- -r/--replaceフラグ使用時 の行終端記号保持など細部を改善
- --json 利用時の統計値誤りや 絶対パス検索時のgitignoreバグ も修正
新機能・拡張
- -r/--replace と --json の併用をサポート
- fishシェル補完 がripgrep設定ファイルを考慮
- --color のstyle属性にitalic追加、 --hyperlink-format の補完強化
- .jjディレクトリ を含むディレクトリをgitリポジトリとして扱う機能
- マルチスレッド時 にCLIで指定した順番でファイルを検索する仕様
- ハイライトカラータイプ 追加、マッチしないテキストの装飾が可能に
- globパターン で 入れ子の中括弧(ネストしたalternates) をサポート
プラットフォーム・リリース関連
- Windows aarch64 用バイナリ配布開始
- powerpc64 向けアーティファクト生成は停止(CI問題のため、要望があれば再検討)
- macOS aarch64 向けリリースで PCRE2の静的リンク を実施
まとめ
- ripgrep 15は 安定性 と 使い勝手 の向上を目指したアップデート
- バグ修正 や 細かな機能追加 が中心で、既存ユーザーも安心して移行可能
- パフォーマンス改善 や 新プラットフォーム対応 で、より広範な環境で利用可能