Skip to content

v0.1.3

Choose a tag to compare

@JeelGajera JeelGajera released this 09 May 13:06
· 81 commits to master since this release
13c493b

v0.1.3: The Performance & Dependency Injection Update ⚡

This is a massive update for Graphyn that brings up to a 20x performance increase for large repositories, first-class support for Dependency Injection (DI) frameworks (like NestJS/Angular), and critical stability fixes for Windows users.

✨ Highlights

  • Parallel Parsing: Dropped analysis time for 1,000+ file projects from ~10 minutes to under 30 seconds.
  • DI & Decorator Tracking: Graphyn now perfectly tracks this.service.method() property accesses originating from constructor-injected dependencies.
  • Rock-solid Windows Support: Fixed RocksDB path crashes and glob pattern matching on Windows machines.
  • Agent Setup Pack: Added pre-built .md rule files for Cursor, Claude, Copilot, and Gemini.

🚀 New Features

  • Constructor Injection Tracking: Graphyn now parses constructor parameters (e.g., constructor(private userRepo: UserRepository)) and accurately maps this.userRepo.findById() calls to the underlying class. This eliminates blind spots in DI-heavy TypeScript codebases.
  • Decorator Support: AST extraction now parses @Module({ providers: [...], controllers: [...] }) arrays, automatically creating UsesType dependency edges for framework wiring.
  • Method-Level Tracking: Queries like blast-radius and deps now accurately traverse individual method-level relationships instead of just falling back to the parent class.
  • Agent Setup Pack: Added the agent-configs/ directory containing out-of-the-box system instructions (AGENTS.md, .cursorrules, CLAUDE.md, etc.) to instantly teach your AI agents how to query Graphyn via MCP.

⚡ Performance

  • Parallel AST Parsing: Replaced sequential loops with rayon, maxing out all CPU cores to parse files simultaneously.
  • Zero-Syscall Probing: Replaced hundreds of thousands of expensive disk syscalls (.is_file()) with an O(1) memory lookup (HashSet), dramatically speeding up local import resolution.
  • Eager Barrel Expansion: Pre-computes and caches export * paths upfront, eliminating exponential lookup loops when resolving imports across massive barrel files.

🐛 Bug Fixes

  • Windows RocksDB Crash (CRITICAL): Safely strips \\?\ and \\?\UNC\ extended-path prefixes from Windows paths before they hit RocksDB, preventing mixed-separator crashes when writing to the DB LOG file.
  • Glob --include Filters (CRITICAL): Fixed an issue where the directory walker failed to descend into matching paths on Windows, resulting in 0 files parsed.
  • Zero-File Warnings: graphyn analyze now exits gracefully with a helpful warning and troubleshooting tip if your --include/--exclude filters result in 0 files.
  • Cleaned CLI Output: Removed ugly UNC path prefixes from terminal output on Windows.
  • Ambiguous Symbol UX: Improved error messages to explicitly suggest querying by ClassName if a method name query is ambiguous.
  • Intel Mac Installer: Updated the install script to clearly direct x86_64 macOS users to the cargo install fallback.

📦 How to Upgrade

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/JeelGajera/graphyn/master/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/JeelGajera/graphyn/master/install.ps1 | iex

Cargo:

cargo install graphyn-cli --git https://github.com/JeelGajera/graphyn --force

Full Changelog: v0.1.2...v0.1.3