Skip to content

Latest commit

 

History

History
1010 lines (652 loc) · 76.1 KB

File metadata and controls

1010 lines (652 loc) · 76.1 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.37.2 (2026-04-20)

Bug Fixes

  • discover: exclude_commands bypass for env-prefix, sub cmd + regex (ca4c59c)
  • discover: exclude_commands bypass for env-prefix, sub cmd + regex (42d3161)
  • discover: word boundary in exclude_commands (0ea115b)
  • docs: add missing docs for exclude commands patterns (2e401ac)
  • hooks: add regression test for windows native (115e448)
  • hooks: windows use 'rtk hook claude' no fallback (da3c432)
  • hooks: windows use 'rtk hook claude' no fallback (0e29650)
  • tests: windows regression test fix path (13a73dd)

0.37.1 (2026-04-18)

Bug Fixes

0.37.0 (2026-04-17)

Features

  • discover: handle more npm/npx/pnpm/pnpx patterns (9e96caa)
  • refacto-core: binary hook w/ native cmd exec + streaming (e7b7f9a)

Bug Fixes

  • docs: use release please changelog no manual (7591a14)
  • isolate cursor hook tests from local settings (determinist) (d8ddefe)
  • P0+P1 fixes from pre-merge review of hook engine (df8e035)
  • P0+P1 fixes from pre-merge review of hook engine (d34389c)
  • rename ship.md to ship/SKILL.md to match develop (5916ecd)
  • runner: preserve fd separation on command failure (e92d099)
  • stream: missing stderr fields (a1d46f3)

0.36.0 (2026-04-13)

Features

  • benchmark: add multipass VM integration test suite (6e7863b)
  • benchmark: add multipass VM integration test suite (d22759b)
  • benchmark: add Swift ecosystem tests (6 commands + savings) (1fbb6d9)
  • init: add native support for Kilo Code and Google Antigravity (d0a3797)
  • init: add support for kilocode and antigravity agents (66b90f1)
  • pnpm: Add filter argument support (2ba8d37)
  • skills: add /pr-review skill for batch PR review (21e67a1)
  • telemetry: enrich daily ping with gap detection and quality metrics (644c50f)

