Skip to content

Releases

v1.16.2

Choose a tag to compare

@giancarloerra giancarloerra released this 05 Nov 23:16

1.16.2 (2026-11-05)

  • disable checkout credentials in new validation jobs (fcc4d4d)
  • update packages and fix Ollama proxy authentication (3772c41)

Bug Fixes

  • graph: bind C# aliases where declared, and type-named values by type identity (d9b8700)
  • graph: consult each C# import at its own namespace level (e38dca3)
  • graph: keep the written C# path and look names up as C# does (4041e70), references #209 #208
  • graph: look each C# base up once (74189a3)
  • graph: name C# declarations by their name field and capture type, creation and qualified-call edges (d0aac8d)
  • graph: narrow C# framework paths, skip tuple labels, keep global usings to their file (87e2d66)
  • graph: read a C# receiver that names a value as an instance call (5c907d3)
  • graph: record a C# record struct as a struct (4dbfc01)
  • graph: resolve C# names only through the scopes and imports C# uses (692963c)
  • normalize TypeScript configuration paths on Windows (ceb9c7d)
  • preserve installed package bindings in workspace graphs (8be6abb)
  • preserve installed workspace links and missing-base aliases (6653435)
  • preserve managed diagnostics and verify native platforms (650b5df)
  • preserve Ollama authentication and simplify MCP test teardown (a5bc960)
  • preserve Ollama policy errors and late-exit cleanup (106bb39)
  • preserve Ollama transport policy and diagnostics (43d6afd)
  • release model download timers and verify managed startup (32cdff4)
  • resolve monorepo imports using importer TypeScript configuration (f22a134)
  • search: name the filter when a filtered codebase_search finds nothing (5f42476), closes #207
  • use consistent native path canonicalization for graph inputs (22cfea1)

Documentation

  • clarify Node requirements by workflow (1e8504b)

Tests

  • await logging server closure before cleanup (8dd7b8c)
  • bound Windows descendant cleanup (a64101f)
  • expose Windows process lookup errors (0105edb)
  • graph: pin a C# call through a lowercase namespace (59943a5)
  • keep Windows descendant fixture alive (3d9c5b2)
  • make compatibility fixtures portable (b8b9d62)
  • measure Windows process lookup startup (725000e)
  • remove lookup timing diagnostics (427941c)
  • scope deadline mocks and configure managed endpoint (42968e9)

v1.16.1

Choose a tag to compare

@giancarloerra giancarloerra released this 15 Oct 22:21

1.16.1 (2026-10-15)

Features

  • graph: add limit to codebase_symbol, codebase_impact and codebase_flow (0f48a19), closes #203
  • opt-in cleanup of retired local indexes (100bc72)

Bug Fixes

  • graph: name attributed PHP declarations by their name field (3b74ab6)
  • graph: preserve classic JVM precedence with KMP source sets (7ec0297)
  • graph: resolve JVM imports in Kotlin Multiplatform / Gradle source sets (a9d5eb1)
  • graph: select KMP imports by caller source set (413e47d)
  • preserve proven local index ownership (6d6725a)
  • qdrant: complete dispatcher probe and cover initialization (85b96a1)
  • qdrant: probe the undici pair instead of matching a Node version (70a8b2f)
  • symbol-graph: retry Qdrant requests once on a closed connection (0418bd9)

Tests

  • graph: cover first incremental update after upgrade (3ca6659)
  • isolate automatic cleanup interval timers (be9a14e)

v1.16.0

Choose a tag to compare

@giancarloerra giancarloerra released this 28 Sep 12:19

1.16.0 (2026-09-28)

Features

  • index: add opt-in Git-triggered refresh (647b690)

Bug Fixes

  • index: preserve Git refresh startup state (aeaba30)
  • index: wait for Git refresh deletions to complete (fe2dacf)

Documentation

  • add quick setup and scenario guides (88018f7)
  • clarify editor setup steps (abf49d1)
  • clarify VS Code indexing prompt (67a0e73)
  • correct quick guide links and linked index requirements (393ba4d)
  • note BYOK option for VS Code chat (65957f9)
  • qualify VS Code BYOK availability (c4e8573)
  • remove Roo Code setup guidance (a839224)
  • use Gemini direct MCP and note Zed trust (f290d90)

