# Changelog
All notable changes to whetstone will be documented in this file.
## [Unreleased]
## [3.1.2] - 2026-06-09
## [3.1.1] - 2026-06-08
## [3.1.0] - 2026-06-08
## [3.0.0] - 2026-06-08
### BREAKING — read this before upgrading from v2
v3 is a structural rewrite. **`whetstone setup` will refuse to silently install
over a v2 project** and hand off to `whetstone migrate` instead. Migrating is
one command, archive-backed, and reversible. See the
[Migration Guide](docs/migration.md).
- **AutoMem provider removed.** `MemoryProvider` is now `{ Icm, Skip }`. The
`mcpServers.memory` block is torn out of `~/.claude/settings.json` (backed up
in the migration archive) and the external FalkorDB + Qdrant service, if
one was running, is no longer in whetstone's blast radius — tear it down
yourself.
- **Whetstone no longer bundles skills, rules, or hook scripts.** The five
hand-rolled `assets/hooks/*.sh` scripts, the 20-skill / 8-rule
`assets/skills/` + `assets/rules/` trees, the `MEMSTACK.md` shim, and the
`whetstone`-managed entries in `~/.claude/settings.json` are all gone. ICM
owns its own assets; whetstone delegates to `icm init --mode standard`.
- **Hooks are tool-managed.** `~/.claude/settings.json` is no longer
hand-merged by whetstone. `rtk init --auto-patch` and `icm init` write
their own hook entries; `whetstone doctor` inspects ordering and reports
drift.
- **Migration is required.** Existing v2 installs (detected by
`.claude/memstack/`, the v2 hook scripts, the AutoMem MCP block, or the
v2-flavoured skills/rules layout) must run `whetstone migrate` before any
v3 command will configure them. `whetstone setup` auto-detects v2 and
routes to `migrate`. `--rollback <id>` restores the v2 state byte-for-byte
(except the external AutoMem service).
- **`config.local.json` removed.** Replaced by `.claude/whetstone.json`
(schema version, integration version, provider, tool versions, timestamps).
- **Hardcoded `--model` injection removed.** `whetstone claude` no longer
forces a specific model; Claude Code's own settings choose it.
### Added
- **`whetstone migrate`** — staged, reversible v2 → v3 migration with
`--dry-run`, `-y`, and `--rollback <id>`. Archives backups under
`.whetstone/migration-<id>/`. See `docs/migration.md`.
- **`whetstone doctor`** — inspects installed tool versions,
`~/.claude/settings.json` hooks, and the per-project manifest.
- **`whetstone dashboard`** — TUI for installed tool versions vs. pinned
floors.
- **`whetstone stats`** — token-savings summary from RTK + Headroom stats
endpoints.
- **`whetstone setup` auto-detects v2** and hands off to `migrate` in both
the wizard and headless paths.
- **`install.sh` re-execs `whetstone setup` against `/dev/tty`** so the TUI
wizard actually runs under `curl | bash`; offers to install `uv` instead
of aborting the preflight.
- **`whetstone` (default cmd) waits for the proxy before exec'ing claude**
so the first API call doesn't fire against a dead `ANTHROPIC_BASE_URL`.
### Changed
- **v3 phase 1 — thin orchestrator**: whetstone no longer hand-writes
`~/.claude/settings.json` hooks. Setup delegates to `rtk init --auto-patch`
and `icm init --mode standard`. New `whetstone doctor` subcommand inspects
hook ordering and reports drift.
- **`whetstone.json` manifest**: replaces `config.local.json`. Records
schema version, integration version, provider, tool versions, and
timestamps. Lives at `.claude/whetstone.json`.
- **MemoryProvider** collapsed to `{ Icm, Skip }` — AutoMem install path,
`preflight::check_npm`, and AutoMem detection removed.
### Removed
- All five `assets/hooks/*.sh` scripts and `src/hooks.rs` — the tools own
their own Claude Code hooks now.
- Hardcoded `--model` injection in `wrapper.rs`. Claude Code's own
settings choose the model. Model-upgrade prompt + dismissal-file
machinery removed.
### Fixed
- **RTK `MIN_VERSION`**: was `0.39.0`, which never shipped — every
`install()` re-installed. Raised to `0.42.0` (interface-contract pin).
- **`whetstone update --full`**: flag was previously ignored. Now forces
a refresh of `rtk` and `headroom` even when up-to-date.
- **Version drift**: the marketing site reads `WHETSTONE_VERSION` from
`site/src/version.js`, regenerated by `just release` from the repo-root
`VERSION` file. No more hardcoded `2.2.2` in `Releases.jsx` /
`InstallTerminal.jsx`.
## [2.3.2] - 2025-05-26
### Fixed
- Release workflow: give verify-release job explicit repo context so `gh release` commands work without a local git checkout.
## [2.3.1] - 2025-05-26
### Fixed
- Justfile release recipe corrections.
## [2.3.0] - 2025-05-25
### Added
- `whetstone version` command showing component versions with outdated indicators.
- TUI setup wizard.
- Suppressed noisy installer output during `whetstone update`.