Per-release notes live alongside the published release tags — see the release page for any tagged version to find what shipped in that version. This file is intentionally minimal and only buffers in-flight work between releases.
The planned axes were doc rendering + visual navigation + CLI autonomy. In practice, dogfood pulled the release toward multi-workspace graphs, interactive visualization, a native C provider, and a deep edge-resolution overhaul — while the RAG layer and the session DB were cut entirely. (Doc rendering slips forward.)
- Cross-workspace / multi-root graph: symbols tagged by
workspace_id(UNIQUE relaxed to(workspace_id, fqdn)); link / unlink / refresh peer workspaces with live add/remove + scoped watcher dispatch; AOTModuleLookuppersistence + cross-workspace import resolver;projectsandworkspace_catalogtables with cold-start project discovery and manifest-driven re-discovery. New MCP tools:link_workspace,unlink_workspace,resolve_cross_workspace,list_linked_workspaces,set_link_direction,refresh_peer,module_lookup,list_projects,project_for_file. standardoc.sxdworkspace config (v0.1): explicitproject/group/ignore/mcp/vizblocks replace mechanical detection and absorb.stdignore; loader withScanFiltersback-compat. LSP-side schema-aware live diagnostics + hovers; VSCode TextMate grammar + language-configuration;list_groupsMCP endpoint;sxd-previewCLI.- Interactive graph visualization (
standardoc-graph-viz): WASM crate + web-component shell (overview / focus-graph / explorer / symbol-details / search panels); real 3D overview (orbit camera, system topology, project clusters); bucketed focus layout; hide-tests / kind / visibility filters. Hosted in a VSCode webview ("Open Graph Viz") and a standalone playground, driven entirely through MCP. - Native C provider + FFI:
.c/.hindexing with cross-file.h↔.cjoin, struct/union fields, CALLS edges;extern "C"/bun:ffi/Deno.dlopen/ NAPI FFI taggers; CMake layout detection; Lua C-API export tagging. - Multi-workspace proxy:
standardoc-mcp-proxyconsolidated intostandardoc proxy— singleton with deterministic/ws/<id>/mcprouting, runtime register / list / unregister admin endpoints, supervisor auto-spawn, and a long-lived forwarder that survives daemon restarts. - Edge-resolution overhaul: AOT
ModuleLookuppre-pass +BuiltinRegistry(Drop / Attribute / Edge tiers) across Rust / TS / C / Lua; trait dispatch (#[derive]IMPLEMENTS + Into / Iterator / ToString builtin fallback); global return-type registry;receiver_typeon CALLS edges; local type env, struct-field tables, closure-arg + parametric inference, pattern- binding resolution; References viaExpr::Path.RawCallSitepersisted to acall_sitestable +find_call_sitesMCP tool. - IR evolution:
Kind::Function→Kind::Callable(rename),DeclKind+decl_kind,implements_trait/receiver_type/flags: Vec<String>onRawSymbol,EntryPointKindclassification;BridgeKind1.0 vocabulary locked with validate-on-insert;Substratewidened to 6 variants; deadDefines/ExposesApiedge variants removed. Newstandardoc-sourcemapcrate carrying the v1 preproc↔extractor protocol. - MCP surface:
get_code,get_context_summary,find_symbol_fqdns,list_symbol_fqdns,fetch_graph; cursor pagination onlist_symbols;workspace_idparam +relative_toprojection; noise reduction (silent default depth, blank-line collapse,exclude_tests);languagesurfaced inSymbolContext. HTTP transport hardened (stateless +json_response, persisted session store for transparent reconnect, port reuse across restarts). - CLI autonomy:
standardoc init(agent skill + MCP-first hooks +AGENTS.md+.mcp.json),standardoc mcp --connect(stdio↔http bridge),standardoc self-update. - Removed: the RAG layer (
standardoc-rag), the session DB, and the usage-stats / token-savings surface — all shipped in beta.2, all cut here. Standardoc bets on resolved structure over vector similarity, and stays a code graph rather than an agent-memory store. - Security / deps:
rmcp0.16 → 1.7 (fixes GHSA-89vp-x53w-74fx — DNS rebinding in the streamable-HTTP server transport);bincode2.0,swc_core68,reqwest0.13,r2d2_sqlite0.34,standarbuild-detect0.3. - Docs:
.important/{en,fr}corpus rethought — value-first README, trimmed comparison / quickstart, storytelling de-narrated; roadmap reconciled to the beta.3 surface. - Internals / CI: ~17k LOC of inline tests extracted to sibling files;
clippy 85 → 0 workspace warnings;
handler.rssplit (−41%); toolchain pinned to 1.95; multiple SQLite schema migrations + a v0 baseline reboot.
Second beta on top of the beta.1 foundation. Focus: prose/symbol retrieval, agent-facing ergonomics, daemon resilience, and decoupling the native binary from the VSIX.
- RAG layer (
standardoc-ragcrate): chunker, candle BGE-small embedder (~130 MB, local-first), SQLite store, prose↔symbol linker, hybrid scoring. Exposed via MCPfetch_chunksandchunk_refsinget_contextresponses; CLI--rag --embedder mock|candleflags; chunks re-linked on graph-symbol changes so anchors stay stable across revisions. - Binary ↔ extension decoupling: VSIX no longer bundles
standardoc[.exe]. Ext transitions intoawaiting_binaryon first activation, fetches the pinnedversion.jsonmanifest, SHA256-verifies and installs the archive under<globalStorageUri>/bin/<rust-target-triple>/.binary-resolver.tsordering issettings → globalStorage → PATH.standardoc.binaryPathsetting kept as override for dev / pre-release pinning. - Session sync pipeline:
session_save/session_list/session_getMCP tools +session_sync_in/session_sync_outfor filesystem round-trips with frontmatter fidelity. NewSessionKind::Lockvariant (ADR-equivalent) alongsideSession,Feedback,Profile. - Usage stats: SQLite schema v7
usage_statstable;usage_statsMCP tool;Standardoc.showTokenSavings/Standardoc.resetTokenSavingscommands and status-bar menu entries. Baseline-reset tooling for clean measurement windows. - MCP-first guardrail: PreToolUse hook denies
Bash|Read|Grep|Globuntil a standardoc MCP tool has been called in the session; SessionStart hook wipes the sentinel each chat. - HTTP/SSE MCP transport: streamable-http multi-client transport;
standardoc mcp --http <port>(--http 0= ephemeral); endpoint URL written to.standardoc/mcp.endpoint; silent port fallback onEADDRINUSE; parent death-watch via stdin EOF. .stdignorelanguage contribution: VSCode syntax + hover preview.- MCP boundary polish:
get_contextrouting_hintnudging the 3-phase protocol;get_bodystrip_attrs/signature_onlyknobs;find_symbolFTS5 query sanitization +did_you_meanenrichment; OOP-style FQDN separator normalization;current_revisionexposes daemon capabilities (rag.enabled,rag.embedder,watcher.active,indexing.ready). - Lua native provider (
full_moonwith luau/luajit/cfxlua + emmylua documentation extraction). - Vue + Svelte SFCs: TS-side single-file component support.
- Daemon resilience: serialised restart chain + debounced RAG settings
watcher; readonly daemon no longer races LSP on RAG writes; structured
STDOC_FATALmarkers; FatalConfig state distinct from Failed; SQLite busy retry onIndexHandle::openandSessionsHandle::open; r2d2 pool lazy-init + retry on transient timeouts; Windows EBUSY/EPERM retry onrag.dbunlink; pid placeholder leak removed fromreadystate. - VSCode ext UX: re-prompt init when
.standardoc/deleted after opt-in;.mcp.jsonrewritten to daemon's actual URL onready(port fallback case); RAG commands palette + settings + status-bar entries- endpoint race fix; SKILL.md template refreshed for post-beta.1 surface; cross-OS via binary in PATH (no shell-script adaptation).
- IR / lang-provider polish: compact display rendering for type and
attribute strings; common-prefix dedent + tab indent in
get_body; rustpub usephantoms;implskip for non-nominal targets; module_path crate-relative; TS visit + SFC support. - Repo reorg: long-form docs moved into
.important/{en,fr}/(mirrored bilingual hub; storytelling/ sub-dir for philosophy / visions / retours / notes); root README V4; root SECURITY switcher. - CI / chore: workflow permissions hardened (5 code-scanning autofix
MRs); macOS cache fix (
cache-bin: false+v1-rustprefix-key); toolchain action swap (dtolnay/rust-toolchain); fmt/clippy/doc workspace gates green on rustfmt 1.8.0 / toolchain 1.91;bundle-binary.tsscript removed;dist/bin/**blacklisted from VSIX.
First beta, major rewrite from the v0 prototype:
- AST-direct Rust + TS providers (
syn,swc) - SQLite + FTS5 graph storage (zero-duplication external content)
- 2 MCP tools day-1 (
find_symbol,get_context) - Single binary
standardocwith sub-commands (LSP, MCP, index, rescan, watch, query, purge-excluded) - LSP daemon = primary writer, MCP daemons = read-only
- VSCode extension with daemon supervisor + init opt-in flow
- AI agent skill generation for Claude Code
- MDX/React rendering layer (npm package, replaces the v0 DSL templating) — held back post-beta.2
- Virtual annotations enrichments, cross-language bridge plug-ins — held back post-beta.1