Releases
v1.13.0
Compare
Sorry, something went wrong.
No results found
1.13.0 (2026-09-07)
Features
add manual indexing mode (1e6fb5d )
embeddings: make task prefixes configurable per model (cd4c8b0 )
embeddings: make the embedded file path optional (87b677d )
gdscript: symbol graph — AST symbols, call graph, incremental updates (a9f1fbe ), closes #130
graph: decide Rust cases by one rule, and read include! because it passes (76720b6 )
index: add Elixir AST support (#113 ) (bd19922 )
indexing: make the per-chunk character cap configurable (a7c8ed6 )
lmstudio: accept OpenAI-compatible servers without /v1/models (e1d8034 )
native GDScript (Godot) support — loader, TSCN/TRES, import extraction (b6a6fcb )
Bug Fixes
apply CodeRabbit auto-fixes (339ed45 )
complete manual-mode status reporting (0262477 )
config: reject partial file-size values (b2b4df7 )
context: exclude binary and ignored files from directory artifacts (e703244 ), closes #116
embeddings: bound the Ollama connection pool (#119 ) (5be07fd ), closes #114
gdscript: complete portable graph support (eea0736 )
gdscript: preserve call graph semantics (40c47a2 )
gdscript: preserve escaped raw-string quotes (bb018ed )
gdscript: preserve script ownership during resolution (3fc216d )
graph: address CodeRabbit review feedback on leases, lock cleanup, and ast grammars (fb5eb0e )
graph: answer a 2015 leading :: from the crate root, never from the file's scope (a8dd239 )
graph: apply review — semver prerelease precedence, group modifiers, unknown builder (1d4de16 ), closes #120
graph: bind generation leases to operations (c57aa30 )
graph: carry the file a declaration gives a module, not just its name (c681c33 )
graph: close impact analysis compatibility gaps (838579f )
graph: count a path attribute inside an inline mod from the module dir (10ffb80 )
graph: exact symbol impact traversal and declaration extraction for non-function exports (#132 ) (16cc29d )
graph: fence by the name rustc knows the crate by, and let the 2015 root branch reach its crates (8586b88 )
graph: forgive an earlier pass its ERRORs, not its regions (a13d90c )
graph: generational symbol storage, canonical reverse shards, and safe rebuild guards (a2c2346 )
graph: handle aliased/namespace imports, same-file ambiguity, and incomplete graph signal (22d6e64 )
graph: inherit the edition a workspace declares, and gate the root prefix (9d7b8ee )
graph: keep an unwrapped macro pass only while recovery stays inside it (8f0472e )
graph: keep the declaration gate off edition 2015, where the path is absolute (7e4ad18 )
graph: keep the three markers a use declaration writes (8e71990 )
graph: rank the governing manifest by depth, where the root is no depth at all (8bbf02a )
graph: reach only the crates the importing package declares (a7af716 )
graph: reach the crate root through super::, gate the unanchored path on a declaration (0d0423e )
graph: read a leading :: by the edition that wrote it (2ebc04e )
graph: read PHP includes from their AST nodes, and three smaller fixes (027e7b1 ), closes #120
graph: read Rust paths from where the source writes them (230825f )
graph: read what a macro body, a cfg_attr and a manifest actually declare (43137bc )
graph: resolve PHP requires and mapless-autoloader use imports, stamp the builder (ac7fec0 ), closes #120
graph: resolve PR blockers for traversal, lifecycle, export lookup, and lexical shadowing (4aea1f7 )
graph: resolve Python imports through pyproject-declared import roots (#112 ) (f836e99 ), closes #107
graph: resolve Rust imports through Cargo-declared crate roots (6d9cf35 )
graph: schema-v1 compatibility, single watcher rebuild, and generation lifecycle cleanup (96729d9 )
graph: stop reading [workspace] exclude as unimportable, follow two inline forms (e717d94 )
graph: take the name a module declaration puts in scope from the declaration (fa68f4c )
graph: write the NUL separator as an escape, not a literal byte (da9dd83 )
ignore: anchor the pattern a detected environment writes (9cdc404 )
ignore: compare an environment root in forward slashes, whatever the caller wrote (136a5ea ), closes #136
ignore: keep a discovered environment as the literal prefix it is (4492299 )
ignore: read an environment marker as what it is, not as what it links to (0b823f8 ), closes #136
ignore: read each environment marker in the shape its tool writes (043599f )
ignore: recognise environments by their marker, not their name (39aad31 )
impact: direct reverse symbol traversal, disambiguation parameters, and schema guard (a729b94 )
incremental: use exact calleeId for reverse shards, add atomic pre-check, and fix test types (c54fe6e )
indexing: complete effective profile compatibility (77ee3c3 )
indexing: keep legacy profile reads non-mutating (082758c )
indexing: preserve effective index profiles (af9ebd9 )
qdrant: make collection setup concurrency-safe (be82ba0 )
qdrant: stop concurrent callers from racing to create the metadata collection (646c15c )
resolution: preserve dotted path components and require unique suffix matches (6e17e2f )
resolution: resolve cross-file calls using module identity, default exports, and transitive barrel chains (5a3390c )
review: address PR feedback on resolution, schema upgrade, and AST extraction (7a4d911 )
store: persist exact reverse symbol index with same-file edges and fail-closed storage errors (69de45a )
store: propagate typed StorageReadError from loadFilePayload and deleteFilePayload (93c2bdf )
symbols: a name a file's top level imports is reachable from its module (083b410 )
symbols: answer a file-scoped path with the file's top level only (6c911ab )
symbols: answer with the file when a path never leaves the inline mods (4a5dffa )
symbols: climb one module per leading super (d45caf8 ), closes #147
symbols: complete Rust qualified-call resolution (7bdf1c8 )
symbols: count the inline mod a super:: path is written in (616b3d6 )
symbols: extract top-level variable declarations, unpack destructuring, and track edge kinds (502299b )
symbols: give a binary its own crate:: (0e112fe )
symbols: include importedName and localAlias in seenCalls deduplication key (e211221 )
symbols: leave a path rooted in an inline mod unresolved (3520786 )
symbols: order Rust symbols by source offset, not by name (978e841 )
symbols: read a crate-rooted binding from the crate root too (0e06095 )
symbols: read a super-rooted path in the parent's scope (f0d6d70 ), closes #147
symbols: read a Cargo target's root by its shape, not by a prefix (3b3c72f ), closes #147
symbols: read a type qualifier in the type namespace only (c67e1d1 )
symbols: read Rust qualified calls, and resolve them by their qualifier (f8a6cda ), closes #143 #140
symbols: read the Rust items that are not functions (99d838e ), closes #132 #135 #135
symbols: refuse an inline-mod symbol by the path, not by the spelling (9e5a73f ), closes only_inside#4
symbols: start a crate:: path at the crate root, and fix a root-level file's parent (ca64100 )
symbols: support namespace reexports, filter declared identifiers, and pre-flight removals (a283099 )
symbols: take the Swift declaration kind from its keyword (1db3b27 )
symbols: three answers rustc refuses, found by review (44e7547 )
symbols: walk a Rust module path one segment at a time (fd71b8e )
watcher: ask every created path whether it is a directory, before reading its name (626c388 )
watcher: block queued updates during shutdown (6b612b7 )
watcher: classify environment marker roots (827da28 )
watcher: let an environment marker through, and rebuild the filter after each update (d43816f )
watcher: reconcile once more when an environment reverses under a running update (8d6f8e2 )
watcher: see an environment moved, drop the marker churn, keep the negation (0429ccf )
watcher: serialize deferred reconciliation (37e46a8 )
Refactors
graph: ask only for the declared name, since only a declaration has one (f5fad14 )
Documentation
changelog: correct scraped issue references in the 1.12.0 entry (c8d1e15 )
clarify compatible editor guidance (1569802 )
clarify native agent prerequisites (7c84392 )
clarify updates and host configuration (f4cfdbb )
developer: document the resolveImport parameter tail and the build map helpers (c1d0181 ), closes #111
readme: quote the task-prefix defaults so the trailing space is visible (c2fd929 )
refresh host integration instructions (0d0b74f )
scope editor verification steps (ae1560e )
symbols: correct why a path rooted in an inline mod is dropped (b89100f )
symbols: say where the module-stem rule is still read by name (ae6940b )
types: refine SymbolEdge.localAlias documentation for imports and re-exports (403fab2 )
Tests
context: cover ensure-time artifact regressions (aa73217 )
e2e: wait for explicit index completion (7704cce )
gdscript: exercise parser fallback dispatch (039089b )
gdscript: require unique project resolution (7951e77 )
graph: a path attribute naming a file that starts with self (d1739bc )
graph: assert the unanchored path where it is read, and keep the fixtures off the platform separator (7fb1d18 )
graph: cover a leading :: on a head with nothing below it (c4dd12f )
graph: cover the guards a mutation run found unchecked (ccf8d6c )
graph: cover the targets a manifest declares by name alone (4b7a611 )
graph: drive the 2015 declaration-versus-use difference through the graph (382e9e6 )
graph: hold the three scope rules nothing was holding (ee81aed )
graph: let cargo judge the Rust graph, inside the suite (6291048 )
graph: pass the crate map past the two parameters main added (56141d1 )
graph: prove [replace] redirects a registry name to a project crate (5cafe70 )
graph: prove a [patch] keyed by a git remote leaves the registry name alone (1a44bda )
graph: prove a dash-named dependency inherits under the name the source writes (05d3b2c )
graph: prove a member's own entry inherits nothing from the workspace (9ddf8e9 )
graph: prove the workspace decides where an inherited dependency comes from (8d572a8 )
ignore: prove the venv half of the anchoring, which nothing held (1a217ea )
qdrant: make symbol graph retry coverage deterministic (6277fc4 )
symbols: add end-to-end contract tests on disk for symbol graph pipeline (2d1c928 )
symbols: name the walk that decides which Type a path means (7484713 )
symbols: reach the crate boundary the walk can cross (628c445 )
watcher: pin the environment reversal that arrives on its own (1fd3219 )
watcher: switch fake timers inside the call that needs them, not in the hooks (bc0360e )
You can’t perform that action at this time.