Highlights
- Vector Store Improvements: Enhanced handling of Milvus collection sizes and embedding size checks, alongside improved error reporting.
- Provider Configuration: Defaulting to LiteLLM endpoints when configuration is not explicitly set.
- Project Scope: Strengthening project-level scoping for exclusions, module deletions, and resolver behavior.
- CLI Enhancements: Improved CLI status reporting for synchronization and handling of projects without repositories.
- Performance Optimisations: Reducing startup times for key stacks (LLM, vector-store, parser) and bounding the scope of certain operations.
What's Changed
- fix(vector-store): let --clean rebuild a Milvus collection of the wrong vector size by @vitali87 in #2242
- fix(providers): apply the LiteLLM default endpoint when the config leaves it unset by @vitali87 in #2243
- fix(vector-store): reject embeddings whose size differs from the collection's with an error naming the setting by @vitali87 in #2245
- test(evals): write the helpers fixture with an explicit encoding by @L4XB in #2176
- fix(query): name the check a scoped query was refused on by @L4XB in #2200
- fix(build): fail the build when the binary bundles readline by @vitali87 in #2190
- fix(notices): credit the PyInstaller bootloader and CPython's incorporated software by @vitali87 in #2244
- fix(incremental): an added same-stem sibling matches a clean index on a reused updater (#2022) by @vitali87 in #2223
- fix(python): one scope rule for every writer into a function's type map by @vitali87 in #2154
- fix(retrieval): bound the snippet lookup's Module fallback to containment edges by @vitali87 in #2202
- fix(evals): scope the emulator's module delete to the project by @vitali87 in #2180
- fix(incremental): retry an EXPOSES cleanup skipped for an unread registry by @vitali87 in #2216
- fix(retrieval): name a stale project root, and share one source resolver by @vitali87 in #2187
- fix(rename): a plan keeps only the sites this project owns by @vitali87 in #2153
- fix(resolver): new X() inside a method named X binds the class by @vitali87 in #2181
- fix: requeue type facts under the module name the graph records (#1935) by @vitali87 in #1967
- fix(java): bound type inference depth so a deep call chain no longer discards the method's variable types by @vitali87 in #2246
- fix(dart): resolve a construction receiver reached through an import prefix (#2033) by @vitali87 in #2040
- test(updater): pin the stale-subtree delete before the Pass 2 re-parse (#1584) by @vitali87 in #2224
- fix(csharp): a using directive chooses among same-named types by @vitali87 in #2182
- fix(ci): judge an App-bound required check by that App's run only by @vitali87 in #2155
- fix(csharp): stop guessing unresolved bare calls by @vitali87 in #2036
- feat(docs): a Credits page for third-party components, linked from cgr --version (#2175) by @vitali87 in #2225
- fix(incremental): re-run the LIBCLANG frontend after the stale-subtree deletes so an added same-stem sibling matches a clean index by @vitali87 in #2247
- fix(incremental): keep an unreadable same-stem survivor's graph claim on a fresh updater by @vitali87 in #2248
- fix(cli): mark CLI syncs incomplete until recorded and surface it in cgr status by @vitali87 in #2249
- fix(embedder): drain the MPS stream after the model weight upload by @vitali87 in #2250
- fix: scope the exclusion fast path and hash cache by project by @vitali87 in #2251
- fix: scope exclusion fast path by project by @mikemikimike in #2023
- fix(incremental): parenthesise the concatenation in the unresolved-importer query by @vitali87 in #2252
- fix(config): accept a provider key in .env, as the missing-key message says by @vitali87 in #2256
- perf(cli): keep the LLM, vector-store and parser stacks off the start-up path by @vitali87 in #2254
- fix(config): a provider chosen on the command line uses its own key by @vitali87 in #2257
- fix(config): start a provider chosen on the command line from its own defaults by @L4XB in #2199
- fix(neo4j): type the driver surface locally so ty passes with the neo4j extra by @vitali87 in #2255
- ci: cap version patch and minor at 1000 with rollover in auto-bump by @vitali87 in #2258
- fix(incremental): delete only what the project owns, not what its prefix matches (#1985) by @vitali87 in #2125
- fix(query): render graph values as plain text in the result table by @vitali87 in #2267
- fix(trace): stop the C shim's depth counter from wrapping on skipped exits by @vitali87 in #2268
- perf(parsers): bound receiver-chain resolution and nested-literal expansion to linear work by @vitali87 in #2273
- fix(trace): cap gzip decompression and bound trace pull by an overall deadline by @vitali87 in #2272
- refactor: clear small Sonar findings on main (collapsible ifs, redundant excepts, test hygiene) by @vitali87 in #2275
- fix(parsers): treat too-deeply-nested JSON as malformed instead of aborting the index run by @vitali87 in #2271
- refactor: drop JSONDecodeError where ValueError already catches it by @vitali87 in #2276
- refactor(unixcoder): snake_case the beam-search method and local names by @vitali87 in #2277
- feat(vector-store): pass QDRANT_API_KEY to a Qdrant server by @vitali87 in #2274
- docs(security): state when CodeQL runs and list the SAST and fuzzing gates by @vitali87 in #2269
- refactor: bring nine just-over-limit functions under Sonar's cognitive complexity cap by @vitali87 in #2278
- refactor: split complexity-17 helpers out of shell, java-param and audit checks by @vitali87 in #2279
- refactor: split complexity 17-18 helpers out of rename, param, arrow-name, for-loop and function registration by @vitali87 in #2281
- fix(deps): require transformers 5 for the semantic extra and document git installs and upgrades by @vitali87 in #2282
- refactor: split complexity-17 helpers out of if-walk, JS require and PHP use parsing by @vitali87 in #2280
- refactor: split complexity-18 helpers out of git -c scan, segment validation, grammar setup, C# arity and param scan by @vitali87 in #2283
- refactor: split complexity-19 helpers out of rel flush, Java call resolve, C++ deferred methods and JS ancestor path by @vitali87 in #2284
- refactor: split complexity 18-19 helpers out of try-walk, format captures, JS bindings, TS aliases and Lua paths by @vitali87 in #2287
- refactor: split complexity 17-20 helpers out of operator dispatch, go.mod parse, JS class lookup, JS params and Python traversal by @vitali87 in #2288
- refactor: split complexity 18-20 helpers out of Rust auto targets, manifest paths, use scopes, stream flow and Python call taint by @vitali87 in #2292
- refactor: split complexity 20-21 helpers out of C# arity and qualified calls, Java names and return heuristics, JS await calls by @vitali87 in #2296
- refactor: split complexity-22 helpers out of C++ namespace paths, Rust use trees, IO binding patterns and stdlib module paths by @vitali87 in #2297
- refactor: split complexity 21-22 helpers out of diff autowrap, deferred parents, Python chained attrs and Rust callee chains by @vitali87 in #2298
- refactor: split complexity 20-22 helpers out of TS getter receivers, returned callables, Rust top-level text and JS value typing by @vitali87 in #2299
- refactor: split complexity 22-24 helpers out of export lists, class relationships, flow bindings, Dart calls and C++ out-of-class methods by @vitali87 in #2300
- refactor: split complexity 23-24 helpers out of Java and C++ module imports, live endpoint resources, Python method lookup and relationship flush by @vitali87 in #2301
- refactor: split complexity 24-25 helpers out of flow leaf dispatch, Python call flows, summary fixpoint, protobuf node batches and node-types parsing by @vitali87 in #2302
- refactor: split complexity 24-25 helpers out of method overrides, Dart parents, C++ preproc branches, Rust module paths and node flush by @vitali87 in #2303
- refactor: reduce cognitive complexity in chat loop and Rust crate-root helpers by @vitali87 in #2304
- build(deps): bump actions/download-artifact from 4.3.0 to 8.0.1 by @dependabot[bot] in #2289
- build(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.2 by @dependabot[bot] in #2290
- build(deps): bump actions/setup-go from 5.6.0 to 7.0.0 by @dependabot[bot] in #2291
- build(deps): bump SonarSource/sonarqube-scan-action from 6.0.0 to 8.2.2 by @dependabot[bot] in #2293
- build(deps): bump actions/deploy-pages from 4.0.5 to 5.0.1 by @dependabot[bot] in #2294
- build(deps): bump oss-fuzz-base/base-builder-python from
aac6099tod74383ain /.clusterfuzzlite by @dependabot[bot] in #2295 - refactor: reduce cognitive complexity in call, C++ lambda and endpoint helpers by @vitali87 in #2305
- refactor: reduce cognitive complexity in C++ module, Python unpacking and C# inference helpers by @vitali87 in #2306
- refactor: reduce cognitive complexity in Dart flow, match-pattern and node-category helpers by @vitali87 in #2308
- refactor: reduce cognitive complexity in call-processor symbol, IIFE and argument helpers by @vitali87 in #2309
- refactor: reduce cognitive complexity in JS import, relationship flush and C++ parameter helpers by @vitali87 in #2310
- refactor: reduce cognitive complexity in Java receiver typing, parent extraction and type-inference init by @vitali87 in #2312
- fix: keep committed dependency summaries when PyPI is unreachable by @vitali87 in #2313
- refactor: reduce cognitive complexity in C# extension lookup, MRO shadow overrides and PHP attributes by @vitali87 in #2311
- refactor: reduce cognitive complexity in lean flow walk, deferred inherits and Rust impl ingestion by @vitali87 in #2314
- feat(stack): optional Memgraph and Qdrant authentication for the bundled stack by @vitali87 in #2286
- fix(deps): replace unmaintained dependencies and fix the bugs they hid by @vitali87 in #2307
- refactor: reduce cognitive complexity in class-method call walk, ctor metadata and embedding generation by @vitali87 in #2315
- refactor: reduce cognitive complexity in Rust mod-scope finalisation, lean bindings, impl type names and Lua inference by @vitali87 in #2316
- refactor: reduce cognitive complexity in function-parent resolution and Python scope bindings by @vitali87 in #2317
- refactor: reduce cognitive complexity in DefinitionProcessor.process_file by @vitali87 in #2318
- build(deps): bump google/osv-scanner-action/.github/workflows/osv-scanner-reusable.yml from 2.3.3 to 2.6.0 by @dependabot[bot] in #2319
- build(deps): bump actions/cache from 4.3.0 to 6.1.0 by @dependabot[bot] in #2320
- build(deps): bump docker/build-push-action from 7.0.0 to 7.4.0 by @dependabot[bot] in #2321
- build(deps): bump ossf/scorecard-action from 2.4.3 to 2.4.4 by @dependabot[bot] in #2322
- build(deps): bump github/codeql-action/upload-sarif from 4.34.1 to 4.38.2 by @dependabot[bot] in #2324
- build(deps): bump oss-fuzz-base/base-builder-python from
d74383ato6a90ec8in /.clusterfuzzlite by @dependabot[bot] in #2325 - build(deps): bump rich from 14.2.0 to 15.0.0 by @dependabot[bot] in #2327
- build(deps): bump tree-sitter from 0.25.2 to 0.26.0 by @dependabot[bot] in #2326
- build(deps): bump golang.org/x/tools from 0.49.0 to 0.50.0 in /codebase_rag/parsers/go_frontend/gotypes by @dependabot[bot] in #2335
- refactor: reduce cognitive complexity in the start CLI command by @vitali87 in #2336
- build(deps): bump proc-macro2 from 1.0.106 to 1.0.107 in /evals/oracles/rs_oracle by @dependabot[bot] in #2329
- refactor: reduce cognitive complexity in Anthropic payload conversion and ES6 export ingestion by @vitali87 in #2337
- refactor: reduce cognitive complexity in FileEditor.get_function_source_code by @vitali87 in #2338
- refactor: reduce cognitive complexity in modifier extraction and Rust use-scope classification by @vitali87 in #2339
- refactor: reduce cognitive complexity in function ingest, JS return inference and graph query tool by @vitali87 in #2340
- fix(cli): stop --projects crashing on a workspace with no repos by @vitali87 in #2341
- refactor: reduce cognitive complexity in import edge flushing, JS import clauses and Rust cache refresh by @vitali87 in #2342
- ci: fail All Checks Pass on Bandit findings and document the CodeQL merge rule by @vitali87 in #2285
- refactor: reduce cognitive complexity in dead-code reachability analysis by @vitali87 in #2343
- build(deps): bump tiktoken from 0.12.0 to 0.14.0 by @dependabot[bot] in #2331
- refactor: reduce cognitive complexity in graph updater run, sync check and endpoint emission by @vitali87 in #2344
- fix(config): ignore keys in a project's .env that are not cgr settings by @vitali87 in #2345
- refactor: reduce cognitive complexity in shell command validation by @vitali87 in #2346
- refactor: reduce cognitive complexity in class ingestion by @vitali87 in #2347
- refactor: reduce cognitive complexity in call processing helpers by @vitali87 in #2349
- refactor: reduce cognitive complexity in flow access, parser utils and type inference by @vitali87 in #2350
- docs(pypi-readme): install from git with uv so the patched grammar sources apply by @vitali87 in #2351
- docs: show a graph indexing demo before a re-recorded agent demo by @vitali87 in #2363
- refactor: reduce cognitive complexity in call resolution and Rust source stripping by @vitali87 in #2364
- refactor: reduce cognitive complexity in graph updater file processing and pruning by @vitali87 in #2365
- refactor: reduce cognitive complexity in function call ingestion by @vitali87 in #2367
- fix: resolve remaining SonarCloud maintainability findings by @vitali87 in #2366
- fix: resolve remaining SonarCloud findings in flow access and call resolution by @vitali87 in #2369
- refactor: reduce cognitive complexity in embedding generation and pipeline execution by @vitali87 in #2370
- fix: resolve remaining SonarCloud findings in tests, unixcoder and tool handlers by @vitali87 in #2371
- refactor: drop unused module_qn parameters from anonymous-name and generic-import helpers by @vitali87 in #2372
- chore(lint): enable Ruff's flake8-bandit (S) security rules by @vitali87 in #2348
Full Changelog: v0.0.996...v0.1.38