github abhigyanpatwari/GitNexus v1.6.3-rc.52
Release Candidate v1.6.3-rc.52

latest releases: v1.6.4-rc.1, v1.6.3, rc/247b1bd556685d68e893333144c928e48e01dfb8...
pre-release10 hours ago

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

📝 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 resolveMemberCall from resolveCallTarget (SM-11) by @Copilot in #744
  • fix(ingestion): replace lookupExact with lookupExactAll in named-bind… by @kunalhemnani1 in #755
  • feat(SM-12): Extract resolveStaticCall from resolveCallTarget by @Copilot in #754
  • [codex] fix large repository graph loading by @JaysonAlbert in #732
  • Extract resolveFreeCall from resolveCallTarget (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 — replace lookupFuzzy data 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-shared from 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.url by @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 add and group remove usage 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

Full Changelog: https://github.com/abhigyanpatwari/GitNexus/commits/v1.6.3-rc.52

Don't miss a new GitNexus release

NewReleases is sending notifications on new releases.