v1.0.0 — API Stability Milestone
Released: 2026-04-14
The API stability milestone. All 21 MCP tool signatures, 11 CLI commands, and the plugin YAML schema are now frozen. Breaking changes require a major version bump. This page also covers the full v0.x development history leading up to this release.
v1.0.0
Section titled “v1.0.0”docs/api-reference.md— complete API reference for all 21 MCP tools and 11 CLI commands, including full parameter types, the plugin YAML schema, and stability guarantees- Stable API guarantee — MCP tool signatures, CLI flags, and plugin YAML schema are now stable. Breaking changes require a major version bump (v2.0.0).
Changed
Section titled “Changed”- Workspace version bumped from 0.5.5 to 1.0.0
resolve_repoinforge-clireturned a bare OS error when given a nonexistent path. Now names the offending path and suggests the correctiveforge index <path>command.
v0.5.x — Phase 5: Integration, Quality, and Distribution
Section titled “v0.5.x — Phase 5: Integration, Quality, and Distribution”v0.5.13 — 2026-04-14
Section titled “v0.5.13 — 2026-04-14”Added: CHANGELOG.md (this file) and LICENSE (Apache-2.0 with Ironpine Labs copyright).
v0.5.12 — 2026-04-14
Section titled “v0.5.12 — 2026-04-14”Added: forge-mcp/src/tools/util.rs — path normalization utilities shared across all tool
handlers. Repository path threading through MCP dispatch so all tools resolve paths relative to
the indexed repo.
Fixed: forge map workspace grouping broken when paths had a ./ prefix; forge serve required
an explicit path argument — made optional with current-directory fallback.
v0.5.11 — 2026-04-14
Section titled “v0.5.11 — 2026-04-14”Fixed: MCP tool dispatch not protected against panics. Added catch_unwind around each tool
call so a panic in any handler returns a structured JSON-RPC error instead of crashing the server.
v0.5.10 — 2026-04-14
Section titled “v0.5.10 — 2026-04-14”Added: Rust language support in structural pattern search (forge_pattern_search and
forge pattern CLI). tree-sitter-rust grammar registered with full node-type mapping:
function_item, struct_item, impl_item, trait_item, enum_item, type_alias, const_item,
static_item, use_declaration.
v0.5.9 — 2026-04-14
Section titled “v0.5.9 — 2026-04-14”Fixed:
forge healthandforge_health_checkreturned only a summary count — health runner now returns individual findings alongside the summary, printed grouped by severityforge healthexited with code 1 on warnings-only results — corrected: exit 0 for warnings/info, exit 1 only for errors or critical findings
v0.5.8 — 2026-04-14
Section titled “v0.5.8 — 2026-04-14”Fixed: Rust import resolution — 0 of 83 internal use declarations resolved before this fix.
Root causes: JS-centric is_external() called instead of the extractor’s import.is_external
field; resolve_rust never invoked; strip_rust_use_suffix helper missing; super:: base
directory computed from wrong ancestor; no symbol-level fallback; path format mismatch between
resolver output and database records.
Fix: language-aware import dispatch in the incremental indexer; complete rewrite of resolve_rust
with three new helpers; multi-format DB path lookup (exact, ./-prefixed, bare relative,
suffix match). Result: 83/83 internal imports resolve correctly.
v0.5.7 — 2026-04-14
Section titled “v0.5.7 — 2026-04-14”Fixed: MCP tool handlers used relative file paths that did not resolve when the server’s working directory differed from the indexed repository root. All tool handlers now normalize paths against the repo root before querying the database.
v0.5.6 — 2026-04-14
Section titled “v0.5.6 — 2026-04-14”Fixed: Full re-index (forge index --full) did not clear the Tantivy full-text search index,
causing duplicate chunks to accumulate across repeated full rebuilds. Tantivy directory is now wiped
at the start of a full rebuild.
Changed: forge-cli --version now reflects the workspace version correctly.
Internal: Phase 1 code quality sweep — 55 clippy warnings resolved (28 auto-fixed, 27 manually),
zero unwrap() calls in production source paths, 9 stale TODO/FIXME comments removed. Dead code
removed: forge-core/src/indexer/full.rs and forge-core/src/indexer/incremental.rs (Phase 1
stubs superseded by forge-indexer). 184 tests passing.
v0.5.5 — 2026-04-14
Section titled “v0.5.5 — 2026-04-14”Changed: Workspace version bumped to 0.5.5 to reflect integration of all five build phases. MCP server instructions updated: replaced em-dashes with ASCII for compatibility with all MCP clients.
Internal: Integration merge of Phase 2 (SCIP + coverage), Phase 3 (search), and Phase 4
(git + multi-language) onto forge/phase-5. 166 tests passing across 10 crates, 20,613 lines of Rust.
v0.5.4 — 2026-04-14
Section titled “v0.5.4 — 2026-04-14”Added: .mcp.json registration for Forge as an MCP server (replaces legacy pith-codebase
TypeScript server). CLAUDE.md updated: Forge pre-execution gate replaces verify-wiring.ts and
manual MCP queries.
v0.5.3 — 2026-04-14
Section titled “v0.5.3 — 2026-04-14”Added: examples/pith-plugins/ — four YAML plugin files demonstrating the plugin system
applied to a real monorepo: critical-files.yaml (34-file high-risk watchlist),
asset-counts.yaml (asset directory coverage checks), startup-wiring.yaml (entry-point
reachability checks).
v0.5.2 — 2026-04-14
Section titled “v0.5.2 — 2026-04-14”Added: build.sh (cross-compilation for Linux x86-64, Linux ARM64, macOS),
.cargo/config.toml (linker settings), Dockerfile (multi-stage: rust:slim builder +
debian:bookworm-slim runtime), docker-compose.yml (containerized forge serve).
v0.5.1 — 2026-04-14
Section titled “v0.5.1 — 2026-04-14”Fixed: File watcher and git blame error handling — replaced panicking paths with structured errors and graceful degradation.
v0.5.0 — 2026-04-14
Section titled “v0.5.0 — 2026-04-14”Added: Plugin system (forge-health/src/plugins.rs, 972 lines) — extend health checks with
project-specific rules defined in .forge/plugins/*.yaml.
Plugin YAML schema: id, name, description, severity (info/warning/error/critical),
pattern (ast-grep), language, include/exclude glob lists.
Plugins discovered automatically on every forge health run and forge_health_check MCP call.
18 new tests. Full README (525 lines) with CLI reference, MCP tool catalog, plugin guide,
architecture overview, supported language matrix, and quick-start instructions.
v0.4.x — Phase 4: Git History + Multi-Language
Section titled “v0.4.x — Phase 4: Git History + Multi-Language”v0.4.4 — 2026-04-14
Section titled “v0.4.4 — 2026-04-14”Added: forge serve --watch — background file-system watcher triggers incremental re-index on
file save. forge index --with-git and forge ingest-git CLI commands wired to forge-git.
v0.4.3 — 2026-04-14
Section titled “v0.4.3 — 2026-04-14”Added: Go language extractor (forge-ast/src/extractors/go.rs, 532 lines) — functions, types,
structs, interfaces, methods; import blocks; exported identifiers (capitalized names).
v0.4.2 — 2026-04-14
Section titled “v0.4.2 — 2026-04-14”Added: Rust language extractor (560 lines) — functions, structs, enums, traits, impls,
type aliases, constants; use declarations; pub items. Python extractor (518 lines) —
functions, classes, decorators; import and from ... import statements.
v0.4.1 — 2026-04-14
Section titled “v0.4.1 — 2026-04-14”Added: forge_git_history and forge_git_blame MCP tools. forge git-blame <file> CLI command.
Git hotspot analysis in forge_prepare — surfaces recently modified files and high-churn paths.
v0.4.0 — 2026-04-14
Section titled “v0.4.0 — 2026-04-14”Added: forge-git crate (1,059 lines) — pure-Rust git history and blame ingestion via gix.
GitIngester walks commit history and stores commits and per-file change records in SQLite.
BlameReader handles per-file line-range blame queries.
v0.3.x — Phase 3: Search
Section titled “v0.3.x — Phase 3: Search”v0.3.0 — 2026-04-14
Section titled “v0.3.0 — 2026-04-14”Added: forge-search crate (2,398 lines):
- Tantivy-powered full-text index with camelCase/snake_case tokenization — searching “payment”
finds
processPayment,payment_handler,PaymentService forge_searchMCP tool (keyword search with language and chunk-type filters)forge_search_symbolsMCP tool (symbol name search)forge_pattern_searchMCP tool (structural pattern search with$VARand$$$SPREADwildcards)forge searchandforge patternCLI commandsforge index --with-searchflag
v0.2.x — Phase 2: Coverage Ingestion
Section titled “v0.2.x — Phase 2: Coverage Ingestion”v0.2.3 — 2026-04-14
Section titled “v0.2.3 — 2026-04-14”Added: Coverage data integrated into forge_prepare and forge_understand — test state of
every symbol shown in the pre-modification report. forge_coverage extended to support per-symbol
queries by symbol name.
v0.2.2 — 2026-04-14
Section titled “v0.2.2 — 2026-04-14”Added: forge ingest-coverage CLI — auto-detects LCOV, Istanbul JSON, or Cobertura XML by
file extension. Coverage-to-symbol cross-reference joins coverage line ranges to symbol definitions
in SQLite.
v0.2.1 — 2026-04-14
Section titled “v0.2.1 — 2026-04-14”Added: Coverage ingestion for three formats: LCOV (.lcov, .info), Istanbul JSON (.json),
Cobertura XML (.xml). forge_coverage MCP tool — repo-wide summary sorted by lowest coverage,
or per-file detail.
v0.2.0 — 2026-04-14
Section titled “v0.2.0 — 2026-04-14”Added: forge-ingest crate (1,884 lines) — SCIP index ingestion via prost protobuf parser.
Upgrades heuristic import edges to compiler-resolved edges. forge_ingest_scip MCP tool.
v0.1.x — Phase 1: Core + Indexing + Graph
Section titled “v0.1.x — Phase 1: Core + Indexing + Graph”v0.1.6 — 2026-04-14
Section titled “v0.1.6 — 2026-04-14”Added: forge_prepare, forge_validate, and forge_understand workflow MCP tools. MCP server
instructions injected at initialize handshake — agents receive behavioral rules automatically.
v0.1.5 — 2026-04-14
Section titled “v0.1.5 — 2026-04-14”Added: forge_health_check and forge_architecture_map MCP tools. forge health and forge map
CLI commands. Secret scanning health check.
v0.1.4 — 2026-04-14
Section titled “v0.1.4 — 2026-04-14”Added: forge_trace_imports, forge_trace_dependents, forge_check_wiring, forge_find_cycles,
forge_dependency_graph MCP tools.
v0.1.3 — 2026-04-14
Section titled “v0.1.3 — 2026-04-14”Added: forge_parse_file, forge_extract_symbol, forge_index_status, forge_reindex MCP
tools. forge status CLI command.
v0.1.2 — 2026-04-14
Section titled “v0.1.2 — 2026-04-14”Added: forge-graph crate — dependency graph queries (import tracing, cycle detection,
dead-code identification, entry-point reachability). forge-health crate — health check runner with
built-in checks for broken imports, dead exports, circular dependencies.
v0.1.1 — 2026-04-14
Section titled “v0.1.1 — 2026-04-14”Added: forge-indexer crate — full and incremental indexing using forge-ast and forge-core.
forge serve MCP stdio server (JSON-RPC 2.0 over stdin/stdout) with 21 tool stubs.
forge index <path> CLI command.
v0.1.0 — 2026-04-14
Section titled “v0.1.0 — 2026-04-14”Initial release. Cargo workspace with 7 crates: forge-core, forge-ast, forge-indexer,
forge-graph, forge-health, forge-mcp, forge-cli.
forge-core: SQLite storage layer (rusqlite), repository configuration, file discovery. Schema:files,symbols,imports,health_findings,chunkstables. Config layering: built-in defaults →~/.forge/config.toml(global) →<repo>/.forge/config.toml(per-repo), last-wins.forge-ast: tree-sitter AST parsing for TypeScript and JavaScript. TypeScript extractor: functions, classes, interfaces, types, enums, variables; ES module imports/exports. JavaScript extractor: functions, classes, variables; ES module and CommonJSrequireimports. Import resolver withtsconfig.jsonpath mapping support.forge-cli:clap-based CLI skeleton withindexandservesubcommand stubs.