Highlights
- Code Generation: Split Cypher response cleaning and AST-grep rule validation into smaller, more manageable helpers for improved clarity and maintainability.
- Scripting Improvements: Resolved an issue where closed pull request run associations were incorrectly reported as missing, and improved error reporting in scripts to avoid over-claiming failing checks.
- Data Handling: Enhanced the handling of CONTAINS_SECTION in the double's module subtree and refined snippet lookup to project the matched node's own path.
What's Changed
- ci: require Go >=1.26.6 for sumdb verification fixes by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1962
- refactor: split the cypher response cleaning into per-format helpers (#1669) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1956
- refactor: split the ast-grep rule validation into two guards (#1669) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1953
- fix(scripts): a closed PR's cleared run association is not a missing one (#1944) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1952
- fix(evals): walk CONTAINS_SECTION in the double's module subtree (#1938) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1947
- refactor: split the source-root discovery walk into per-signal helpers (#1669) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1946
- test: cover two declared empty-class renames in one file (#1836) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1945
- fix(go): bump x/mod to v0.40.0 for sumdb advisories by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1963
- fix(scripts): say when an unrequired check is failing, and stop over-claiming by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1954
- test: derive the snippet allowlist from the schema (#1950) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1951
- docs: state the f-string brace convention in cypher_queries by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1949
- fix(deps): bump anyio to 4.14.2 to fix TLS IDNA spoofing (CVE-2026-63374) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2026
- fix: project the matched node's own path in the snippet lookup (#1934) by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1943
- docs: add public incident response plan by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2030
- docs: clarify governance continuity responsibilities by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2029
- docs: refresh security threat model and trust boundaries by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2031
- fix(dart): bind member reads on construction receivers (new, const, generic) (#2015) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2032
- docs: four verified details the security rewrite left open (#2028) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2038
- fix(dart): a named constructor call records INSTANTIATES on its class by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2019
- ci(release): the README re-render is its own blocking step by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1996
- fix(dart): a constructor call with type arguments, new or const takes INSTANTIATES and the constructor CALLS by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2013
- fix(calls): a constructor under a duplicate-suffixed class takes its CALLS edge (#2007) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2008
- docs: move the interpreter-floor note out of the install path by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1960
- feat: ship third-party licence notices beside each release binary by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2085
- fix(csharp): same-file partial parts share one partial group by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2018
- ci: give Copilot code review a runner, and a repo-specific skill by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2087
- feat: consume the cross-service edges: endpoint tools and dead endpoints (#1603) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1975
- fix(incremental): compare the exclusion scope without the reader keys by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1984
- test: stop gating the per-language module-doc tests on tree-sitter-python by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1821
- feat: declared parameters for the eleven non-Python languages (#1804) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1965
- fix(java): read the varargs element type past a modifier or annotation (#1964) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1973
- fix(incremental): re-parse every file once after a parser input changes by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1980
- chore: restrict AI reviewer comments to critical/high-severity issues by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2111
- ci: pin pr-split action to the fixed main SHA so the split comment posts by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2112
- ci: gate automatic release tags on successful source CI by @lllleolin-max in https://github.com/vitali87/code-graph-rag/pull/1885
- fix(config): the start-up gate reads the variable its message names by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1916
- fix(query): print boolean cells a non-UTF-8 terminal can encode by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1917
- fix(evals): key site-bearing relationships the way the store does by @L4XB in https://github.com/vitali87/code-graph-rag/pull/1915
- fix(ci): say which runs were excluded and why, not that none exists by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1955
- fix: keep source fallbacks inside the owning project by @lllleolin-max in https://github.com/vitali87/code-graph-rag/pull/1881
- fix(prompts): select orchestrator active projects engine by backend (#1840) by @BLVCK-MAMBA-6 in https://github.com/vitali87/code-graph-rag/pull/1849
- fix(incremental): a cached file that became unreadable is not in sync, not a crash by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1994
- fix: derive notice licences from the bundle, not the installed wheel by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2110
- fix(scripts): read classic branch protection beside the rulesets in check_pr_gated (#1957) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1968
- fix: a C# verbatim identifier is not a duplicate-qn marker (#2017) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2113
- fix(java): read the varargs element type of every shape by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1976
- fix(graph): a reader keeps only the rows the project owns by its longest registered name by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1990
- fix: a nested body's bindings do not type the enclosing function's names (#1922) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1928
- fix(docs): consume every generated section, and fail the generator on one that reaches no marker (#1929) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1969
- fix(incremental): retry a file the run could not read by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1993
- feat: EnumVariant nodes under HAS_VARIANT for Rust, Java, C, C++, C# and PHP enums (#1807) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2086
- feat: announce context compaction and let users decline it by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2106
- feat(mcp): serve a workspace: --workspace / MCP_WORKSPACE scope the server's projects (#1494) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1972
- test: two stale expectations left red on main by crossed merges by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2173
- docs: document C# and web-search configuration by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2037
- fix(cpp): preserve lifecycle calls for duplicate class variants by @mikemikimike in https://github.com/vitali87/code-graph-rag/pull/2027
- fix(csharp): resolve alias-qualified type calls by @mikemikimike in https://github.com/vitali87/code-graph-rag/pull/2025
- fix(csharp): leave a namespace the module's directory spells out of the qualified name (#1629) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1999
- ci(split-score): report every PR's score without an API call by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2177
- docs: a PR shows its user-visible change working, in its description by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2178
- fix(csharp): a member access argument is a method group on a typed receiver only (#1998) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2011
- fix: refuse a PR whose review anchors to a non-head commit (#1936) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1939
- fix(incremental): rehydrate only the rows the project owns by its longest registered name by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1988
- fix(cli): cgr doctor asks the codec for its marks, like the query table (#2120) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2128
- fix(config): hold every credential source to one blank-and-sentinel rule (#2119) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2130
- fix(structural-delta): scope snapshots to longest project owner by @mikemikimike in https://github.com/vitali87/code-graph-rag/pull/2021
- fix(csharp): a removed or re-parsed partial part leaves its partial group by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2020
- feat(gloss): follow a renamed definition by its text-quote anchor (#1808) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1966
- refactor: every duplicate-marker reader goes through qn_markers by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2184
- fix(csharp): a written or aliased type path binds its type by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2183
- fix(incremental): the route, module and package readers keep only rows the project owns (#2126, [#1991]) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2129
- docs(security): name the web-search path among the main data flows by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2185
- perf(evals): the two per-item edge readers read adjacency, not every edge by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2186
- docs: say what sharpens the Tree-sitter backbone by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2188
- test(docs): fail when a checked-in generated doc drifts from the generator (#2121) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2127
- fix(incremental): re-parse the files that waited for an added file by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/1979
- fix(security): enforce read-only generated Cypher at the engine by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2203
- refactor(types): read a resolved type's label through the resolver by @L4XB in https://github.com/vitali87/code-graph-rag/pull/2215
- chore: remove a commercially licensed book PDF from optimize/ by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2208
- fix(providers): strip the /v1 suffix instead of its characters when deriving health-check URLs by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2204
- fix(build): ship the fallback highlight queries in the wheel by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2207
- fix(config): a provider set without its model is reported instead of silently falling back to Ollama by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2210
- fix(cli): a --orchestrator/--cypher provider switch no longer inherits the previous provider's endpoint and key by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2209
- fix(ast-cache): bound memory by source size instead of the tuple's shallow size by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2214
- fix(vector-store): refuse an existing Qdrant collection whose vector size differs from the configured dimension by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2211
- fix(shell): block the short, attached and abbreviated spellings of git options that run a program by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2212
- fix(parsers): key callable-flow records by file so reingest stops restoring stale CALLS edges by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2206
- fix(watcher): handle moved and directory events so renames, atomic saves and directory deletes reach the graph by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2205
- refactor: flatten four parent-extraction functions below the complexity limit (#1669) by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2227
- fix(go): declare toolchain go1.26.6 for the gotypes helper by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2228
- ci(fuzz): pin the ClusterFuzzLite base image by digest by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2230
- fix: keep GPL readline out of the binary and credit bundled native libraries by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2229
- chore(deps): bump astral-sh/uv from 0.10 to 0.12 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2233
- chore(deps): bump docker/setup-qemu-action from 3.7.0 to 4.4.0 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2237
- chore(deps): bump docker/metadata-action from 5.10.0 to 6.2.0 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2239
- chore(deps): bump sigstore/cosign-installer from 4.1.0 to 4.1.2 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2238
- fix(realtime): decide watched files with the repository walk's own predicate by @vitali87 in https://github.com/vitali87/code-graph-rag/pull/2241
- chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2235
- chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.4.1 by @dependabot[bot] in https://github.com/vitali87/code-graph-rag/pull/2236
New Contributors
- @L4XB made their first contribution in https://github.com/vitali87/code-graph-rag/pull/1954
- @BLVCK-MAMBA-6 made their first contribution in https://github.com/vitali87/code-graph-rag/pull/1849
- @mikemikimike made their first contribution in https://github.com/vitali87/code-graph-rag/pull/2027
Full Changelog: https://github.com/vitali87/code-graph-rag/compare/v0.0.945...v0.0.996