Releases: TomiXRM/kagi
Release list
v0.9.2
Kagi v0.9.2 — dark-theme color fixes
Fixed (#128)
v0.9.1 の gpui-component 0.5.2 移行で入ったダークテーマの配色退行を修正:
- Settings のラジオボタンが黒く塗られて見えなかった
- プルダウンリストが白背景 + 白文字で読めなかった
- 「+ Branch here」ボタンがブランチアクセント色(水色)に戻りました
- 「Cherry-pick」ボタンが他のニュートラルボタンと同じ配色に戻りました
内部的には、gpui-component 0.5.2 で新設されたテーマフィールド (button_* など約40個) と派生トークン (tokens) にテーマ同期が追従するようになり、今後の同種の取りこぼしにはモード一致プリセットの初期化が保険になります。
Checksums
各プラットフォームの SHA256SUMS を同梱しています。
v0.9.1
Kagi v0.9.1 — zed-main GPUI stack & commit-message readability
Under the hood: GPUI migrated to the zed main stack (#125)
- crates.io の gpui 0.2.2 (2025-10で凍結) から zed 本家 main の git 依存へ移行 —
gpui/gpui_platform/gpui_web/gpui_wgpuクレート分割後の最新スタック - Ubuntu の日本語字形修正 (cosmic-text Han-unification patch) は cosmic-text 0.19 へ rebase して維持
- 見た目・機能はそのまま、今後の upstream 修正への追従が容易に
Inspector: commit message readability (#125)
- コミットメッセージ本文がパネル幅で折り返して表示されるように (これまでは行ごとに省略)
- git の72桁ハード改行を段落単位で reflow — 箇条書き・空行・
Co-Authored-By:トレーラーは保持 - ペインリサイズ中に本文が1行分ガタガタ揺れる問題を修正 (折り返しテキストの高さ測定がフレーム遅延する zed-main gpui の挙動への対処)
Developer infrastructure (#126)
- gpui_web + Playwright のブラウザ e2e 基盤を追加: kagi UI のストーリーカタログを WASM でレンダリングし、リサイズ回帰を headless Chromium (SwiftShader WebGPU) で自動検証 — 詳細は ADR-0097
Checksums
各プラットフォームの SHA256SUMS を同梱しています。
v0.9.0
Kagi v0.9.0 — Markdown preview with Mermaid diagrams
New: Editor-mode markdown preview (#123)
- Right-click a
.mdfile in the editor tree → Preview Markdown (or use the Preview / Back-to-editor chip on open markdown buffers) - Native GPUI rendering: selectable text, syntax-highlighted code blocks, zoom-tracking typography
- Mermaid diagrams render inline when mermaid-cli (
mmdc) is installed — cached per content+theme, dark-theme aware. Without it, diagram source is shown with an install hint - Legible inline code (padding, rounded corners), tuned heading/paragraph spacing, readable selection highlight
Improvements & fixes
- Window size is remembered across launches (restores as-is down to 400×300; falls back to the default for corrupt values; survives force-quit)
- Full C++ syntax highlighting for
.cpp/.cc/.h/.hpp(was nearly unhighlighted) - Vertical arrow keys move the code-editor cursor again
v0.8.1
Kagi v0.8.1 — editor-workspace safety fixes & Linux CJK rendering
Bug-fix release for the v0.8.0 Editor Workspace, driven by a 3-family cross-model code review, plus the Ubuntu Japanese-font fix.
Data-loss guards (#120)
- Switching or closing a repo tab with unsaved editor buffers now opens the dirty guard instead of silently discarding edits; delete-confirm warns when affected tabs are dirty
- Saving no longer overwrites files changed on disk by another process — the external-change banner gains an explicit Overwrite action
Linux / cross-platform (#121, #120)
- Japanese kanji no longer render with Simplified-Chinese glyphs on Ubuntu (cosmic-text Han-unification locale fix; submitted upstream as pop-os/cosmic-text#522); .deb now recommends fonts-noto-cjk
- "Reveal" works on Linux/Windows (was macOS-only
open -R) - Case-only renames (File.txt → file.txt) work on case-insensitive filesystems
Other fixes
- .gitignore entries are escaped/anchored; read errors no longer clobber an unreadable .gitignore
- "← Graph" / "Editor Workspace" labels localized (EN+JA)
v0.8.0
Merge pull request #119 from TomiXRM/claude/fix-trash-path-cross-plat…
Kagi v0.7.3 — internal structure: hotspot split, op-flow dedup, CI LOC gate
Maintenance release driven by Kagi's own Analyze view (hotspot/coupling) pointed at its own repo. No user-facing feature changes.
Changed
src/ui/mod.rsslimmed 5,850 → 4,402 LOC (#95). The top hotspot (risk 0.686) lost five blocks to their proper feature modules: modal input sync, the main-diff/compare family, conflict detection, branch/commit action dispatch, and the platform menu (newplatform_menu.rs).- Shared async op shell. The byte-identical spawn/finish scaffold repeated across 21 operation sites is now a single
finish_op_on_mainhelper (net −157 LOC). Theplan → confirm → preflight → execute → verify → oplogpipeline and all[kagi]log contract lines are unchanged. Implemented cross-model by GLM 5.2, reviewed by Claude.
CI
- Advisory file-LOC ratchet (
ci/check-loc.sh): files over 800 LOC can no longer grow past their recorded baseline without failing the advisory lint job — a guard against god-file regrowth.
Verification
- 831 tests green at every commit; UI git2-free grep gate = 0; GUI exercised live (WIP diff, stash push/pop round-trip through the new helper) before merge.
v0.7.2
Kagi 0.7.2 — Linux key mapping (secondary→Ctrl) + click-offset workar…
Kagi v0.7.1 — Analyze overflow/tooltip + reload-stability fixes
kagi v0.7.1 — v0.7.0 で入った Analyze(コードホットスポット分析ビュー)のバグ修正パッチです。読み取り専用・安全第一(破壊的コマンドなし)の方針は据え置き。
🐛 修正
-
Analyze のはみ出し — 長いパス(例: 深い STM32 ビルド成果物)やズーム時に、Hotspots / Coupling / Ownership 行の数値カラム(commits / LOC)とリスクバーが右端からはみ出して見えなくなり、ヘッダーのフォーマットチップ・診断コピー・✕ も切れていた問題を修正。全画面ビューに確定幅を与え(
flex_1 + min_w(0))、各行を枠内に拘束、ヘッダーは折り返すように。隠れた長いパスはセル内の横スクロール + ホバーでフルパスのツールチップで読めます。 -
reload で Analyze が閉じる / キャッシュ破棄 — auto-fetch(180秒毎)が成功の度に reload を呼び、リモート追跡 ref が動いただけ(ローカル HEAD 不変)でも全画面 Analyze を閉じて約1分のマイニング結果を捨てていた問題を修正。File History も同様の症状だったので同時に対応。HEAD-OID で版管理し:
- fetch は ref が実際に動いた時だけ reload(no-op fetch でグラフ全体の再スナップショットも抑制)
- reload は HEAD が変わった時だけ Analyze / File History をその場で再マイン / 再ロード(ビューを閉じない)
- キャッシュは HEAD-OID で無効化(HEAD 不変なら保持 → 再オープン即時)
Full Changelog: v0.7.0...v0.7.1
🤖 Generated with Claude Code
Kagi v0.7.0 — Analyze, async rendering, Phase 5.2
kagi v0.7.0 — 目玉は Analyze(コードホットスポット分析ビュー)。あわせて描画パスの非同期化による体感速度の改善、KagiApp の分解(Phase 5.2)などが入りました。すべて GPUI ネイティブ描画・安全第一(破壊的コマンドなし)の方針は据え置きです。
✨ 新機能: Analyze (ADR-0119)
リポジトリ履歴を読み取り専用で分析し、保守リスクが集中する場所を可視化する全画面ビュー(ツールバーの Settings の左に起動ボタン)。Git アクセスは kagi-git 経由のみ、スコアリングは依存ゼロの kagi-domain に隔離。
- Hotspots — リスク =
normalize(churn) × normalize(LOC)(バグ修正の時間減衰項はあえて不採用)。List(リスクバー付きランキング)と Map(ツリーマップ: 面積=LOC・色=リスク)。 - Coupling — 同じ commit で一緒に変わるファイルの組(論理的結合・Jaccard degree)。行クリックで 1:多 展開。サブビューは リスト / グラフ(力学配置・カーソル中心ズーム・パン)/ Mermaid。
- Ownership — 主著者・占有率・著者数(バス係数 =
1 authorが単独所有リスク)。 - Copy diagnostic — 表示中のモードを AI 向けに書き出し(MD / JSON、Coupling は + Mermaid)。
- Open in mermaid.live — Coupling 図をワンクリックでブラウザ描画(図全体は URL に載るだけ・アップロードなし)。
- 除外設定 —
settings.json隣のanalyze_ignoreファイル(.gitignore 形式・ワイルドカード対応)。Settings ペインから GUI 編集可能。 - app 所有の非同期マイニング(ビューを閉じても継続・リポジトリ単位でキャッシュ・Operation Log 記録・完了 Snackbar)、使い方ヘルプ、EN/JA i18n。
⚡ パフォーマンス
- commit の変更ファイル / diffstat を UI スレッド外で読み込み
- File History の diff を UI スレッド外で読み込み
- conflict 検出 / reflog seed / auto-fetch の I/O を描画パスから分離(T-PERF-RENDER-001)
- sidebar 行の再構築を入力変更時のみに限定・rem サイズ算出をゲート(T-PERF-RENDER-002)
🧹 リファクタ
KagiApp分解 Phase 5.2(render_*/ overlay / status / wip などへ分割、ADR-0116)- UI 非同期 diff + モーダル整理、File History のエンティティ化
- Analyze モジュールの分割(
render.rsをlists.rsへ分離、GraphViewport/mermaid_url抽出)— 全モジュール ≤557 LOC・全関数 ≤74 LOC
🐛 修正
- 手動リフレッシュ失敗時に誤った "Refreshed" を出さずエラー表示
- ズーム時のグラフ行レイアウト安定化 / rem サイズの毎フレーム再適用
[kagi]契約ログをklog!経由に統一 + CI gate(T-KLOG-001)- Codex レビュー対応: Analyze マイニングのレース修正(世代トークン)、coupling 1:多展開での大型コミット除外
Full Changelog: v0.6.0...v0.7.0
🤖 Generated with Claude Code
Kagi 0.6.0 — activity, swimlanes, and safer operations
Kagi 0.6.0 — activity, swimlanes, and safer repo operations
This release builds on the worktree-aware graph from 0.5.0 with a new Activity
view, Gitru-style swimlane rendering, faster diff/refresh paths, and another
round of safety hardening in the Git operation pipeline.
Activity
- Added an Activity tab with commit/merge charts and contributor rankings.
- Added Day / Week / Month / Year / All windows, axes, per-bucket tooltips, and
instant hover read-outs. - Tuned the chart to focus on commits, merges, authors, and time windows instead
of noisy line-stat totals.
Graph and UI
- Added stable lane colours, compact swimlane rendering, branch-lane tinting, and
optional author avatar nodes. - Polished swimlane layout so lane bands, avatar nodes, and label connectors stay
aligned inside the graph column. - Fixed the file-diff center pane so it no longer pushes the Inspector off-screen.
- Made worktree WIP markers clearer and included untracked files in WIP counts.
Safety and correctness
- Blocked merge when the working tree is dirty, matching cherry-pick/revert
safety behaviour. - Made conflict-resolution staging atomic across the files being resolved.
- Rechecked stash count during stash-pop preflight so concurrent stash changes
cannot pop the wrong entry. - Added a two-click confirmation path for permanent discard operations.
- Surfaced real operation errors instead of the placeholder
"session unavailable".
Performance
- External repo refresh now snapshots on a background thread instead of blocking
the UI. - File diff content is cached when switching between files/commits.
- Large diffs render text first, with tree-sitter highlighting completed
off-thread.
Architecture
- Extracted the Git backend into the new
kagi-gitworkspace crate. - Added
RepoSession/RepoWorkerinfrastructure for the next
OperationController migration step. - Moved Activity aggregation into pure
kagi-domaincode with unit coverage. - Split more UI subsystems out of
KagiApp, including toast, oplog, blocking-op,
render-helper, modal-renderer, and Activity modules.
Verification: cargo build, cargo fmt --all --check, cargo clippy --workspace,
cargo test --workspace, and the UI git2 grep gate were run for this release.
Full changelog: v0.5.0...v0.6.0