github abhigyanpatwari/GitNexus v1.6.0

5 hours ago

What's New

SemanticModel Architecture (SM-8 through SM-19)

The ingestion model layer was rebuilt from the ground up. The old god-object SymbolTable that mixed leaf storage, owner-scoped registries, and mutation entry points has been replaced by a clean model/ module with focused, ISP-compliant components:

  • TypeRegistry for class-like nodes, MethodRegistry for owner-scoped methods with arity-aware overload lookup, FieldRegistry for properties
  • RegistrationTable with compile-time dispatch constraints ensuring every NodeLabel is classified
  • ResolutionContext with a first-class Tier 2a named-binding step and two Tier 3 performance fast paths
  • HeritageMap built from accumulated ExtractedHeritage[] powering MRO-aware method resolution across inheritance chains (#739, #740, #741)
  • BindingAccumulator for cross-file return type propagation (#743, #763)
  • The resolveCallTarget monolith was decomposed into resolveMemberCall (#744), resolveStaticCall (#754), and resolveFreeCall (#756), then replaced with a thin dispatcher (#770)
  • All fuzzy lookups (lookupFuzzy, lookupFuzzyCallable, globalIndex, callableIndex) deleted and replaced with structured O(1) indices (#769)

Service Group Infrastructure

A new subsystem for tracking cross-service dependencies in monorepos. Detects service boundaries, extracts contracts, and maps how services communicate. Includes a sync pipeline, CLI commands, MCP tools, and a monorepo test fixture. Bridge storage backed by LadybugDB with contract matching expansion (#795).

Language Improvements

  • Vue SFC support with destructured call result tracking (#604)
  • C# interface-to-interface heritage capture (#789)
  • Java method referencesobj::method treated as call sites (#622)
  • C/C++ MethodExtractor config with pure virtual detection (#617)
  • MethodExtractor configs for Python, PHP, Swift, Dart, Rust, Ruby (#624)
  • METHOD_IMPLEMENTS edges with overload disambiguation and MethodExtractor unification (#642)
  • Same-arity overload disambiguation via type-hash suffix (#658)

CLI and Tooling

  • GITNEXUS_HOME env var to customize the global directory (#746)
  • Class name lookup index for O(1) qualified lookups (#707, #716)
  • lookupMethodByOwner index for O(1) cross-class chain resolution (#665)
  • Verbose analyze output now prints skipped large file paths (#745)
  • Fuzzy lookup counters for performance visibility (#708)

Fixed

  • Stack overflow on large PHP files — switched to iterative AST traversal (#783)
  • Large repository graph loading failure (#732)
  • Windows multi-repo switching — false 404 errors and stale repo context (#633)
  • detect_changes diff mapping — diff hunks now map to symbol line ranges (#779)
  • HTTP client vs Express route detection and Spring interface attribution (#780)
  • VECTOR extension not loaded during DB init for semantic search (#782)
  • tree-sitter-swift postinstall patch for macOS ARM64 (#788)
  • tree-sitter-c peer dependency conflict pinned (#723)
  • Constructor indexing in methodByOwner (#694, #753)
  • Named binding processorlookupExact replaced with lookupExactAll (#755)
  • .gitnexusignore negation patterns now respected (#654)
  • MCP setup prefers global gitnexus binary over npx (#653)
  • CORS rejection returns clean error instead of 500 (#646)
  • Array.push stack overflow — replaced spread with loop (#650)
  • MCP stdout silencing prevents embedder/pool-adapter conflicts (#645)
  • Web heartbeat — graceful reconnection replaces aggressive disconnect (#643)
  • Web repo scoping — backend calls scoped to active repo (#644)
  • OpenCode config path and FTS extension load order (#781)
  • OnboardingGuide dev-mode serve command corrected (#725)
  • Security issues and critical bugs from code review (#709)

Changed

  • Replaced class-type fuzzy lookups with structured indices in type-env (#733, #734, #736)
  • Extracted CLASS_LIKE_TYPES constant (#693)

Contributors

Full Changelog: v1.5.3...v1.6.0

Don't miss a new GitNexus release

NewReleases is sending notifications on new releases.