Skip to content

Latest commit

 

History

History
130 lines (95 loc) · 5.53 KB

File metadata and controls

130 lines (95 loc) · 5.53 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

[0.7.2] - 2026-07-23

Fixed

  • Relative path arguments containing . or .. now resolve consistently across overview, symbols, definition, and references.

[0.7.1] - 2026-05-15

Added

  • Objective-C support for .m and .mm files, including classes, protocols, methods, and C functions.

[0.7.0] - 2026-05-14

Added

  • Markdown heading navigation: .md, .markdown, and .mdown files are indexed by headings, and definition returns the selected heading section.
  • Line ranges in overview output for more precise navigation.
  • cx symbols --kinds to list available symbol kinds with counts.
  • Directory paths in --file and --from filters.
  • C++ header declaration indexing.
  • Windows ARM64 release support.

Changed

  • References now default to the compact grouped summary; exact matching lines are available with --context.
  • Overview includes test files and test symbols by default; use --no-tests to exclude them.
  • Absolute path arguments now derive the project root from the provided path instead of only the current working directory.
  • Full index crawling is parallelized.
  • Query coverage expanded across TypeScript, Python, Go, Rust, Java, C++, C, Solidity, Ruby, Lua, Bash, and Zig.
  • SymbolKind::Method was collapsed into fn for simpler output.

Fixed

  • Directory overview and symbol/definition filtering now handle current-working-directory and absolute-path resolution more consistently.
  • C++ declaration-only headers at nested paths are indexed correctly.

[0.6.3] - 2026-04-04

Added

  • CX_CACHE_DIR env var to override the cache location (#14) — enables cx in sandboxed agents (Codex, Claude Code) that restrict writes outside the workspace

[0.6.2] - 2026-04-04

Added

  • Pagination (#15): Global --limit, --offset, --all flags across all query commands
    • Default limits: definition (3), symbols (100), references (50)
    • Compact stderr hint when truncated: cx: 3/32 definitions for "X" | --from PATH to narrow | --offset 3 for more | --all
    • JSON uses {total, offset, limit, results} envelope when paginated, bare array otherwise
    • --all and --limit are mutually exclusive (enforced by clap)
  • Definition results sorted by symbol priority (types first) before pagination

Changed

  • Definition paginates before reading bodies from disk (avoids wasted I/O on large match sets)
  • Skill prompt trimmed from ~1000 to ~350 tokens

[0.6.1] - 2026-04-02

Added

  • Dart language support (#9, requested by @evanscai): classes (sealed/base/interface/mixin), mixins, extensions, extension types, enums, functions, methods, getters/setters, constructors (named/factory), operators, type aliases
  • Comprehensive Swift support (based on #11 by @upupc): actors, extensions, properties, subscripts, enum bodies, init/deinit (#10, #12)
  • Elixir enhancements (#6 by @RamXX): @type/@typep/@opaque, @callback, defimpl
  • Directory overview (#8, reported by @it-ony): cx overview dir/ — single-level table of contents with symbol names, --full for signatures
  • Test symbol filtering in directory overviews — excludes test files by path pattern and Rust #[test]/#[cfg(test)] inline tests

Changed

  • Language module refactored into focused files (queries/*.rs, extract.rs, tests.rs)
  • RwLock + thread-local Parser for better parallel indexing performance
  • Symbol dedup now prefers later (more specific) query matches for same byte range
  • Index version bumped to 6 (forces reindex)

Fixed

  • --root flag now correctly resolves relative paths against the project root instead of cwd

[0.6.0] - 2026-03-30

Changed

  • Breaking: Index database moved from .cx-index.db in the repo root to ~/.cache/cx/indexes/. No more repo pollution or .gitignore dance.

Added

  • cx cache path — print the index cache path for the current project
  • cx cache clean — delete the cached index for the current project

Removed

  • .cx-index.db repo-local index file
  • Gitignore warning on first run

Fixed

  • Flaky incremental update tests on filesystems with coarse (1-second) mtime granularity

[0.5.0] - 2026-03-25

Added

  • cx lang add <languages> — download and install language grammars on demand
  • cx lang remove <languages> — remove installed grammars
  • cx lang list — show supported languages and install status
  • Actionable warnings when grammars are missing during indexing
  • First-run UX: shows detected languages with file counts and install command

Changed

  • Grammars are now dynamically loaded via tree-sitter-language-pack instead of statically linking 14 tree-sitter-{lang} crates
  • Language enum replaced with string-based language identification
  • FileEntry serialized with bincode (index version bumped to 4, forces reindex)
  • tree-sitter upgraded from 0.25 to 0.26
  • Zig and Python queries updated for newer grammar versions
  • find_references now returns Result and propagates NotInstalled errors
  • Release binary reduced from ~25MB to ~7MB

Removed

  • Static dependency on 14 individual tree-sitter-{lang} crates

[0.4.5] - 2026-03-24

Changed

  • Updated Cargo.lock for redb 3 upgrade

[0.4.4] - 2026-03-23

Fixed

  • x86_64 macOS build runner configuration

Added

  • Release workflow and install script
  • Concurrent read access via redb 3 upgrade