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 fixes by @magyargergo in #310
- feat: Phase 5 type resolution — chained calls, pattern matching, class-as-receiver by @magyargergo in #315
- docs: add Codex MCP configuration to README by @ZakAnun in #236
- fix(resolver): fix for same-directory python imports by @cnighut in #328
- feat: Phase 6 type resolution — for-loop Tier 1c, pattern matching, container descriptors, 10-language coverage by @magyargergo in #318
- fix: add postinstall permission fix for CLI and hook scripts (#330) by @ShunsukeHayashi in #348
- fix(impact): add HAS_METHOD and OVERRIDES to VALID_RELATION_TYPES by @karesansui-u in #350
- fix(cli): write tool output to stdout via fd 1 instead of stderr (#324) by @ShunsukeHayashi in #346
- fix(impact): return structured error + partial results instead of crashing (#321) by @ShunsukeHayashi in #345
- feat: Phase 7 type resolution — return-aware loop inference & PHP class-property iterables by @magyargergo in #341
- fix: MCP server crashes under parallel tool calls (#326) by @RyuzakiH in #349
- fix: add Python enumerate() for-loop support with nested tuple patterns by @cnighut in #356
- Fix undefined parsing error on languages missing from call routers by @demirciberk in #364
- feat: Phase 8 field/property type resolution by @magyargergo in #354
- feat: ACCESSES edge type with read/write field access tracking by @magyargergo in #372
- feat: upgrade @ladybugdb/core to 0.15.2 and remove segfault workarounds by @abhigyanpatwari in #374
- feat: Phase 9 — Return-type-aware variable binding with unified fixpoint chain propagation by @magyargergo in #379
- feat(type-resolution): Milestone D — Phases A, B, C + Kotlin fix + 11-language integration tests by @magyargergo in #387
- FIX - Claude review fork 403 for PR reviews by @zander-raycraft in #388
- CI sticky notes by @zander-raycraft in #391
- SEC/ spam guards for the PR and issue claude-review workflow for contributions by @zander-raycraft in #394
- feat(type-resolution): polymorphism and method overloading support by @magyargergo in #392
- fix: sequential enrichment queries + stale data detection (#285, #290, #292, #297) by @hiromima in #396
- feat: add MiniMax provider support by @ximiximi423 in #224
- feat(cli): add Codex MCP + skills support to setup by @x0m4ek in #69
- feat: add markdown file indexing (headings + cross-links) by @abhigyanpatwari in #399
- fix: register Section in NODE_TABLES and NODE_SCHEMA_QUERIES by @abhigyanpatwari in #401
- fix: hydrate worker DB in server mode + fix LadybugDB getAll API mismatch by @fabianhug in #404
- feat(type-resolution): cross-file binding propagation by @magyargergo in #397
- refactor: unify language dispatch with compile-time exhaustive tables by @magyargergo in #409
- fix: prevent native crash when CUDA libs present but ORT lacks provider by @jim80net in #300
- docs(schema): add Community and Process node properties to cypher tool description (#411) by @ShunsukeHayashi in #428
- fix(analyze): allow indexing folders without a .git directory (#384) by @ShunsukeHayashi in #426
- fix(server): allow private/LAN network origins in CORS (#390) by @ShunsukeHayashi in #424
- fix(lbug): retry withLbugDb on BUSY/lock error from external process (#325) by @ShunsukeHayashi in #425
- fix(impact): use per-relation-type confidence floor instead of fixed 1.0 (#412) by @ShunsukeHayashi in #427
- update method for labeling prs by @zander-raycraft in #464
- Fix gitnexus-web server-mode repo switching and query readiness by @JayceeB1 in #400
- feat(ui): ship HelpPanel — because great tools don't make you google how to use them by @che3zcake in #465
- fix(python): resolve module-qualified constructor calls — 0 CALLS edges (Issue #337) by @ShunsukeHayashi in #463
- fix(web): LadybugDB getAllRows, loadServerGraph, BM25, highlight clearing by @jreakin in #474
- fix(ingestion): resolve Python import-alias CALLS edges by @ShunsukeHayashi in #461
- fix(web): Cypher injection guards, DOMPurify SVG, readOnly executeQuery by @jreakin in #475
- fix(web): resolve Vercel build errors from security hardening PR by @abhigyanpatwari in #483
- fix(web): 18 multi-language CSV tables, RFC 4180, schema sync by @jreakin in #476
- perf(web): O(1) lookups, memoization, bundle optimizations, React fixes by @jreakin in #477
- feat: deep flow detection — consumer access tracking, middleware chains, error shapes, api_impact tool by @marxo126 in #482
- Updating claude mcp init for window and adding OS detection when installing by @zander-raycraft in #490
- fix(ui): use actual repository name instead of top-level folder for GitHub clones by @che3zcake in #491
- feat(web): add GLM (Z.AI) as LLM provider by @huyphung1602 in #468
- ci: E2E workflow, web typecheck job, pre-commit hook, test suite by @jreakin in #486
- refactor: SICP-informed LanguageProvider architecture by @magyargergo in #488
- fix(#480): resolve impact/context returning empty results for Java cl… by @Yashgarg2928 in #489
- docs: agent development framework, GitHub templates, eval refactor by @jreakin in #479
- feat: PHP response shape extraction for json_encode patterns by @marxo126 in #502
- feat: add Expo Router file-based route detection by @marxo126 in #503
- feat(wiki): add Cursor CLI as LLM provider option by @cnighut in #381
- chore: upgrade tree-sitter to 0.25.0 by @mrwogu in #516
- feat(routes): link Next.js project-level middleware.ts to routes by @marxo126 in #504
- fix(python): resolve two remaining alias gaps (#417) by @jelsco in #505
- fix: shape_check false positives — quoted keys, DOM leaks, errorKeys by @marxo126 in #501
- fix(ci): move shape-check-regression test to lbug-db project by @magyargergo in #518
- feat: add more node types in filter panel by @cnighut in #519
- feat: add Dart language support by @mrwogu in #204
- feat: add ORM dataflow detection (Prisma + Supabase) by @marxo126 in #511
- [CLI] Fixes a false-positive in the Cypher write-detection regex and improves the Impact tool's enrichment path by using batched chunking and entry-point grouping (#496) by @ThinhKVT in #507
- docs: add Dart to supported languages in README by @xFlaviews in #525
- refactor: split global BUILT_IN_NAMES into per-language provider fields by @mrwogu in #523
- fix: close remaining Dart language support gaps by @xFlaviews in #524
- feat: add COBOL language support with regex extraction pipeline by @magyargergo in #498
- refactor: Phase 8 & 9 - Field Types and Return-Type Binding by @oleg-deezus in #494
- fix: resolve tree-sitter peer dependency conflicts breaking MCP server install via npx by @Copilot in #538
- fix/opencode mcp gitnexus timeout by @juampymdd in #363
- feat: unify web and cli ingestion pipeline by @magyargergo in #536
- feat: configure prettier with pre-commit hook by @magyargergo in #563
- feat: configure eslint with unused import removal by @magyargergo in #564
- feat(java): method references, worker overload disambiguation, interface dispatch by @cnighut in #540
- refactor: reduce explicit any types by @magyargergo in #566
- feat(wiki): Azure OpenAI support for wiki command by @abhigyanpatwari in #562
- feat: added skip-agents-md cli flag by @gjcampbell in #517
- feat(java,kotlin): MethodExtractor abstraction with per-language configs by @magyargergo in #576
- fix(eval): exclude litellm 1.82.7 and 1.82.8 due to compatibility issues by @Cenrax in #580
- chore: add enterprise offering section to README, ignore local_docs/ by @Cenrax in #579
- docs: add gitnexus-shared build step before gitnexus-web by @agungwa in #585
- feat(csharp): C# MethodExtractor config by @magyargergo in #582
- feat(web): add repo landing screen with selectable repo cards by @abhigyanpatwari in #607
- chore: release v1.5.0 by @abhigyanpatwari in #611
- fix: bundle gitnexus-shared into CLI dist by @abhigyanpatwari in #613
- feat(ts,js): TypeScript/JavaScript MethodExtractor config by @magyargergo in #588
- fix(wiki): Azure OpenAI compat and HTML viewer script injection by @abhigyanpatwari in #618
- feat(cpp): C/C++ MethodExtractor config with pure virtual detection by @magyargergo in #617
- Java method reference by @cnighut in #622
- feat(vue): Vue SFC support + destructured call result tracking by @son-nguyen-301 in #604
- [group] Intra-repo service communication tracking by @ivkond in #626
- feat: MethodExtractor configs for Python, PHP, Swift, Dart, Rust, Ruby by @magyargergo in #624
- fix(web): scope all backend calls to the active repo, not always the first by @abhigyanpatwari in #644
- fix(web): replace aggressive heartbeat disconnect with graceful reconnection by @abhigyanpatwari in #643
- fix(mcp): unify stdout silencing to prevent embedder/pool-adapter conflicts by @abhigyanpatwari in #645
- feat: METHOD_IMPLEMENTS edges, overload disambiguation, MethodExtractor unification (#574) by @magyargergo in #642
- feat: same-arity overload disambiguation via type-hash suffix (#651) by @magyargergo in #658
- fix: replace Array.push(...spread) with loop to prevent stack overflow by @tantk in #650
- fix(server): return clean CORS rejection instead of 500 error by @abhigyanpatwari in #646
- fix(setup): prefer global gitnexus binary over npx for MCP config by @abhigyanpatwari in #653
- fix(ignore): respect negation patterns in .gitnexusignore by @ivkond in #654
- feat: lookupMethodByOwner index for O(1) cross-class chain resolution by @magyargergo in #665
- fix(docs): fix codex duplicate typo in main readme file by @x0m4ek in #687
- scarf by @zander-raycraft in #688
- refactor: extract CLASS_LIKE_TYPES constant by @tushardhawas in #693
- [cli] Add lookupClassByName index to SymbolTable by @ideepakchauhan7 in #707
- [cli] Add qualified class lookups to SymbolTable by @ideepakchauhan7 in #716
- fix(symbol-table): index constructors in methodByOwner by @txhno in #694
- [cli] Add fuzzy lookup counters by @kunalhemnani1 in #708
- [cli] Replace class-type fuzzy lookups in type-env.ts by @ShiningXu in #733
- [cli] Replace Phase P class checks with class lookup index by @ShiningXu in #734
- [cli] Replace owner-filtered method lookups in type-env by @ShiningXu in #736
- feat(SM-8): Build HeritageMap from accumulated ExtractedHeritage[] by @Copilot in #739
- feat(SM-9): Add lookupMethodByOwnerWithMRO using HeritageMap by @Copilot in #740
- SM-10: Add MRO fast path before D2 fuzzy widening in resolveCallTarget by @Copilot in #741
- fix(web): correct dev-mode serve command in OnboardingGuide by @pratyush618 in #725
- docs: fix web UI install link spacing in README by @kuishou68 in #731
- feat: support GITNEXUS_HOME env var to customize global directory by @evander-wang in #746
- feat: print skipped large file paths in verbose analyze output by @muratclk in #745
- fix(deps): pin tree-sitter-c override to resolve npx peer dep conflict by @pratyush618 in #723
- test(symbol-table): add integration coverage for constructor owner lookup by @txhno in #753
- Extract
resolveMemberCallfromresolveCallTarget(SM-11) by @Copilot in #744 - fix(ingestion): replace lookupExact with lookupExactAll in named-bind… by @kunalhemnani1 in #755
- feat(SM-12): Extract
resolveStaticCallfromresolveCallTargetby @Copilot in #754 - [codex] fix large repository graph loading by @JaysonAlbert in #732
- Extract
resolveFreeCallfromresolveCallTarget(SM-13) by @Copilot in #756 - feat(sm-14): add BindingAccumulator — collect TypeEnv outputs across files by @abhigyanpatwari in #743
- Fix security issues and critical bugs found in code review by @Gahrcoder in #709
- feat(SM-15): Wire BindingAccumulator into processCallsFromExtracted for cross-file return type propagation by @Copilot in #763
- feat(SM-16): Restructure
resolveUncached— replacelookupFuzzydata source for all tiers by @Copilot in #764 - feat(SM-18): Delete lookupFuzzy, lookupFuzzyCallable, globalIndex, callableIndex by @Copilot in #769
- fix: resolve false 404 errors and stale repo context during multi-repo switching on Windows by @Yogesh1290 in #633
- Fix OpenCode config path, FTS extension load order, error messages, and CLAUDE.md stats by @Gahrcoder in #781
- SM-19: Delete resolveCallTarget — replace with thin dispatcher by @Copilot in #770
- Fix HTTP client vs Express route detection and Spring interface attribution by @Gahrcoder in #780
- fix: map diff hunks to symbol line ranges in detect_changes by @Gahrcoder in #779
- fix: load VECTOR extension during DB init for semantic search by @Gahrcoder in #782
- Fix stack overflow on large PHP files — iterative AST traversal by @jwwd-repos in #783
- fix(csharp): capture interface-to-interface heritage by @Prota100 in #789
- fix: restore tree-sitter-swift postinstall patch for macOS ARM64 by @dave in #788
- feat(group): bridge.lbug storage + contract matching expansion (1/4 of #606 split) by @ivkond in #795
- Extract registries into
model/module with SemanticModel interface by @Copilot in #786 - chore: release v1.6.0 by @magyargergo in #798
- feat(group): extractor expansion + manifest extractor (2/4 of #606 split) by @ivkond in #796
- fix: resolve generic TypeScript awaited function calls missing from call graph by @Copilot in #804
- fix: remove
file:../gitnexus-sharedfrom runtime dependencies by @Copilot in #803 - [dart] Add call patterns for await, cascade, lambda, and widget-tree contexts by @Arkh74278 in #801
- [cli] Preserve Ruby singleton_class context in sequential parsing by @ideepakchauhan7 in #774
- fix: replace tree-sitter-dart git URL with tarball to fix npm install crash by @Copilot in #811
- fix: prevent stack overflow and memory exhaustion on large repo analysis by @Copilot in #814
- refactor(pipeline): DAG-based phase architecture + container-logic extraction to LanguageProvider by @Copilot in #809
- chore: release v1.6.1 by @magyargergo in #815
- feat(web): add smart chat scroll by @noCharger in #767
- fix(extractors): resolve 3 silent contract mis-resolution bugs (#793) by @magyargergo in #817
- Fix npm arborist crash caused by tree-sitter-dart tarball URL format by @Copilot in #820
- fix: resolve C/C++ cross-file calls through transitive #include chains by @fcostaoliveira in #816
- fix: prevent drain listener leak in relationship CSV streaming by @MekayelAnik in #818
- feat(ci): add release-candidate publish pipeline by @magyargergo in #825
- fix(embeddings): prevent batch errors from CodeEmbedding PK violations and vector-index SET restriction by @jonasvanderhaegen-xve in #823
- fix(lbug): wait for read stream close in splitRelCsvByLabelPair (Windows ENOTEMPTY) by @magyargergo in #832
- [group/sync] Fix ManifestExtractor never called — config.links always produced 0 cross-links by @jonasvanderhaegen-xve in #827
- fix(deps): pin tree-sitter-c-sharp to 0.23.1 by @Copilot in #834
- fix: content-hash staleness detection for embeddings and vector index creation on zero-node path by @Copilot in #831
- ci: standardize workflow concurrency and automate release-note labeling by @magyargergo in #837
- docs: optimize context files for LLM accuracy and token efficiency by @magyargergo in #857
- refactor(ingestion): move class extraction configs to configs/ subdirectory by @Copilot in #879
- feat(ingestion): language-agnostic call extractor with config+factory pattern by @Copilot in #877
- feat(ingestion): language-agnostic variable extractor with config+factory pattern by @Copilot in #878
- refactor(SM-20): wire SemanticModel as first-class resolution input by @Copilot in #885
- feat(extractors): detect jQuery $.ajax/$.get/$.post and axios object-form as HTTP consumers by @azizur100389 in #887
- refactor(ingestion): split ImportSemantics into per-strategy hooks (Strategies 1-4) by @Copilot in #886
- feat(embeddings): AST-aware chunking with offset-based splitting by @evander-wang in #889
- fix: keep worker warnings non-terminal by @Gujiassh in #261
- fix(python): avoid local matches for external dotted imports by @yacinehmito in #899
- feat(ingestion): language-agnostic heritage extractor with config+factory pattern by @Copilot in #890
- refactor(cli): trim duplicated ai-context CLAUDE.md block by @azizur100389 in #904
- test(web-e2e): raise status-ready timeout to 45s for parallel-worker stability by @Copilot in #908
- fix: keep worker warnings non-terminal by @Gujiassh in #900
- chore(release): v1.6.2 by @magyargergo in #952
- 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 vite 7.3.2 -> 8.0.10 + vitest 4 (iter 3 of 3) by @magyargergo in #1063
New Contributors
- @paulrobello made their first contribution in #49
- @L1nusB made their first contribution in #68
- @CrazyBunQnQ made their first contribution in #75
- @gunesbizim made their first contribution in #64
- @BlockSecCA made their first contribution in #58
- @baconwasr1ght made their first contribution in #66
- @strazzere made their first contribution in #61
- @PurpleNewNew made their first contribution in #102
- @christopheralex-cc made their first contribution in #105
- @jandyx made their first contribution in #94
- @magyargergo made their first contribution in #84
- @Shockang made their first contribution in #207
- @Copilot made their first contribution in #222
- @Gujiassh made their first contribution in #188
- @JasonOA888 made their first contribution in #217
- @zander-raycraft made their first contribution in #171
- @cnighut made their first contribution in #270
- @candidosales made their first contribution in #111
- @ivkond made their first contribution in #231
- @ZakAnun made their first contribution in #236
- @ShunsukeHayashi made their first contribution in #348
- @karesansui-u made their first contribution in #350
- @RyuzakiH made their first contribution in #349
- @demirciberk made their first contribution in #364
- @hiromima made their first contribution in #396
- @ximiximi423 made their first contribution in #224
- @x0m4ek made their first contribution in #69
- @fabianhug made their first contribution in #404
- @jim80net made their first contribution in #300
- @JayceeB1 made their first contribution in #400
- @che3zcake made their first contribution in #465
- @zm2231 made their first contribution in #395
- @jreakin made their first contribution in #474
- @marxo126 made their first contribution in #408
- @huyphung1602 made their first contribution in #468
- @Yashgarg2928 made their first contribution in #489
- @mrwogu made their first contribution in #516
- @adonisdoda made their first contribution in #402
- @jelsco made their first contribution in #505
- @ThinhKVT made their first contribution in #507
- @xFlaviews made their first contribution in #525
- @oleg-deezus made their first contribution in #494
- @juampymdd made their first contribution in #363
- @gjcampbell made their first contribution in #517
- @agungwa made their first contribution in #585
- @son-nguyen-301 made their first contribution in #604
- @tantk made their first contribution in #650
- @tushardhawas made their first contribution in #693
- @ideepakchauhan7 made their first contribution in #707
- @txhno made their first contribution in #694
- @kunalhemnani1 made their first contribution in #708
- @ShiningXu made their first contribution in #733
- @pratyush618 made their first contribution in #725
- @kuishou68 made their first contribution in #731
- @muratclk made their first contribution in #745
- @JaysonAlbert made their first contribution in #732
- @Gahrcoder made their first contribution in #709
- @Yogesh1290 made their first contribution in #633
- @jwwd-repos made their first contribution in #783
- @Prota100 made their first contribution in #789
- @dave made their first contribution in #788
- @Arkh74278 made their first contribution in #801
- @noCharger made their first contribution in #767
- @fcostaoliveira made their first contribution in #816
- @MekayelAnik made their first contribution in #818
- @jonasvanderhaegen-xve made their first contribution in #823
- @dependabot[bot] made their first contribution in #840
- @enihcam made their first contribution in #845
- @azizur100389 made their first contribution in #887
- @yacinehmito made their first contribution in #899
- @BRAINIFII made their first contribution in #848
- @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 #998
- @sonutessell made their first contribution in #1044
Full Changelog: https://github.com/abhigyanpatwari/GitNexus/commits/v1.6.3-rc.52