Tests

  • index: cover Git restart recovery and document helpers (ec445ad)

v1.15.0

Choose a tag to compare

@giancarloerra giancarloerra released this 24 Sep 10:58

1.15.0 (2026-09-24)

Features

  • allow the Claude Code plugin engine specification to be pinned (0c33776), closes #149
  • graph: read PHP typed property declarations as type references (9afedae)

Bug Fixes

  • graph: apply a PHP use alias only below the use that declares it (7433a53)
  • graph: capture PHP extends, implements, trait use, new and type-hint edges (68b2eca)
  • graph: correct five PHP alias and type-reference gaps (5d1f225)
  • graph: drop a type reference the parse split off an identifier (b8cf848)
  • graph: find a qualified PHP class by its exact name outside the caller's dependencies (258fe80)
  • graph: fold PHP alias case over ASCII only, as the language does (93d614b)
  • graph: follow verified PHP inheritance for static calls (7749032)
  • graph: leave a PHP static call on a variable method unqualified (0b97f46)
  • graph: read a PHP variadic parameter's type as a type reference (4aadb27)
  • graph: read PHP names by the language's identifier rule, non-ASCII included (78154d2)
  • graph: resolve PHP static calls and class references by the class they name (2522c49), closes #183
  • graph: scope PHP use aliases to their namespace, not the file (6dcbd68)
  • keep Qdrant's error reason and deliver MCP log notifications (9f65b50), closes #178
  • qdrant: wait for this process's collection create before reading it (5b8eb16), closes #176

Performance

  • graph: read both anonymous function forms in one traversal (ad7a045)
  • graph: read PHP namespace declarations from the top level only (2f41a20)
  • graph: stop the PHP extractor re-walking the tree for what it holds (254ff18)

Refactors

  • graph: drop the PHP namespace scopes' shortest-first sort (3eb0707)
  • graph: name the anonymous return-type bucket for what it is (9dd1744)

Documentation

  • graph: consolidate the anonymous return-type comment (a008a5d)
  • graph: fold the built-in list's exclusion note into its doc comment (22697ba)
  • graph: list every reference the structural pass now reads (74fac31)
  • graph: name the node the alias resolver actually walks (aa5d102)
  • graph: record the PHP type-name guard's ASCII restriction (13cfe2c)
  • graph: spell the KELVIN SIGN as an escape, not as a character (d9ff91c)

Tests

  • graph: cover PHP structural edges at the extractor and at a real build (3b42f3f)
  • graph: give the parent type-hint fixture a parent class (9135992)
  • graph: give the shared-line braced-namespace test valid PHP (1a5be0f)
  • graph: resolve non-ASCII PHP names through a real graph build (e197a7e)
  • graph: resolve PHP qualified edges through a real graph build (bf09caf)

v1.14.0

Choose a tag to compare

@giancarloerra giancarloerra released this 16 Sep 14:26

1.14.0 (2026-09-16)

Features

  • graph: support configured Python import roots (fe2def5)
  • index: reclaim stored identities explicitly (a74cf6c)

Bug Fixes

  • config: keep the resolver documented, and only advise what is true (ef9edbc)
  • config: treat an unusable branch name as no branch, and unsign the fixture (6401b8c)
  • config: warn when branch-aware mode is ignored by an explicit project id (68f4ded)
  • graph: name the engine exclusion in the unresolved share, pin the test identity (65638d3)
  • graph: say what the unresolved call share counts (8330069), closes #172
  • graph: state the denominator as captured symbol edges (974d572)
  • index, watch: stand down when the re-entered lock is the barrier's (4866280)
  • index, watch: take the writer lock non-reentrantly, never by inference (fdf60d7)
  • indexing: address the review on the character-cap split (29e5323)
  • indexing: preserve minified chunk boundaries (cacc518)
  • indexing: split chunks at the character cap instead of truncating (d57ae21)
  • prune: correct the reclamation pass after review (0eb2b6f)
  • prune: cover the manual-inspection hold in the confirmation token (9677af3)
  • prune: hold back candidates of unsettled names and stop on a lost barrier (d8bfc17)
  • prune: settle ambiguous names, close the barrier race, cache by identity (71e0a86)

Performance

  • graph: rebuild only when a graph input changed (cb480de), closes #120

