Skip to content

Latest commit

 

History

History
640 lines (378 loc) · 38.9 KB

File metadata and controls

640 lines (378 loc) · 38.9 KB

Changelog

All notable changes to rtk (Rust Token Killer) will be documented in this file.

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

0.29.0 (2026-03-12)

Features

  • rewrite engine, OpenCode support, hook system improvements (#539) (c1de10d)

0.28.2 (2026-03-10)

Bug Fixes

0.28.1 (2026-03-10)

Bug Fixes

  • 4 critical bugs + telemetry enrichment (#462) (7d76af8)
  • restore lost telemetry install_method enrichment (#469) (0c5cde9)

0.28.0 (2026-03-10)

Features

  • gt: add Graphite CLI support (#290) (7fbc4ef)
  • TOML Part 1 — filter DSL engine + 14 built-in filters (#349) (adda253)
  • TOML Part 2 — user-global config, shadow warning, rtk init templates, 4 new built-in filters (#351) (926e6a0)
  • TOML Part 3 — 15 additional built-in filters (ping, rsync, dotnet, swift, shellcheck, hadolint, poetry, composer, brew, df, ps, systemctl, yamllint, markdownlint, uv) (#386) (b71a8d2)

0.27.2 (2026-03-06)

Bug Fixes

  • gh pr edit/comment pass correct subcommand to gh (#332) (799f085)
  • pass through -R/--repo flag in gh view commands (#328) (0a1bcb0), closes #223
  • reduce gh diff / git diff / gh api truncation (#354) (#370) (e356c12)
  • strip npx/bunx/pnpm prefixes in lint linter detection (#186) (#366) (27b35d8)

0.27.1 (2026-03-06)

Bug Fixes

  • only rewrite docker compose ps/logs/build, skip unsupported subcommands (#336) (#363) (dbc9503)
  • preserve -- separator for cargo commands and silence fallback (#326) (45f9344), closes #286 #287
  • prettier false positive when not installed (#221) (#359) (85b0b3e)
  • support git commit -am, --amend and other flags (#327) (#360) (409aed6)

0.27.0 (2026-03-05)

Features

Bug Fixes

0.26.0 (2026-03-05)

Features

  • add Claude Code skills for PR and issue triage (#343) (6ad6ffe)
  • anonymous telemetry ping (1/day, opt-out) (#334) (baff6a2)

Bug Fixes

[Unreleased]

Features

  • toml-dsl: declarative TOML filter engine — add command filters without writing Rust (#299)
    • 8 primitives: strip_ansi, replace, match_output, strip/keep_lines_matching, truncate_lines_at, head/tail_lines, max_lines, on_empty
    • lookup chain: .rtk/filters.toml (project-local) → ~/.config/rtk/filters.toml (user-global) → built-in filters
    • RTK_NO_TOML=1 bypass, RTK_TOML_DEBUG=1 debug mode
    • shadow warning when a TOML filter's match_command overlaps a Rust-handled command
    • rtk init generates commented filter templates at both project and global level
    • rtk verify command with --require-all for inline test validation
    • 18 built-in filters: tofu-plan/init/validate/fmt (#240), du (#284), fail2ban-client (#281), iptables (#282), mix-format/compile (#310), shopify-theme (#280), pio-run (#231), mvn-build (#338), pre-commit, helm, gcloud, ansible-playbook
  • hooks: exclude_commands config — exclude specific commands from auto-rewrite (#243)

Bug Fixes

  • curl: skip JSON schema replacement when schema is larger than original payload (#297)
  • toml-dsl: fix regex overmatch on tofu-plan/init/validate/fmt and mix-format/compile — add (\s|$) word boundary to prevent matching subcommands (e.g. tofu planet, mix formats) (#349)
  • toml-dsl: remove 3 dead built-in filters (docker-inspect, docker-compose-ps, pnpm-build) — Clap routes these commands before run_fallback, so the TOML filters never fire (#351)
  • toml-dsl: uv-sync — remove Resolved short-circuit; it fires before the package list is printed, hiding installed packages (#386)
  • toml-dsl: dotnet-build — short-circuit only when both warning and error counts are zero; builds with warnings now pass through (#386)
  • toml-dsl: poetry-install — support Poetry 2.x bullet syntax () and No changes. up-to-date message (#386)
  • toml-dsl: ping — add Windows format support (Pinging header, Reply from per-packet lines) (#386)

0.25.0 (2026-03-05)

Features

  • rtk rewrite — single source of truth for LLM hook rewrites (#241) (f447a3d)

Bug Fixes

  • find: accept native find flags (-name, -type, etc.) (#211) (7ac5bc4)

[Unreleased]

⚠️ Migration Required

Hook must be updated after upgrading (rtk init --global).

The Claude Code hook is now a thin delegator: all rewrite logic lives in the rtk rewrite command (single source of truth). The old hook embedded the full if-else mapping inline — it still works after upgrading, but won't pick up new commands automatically.

Upgrade path:

cargo install rtk          # upgrade binary
rtk init --global          # replace old hook with thin delegator

Running rtk init without --global updates the project-level hook only. Users who skip this step keep the old hook working as before — no immediate breakage, but future rule additions won't take effect until they migrate.

Features

  • rewrite: add rtk rewrite command — single source of truth for hook rewrites (#241)
    • New src/discover/registry.rs handles all command → RTK mapping
    • Hook reduced to ~50 lines (thin delegator), no duplicate logic
    • New commands automatically available in hook without hook file changes
    • Supports compound commands (&&, ||, ;, |, &) and env prefixes
  • discover: extract rules/patterns into src/discover/rules.rs — adding a command now means editing one file only
  • fix: add aws and psql to rewrite registry (were missing despite modules existing since 0.24.0)

Tests

  • +48 regression tests covering all command categories: aws, psql, Python, Go, JS/TS, compound operators, sudo/env prefixes, registry invariants (607 total, was 559)

0.24.0 (2026-03-04)

Features

  • add AWS CLI and psql modules with token-optimized output (#216) (b934466)
  • passthrough fallback when Clap parse fails + review fixes (#200) (772b501)
  • security: add SHA-256 hook integrity verification (f2caca3)

Bug Fixes

  • git: propagate exit codes in push/pull/fetch/stash/worktree (#234) (5cfaecc)
  • playwright: fix JSON parser to match real Playwright output format (#193) (4eb6cf4)
  • support additional git global options (--no-pager, --no-optional-locks, --bare, --literal-pathspecs) (68ca712)
  • support git global options (-C, -c, --git-dir, --work-tree, --no-pager, --no-optional-locks, --bare, --literal-pathspecs) (a6ccefe)
  • support git global options (-C, -c, --git-dir, --work-tree) (982084e)
  • update version refs to 0.23.0, module count to 51, fmt upstream files (eed0188)

0.23.0 (2026-02-28)

Features

  • add mypy command with grouped error output (#109) (e8ef341)
  • gain: add per-project token savings with -p flag (#128) (2b550ee)

Bug Fixes

  • eliminate duplicate output when grep-ing function names from git show (#248) (a6f65f1)
  • filter docker compose hook rewrites to supported subcommands (#245) (dbbf980), closes #244
  • registry: "fi" in IGNORED_PREFIXES shadows find commands (#246) (48965c8)
  • remove personal preferences from project CLAUDE.md (3a8044e)
  • remove personal preferences from project CLAUDE.md (d362ad0)
  • remove remaining personal project reference from CLAUDE.md (5b59700)
  • remove remaining personal project reference from CLAUDE.md (dc09265)
  • surface build failures in go test summary (#274) (b405e48)

0.22.2 (2026-02-20)

Bug Fixes

  • grep: accept -n flag for grep/rg compatibility (7d561cc)
  • playwright: fix JSON parser and binary resolution (#215) (461856c)
  • propagate rg exit code in rtk grep for CLI parity (#227) (f1be885), closes #162

0.22.1 (2026-02-19)

Bug Fixes

  • git branch creation silently swallowed by list mode (#194) (88dc752)
  • git: support multiple -m flags in git commit (292225f)
  • git: support multiple -m flags in git commit (c18553a)
  • grep: translate BRE | alternation and strip -r flag for rg (#206) (70d1b04)
  • propagate linter exit code in rtk lint (#207) (8e826fc), closes #185
  • smart markdown body filter for gh issue/pr view (#188) (#214) (4208015)

0.22.0 (2026-02-18)

Features

  • add rtk wc command for compact word/line/byte counts (#175) (393fa5b)

0.21.1 (2026-02-17)

Bug Fixes

  • gh run view drops --log-failed, --log, --json flags (#159) (d196c2d)

0.21.0 (2026-02-17)

Features

0.20.1 (2026-02-17)

Bug Fixes

  • install to ~/.local/bin instead of /usr/local/bin (closes #155) (#161) (0b34772)

0.20.0 (2026-02-16)

Features

  • add hook audit mode for verifiable rewrite metrics (#151) (70c3786)

0.19.0 (2026-02-16)

Features

  • tee raw output to file for LLM re-read without re-run (#134) (a08a62b)

0.18.1 (2026-02-15)

Bug Fixes

  • update ARCHITECTURE.md version to 0.18.0 (398cb08)
  • update version references to 0.16.0 in README.md and CLAUDE.md (ec54833)
  • update version references to 0.18.0 in docs (c73ed47)

0.18.0 (2026-02-15)

Features

  • gain: colored dashboard with efficiency meter and impact bars (#129) (606b86e)

0.17.0 (2026-02-15)

Features

  • cargo: add cargo nextest support with failures-only output (#107) (68fd570)
  • hook: handle global options before subcommands (#99) (7401f10)

0.16.0 (2026-02-14)

Features

  • python: add lint dispatcher + universal format command (#100) (4cae6b6)

0.15.4 (2026-02-14)

Bug Fixes

  • git: fix for issue #82 (04e6bb0)
  • git: Returns "Not a git repository" when git status is executed in a non-repo folder #82 (d4cb2c0)

0.15.3 (2026-02-13)

Bug Fixes

  • prevent UTF-8 panics on multi-byte characters (#93) (155e264)

0.15.2 (2026-02-13)

Bug Fixes

  • hook: use POSIX character classes for cross-platform grep compatibility (#98) (4aafc83)

0.15.1 (2026-02-12)

Bug Fixes

  • improve CI reliability and hook coverage (#95) (ac80bfa)
  • vitest: robust JSON extraction for pnpm/dotenv prefixes (#92) (e5adba8)

0.15.0 (2026-02-12)

Features

0.14.0 (2026-02-12)

Features

  • ci: automate Homebrew formula update on release (#80) (a0d2184)

Bug Fixes

  • add website URL (rtk-ai.app) across project metadata (#81) (c84fa3c)
  • update stale repo URLs from pszymkowiak/rtk to rtk-ai/rtk (#78) (55d010a)

0.13.1 (2026-02-12)

Bug Fixes

  • ci: fix release artifacts not uploading (#73) (bb20b1e)
  • ci: fix release workflow not uploading artifacts to GitHub releases (bd76b36)

0.13.0 (2026-02-12)

Features

  • sqlite: add custom sqlite db location (6e181ae)
  • sqlite: add custom sqlite db location (93364b5)

0.12.0 (2026-02-09)

Features

  • cargo: add cargo install filtering with 80-90% token reduction (645a773), closes #69
  • cargo: add cargo install filtering (447002f)

0.11.0 (2026-02-07)

Features

  • init: auto-patch settings.json for frictionless hook installation (2db7197)

[Unreleased]

Added

  • settings.json auto-patch for frictionless hook installation
    • Default rtk init -g now prompts to patch settings.json [y/N]
    • --auto-patch: Patch immediately without prompting (CI/CD workflows)
    • --no-patch: Skip patching, print manual instructions instead
    • Automatic backup: creates settings.json.bak before modification
    • Idempotent: detects existing hook, skips modification if present
    • rtk init --show now displays settings.json status
  • Uninstall command for complete RTK removal
    • rtk init -g --uninstall removes hook, RTK.md, CLAUDE.md reference, and settings.json entry
    • Restores clean state for fresh installation or testing
  • Improved error handling with detailed context messages
    • All error messages now include file paths and actionable hints
    • UTF-8 validation for hook paths
    • Disk space hints on write failures

Changed

  • Refactored insert_hook_entry() to use idiomatic Rust entry() API
  • Simplified hook_already_present() logic with iterator chains
  • Improved atomic write error messages for better debugging

0.10.0 (2026-02-07)

Features

  • Hook-first installation with 99.5% token reduction (e7f80ad)
  • init: refactor to hook-first with slim RTK.md (9620f66)

0.9.4 (2026-02-06)

Bug Fixes

  • discover: add cargo check support, wire RtkStatus::Passthrough, enhance rtk init (d5f8a94)

0.9.3 (2026-02-06)

Bug Fixes

  • P0 crashes + cargo check + dedup utilities + discover status (05078ff)
  • P0 crashes + cargo check + dedup utilities + discover status (60d2d25)

0.9.2 (2026-02-05)

Bug Fixes

  • git: accept native git flags in add command (including -A) (2ade8fe)
  • git: accept native git flags in add command (including -A) (40e7ead)

0.9.1 (2026-02-04)

Bug Fixes

  • tsc: show every TypeScript error instead of collapsing by code (3df8ce5)
  • tsc: show every TypeScript error instead of collapsing by code (67e8de8)

0.9.0 (2026-02-03)

Features

  • add rtk tree + fix rtk ls + audit phase 1-2 (278cc57)
  • audit phase 3 + tracking validation + rtk learn (7975624)
  • git: add fallback passthrough for unsupported subcommands (32bbd02)
  • grep: add extra args passthrough (-i, -A/-B/-C, etc.) (a240d1a)
  • pnpm: add fallback passthrough for unsupported subcommands (614ff5c)
  • read: add stdin support via "-" path (060c38b)
  • rtk tree + fix rtk ls + full audit (phase 1-2-3) (cb83da1)

Bug Fixes

  • docs: escape HTML tags in rustdoc comments (b13d92c)
  • find: rewrite with ignore crate + fix json stdin + benchmark pipeline (fcc1462)
  • ls: compact output (-72% tokens) + fix discover panic (ea7cdb7)

0.8.1 (2026-02-02)

Bug Fixes

  • allow git status to accept native flags (a7ea143)
  • allow git status to accept native flags (a27bce8)

0.8.0 (2026-02-02)

Features

  • add comprehensive security review workflow for PRs (1ca6e81)
  • add comprehensive security review workflow for PRs (66101eb)

0.7.1 (2026-02-02)

Features

  • execution time tracking: Add command execution time metrics to rtk gain analytics
    • Total execution time and average time per command displayed in summary
    • Time column in "By Command" breakdown showing average execution duration
    • Daily breakdown (--daily) includes time metrics per day
    • JSON export includes total_time_ms and avg_time_ms fields
    • CSV export includes execution time columns
    • Backward compatible: historical data shows 0ms (pre-tracking)
    • Negligible overhead: <0.1ms per command
    • New SQLite column: exec_time_ms in commands table
  • parser infrastructure: Three-tier fallback system for robust output parsing
    • Tier 1: Full JSON parsing with complete structured data
    • Tier 2: Degraded parsing with regex fallback and warnings
    • Tier 3: Passthrough with truncated raw output and error markers
    • Guarantees RTK never returns false data silently
  • migrate commands to OutputParser: vitest, playwright, pnpm now use robust parsing
    • JSON parsing with safe fallbacks for all modern JS tooling
    • Improved error handling and debugging visibility
  • local LLM analysis: Add economics analysis and comprehensive test scripts
    • scripts/rtk-economics.sh for token savings ROI analysis
    • scripts/test-all.sh with 69 assertions covering all commands
    • scripts/test-aristote.sh for T3 Stack project validation

Bug Fixes

  • convert rtk ls from reimplementation to native proxy for better reliability
  • trigger release build after release-please creates tag

Documentation

  • add execution time tracking test guide (TEST_EXEC_TIME.md)
  • comprehensive parser infrastructure documentation (src/parser/README.md)

0.7.0 (2026-02-01)

Features

  • add discover command, auto-rewrite hook, and git show support (ff1c759)
  • discover command, auto-rewrite hook, git show (c9c64cf)

Bug Fixes

  • forward args in rtk git push/pull to support -u, remote, branch (4bb0130)

0.6.0 (2026-02-01)

Features

  • cargo build/test/clippy with compact output (bfd5646)
  • curl with auto-JSON detection (314accb)
  • gh pr create/merge/diff/comment/edit + gh api (517a93d)
  • git branch, fetch, stash, worktree commands (bc31da8)
  • npm/npx routing, pnpm build/typecheck, --skip-env flag (49b3cf2)
  • shared infrastructure for new commands (6c60888)
  • shared infrastructure for new commands (9dbc117)

0.5.2 (2026-01-30)

Bug Fixes

  • release pipeline trigger and version-agnostic package URLs (108d0b5)
  • release pipeline trigger and version-agnostic package URLs (264539c)

0.5.1 (2026-01-30)

Bug Fixes

  • 3 issues (latest tag, ccusage fallback, versioning) (d773ec3)
  • patrick's 3 issues (latest tag, ccusage fallback, versioning) (9e322e2)

0.5.0 (2026-01-30)

Features

  • add comprehensive claude code economics analysis (ec1cf9a)
  • comprehensive economics analysis and code quality improvements (8e72e7a)

Bug Fixes

  • comprehensive code quality improvements (5b840cc)
  • optimize HashMap merge and add safety checks (3b847f8)

0.4.0 (2026-01-30)

Features

  • add comprehensive temporal audit system for token savings analytics (76703ca)
  • Comprehensive Temporal Audit System for Token Savings Analytics (862047e)

0.3.1 (2026-01-29)

Bug Fixes

  • improve command robustness and flag support (c2cd691)
  • improve command robustness and flag support (d7d8c65)

0.3.0 (2026-01-29)

Features

  • add --quota flag to rtk gain with tier-based analysis (26b314d)
  • add CI/CD automation (release management and automated metrics) (22c3017)
  • add GitHub CLI integration (depends on #9) (341c485)
  • add GitHub CLI integration with token optimizations (0f7418e)
  • add modern JavaScript tooling support (b82fa85)
  • add modern JavaScript tooling support (lint, tsc, next, prettier, playwright, prisma) (88c0174)
  • add Modern JS Stack commands to benchmark script (b868987)
  • add quota analysis with multi-tier support (64c0b03)
  • add shared utils module for JS stack commands (0fc06f9)
  • CI/CD automation (versioning, benchmarks, README auto-update) (b8bbfb8)

Bug Fixes

  • ci: correct rust-toolchain action name (9526471)

[Unreleased]

Added

  • prettier command for format checking with package manager auto-detection (pnpm/yarn/npx)
    • Shows only files needing formatting (~70% token reduction)
    • Exit code preservation for CI/CD compatibility
  • playwright command for E2E test output filtering (~94% token reduction)
    • Shows only test failures and slow tests
    • Summary with pass/fail counts and timing
  • lint command with ESLint/Biome support and pnpm detection
    • Groups violations by rule and file (~84% token reduction)
    • Shows top violators for quick navigation
  • tsc command for TypeScript compiler output filtering
    • Groups errors by file and error code (~83% token reduction)
    • Shows top 10 affected files
  • next command for Next.js build/dev output filtering (87% token reduction)
    • Extracts route count and bundle sizes
    • Highlights warnings and oversized bundles
  • prisma command for Prisma CLI output filtering
    • Removes ASCII art and verbose logs (~88% token reduction)
    • Supports generate, migrate (dev/status/deploy), and db push
  • utils module with common utilities (truncate, strip_ansi, execute_command)
    • Shared functionality for consistent output formatting
    • ANSI escape code stripping for clean parsing

Changed

  • Refactored duplicated code patterns into utils.rs module
  • Improved package manager detection across all modern JS commands

[0.2.1] - 2026-01-29

See upstream: https://github.com/pszymkowiak/rtk

Links