# C3 breaking changes log
# Format: vX.Y.Z|<English summary>|<Japanese summary>
# Note: extra '|' characters in the Japanese field are allowed (parser uses maxsplit=2).
# Note: English field must not contain '|' (validated by scripts/extract_breaking_changes.py).
# Lines starting with '#' are comments. Blank lines ignored.

v2.11.0|summarize-memory agent + skill removed; replaced by `c3 recall`|summarize-memory エージェント / skill を完全廃止。代替は `c3 recall` の意味検索。
v2.20.0|hooks/schema.sql removed; SQLite schema is now managed by c3/migrations/ (auto-applied at session_start)|hooks/schema.sql を削除しました。SQLite スキーマは c3/migrations/ (wheel 内) で管理され session_start で自動適用されます。
v2.41.0|Learning tables tier_bandit/tier_recent_outcomes are DROPPED and learning data resets; record_tier_outcome.py replaced by record_agent_outcome.py; c3 tier stats --json shape changed; old db.py tier APIs removed or shimmed (shims removed next release)|
v2.43.0|Dropped agent_tier_bandit table (migration 005; bandit params now derived from agent_outcomes event log at read time, learning data preserved). Removed update_agent_tier_params and five v2.41.0 deprecated shims (read_tier_params, read_tier_failure_rate, update_tier_params, record_tier_recent_outcome, sync_tier_bandit_cost). read_agent_failure_rate signature changed: last_n replaced by window_days (time-based window, default 14 days via C3_FAILURE_WINDOW_DAYS).|
v2.51.0|Hook and statusLine launchers in the distributed settings.json changed from bare 'python' to 'c3 run'. Run 'c3 update' to migrate. If you customized settings.json directly, review 'c3 update --dry-run' first and move customizations to settings.local.json before updating.|配布 settings.json の hook / statusLine 起動子が python から c3 run 前提に変更。c3 update で移行。settings.json を直接カスタムしている場合は c3 update --dry-run で差分確認しカスタムを settings.local.json へ移してから update。
v2.58.0|c3 init and c3 update now place .claude/.gitignore in the target project. It excludes only regenerable files (state/recall.*) and session-scoped files (state/*.flag, state/tier_selection.json, logs/, worktrees/, tmp/). Existing projects that already committed those must run 'git rm -r --cached .claude/state/recall.hnsw .claude/state/recall_meta.json .claude/logs .claude/worktrees' once and commit, because .gitignore has no effect on already-tracked files. If your root .gitignore excludes the whole .claude/state/ directory, git never descends into it and the negation patterns in .claude/.gitignore do not apply; change the root rule to .claude/state/* or remove it. See .claude/docs/config-policy.md section 1-2.|c3 init / c3 update が .claude/.gitignore を配置するようになりました。除外は再生成可能なもの（state/recall.*）とセッション一時のもの（state/*.flag・state/tier_selection.json・logs/・worktrees/・tmp/）のみです。既にこれらを commit している既存プロジェクトは、.gitignore が tracked ファイルに効かないため git rm -r --cached を一度実行してください。ルートの .gitignore で .claude/state/ をディレクトリごと除外している場合は否定パターンが効かないため、ワイルドカード形式へ変更するか削除してください。詳細は .claude/docs/config-policy.md §1-2 を参照。