Documentation

  • explain Codex Desktop npx PATH failure (88feca7)
  • extension: carry the explicit-id exception into the extension README (b629db1)
  • indexing: describe legacy chunk coverage (202bb86)

Tests

  • graph: remove the fixture graph the unresolved-share case persists (0e68469)
  • indexing: exercise chunk line mapping (4a0d508)
  • indexing: retrieve intact minified identifiers (afe6647)
  • reclamation: pin identities against an ambient SOCRATICODE_PROJECT_ID (fbd8278)

v1.13.3

Choose a tag to compare

@giancarloerra giancarloerra released this 10 Sep 16:52

1.13.3 (2026-09-10)

Bug Fixes

  • config: do not treat an external git directory as the main worktree (c68c5d0)
  • graph: a project-root self match must end resolution, not fall through (5504a5c)
  • graph: drop the init.py gate, keep only the unambiguous self guards (a07196d), closes #46 #107 #46 #112
  • graph: end resolution on a self match at every real path entry, not just the root (b40b5e8)
  • graph: extend the #157 self-edge guard to relative imports (fcac832)
  • graph: gate on any package ancestor, not just the importing directory (d650753), closes #46
  • graph: stop the Python sibling fallback fabricating edges inside packages (740fe6f), closes #46 #46 #157
  • indexer: gate after the artifact config read, and announce after checking (fd6c9cc)
  • indexer: gate the terminal status write, and the graph rebuild (b0905c1)
  • indexer: read indexing status strictly, and pin recovery in CI (c559db7)
  • indexer: reconcile stale hashes against the points actually stored (28db487)
  • indexer: repair a completed status written as the lock was lost (e8a4009)
  • indexer: stop writing once ownership is lost, and never past a phase (e5f1246)
  • lock: handle a rejecting compromise handler, and restore a displaced doc (5ed44eb)
  • lock: stand down when the index lock is lost mid-run (f742845)
  • qdrant: retry, bound and share the paged payload scroll (f46f85d)
  • qdrant: scroll project metadata by page, and read only the field used (79b4604)
  • startup: resolve a linked worktree to its main checkout before resuming (915b20b)

Documentation

  • graph: name a reachable example in the sibling fall-through comment (19b94ac)

Tests

  • make the linked checkout participate in the worktree regression (fe9e4c4)
  • make the status-read regression exercise the indexing entry point (f197357)

v1.13.2

Choose a tag to compare

@giancarloerra giancarloerra released this 09 Sep 09:07

1.13.2 (2026-09-09)

Bug Fixes

  • indexer: do not mark a file indexed when its upsert was partially skipped (ff3c06b)
  • indexer: exclude stranded files with stale hashes from filesIndexed (388773b)
  • indexer: report files actually indexed, not files walked (07dd187)
  • indexer: report files the index represents, not files walked (a511f27)
  • qdrant: fail the operation when any point is skipped after fallback (c47a843)

Tests

  • helpers: build the Qdrant test client from the service's getClient() (27eed85)
  • reach Qdrant through the service client, not the raw test helper (a46bc11)

v1.13.1

Choose a tag to compare

@giancarloerra giancarloerra released this 07 Sep 13:17

1.13.1 (2026-09-07)

Bug Fixes

  • qdrant: accept valid prerelease identifiers (b043e58)
  • qdrant: support Node 26 without dropping Node 18 (d7008bd)

Performance

  • qdrant: bypass bridge work for ordinary fetches (b973c01)

Tests

  • qdrant: harden Node 26 compatibility checks (e76aaae)

v1.13.0

Choose a tag to compare

@giancarloerra giancarloerra released this 07 Sep 00:04

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 di...
Read more

v1.12.0

Choose a tag to compare

@giancarloerra giancarloerra released this 14 Aug 17:23

1.12.0 (2026-08-14)

Bug Fixes

  • graph: reject backslashes in package: URI paths (e550edc)
  • graph: resolve Dart package: imports through pubspec-derived package roots (ca7e277), closes #106
  • index: add .dart_tool to the default ignore patterns (06180d3)
  • startup: refuse Node 26 only when the installed qdrant client breaks there (39b1d2c)
  • startup: require a full semver shape before trusting the client version (9ab7b2e)

Tests

  • startup: pin rejection of trailing garbage after a valid patch number (54e2e14)