github vitali87/code-graph-rag v0.0.945

latest releases: v0.0.948, v0.0.947, v0.0.946...
11 hours ago

Highlights

  • Documentation Enhancements: Module-level documentation is now captured for all languages, and doc comments are captured as docstrings on every definition label.
  • UTF-8 Handling: Improved handling of invalid UTF-8 bytes prevents file definitions from being dropped.
  • Neo4j Backend Support: Added support for Neo4j as a graph backend through a pluggable dialect seam.
  • CI Improvements: Enhanced CI processes include auto-review of stacked PRs, failure for PRs without CI runs, and validation of configuration files.
  • Gloss Node & Notes: Introduced the Gloss node for agent-authored notes and enabled writing and reading Gloss notes via the MCP server.

What's Changed

  • feat: capture module-level documentation on the Module node, for every language by @vitali87 in #1790
  • fix: one invalid UTF-8 byte no longer drops a whole file's definitions by @vitali87 in #1812
  • feat: support Neo4j as a graph backend behind a pluggable dialect seam by @vitali87 in #1814
  • fix: warn when a symbol name is truncated by an invalid byte by @vitali87 in #1816
  • fix: pin UV_PYTHON_INSTALL_DIR so the built image's venv actually runs by @Victor-johnsson in #1788
  • docs: pin why a reachability probe must query, not just connect by @vitali87 in #1818
  • ci: auto-review stacked PRs whose base is a feat/ or fix/ branch by @vitali87 in #1822
  • ci: fail a PR that has no CI run at its head commit by @vitali87 in #1819
  • ci: validate .coderabbit.yaml in pre-commit and CI by @vitali87 in #1829
  • feat: add the Gloss node for agent-authored notes (#1808) by @vitali87 in #1830
  • fix: walk every parsed file for calls, not only those with call or function captures (#1837) by @vitali87 in #1838
  • docs: state both guarantees safe_decode_text provides, and test them (#1811) by @vitali87 in #1841
  • refactor: remove the callerless register_parsed_file and pin the invariant it implied (#1784) by @vitali87 in #1842
  • fix: select Cypher prompt graph-algorithm guidance by backend (#1813) by @vitali87 in #1839
  • fix: keep a surviving stem-sharing file's definitions when its sibling is deleted (#1773) by @vitali87 in #1844
  • fix: a successful marker clear settles only the project that owns the flag (#1774) by @vitali87 in #1846
  • fix: find the CI run by head SHA, not in a window of recent runs by @vitali87 in #1847
  • fix: flag a review whose own checks could not execute (#1824) by @vitali87 in #1826
  • fix: rebuild findings and endpoint links on the scoped re-ingest path (#1670) by @vitali87 in #1852
  • fix: stop the staleness warning promising a rebuild it does not perform (#1649) by @vitali87 in #1853
  • fix: sweep glosses whose subject a project delete removed (#1828) by @vitali87 in #1856
  • fix: key the incomplete-run marker per run so a concurrent clear cannot remove it (#1709) by @vitali87 in #1850
  • fix: a proven-restricted aggregate alias is refused twice (#1843) by @vitali87 in #1851
  • fix: distinguish CI still running from CI never ran (#1827) by @vitali87 in #1855
  • fix: read the durable incomplete-run marker on the structural-delta path too (#1783) by @vitali87 in #1845
  • fix: key a single-file run against the project root, not the target's parent (#1775) by @vitali87 in #1860
  • docs: state what the single-file prune guard is actually protecting (#1776) by @vitali87 in #1861
  • fix: a queued CI run is not a missing one (#1848) by @vitali87 in #1858
  • test: add a fixture-coverage assertion so a vacuous empty-result test fails (#1859) by @vitali87 in #1862
  • test: use the shared fixture-coverage helper in test_pr_gate_check (#1863) by @vitali87 in #1864
  • fix: count context tokens for every provider, not only Anthropic (#1500) by @vitali87 in #1832
  • fix: a file parsing to no definitions must retract its stale call sites (#1794) by @vitali87 in #1833
  • test: isolate the startup key tests from ambient provider keys (#1871) by @vitali87 in #1874
  • fix: reingest re-evaluates a directory's package-ness in both directions (#1798) by @vitali87 in #1835
  • feat: postcondition contract for edit operations, enforced on rename (#1531) by @vitali87 in #1547
  • fix: re-ingest hydration derives the package map without emitting containers (#1872) by @vitali87 in #1875
  • feat: write and read Gloss notes through the MCP server (#1808) by @vitali87 in #1890
  • fix: a doc above a function-valued const documents the function, not the file by @vitali87 in #1889
  • feat: capture doc comments as docstring on every definition label, for all languages by @vitali87 in #1888
  • fix: keep a receiver's type through or/ternary/operator assignment (#1868) by @vitali87 in #1870
  • feat: grade a gloss stale when its definition's content changes (#1808) by @vitali87 in #1894
  • feat: Parameter node label and Python emitter behind +parameters (#1804) by @vitali87 in #1891
  • fix: key the stale type-fact filter on the fact's file, not its module qn (#1892) by @vitali87 in #1895
  • fix: a typed first-party receiver whose class lacks the method is a non-edge, not a trie match (#1897) by @vitali87 in #1902
  • fix: type an inline call-site receiver by the same rules as an assigned one (#1893) by @vitali87 in #1898
  • feat: add a Field node for declared fields, attributes and properties in every language by @vitali87 in #1899
  • fix: type a tuple-unpacked local from the call's tuple annotation (#1896) by @vitali87 in #1905
  • fix: type a local assigned from self.method() or cls.method() as the enclosing class's return (#1901) by @vitali87 in #1904
  • feat(gloss): repair tiers by content hash: MOVED, AMBIGUOUS, LOST (#1808) by @vitali87 in #1909
  • refactor: split the Python source-root helpers (#1669) by @vitali87 in #1923
  • refactor: split the C# field-map and member-name helpers (#1669) by @vitali87 in #1924
  • refactor: extract the NEWS.md entry parser (#1669) by @vitali87 in #1933
  • fix: unpack a tuple-annotated name into typed locals (#1900) by @vitali87 in #1919
  • fix: a local binding of an imported module's name shadows the module (#1907) by @vitali87 in #1927
  • fix: walk a function nested in a method by the class pass only (#1903) by @vitali87 in #1906
  • test: assert the closure's receiver edge is the only one (#1903) by @vitali87 in #1937
  • fix: make cgr doctor report what the runtime needs (#1910) by @vitali87 in #1920
  • fix(ci): recognize fork PR runs with unambiguous source history by @lllleolin-max in #1877
  • fix: separate rename success from rollback status by @lllleolin-max in #1883
  • fix: retain failed node batches for retry by @lllleolin-max in #1876
  • fix: make the release news pipeline's outcome observable (#1605) by @vitali87 in #1869
  • fix: count special token spellings as ordinary text by @lllleolin-max in #1865
  • fix(evals): scope incremental rehydration to the requested project by @lllleolin-max in #1878
  • fix(trace): preserve UNC hosts in CPU profile file URLs by @lllleolin-max in #1879
  • fix: declare nested empty containers during rename by @lllleolin-max in #1880
  • fix: reject incomplete protobuf index layouts by @lllleolin-max in #1884
  • fix: a recorded nameless function owns its references (#1932) by @vitali87 in #1940
  • fix: close and order the definition lookups (#1925) by @vitali87 in #1930
  • docs: document all enabled security measures in SECURITY.md by @vitali87 in #1959
  • build(deps): bump httpx2 from 2.10.0 to 2.12.0 in the uv group across 1 directory by @dependabot[bot] in #1961

New Contributors

Full Changelog: v0.0.895...v0.0.945

Don't miss a new code-graph-rag release

NewReleases is sending notifications on new releases.