<!-- Release notes generated using configuration in .github/release.yml at release/2.x -->
## What's Changed
### Fixes 🐞
* fix(deps): cap fakeredis to <2.35.0 to prevent startup crash on 2.x by @vincent067 in https://github.com/PrefectHQ/fastmcp/pull/3883
**Full Changelog**:
Four reliability fixes from MariusAdrian88 (#238):
- invalidate_cache followed by index_folder (incremental) no longer returns "No changes detected" -- fixes Windows WAL file-locking race, legacy JSON resurrection, adds _force_full_reindex coordination flag
- meta_fields config
### Dashboard Reliability + Automatic Background Indexing
#### Added
- **Background indexing orchestrator** — automatically builds and refreshes dependency graph, BM25 index, call graph, and route map in the background once a project root is known.
- **Dashboard status endpoint
## What's Changed
* docs: expand guides and API reference, fix snippet validation by @pratik-mahalle in https://github.com/kreuzberg-dev/kreuzberg/pull/682
* fix: resolve Cow::as_ref() type inference ambiguity by @kh3rld in https://github.com/kreuzberg-dev/kreuzberg/pull/686
**
Long-running tools now emit MCP progress notifications so hosts like VS Code show a live inline indicator instead of a static spinner. Zero token cost -- notifications go to the host, never the model.
### Added
- **MCP progress notifications** (#232): index_folder, index_repo, i
When watch: true is set in config (or JCODEMUNCH_WATCH=1), the server automatically reindexes and starts watching any unwatched repo before a tool executes. Eliminates silent-stale-data that causes LLMs to abandon jcodemunch tools for the session.
### Added
- **Auto-watch on dem
### Added
- Support customizing the Faraday client in `MCP::Client::HTTP` (#306)
### Changed
- Auto-set `server.transport` in `Transport#initialize` (#305)
### Fixed
- Validate Content-Type on POST requests (#304)
### Fixed
- **embed_repo preflight performance** (#231): cache-discovery no longer loads and decodes every stored embedding blob just to get symbol IDs. New EmbeddingStore.get_all_ids() queries only the symbol_id column. Eliminates unnecessary CPU, memory, and latency on repos wi
### Version correction
Releases 2.0.0 and 2.1.0 were numbered incorrectly -- every change was purely additive with no breaking API changes. Those releases have been marked as deprecated pre-releases. This release (1.32.0) is the corrected successor. See the full renumbering tabl
### Added
- **`jcodemunch-mcp index` CLI command** ([#230](https://github.com/jgravelle/jcodemunch-mcp/issues/230)): Index a local folder or GitHub repo directly from the terminal. Defaults to the current directory when no target is given — no `init` required. Supports `--no-ai-s
## Phase 5: Interface & Trait Dispatch Resolution (Gap 2C)
**All five competitive gaps are now closed.** This release completes the 5-phase upgrade plan.
### What's new
Resolves interface/trait method calls to their concrete implementations via LSP `textDocument/implementation