Skip to content

v4.1.5

Choose a tag to compare

@github-actions github-actions released this 24 May 22:41
· 63 commits to main since this release

Security

  • Parameterized SQL in interrogate — role counting uses LIKE ? with rusqlite::params!; pattern queries use parameterized ? instead of format! string interpolation
  • PID-based lockfile in session-start.sh with stale PID detection to prevent concurrent session corruption
    Reliability
  • Stable content hashing — replaced DefaultHasher (non-deterministic across Rust versions) with XOR-fold of raw content hash bytes (64-char hex, deterministic)
  • Staleness throttle on ensure_cruncher_fresh — 5s minimum between manifest reads to avoid redundant I/O under heavy tool use
  • Ordering::Acquire/Release for indexing AtomicBool (was Relaxed)
  • Manifest v3→v4 auto-migration on load — flags cruncher stale, persists updated manifest
  • install.sh hard-fail on missing checksums/sha256 tools instead of silently skipping verification
  • Runtime OS detection — replaced cfg!(target_os) compile-time checks with std::env::consts::OS for runtime correctness in cross-compiled binaries
    New Features
  • graphiq update — self-update command: checks latest GitHub release, downloads platform tarball, installs binaries, detects running graphiq-mcp via pgrep, prompts Restart graphiq? [y/N], honors choice
  • graphiq --version — now returns the current version (was missing, broke graphiq update)
    Code Quality
  • Extracted write_mcp_json_config() helper — removed ~200 lines of duplicate JSON merge-write across Claude Desktop, Claude Code, Cursor, Windsurf
  • Split DepCheck into install_cmd_macos/linux (safe to execute) + alt_hint (display only)
  • aarch64-linux cross-compile linker override via .cargo/config.toml for CI
    Desktop
  • Downgraded Electron from 42.x → 34.5.8 (V8 13.x broke v8::External::New/Value API used by better-sqlite3)
  • Reverted better-sqlite3 to 11.x for V8 12.x compatibility
  • Desktop-macos CI set to continue-on-error: true so CLI releases aren't blocked
    CI
  • Node 20 → 22 for release builds
  • Branch protection on main — requires 1 approving review, dismisses stale reviews, enforces conversation resolution
    Assets
    Platform Binary
    macOS ARM64 graphiq-aarch64-apple-darwin.tar.gz
    macOS x86_64 graphiq-x86_64-apple-darwin.tar.gz
    Linux ARM64 graphiq-aarch64-unknown-linux-gnu.tar.gz
    Linux x86_64 graphiq-x86_64-unknown-linux-gnu.tar.gz
    Desktop (macOS) GraphIQ.Desktop-3.2.3-arm64.dmg
    Install
    curl -fsSL https://raw.githubusercontent.com/aaf2tbz/graphiq/main/install.sh | bash
    Update (from 4.1.x+)
    graphiq update