Releases: abhigyanpatwari/GitNexus
Release Candidate v1.6.4-rc.1
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.4-rc.1
Target base: 1.6.4 (rc #1)
Source commit (main): 247b1bd
Release commit (versioned tree): 5a83d5e
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
Full Changelog: v1.6.3...v1.6.4-rc.1
v1.6.3
Added
- Cross-repo impact analysis —
@repoMCP routing plus group resources let impact queries span multiple indexed repositories in a group (#794, #984) - Python scope-based call resolution — registry-primary flip, performance, and generalization work from RFC #909 Ring 3 (#980)
- C# scope-resolution migration — C# now runs on the registry-primary path alongside Python (#934, #1019)
- RFC #909 Ring 1 & Ring 2 scope-resolution infrastructure — the shared foundation for language-agnostic scope resolution:
- Scope-resolution types and constants,
LanguageProviderhook extension (#910, #911, #949, #950) ScopeTree+PositionIndex+makeScopeId(#912, #961)DefIndex/ModuleScopeIndex/QualifiedNameIndex(#913, #958)MethodDispatchIndexmaterialized view overHeritageMap(#914, #960)resolveTypeRefstrict single-return type resolver (#916, #959)- SCC-aware finalize with bounded fixpoint (#915, #962)
ClassRegistry/MethodRegistry/FieldRegistry+ 7-step lookup (#917, #963)- Shadow-mode diff + aggregate, parity harness + static dashboard (#918, #923, #951, #972)
ScopeExtractordriver with 5-pass CaptureMatch → ParsedFile (#919, #965)ScopeExtractorwired into parse-worker + processor (#920, #969)finalize-orchestratormaterializesScopeResolutionIndexes(#921, #970)- Per-language
resolveImportTargetadapter (#922, #971) REGISTRY_PRIMARY_<LANG>per-language flag reader (#924, #968)emit-referencesdrainsReferenceIndexto graph edges (#925, #973)
- Scope-resolution types and constants,
gitnexus analyze --name <alias>with duplicate-name guard in the repo registry (#955)gitnexus remove <target>unindexes a registered repo by name or path (#664, #1003)- Auto-infer registry name from
git remote.origin.urlwhen--nameis omitted (#981) - Sibling-clone drift detection — indexed repos are fingerprinted by remote URL so duplicate registrations are caught before graph divergence (#982)
- Configurable large-file skip threshold — the walker's 512 KB default is now overridable via
GITNEXUS_MAX_FILE_SIZE(KB) orgitnexus analyze --max-file-size <kb>. Values are clamped to the 32 MB tree-sitter ceiling, invalid inputs fall back to the default with a one-time warning, and the CLI banner reports the effective post-clamp threshold when an override is active (#991, #1044, #1045) GITNEXUS_INDEX_TEST_DIRSopt-in for__tests__/__mocks__traversal (#771, #1046)analyzeembedding preservation — existing embeddings are preserved by default,--forceregenerates them,--drop-embeddingsopts out entirely (CLI + HTTP API) (#1055)- Structural embedding chunking with data-driven
CHUNKING_RULESdispatch, replacing the flat line-based split (#987) - PHP HTTP consumer detection for the extractor catalogue (#993)
- Per-phase search timing instrumentation across the query pipeline (#953)
- MCP disambiguation ranking —
context/impactcandidates are ranked and exposekind/file_pathhints (#888) - Docker images for UI + CLI/server shipped via
docker-composewith cosign signing (#967), RC image builds (#978), and GHCR → Docker Hub mirroring (#1029)
Fixed
- Go CALLS edges for receiver methods — worker source IDs now align with the main pipeline, restoring receiver-method call edges (#1043)
- Node 22 DEP0151 warning from
tree-sitter-c-sharpimport silenced (#1013, #1049) - FTS index bootstrap tries a local
LOADbeforeINSTALLso offline/air-gapped runs no longer fail on network errors (#726) - FTS ensure failures are no longer cached and are invalidated on pool teardown (#1006)
groupImpactlocal-impact errors now bubble to the caller instead of being swallowed (#1004, #1007)- Friendly error when a group name is not found, with regression test for #903 (#989)
bm25results return FTS-matched symbols instead of an arbitraryLIMIT 3slice (#806)- Embedding AST traversal switched from recursion to iterative DFS, fixing stack overflow on deeply nested files (#990)
- React component path detection runs before lowercasing, so mixed-case
.jsx/.tsxfiles are recognised (#260) detect-changesENOBUFS by settingmaxBufferongit/rgexecFileSyncinvocations (#957)detect-changesin direct CLI — command was wired to MCP only; now exposed on the CLI as well (#892)- CLI gitnexus markers —
<!-- gitnexus:* -->is only matched at section position, no longer inside code/prose (#1041, #1042) opencode.jsonsetup preserves existing comments and config during install (#998)- Sequential parser logging — skipped languages are now logged instead of silently dropped (#1021)
cli-e2efixture isolation from the shared mini-repo, plus stabilisedrel-csv-splitstream teardown on Windows viaexpect.poll(#954, #1052)- Docker — RC build guarded against empty
vtag,inputs.tagused to detectworkflow_callcontext, web builder stage now copiesgitnexus/package.json, base image switched from alpine to debian (#983, #996, #997, #1014) - CI — reusable
docker.ymlnow inherits secrets fromrelease-candidate.yml(#1054)
Changed
setupconfig I/O unified onmergeJsoncFileacross all writers (#1031)- Docker CI gains a retry wrapper for
build-pushwith visibility and hardened shell
Chore / Dependencies
- Dependency bumps:
graphology0.25.4 → 0.26.0 (#1001),uuid13 → 14 (#1000),@huggingface/transformers(#1035),@types/node(#1002),@types/uuid(#1016),vitest4.1.4 → 4.1.5 (#1017),@vitest/coverage-v8(#1018) - gitnexus-web dependency bumps:
vite5.4.21 → 6.4.2 → 7.3.2 → 8.0.10 +vitest4 (#1061, #1062, #1063),lucide-react0.562.0 → 1.11.0 with local GitHub SVG fallback (#1038),@langchain/anthropic1.3.10 → 1.3.27 (#1039),@babel/types(#1037) - gitnexus-shared dependency bumps:
typescript(#1034) - GitHub Actions bumps:
actions/setup-node6.3.0 → 6.4.0 (#1033) - Documentation: repo-wide
DoD.mdDefinition of Done (#1032), gRPC microservices group guide (#906, #994),group add/group removeREADME fixes (#1020), CLI docs include--skip-git(#750), README Discord link updated
Release Candidate v1.6.3-rc.52
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.52
Target base: 1.6.3 (rc #52)
Source commit (main): 087c1f5
Release commit (versioned tree): 1a93705
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
🚨 Security
- Improve MCP startup compatibility and lazy-load CLI commands by @Shockang in #207
- test: add integration test coverage and fix KuzuDB fork crashes by @magyargergo in #209
🚀 Features
- feat(hooks): auto-reindex after git commit with embeddings preservation by @L1nusB in #205
- feat: HTTP embedding backend for self-hosted/remote endpoints by @zm2231 in #395
- feat: complete Swift support — query fix, export detection, implicit imports, constructor resolution by @marxo126 in #408
- feat(cli): add 'index' command to register existing .gitnexus/ folder by @adonisdoda in #402
- feat: add docker support by @BRAINIFII in #848
🐛 Bug Fixes
- fix: add preinstall cleanup to prevent ENOTEMPTY on global upgrade by @Copilot in #843
- fix: set env.cacheDir to user-writable location by @enihcam in #845
- fix: devendor tree-sitter-proto install lifecycle to prevent ENOTEMPTY on global upgrade by @magyargergo in #846
👷 CI/CD
- ci: add macOS to cross-platform test matrix by @magyargergo in #208
- workflow: triage reporting by @zander-raycraft in #421
📝 Other Changes
- readme by @abhigyanpatwari in #3
- Embeddings pipeline by @abhigyanpatwari in #4
- Embeddings pipeline by @abhigyanpatwari in #5
- highlight tool for agent, prompt enhancements by @abhigyanpatwari in #6
- highlight tool fixes by @abhigyanpatwari in #7
- prompt enhancements, azure ai provider fixes by @abhigyanpatwari in #8
- Embeddings pipeline by @abhigyanpatwari in #9
- Embeddings pipeline by @abhigyanpatwari in #10
- prompt changes by @abhigyanpatwari in #14
- Schema experiments by @abhigyanpatwari in #16
- Minor prompt fix by @abhigyanpatwari in #17
- Agent UI improved. Prompt injected with repo directory structure, hot… by @abhigyanpatwari in #18
- better regex for grounding, UI improvements by @abhigyanpatwari in #19
- Agent and UI improvements by @abhigyanpatwari in #20
- fixed settings icon and added openai provider support by @abhigyanpatwari in #21
- readme updated by @abhigyanpatwari in #22
- minor change in readme by @abhigyanpatwari in #23
- Schema experiments by @abhigyanpatwari in #24
- blast radius tool implemented by @abhigyanpatwari in #25
- readme mermain fix by @abhigyanpatwari in #26
- Mcp bridge by @abhigyanpatwari in #28
- Leidens algorithm and processmap by @abhigyanpatwari in #31
- Leidens algorithm and processmap by @abhigyanpatwari in #33
- Leidens algorithm and processmap by @abhigyanpatwari in #34
- updated readme by @abhigyanpatwari in #35
- Gitnexus cli by @abhigyanpatwari in #36
- Add Claude Code GitHub Workflow by @abhigyanpatwari in #46
- fix: use cross-platform npx command in .mcp.json by @abhigyanpatwari in #48
- fix: disable embeddings by default, fix segfault on macOS/Linux by @abhigyanpatwari in #51
- feat: local backend mode for web UI by @paulrobello in #49
- feat(plugin): self-contained Claude Code plugin with bundled MCP, hooks, and skills by @L1nusB in #68
- feat(ui): Add a copy button to the Nexus AI and copy the md result by @CrazyBunQnQ in #75
- feat(php): full PHP 8+ / Laravel support with Eloquent model tracking by @gunesbizim in #64
- Probe for CUDA before attempting GPU embeddings by @BlockSecCA in #58
- feat: remote server connection mode and multi-repo switching by @baconwasr1ght in #66
- fix(mcp): don't crash server when no repos are indexed by @abhigyanpatwari in #96
- fix: lazy-import embeddings to avoid onnxruntime crash on Node v24+ by @abhigyanpatwari in #99
- fix: ensure exec usage does not allow poisoning by @strazzere in #61
- feat(ingestion): add AST decorator-based entrypoint hints by @PurpleNewNew in #102
- fix(web): map API path field to repoPath in fetchRepoInfo by @christopheralex-cc in #105
- feat(swift): full Swift / iOS language support with SPM import resolution by @jandyx in #94
- feat: add Kotlin language support by @magyargergo in #84
- Feat/php laravel support by @gunesbizim in #133
- feat: inline imperative instructions in CLAUDE.md/AGENTS.md by @abhigyanpatwari in #190
- chore: bump version to 1.3.7 by @abhigyanpatwari in #191
- fix(cli): force-exit after analyze to prevent KuzuDB hang by @abhigyanpatwari in #192
- chore: bump version to 1.3.8 by @abhigyanpatwari in #193
- fix(ingestion): align CALLS edge sourceId with node ID format by @abhigyanpatwari in #194
- fix: guard createASTCache against zero maxSize to prevent LRU cache crash by @magyargergo in #144
- fix(ci): harden CI/CD workflows with security fixes and reliability improvements by @Copilot in #222
- fix(ci): move PR report to workflow_run for fork PR support by @magyargergo in #225
- fix: skip unavailable native Swift parsers in sequential ingestion by @Gujiassh in #188
- fix: consolidate C/C++/C#/Rust language support from 6 overlapping PRs by @magyargergo in #237
- feat(models): add DeepSeek model configurations by @JasonOA888 in #217
- FEAT: Added support for optional skill generation based on KuzuDB after initial repo analysis (npx gitnexus analyze --skills) by @zander-raycraft in #171
- feat: language-aware code intelligence — symbol resolution, MRO, constructor discrimination by @magyargergo in #238
- fix(cli): dynamically discover and install agent skills by @cnighut in #270
- feat(ruby): Add Ruby language support for CLI and web by @candidosales in #111
- fix(ruby): method-level call resolution, HAS_METHOD edges, and dispatch table by @magyargergo in #278
- feat: TypeEnvironment API with constructor inference, self/this/super resolution by @magyargergo in #274
- refactor: migrate from KuzuDB to LadybugDB v0.15 by @candidosales in #275
- feat: return type inference, doc-comment parsing, and per-language type extractors by @magyargergo in #284
- feat(ingestion): respect .gitignore and .gitnexusignore during file discovery by @ivkond in #231
- feat: Phase 4 type resolution — nullable unwrapping, for-loop typing, assignment chains, code review f...
Release Candidate v1.6.3-rc.51
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.51
Target base: 1.6.3 (rc #51)
Source commit (main): 640df9b
Release commit (versioned tree): 6a6c472
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
🚨 Security
- Improve MCP startup compatibility and lazy-load CLI commands by @Shockang in #207
- test: add integration test coverage and fix KuzuDB fork crashes by @magyargergo in #209
🚀 Features
- feat(hooks): auto-reindex after git commit with embeddings preservation by @L1nusB in #205
- feat: HTTP embedding backend for self-hosted/remote endpoints by @zm2231 in #395
- feat: complete Swift support — query fix, export detection, implicit imports, constructor resolution by @marxo126 in #408
- feat(cli): add 'index' command to register existing .gitnexus/ folder by @adonisdoda in #402
- feat: add docker support by @BRAINIFII in #848
🐛 Bug Fixes
- fix: add preinstall cleanup to prevent ENOTEMPTY on global upgrade by @Copilot in #843
- fix: set env.cacheDir to user-writable location by @enihcam in #845
- fix: devendor tree-sitter-proto install lifecycle to prevent ENOTEMPTY on global upgrade by @magyargergo in #846
👷 CI/CD
- ci: add macOS to cross-platform test matrix by @magyargergo in #208
- workflow: triage reporting by @zander-raycraft in #421
📝 Other Changes
- readme by @abhigyanpatwari in #3
- Embeddings pipeline by @abhigyanpatwari in #4
- Embeddings pipeline by @abhigyanpatwari in #5
- highlight tool for agent, prompt enhancements by @abhigyanpatwari in #6
- highlight tool fixes by @abhigyanpatwari in #7
- prompt enhancements, azure ai provider fixes by @abhigyanpatwari in #8
- Embeddings pipeline by @abhigyanpatwari in #9
- Embeddings pipeline by @abhigyanpatwari in #10
- prompt changes by @abhigyanpatwari in #14
- Schema experiments by @abhigyanpatwari in #16
- Minor prompt fix by @abhigyanpatwari in #17
- Agent UI improved. Prompt injected with repo directory structure, hot… by @abhigyanpatwari in #18
- better regex for grounding, UI improvements by @abhigyanpatwari in #19
- Agent and UI improvements by @abhigyanpatwari in #20
- fixed settings icon and added openai provider support by @abhigyanpatwari in #21
- readme updated by @abhigyanpatwari in #22
- minor change in readme by @abhigyanpatwari in #23
- Schema experiments by @abhigyanpatwari in #24
- blast radius tool implemented by @abhigyanpatwari in #25
- readme mermain fix by @abhigyanpatwari in #26
- Mcp bridge by @abhigyanpatwari in #28
- Leidens algorithm and processmap by @abhigyanpatwari in #31
- Leidens algorithm and processmap by @abhigyanpatwari in #33
- Leidens algorithm and processmap by @abhigyanpatwari in #34
- updated readme by @abhigyanpatwari in #35
- Gitnexus cli by @abhigyanpatwari in #36
- Add Claude Code GitHub Workflow by @abhigyanpatwari in #46
- fix: use cross-platform npx command in .mcp.json by @abhigyanpatwari in #48
- fix: disable embeddings by default, fix segfault on macOS/Linux by @abhigyanpatwari in #51
- feat: local backend mode for web UI by @paulrobello in #49
- feat(plugin): self-contained Claude Code plugin with bundled MCP, hooks, and skills by @L1nusB in #68
- feat(ui): Add a copy button to the Nexus AI and copy the md result by @CrazyBunQnQ in #75
- feat(php): full PHP 8+ / Laravel support with Eloquent model tracking by @gunesbizim in #64
- Probe for CUDA before attempting GPU embeddings by @BlockSecCA in #58
- feat: remote server connection mode and multi-repo switching by @baconwasr1ght in #66
- fix(mcp): don't crash server when no repos are indexed by @abhigyanpatwari in #96
- fix: lazy-import embeddings to avoid onnxruntime crash on Node v24+ by @abhigyanpatwari in #99
- fix: ensure exec usage does not allow poisoning by @strazzere in #61
- feat(ingestion): add AST decorator-based entrypoint hints by @PurpleNewNew in #102
- fix(web): map API path field to repoPath in fetchRepoInfo by @christopheralex-cc in #105
- feat(swift): full Swift / iOS language support with SPM import resolution by @jandyx in #94
- feat: add Kotlin language support by @magyargergo in #84
- Feat/php laravel support by @gunesbizim in #133
- feat: inline imperative instructions in CLAUDE.md/AGENTS.md by @abhigyanpatwari in #190
- chore: bump version to 1.3.7 by @abhigyanpatwari in #191
- fix(cli): force-exit after analyze to prevent KuzuDB hang by @abhigyanpatwari in #192
- chore: bump version to 1.3.8 by @abhigyanpatwari in #193
- fix(ingestion): align CALLS edge sourceId with node ID format by @abhigyanpatwari in #194
- fix: guard createASTCache against zero maxSize to prevent LRU cache crash by @magyargergo in #144
- fix(ci): harden CI/CD workflows with security fixes and reliability improvements by @Copilot in #222
- fix(ci): move PR report to workflow_run for fork PR support by @magyargergo in #225
- fix: skip unavailable native Swift parsers in sequential ingestion by @Gujiassh in #188
- fix: consolidate C/C++/C#/Rust language support from 6 overlapping PRs by @magyargergo in #237
- feat(models): add DeepSeek model configurations by @JasonOA888 in #217
- FEAT: Added support for optional skill generation based on KuzuDB after initial repo analysis (npx gitnexus analyze --skills) by @zander-raycraft in #171
- feat: language-aware code intelligence — symbol resolution, MRO, constructor discrimination by @magyargergo in #238
- fix(cli): dynamically discover and install agent skills by @cnighut in #270
- feat(ruby): Add Ruby language support for CLI and web by @candidosales in #111
- fix(ruby): method-level call resolution, HAS_METHOD edges, and dispatch table by @magyargergo in #278
- feat: TypeEnvironment API with constructor inference, self/this/super resolution by @magyargergo in #274
- refactor: migrate from KuzuDB to LadybugDB v0.15 by @candidosales in #275
- feat: return type inference, doc-comment parsing, and per-language type extractors by @magyargergo in #284
- feat(ingestion): respect .gitignore and .gitnexusignore during file discovery by @ivkond in #231
- feat: Phase 4 type resolution — nullable unwrapping, for-loop typing, assignment chains, code review f...
Release Candidate v1.6.3-rc.50
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.50
Target base: 1.6.3 (rc #50)
Source commit (main): f4da8a0
Release commit (versioned tree): eddd956
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
- refactor(setup): migrate all config I/O to mergeJsoncFile by @HaleTom in #1031
- feat(analyze): preserve existing embeddings by default; --force regenerates them; add --drop-embeddings opt-out (CLI + HTTP API) by @Copilot in #1055
- chore(web): bump vite 5.4.21 -> 6.4.2 (iter 1 of 3) by @magyargergo in #1061
- chore(web): bump vite 6.4.2 -> 7.3.2 (iter 2 of 3) by @magyargergo in #1062
- chore(web): bump v...
Release Candidate v1.6.3-rc.49
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.49
Target base: 1.6.3 (rc #49)
Source commit (main): 3ed8e08
Release commit (versioned tree): 7217088
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
- refactor(setup): migrate all config I/O to mergeJsoncFile by @HaleTom in #1031
- feat(analyze): preserve existing embeddings by default; --force regenerates them; add --drop-embeddings opt-out (CLI + HTTP API) by @Copilot in #1055
- chore(web): bump vite 5.4.21 -> 6.4.2 (iter 1 of 3) by @magyargergo in #1061
- chore(web): bump vite 6.4.2 -> 7.3.2 (iter 2 of 3) by @magyargergo in #1062
New Contributors...
Release Candidate v1.6.3-rc.48
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.48
Target base: 1.6.3 (rc #48)
Source commit (main): 2b0392c
Release commit (versioned tree): d391cc1
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
- refactor(setup): migrate all config I/O to mergeJsoncFile by @HaleTom in #1031
- feat(analyze): preserve existing embeddings by default; --force regenerates them; add --drop-embeddings opt-out (CLI + HTTP API) by @Copilot in #1055
New Contributors
- @Bortlesboat made their first contribution in #750
- @xiaohaoxing made their first contribution in #990
- @jisue0224 made their first contribution in http...
Release Candidate v1.6.3-rc.47
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.47
Target base: 1.6.3 (rc #47)
Source commit (main): 5b1966c
Release commit (versioned tree): a415784
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
- refactor(setup): migrate all config I/O to mergeJsoncFile by @HaleTom in #1031
New Contributors
- @Bortlesboat made their first contribution in #750
- @xiaohaoxing made their first contribution in #990
- @jisue0224 made their first contribution in #806
- @sam-fakhreddine made their first contribution in #892
- @risky2k1 made their first contribution in h...
Release Candidate v1.6.3-rc.46
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.46
Target base: 1.6.3 (rc #46)
Source commit (main): 57808ef
Release commit (versioned tree): 3fb3427
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
- refactor(setup): migrate all config I/O to mergeJsoncFile by @HaleTom in #1031
New Contributors
- @Bortlesboat made their first contribution in #750
- @xiaohaoxing made their first contribution in #990
- @jisue0224 made their first contribution in #806
- @sam-fakhreddine made their first contribution in #892
- @risky2k1 made their first contribution in h...
Release Candidate v1.6.3-rc.45
Automated release candidate build from main.
npm: npm install gitnexus@rc
Version: 1.6.3-rc.45
Target base: 1.6.3 (rc #45)
Source commit (main): 3eeb283
Release commit (versioned tree): ff708f7
Release candidates are pre-stable builds intended for early testing.
Stable releases remain on the latest dist-tag.
What's Changed
📝 Other Changes
- feat(mcp): rank context/impact disambiguation candidates and expose kind/file_path hints by @azizur100389 in #888
- fix(test): isolate cli-e2e from shared mini-repo fixture by @magyargergo in #954
- feat(shared): add scope-resolution types + constants (#910, RFC #909 Ring 1) by @magyargergo in #949
- feat(shared,ingestion): extend LanguageProvider with scope-resolution hooks (#911, RFC #909 Ring 1) by @magyargergo in #950
- scaffold(shared): shadow diff + aggregate skeletons (#918, RFC #909 Ring 2 SHARED) by @magyargergo in #951
- fix: ENOBUFS in detect_changes by setting maxBuffer on git/rg execFileSync by @Copilot in #957
- feat(shared): DefIndex / ModuleScopeIndex / QualifiedNameIndex (#913, RFC #909 Ring 2 SHARED) by @magyargergo in #958
- feat(shared): resolveTypeRef strict type resolver (#916, RFC #909 Ring 2 SHARED) by @magyargergo in #959
- feat(shared): MethodDispatchIndex materialized view over HeritageMap (#914, RFC #909 Ring 2 SHARED) by @magyargergo in #960
- feat(search): per-phase timing instrumentation for the query pipeline by @azizur100389 in #953
- feat(shared): ScopeTree + PositionIndex + makeScopeId (#912, RFC #909 Ring 2 SHARED) by @magyargergo in #961
- feat(shared): SCC-aware finalize algorithm with bounded fixpoint (#915, RFC #909 Ring 2 SHARED) by @magyargergo in #962
- feat(shared): ClassRegistry / MethodRegistry / FieldRegistry + 7-step lookup (#917, RFC #909 Ring 2 SHARED) by @magyargergo in #963
- chore(shared): apply Ring 2 SHARED review follow-ups in one diff by @magyargergo in #964
- feat(ingestion): ScopeExtractor driver — 5-pass CaptureMatch → ParsedFile (#919, RFC #909 Ring 2 PKG) by @magyargergo in #965
- feat(ingestion): REGISTRY_PRIMARY_ per-language flag reader (#924, RFC #909 Ring 2 PKG) by @magyargergo in #968
- feat(ingestion): wire ScopeExtractor into parse-worker + processor (#920, RFC #909 Ring 2 PKG) by @magyargergo in #969
- feat(ingestion): finalize-orchestrator materializes ScopeResolutionIndexes (#921, RFC #909 Ring 2 PKG) by @magyargergo in #970
- feat(docker): ship signed UI + CLI/server images via docker-compose by @Copilot in #967
- feat(ingestion): per-language resolveImportTarget adapter (#922, RFC #909 Ring 2 PKG) by @magyargergo in #971
- feat(ingestion): shadow-mode parity harness + static dashboard (#923, RFC #909 Ring 2 PKG) by @magyargergo in #972
- feat(ingestion): emit-references drains ReferenceIndex to graph edges (#925, RFC #909 Ring 2 PKG) by @magyargergo in #973
- fix: detect React component paths before lowercasing by @Gujiassh in #260
- feat(cli): analyze --name + duplicate-name guard for the repo registry by @azizur100389 in #955
- fix(docker): build and push Docker images for Release Candidates by @Copilot in #978
- feat(cli): infer registry name from
git remote.origin.urlby @Copilot in #981 - fix: guard RC docker job against empty vtag and add early validation in docker.yml by @Copilot in #983
- feat(embeddings): structural chunking with data-driven CHUNKING_RULES dispatch by @evander-wang in #987
- docs: include --skip-git in README command list by @Bortlesboat in #750
- feat: cross-repo impact analysis (#794) — @repo MCP routing + group resources by @ivkond in #984
- fix(embeddings): replace recursive AST traversal with iterative DFS by @xiaohaoxing in #990
- fix(bm25): return FTS-matched symbols instead of arbitrary LIMIT 3 nodes by @jisue0224 in #806
- fix: expose detect-changes in direct CLI by @sam-fakhreddine in #892
- feat(extractors): add PHP HTTP consumer detection (Http::, Guzzle, file_get_contents) by @jonasvanderhaegen-xve in #993
- fix(docker): use inputs.tag to detect workflow_call context by @evander-wang in #996
- fix(docker): copy gitnexus/package.json into web builder stage by @evander-wang in #997
- docs(group): add gRPC microservices group guide (#906) by @ivkond in #994
- fix(fts): Don't cache failed FTS index ensure; invalidate on pool teardown by @Copilot in #1006
- fix(group): bubble local-impact phase errors in groupImpact (#1004) by @ivkond in #1007
- feat(cli): gitnexus remove to unindex a registered repo by name or path (#664) by @azizur100389 in #1003
- feat(python): scope-based call resolution + registry-primary flip + perf + generalization (RFC #909 Ring 3) by @Copilot in #980
- fix(group): surface friendly error when group name not found (#903 regression test) by @sam-fakhreddine in #989
- fix(ci): Change docker base image from alpine to debian by @evander-wang in #1014
- feat(cli): Fingerprint indexed repos by remote URL to detect sibling-clone graph drift by @Copilot in #982
- docs: fix
group addandgroup removeusage in READMEs by @risky2k1 in #1020 - fix: preserve comments and config in opencode.json during setup by @HaleTom in #998
- fix(cli): only match markers at section position (#1041) by @azizur100389 in #1042
- docs: add DoD.md repo-wide Definition of Done by @magyargergo in #1032
- fix: issue 986 go does not generate "calls" relationship on reciver functions by @evander-wang in #1043
- fix(ingestion): Log skipped sequential parser languages by @Gujiassh in #1021
- feat(ingestion): make large-file skip threshold configurable by @sonutessell in #1044
- docs(ingestion): document configurable large-file skip threshold (#991) by @sonutessell in #1045
- feat(csharp): migrate C# to registry-primary scope-resolution (Closes #934) by @magyargergo in #1019
- feat(ingestion): GITNEXUS_INDEX_TEST_DIRS opt-in for tests / mocks (#771) by @azizur100389 in #1046
- fix(deps): silence Node 22 DEP0151 warning from tree-sitter-c-sharp import (#1013) by @azizur100389 in #1049
- ci(docker): mirror signed images to Docker Hub alongside GHCR by @magyargergo in #1029
- test(gitnexus): stabilize rel-csv-split stream teardown on Windows (expect.poll) by @magyargergo in #1052
- fix(ci): pass secrets to reusable docker job (RC Docker Hub login) by @magyargergo in #1054
- fix(fts): try local LOAD before INSTALL to avoid network failures by @pratyush618 in #726
New Contributors
- @Bortlesboat made their first contribution in #750
- @xiaohaoxing made their first contribution in #990
- @jisue0224 made their first contribution in #806
- @sam-fakhreddine made their first contribution in #892
- @risky2k1 made their first contribution in #1020
- @HaleTom made their first contribution in https://github.com/abhigyanpatwa...