Bug Fixes

  • benchmark: address PR review feedback (87ee81f)
  • benchmark: address review feedback from @FlorianBruniaux (d13c185)
  • ccusage: add --yes flag and warn when falling back to npx (f68fa00)
  • clippy: show full error blocks instead of truncated headline (95d9d13)
  • clippy: show full error blocks instead of truncated headline (f4074f8), closes #602
  • curl: skip JSON schema conversion for internal/localhost URLs (577c311)
  • discover: preserve golangci-lint flags in rewrite (d85303e)
  • docs: update TELEMETRY.md to match code after review fixes (be5c057)
  • find: include hidden files when pattern targets dotfiles (#1101) (dbeeaed)
  • git: re-insert -- separator when clap consumes it from git diff args (#1215) (9979c69)
  • git: remove -u short alias from --ultra-compact to fix git push -u (6b76fdb)
  • golangci-lint: restore run wrapper and align guidance (4f4e4d2)
  • golangci-lint: support inline global flags before run (24f2ada)
  • go: prevent double-counted failures when test-level fail also triggers package-level fail (#958) (4fc15ef)
  • go: prevent double-counting failures when package-level fail cascades from test failures (#958) (9722d5e)
  • hooks: ensure default permission verdict prompts user for confirmation (40462c0)
  • hooks: require all segments to match allow rules (#1213) (40c9dbc)
  • init: honor CODEX_HOME for Codex global paths (d442799)
  • init: install Codex global instructions in CODEX_HOME (a257688)
  • json: rename --schema to --keys-only, closes #621 (c16713a)
  • ls: filter quality wrong truncation (aa6317f)
  • permissions: glob_matches middle-wildcard matches commands without trailing args (#1105) (3db8070)
  • pnpm: list command not working (ba235d8)
  • pytest: -q mode summary line not detected (57502a5)
  • report package-level failures (timeouts, signals) in go test summary (0b1c32b)
  • report package-level failures (timeouts, signals) in go test summary (c85a387), closes #958
  • security: correct email domain from .dev to .app (47383e8)
  • tee: prevent panic on UTF-8 multi-byte truncation boundary (da486bf)
  • telemetry: 7 bugs in enrichment — privacy leak, broken meta_usage, pricing (15f666d)
  • telemetry: clean code (8156081)
  • telemetry: consent, erasure, auth, docs (2e4cc4b)
  • telemetry: non-terminal consent, single config load (7821e98)
  • telemetry: RGPD-compliant, consent gate, erasure, privacy controls (6a5bc84)

0.35.0 (2026-04-06)

Features

  • aws: expand CLI filters from 8 to 25 subcommands (402c48e)

Bug Fixes

  • cmd: read/cat multiple file and consistent behavior (3f58018)
  • docs: clean some docs + disclaimer (deda44f)
  • gh: pass through gh pr merge instead of canned response (#938) (8465ca9)
  • gh: pass through gh pr merge instead of canned response (#938) (e1f2845)
  • git: inherit stdin for commit and push to preserve SSH signing (#733) (eefeae4)
  • git: inherit stdin for commit and push to preserve SSH signing (#733) (6cee6c6)
  • git: preserve full diff hunk headers (62f4452)
  • git: preserve full diff hunk headers (09b3ff9)
  • go: avoid false build errors from download logs (9c1cf2f)
  • go: avoid false build errors from download logs (d44fd3e)
  • go: cover more build failure shapes (2425ad6)
  • go: preserve failing test location context (1481bc5)
  • go: preserve failing test location context (374fe64)
  • go: restore build error coverage (1177c9c)
  • grep: close subprocess stdin to prevent memory leak (#897) (7217562)
  • grep: close subprocess stdin to prevent memory leak (#897) (09979cf)
  • hook_check: detect missing integrations (9cf9ccc)
  • init: remove opt-out instruction from telemetry message (7571c8e)
  • init: remove telemetry info lines from init output (7dbef2c)
  • main: kill zombie processes + path for rtk md (d16fc6d)
  • main: kill zombie processes + path for rtk md + missing intergrations (a919335)
  • merge: changelog conflicts (d92c5d2)
  • proxy: kill child process on SIGINT/SIGTERM to prevent orphans (d813919)
  • proxy: kill child process on SIGINT/SIGTERM to prevent orphans (3318510)
  • review: address ChildGuard disarm, stdin dedup, hook masking (d85fe33)
  • security: default to ask when no permission rule matches (#886) (158c745)
  • security: default to ask when no permission rule matches (#886) (41a6c6b)
  • tracking: use std::env::temp_dir() for compatibility (instead of unix tmp) (e918661)

[Unreleased]

Bug Fixes

  • git: remove -u short alias from --ultra-compact to fix git push -u upstream tracking (#1086)

0.35.0 (2026-04-06)

Features

  • aws: expand CLI filters from 8 to 25 subcommands (402c48e)

Bug Fixes

  • cmd: read/cat multiple file and consistent behavior (3f58018)
  • docs: clean some docs + disclaimer (deda44f)
  • gh: pass through gh pr merge instead of canned response (#938) (8465ca9)
  • gh: pass through gh pr merge instead of canned response (#938) (e1f2845)
  • git: inherit stdin for commit and push to preserve SSH signing (#733) (eefeae4)
  • git: inherit stdin for commit and push to preserve SSH signing (#733) (6cee6c6)
  • git: preserve full diff hunk headers (62f4452)
  • git: preserve full diff hunk headers (09b3ff9)
  • go: avoid false build errors from download logs (9c1cf2f)
  • go: avoid false build errors from download logs (d44fd3e)
  • go: cover more build failure shapes (2425ad6)
  • go: preserve failing test location context (1481bc5)
  • go: preserve failing test location context (374fe64)
  • go: restore build error coverage (1177c9c)
  • grep: close subprocess stdin to prevent memory leak (#897) (7217562)
  • grep: close subprocess stdin to prevent memory leak (#897) (09979cf)
  • hook_check: detect missing integrations (9cf9ccc)
  • init: remove opt-out instruction from telemetry message (7571c8e)
  • init: remove telemetry info lines from init output (7dbef2c)
  • main: kill zombie processes + path for rtk md (d16fc6d)
  • main: kill zombie processes + path for rtk md + missing intergrations (a919335)
  • merge: changelog conflicts (d92c5d2)
  • proxy: kill child process on SIGINT/SIGTERM to prevent orphans (d813919)
  • proxy: kill child process on SIGINT/SIGTERM to prevent orphans (3318510)
  • review: address ChildGuard disarm, stdin dedup, hook masking (d85fe33)
  • security: default to ask when no permission rule matches (#886) (158c745)
  • security: default to ask when no permission rule matches (#886) (41a6c6b)
  • tracking: use std::env::temp_dir() for compatibility (instead of unix tmp) (e918661)

[Unreleased]

Features

  • aws: expand CLI filters from 8 to 25 subcommands — CloudWatch Logs, CloudFormation events, Lambda, IAM, DynamoDB (with type unwrapping), ECS tasks, EC2 security groups, S3API objects, S3 sync/cp, EKS, SQS, Secrets Manager (#885)
  • aws: add shared runner run_aws_filtered() eliminating per-handler boilerplate
  • tee: add force_tee_hint() — truncated output saves full data to file with recovery hint

0.34.3 (2026-04-02)

Bug Fixes

  • automod: add auto discovery for cmds (234909d)
  • ci: fix validate-docs.sh broken module count check (bbe3da6)
  • cleaning: constant extract (aabc016)
  • cmds: migrate remaining exit_code to exit_code_from_output (ba9fa34)
  • cmds: more covering for run_filtered (e48485a)
  • docs: add documentation (2f7278a)
  • docs: add maintainers docs (14265b4)
  • refacto-p1: unified cmds execution flow (+ rm dead code) (75bd607)
  • refacto-p2: more standardize (47a76ea)
  • refacto-p2: more standardize (92c671a)
  • refacto: wrappers for standardization, exit codes lexer tokenizer, constants, code clean (bff0258)
  • registry: quoted env prefix + inline regex cleanup + routing docs (f3217a4)
  • review: address PR #910 review feedback (0a8b8fd)
  • review: PR #934 (5bd35a3)
  • review: PR #934 (bae7930)
  • rules: add wc RtkRule with pattern field for develop compat (d75e864)
  • standardize: git+kube sub wrappers run_filtered (7fd221f)
  • standardize: merge pattern into rues (08aabb9)

0.34.2 (2026-03-30)

Bug Fixes

  • emots: replace 📊 with "Summary:" (495a152)
  • refacto-codebase: technical docs & sub folders (927daef)

0.34.1 (2026-03-28)

Bug Fixes

  • security: missing toml pkg (51f9c88)
  • security: salt device hash for telemetry (32fdbbb)
  • security: set 0600 permissions on salt file (5eae11d)
  • telemetry: cache salt in-process (22dc059)
  • telemetry: docs + real info from "rtk init -g" (33195cc)
  • telemetry: hash + salt (92996b1)

0.34.0 (2026-03-26)

Features

  • init: add --copilot flag for GitHub Copilot integration (9e19aac), closes #823

Bug Fixes

  • diff: correct truncation overflow count in condense_unified_diff (5399f83)
  • diff: never truncate diff content — show all changes in full (80fc29a), closes #827
  • git: replace vague truncation markers with exact counts (185fb97)
  • merge: resolve conflict with develop in diff_cmd.rs (6a5ae14)
  • read: default to no filtering — show full file content (5e0f3ba), closes #822
  • read: detect binary files and prevent empty output on filter failure (8886c14), closes #822
  • rewrite swift test commands (599ad25)
  • truncation accuracy + Copilot init + binary file detection (966bcbe)
  • truncation: accurate overflow counts and omission indicators (58a9633)

[Unreleased]

Bug Fixes

  • wc: wc filter was never invoked by the hook — removed "wc " from IGNORED_PREFIXES and added registry entry so wc commands are rewritten to rtk wc
  • diff: correct truncation overflow count in condense_unified_diff (#833) (5399f83)
  • git: replace vague truncation markers with exact counts in log and grep output (#833) (185fb97)

0.33.1 (2026-03-25)

Bug Fixes

  • cicd: dev- prefix for pre-release tags (522bd64)
  • cicd: use dev- prefix for pre-release tags (9c21275)
  • cicd: use dev- prefix for pre-release tags to avoid polluting release-please (32c67e0)
  • hook security + stderr redirects + version bump (#807) (0649e97)
  • hook: respect Claude Code deny/ask permission rules on rewrite (a051a6f)
  • strip trailing stderr redirects before rewrite matching (#530) (edd9c02)
  • strip trailing stderr redirects before rewrite matching (#530) (36a6f48)

0.33.0-rc.54 (2026-03-24)

Features

  • ruby: add Ruby on Rails support (rspec, rubocop, rake, bundle) (#724) (15bc0f8)

Bug Fixes

  • add telemetry documentation and init notice (#640) (#788) (0eecee5)
  • cargo: preserve test compile diagnostics (97b6878)
  • cicd: explicit fetch tag (3b94b60)
  • cicd: gete release like tag for pre-release (53bc81e)
  • cicd: issue 668 - pre release tag (200af43)
  • cicd: missing doc (8657494)
  • cicd: pre-release correct tag (1536667)
  • dotnet: TRX injection for Microsoft.Testing.Platform projects (8eefef1)
  • formatter: show full error message for test failures (#690) (dc6b026)
  • formatter: show full error message for test failures (#690) (f7b09fc)
  • gh: passthrough --comments flag in issue/pr view (75cd223)
  • gh: passthrough --comments flag in issue/pr view (fdeb09f), closes #720
  • gh: skip compact_diff for --name-only/--stat flags in pr diff (2ef0690), closes #730
  • gh: skip compact_diff for --name-only/--stat in pr diff (c576249)
  • golangci-lint: add v2 compatibility with runtime version detection (95a4961)
  • golangci: use resolved_command for version detection, move test fixture to file (6aa5e90)
  • increase signal in git diff, git log, and json filters (#621) (#708) (4edc3fc)
  • playwright: add tee_and_hint pass-through on failure (#690) (b4ccf04)
  • preserve cargo test compile diagnostics (15d5beb)
  • ruby: use rails test for positional file args in rtk rake (ec92c43)
  • ruby: use rails test for positional file args in rtk rake (138e914)
  • update Discord invite link (#711) (#786) (af56573)

[Unreleased]

Bug Fixes

  • hook: respect Claude Code deny/ask permission rules on rewrite — hook now checks settings.json before rewriting commands, preventing bypass of user-configured deny/ask permissions
  • git: replace symbol prefixes (* branch, + Staged:, ~ Modified:, ? Untracked:) with plain lowercase labels (branch:, staged:, modified:, untracked:) in git status output
  • ruby: use rails test instead of rake test when positional file args are passed — rake test ignores positional files and only supports TEST=path

Features

  • ruby: add RSpec test runner filter with JSON parsing and text fallback (60%+ reduction)
  • ruby: add RuboCop linter filter with JSON parsing, grouped by cop/severity (60%+ reduction)
  • ruby: add Minitest filter for rake test / rails test with state machine parser (85-90% reduction)
  • ruby: add TOML filter for bundle install/update — strip Using lines (90%+ reduction)
  • ruby: add ruby_exec() shared utility for auto-detecting bundle exec when Gemfile exists
  • ruby: add discover/rewrite rules for rake, rails, rspec, rubocop, and bundle commands

Bug Fixes

  • cargo: preserve compile diagnostics when cargo test fails before any test suites run

0.31.0 (2026-03-19)

Features

  • 9-tool AI agent support + emoji removal (#704) (737dada)

0.30.1 (2026-03-18)

Bug Fixes

0.30.0 (2026-03-16)

Features

  • add rtk session command for adoption overview (be67d66)
  • add rtk session command for adoption overview (12d44c4), closes #487
  • add worktree slash commands for isolated development (#364) (ab83e79)
  • Claude Code tooling — 2 agents, 7 commands, 2 rules, 4 skills (#491) (7b7a5ae)

Bug Fixes

  • 6 critical bugs — exit codes, unwrap, lazy regex (#626) (3005ebd)
  • align 7 TOML filter tests with on_empty behavior (04ed6d8)
  • align 7 TOML filter tests with on_empty behavior (9a499b9)
  • cicd-docs: add agent reviewer + some contribute guidelines (de710f4)
  • cicd-docs: some logs to understand what is happening when check docs (191ea9a)
  • cicd: Clean cicd, rework depends and add pre-release (d24a765)
  • cicd: Clean cicd, rework depends and add pre-release (6303e95)
  • cicd: clippy - do not treat warn as error (5da5db2)
  • failing context for doc analyze -> cat from files (c6b7db2)
  • git log --oneline regression drops commits (#619) (8e85d67)
  • improve adoption metric by detecting hook-rewritten commands (eb8a2c4)
  • normalize binlogs CRLF (5344af9)
  • preserve commit body in git log output (e189bbb)
  • preserve first line of commit body in git log output (c3416eb)
  • remove version check from validate-docs CI (#476) (#543) (6e61c24)
  • split chained commands in adoption metric (127f85c)
  • support git -C <path> in rewrite registry (c916bab), closes #555
  • test-all.sh aborts when gt not installed (#500) (#544) (26f5473)
  • trust boundary followup — TOML key typo + missing meta commands (#625) (8d8e188)
  • windows path fix for git tests (0a904e2)

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

  • cargo clippy: include actionable error details in compact output instead of summary-only counts (#602)
  • 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