Skip to content

v0.17.0

Latest

Choose a tag to compare

@tacyan tacyan released this 13 Aug 04:18
· 12 commits to main since this release
2b03cc4

0.17.0 — 2026-08-13

  • インストーラが配布物を検証するようになりましたcurl | sh / irm | iex で入れるとき、展開する前にリリースの SHA-256 と突き合わせ、合わなければ展開も実行もせずに中止します。チェックサム自体が取れないときも同じく中止します。リリースには依存の一覧 (SBOM) と、「このファイルはこのリポジトリのこのコミットから作られた」という来歴も付くようになりました (gh attestation verify で誰でも確認できます)
  • 同じ行を 2 人に配ってしまう見落としが 35 件残っていたのを直しました。削除・挿入・置換を混ぜた 6000 通りで総当たりしたところ、94 行離れていて交互にもなっていないのに git が衝突する組が見つかりました。同じファイルを 2 人で分けるときは必ず境目に目印を要求するようにして、6000 通りで見落とし 0 になりました。実在のファイルでは通す数はほとんど減っていません (src/region.rs の 800 通りで 792 → 792)
  • 断られたときに、ずらせる場所を提案するようになりました。長さを変えずに、帯を満たして境目に目印がある最寄りへ移せる場合はその位置を出します
  • アイドル時の CPU を 12.45% → 1.0% にしました。チュートリアルのカードを開いたまま席を立つと、アプリ全体が毎秒 55 コマ描き続けていました。同梱プラグインの「900 秒ごと」という指定が 2 秒ごとに丸められていたのも直しています。見た目は変えていません
  • 外部で書き換えたファイルの反映が速くなりました (5.0 秒 → 0.8 秒)。別のターミナルで git checkout した変更がすぐ画面に出ます
  • 日本語入力が二重に入ることがあったのを直しました。変換を確定すると 日本語日本語 のように 2 回入ることがありました。パレットの検索欄・検索置換・エディタ本体すべてで直っています
  • Shell を開いただけで「N ファイル競合」と出ていたのを直しました。git は誰がファイルを触ったか区別できないため、同じフォルダに居る全員へ同じファイル一覧を割り当てています。そこへ素のシェルを 1 体と数えていたので、Shell を開いた瞬間に未コミットの全ファイルが競合として出ていました。表示の文言も、分かっていること (「同じ作業ツリーに居ます」) だけを書くように改めました
  • エージェントの画面でも、コピーする範囲を画面より上へ広げられるようになりました。Shell では上端を超えてドラッグすると履歴へ伸びるのに、エージェントの画面では伸びませんでした
  • 全機能ガイドが、選んだらその場で体験できるようになりました。組み込み操作を選ぶとその手順から再生し、機能を選ぶとその場で開いて見せます。行が列で揃わず、右端の打鍵表示が画面の外へ出ていたのも直しました
  • 通知音をペットのメニューからも切り替えられるようになりました。設定画面の項目と同じ設定を指しています
  • リポジトリの形が増えました。sparse-checkout / shallow / submodule で競合ゼロが成立することを実測で確かめ (submodule は --recurse-submodules を打ったとき)、git でないフォルダも --git-init で明示すれば使えます。bare と読み取り専用は原理的に無理なので、はっきり断ります
  • 他人の .gitmodules からリポジトリの外へフックを書き込めた穴を塞ぎました.gitmodules は clone した相手が中身を決められるファイルなので、path = ../../../evil と書かれていると外へ出られていました
  • 画面の破綻を捕まえる検査を入れました (44 件)。この検査自体が、パレットが候補を 1 件しか描かない / ダイアログのタイトルバーが画面外に出るなど実際の不具合を 4 件見つけています