Repository navigation
Releases
Releases · giancarloerra/SocratiCode
v1.16.2
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
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
v1.16.0
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
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
usealias only below theusethat 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
usealiases 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
parenttype-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
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
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
v1.13.3
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
v1.13.2
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
v1.13.1
v1.13.0
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...
v1.12.0
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)