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)
- 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)
- docs: user facing docs (c8d6878)
0.37.0 (2026-04-17)
- discover: handle more npm/npx/pnpm/pnpx patterns (9e96caa)
- refacto-core: binary hook w/ native cmd exec + streaming (e7b7f9a)
- 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)
- 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)
- 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)
- aws: expand CLI filters from 8 to 25 subcommands (402c48e)
- 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)
- git: remove
-ushort alias from--ultra-compactto fixgit push -uupstream tracking (#1086)
0.35.0 (2026-04-06)
- aws: expand CLI filters from 8 to 25 subcommands (402c48e)
- 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)
- 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)
- 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)
0.34.1 (2026-03-28)
- 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)
- 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)
- wc:
wcfilter was never invoked by the hook — removed"wc "fromIGNORED_PREFIXESand added registry entry sowccommands are rewritten tortk 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)
- 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)
- 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)
- 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 testinstead ofrake testwhen positional file args are passed —rake testignores positional files and only supportsTEST=path
- 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 testwith state machine parser (85-90% reduction) - ruby: add TOML filter for
bundle install/update— stripUsinglines (90%+ reduction) - ruby: add
ruby_exec()shared utility for auto-detectingbundle execwhen Gemfile exists - ruby: add discover/rewrite rules for rake, rails, rspec, rubocop, and bundle commands
- cargo: preserve compile diagnostics when
cargo testfails before any test suites run
0.31.0 (2026-03-19)
0.30.1 (2026-03-18)
0.30.0 (2026-03-16)
- 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)
- 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)
0.28.2 (2026-03-10)
0.28.1 (2026-03-10)
- 4 critical bugs + telemetry enrichment (#462) (7d76af8)
- restore lost telemetry install_method enrichment (#469) (0c5cde9)
0.28.0 (2026-03-10)
- 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)
- 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)
- 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)
- bugs #196 #344 #345 #346 #347 — gh --json, hook check, RTK_DISABLED, 2>&1, json TOML (8953af0)
- RTK_DISABLED ignored, 2>&1 broken, json TOML error (#345, #346, #347) (6c13d23)
- skip rewrite for gh --json/--jq/--template (#196) (079ee9a)
0.26.0 (2026-03-05)
- add Claude Code skills for PR and issue triage (#343) (6ad6ffe)
- anonymous telemetry ping (1/day, opt-out) (#334) (baff6a2)
- 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=1bypass,RTK_TOML_DEBUG=1debug mode- shadow warning when a TOML filter's match_command overlaps a Rust-handled command
rtk initgenerates commented filter templates at both project and global levelrtk verifycommand with--require-allfor 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
- 8 primitives:
- hooks:
exclude_commandsconfig — exclude specific commands from auto-rewrite (#243)
- 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/fmtandmix-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 beforerun_fallback, so the TOML filters never fire (#351) - toml-dsl:
uv-sync— removeResolvedshort-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 (•) andNo changes.up-to-date message (#386) - toml-dsl:
ping— add Windows format support (Pingingheader,Reply fromper-packet lines) (#386)
0.25.0 (2026-03-05)
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 delegatorRunning 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.
- rewrite: add
rtk rewritecommand — single source of truth for hook rewrites (#241)- New
src/discover/registry.rshandles 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
- New
- discover: extract rules/patterns into
src/discover/rules.rs— adding a command now means editing one file only - fix: add
awsandpsqlto rewrite registry (were missing despite modules existing since 0.24.0)
- +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)
- 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)
- 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)
- add mypy command with grouped error output (#109) (e8ef341)
- gain: add per-project token savings with -p flag (#128) (2b550ee)
- 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)
- 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)
- 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)
0.21.1 (2026-02-17)
0.21.0 (2026-02-17)
0.20.1 (2026-02-17)
0.20.0 (2026-02-16)
0.19.0 (2026-02-16)
0.18.1 (2026-02-15)
- 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)
0.17.0 (2026-02-15)
- 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)
0.15.4 (2026-02-14)
- 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)
0.15.2 (2026-02-13)
0.15.1 (2026-02-12)
- improve CI reliability and hook coverage (#95) (ac80bfa)
- vitest: robust JSON extraction for pnpm/dotenv prefixes (#92) (e5adba8)
0.15.0 (2026-02-12)
- add Python and Go support (#88) (a005bb1)
- cargo: aggregate test output into single line (#83) (#85) (06b1049)
- make install-local.sh self-contained (#89) (b82ad16)
0.14.0 (2026-02-12)
- 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)
- 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)
0.12.0 (2026-02-09)
- cargo: add
cargo installfiltering with 80-90% token reduction (645a773), closes #69 - cargo: add cargo install filtering (447002f)
0.11.0 (2026-02-07)
- init: auto-patch settings.json for frictionless hook installation (2db7197)
- settings.json auto-patch for frictionless hook installation
- Default
rtk init -gnow 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.bakbefore modification - Idempotent: detects existing hook, skips modification if present
rtk init --shownow displays settings.json status
- Default
- Uninstall command for complete RTK removal
rtk init -g --uninstallremoves 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
- Refactored
insert_hook_entry()to use idiomatic Rustentry()API - Simplified
hook_already_present()logic with iterator chains - Improved atomic write error messages for better debugging
0.10.0 (2026-02-07)
- 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)
- discover: add cargo check support, wire RtkStatus::Passthrough, enhance rtk init (d5f8a94)
0.9.3 (2026-02-06)
- P0 crashes + cargo check + dedup utilities + discover status (05078ff)
- P0 crashes + cargo check + dedup utilities + discover status (60d2d25)
0.9.2 (2026-02-05)
- 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)
- 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)
- 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)
- 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)
0.8.0 (2026-02-02)
- add comprehensive security review workflow for PRs (1ca6e81)
- add comprehensive security review workflow for PRs (66101eb)
0.7.1 (2026-02-02)
- execution time tracking: Add command execution time metrics to
rtk gainanalytics- 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_msandavg_time_msfields - 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_msin 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.shfor token savings ROI analysisscripts/test-all.shwith 69 assertions covering all commandsscripts/test-aristote.shfor T3 Stack project validation
- convert rtk ls from reimplementation to native proxy for better reliability
- trigger release build after release-please creates tag
- add execution time tracking test guide (TEST_EXEC_TIME.md)
- comprehensive parser infrastructure documentation (src/parser/README.md)
0.7.0 (2026-02-01)
- add discover command, auto-rewrite hook, and git show support (ff1c759)
- discover command, auto-rewrite hook, git show (c9c64cf)
- forward args in rtk git push/pull to support -u, remote, branch (4bb0130)
0.6.0 (2026-02-01)
- 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)
- release pipeline trigger and version-agnostic package URLs (108d0b5)
- release pipeline trigger and version-agnostic package URLs (264539c)
0.5.1 (2026-01-30)
- 3 issues (latest tag, ccusage fallback, versioning) (d773ec3)
- patrick's 3 issues (latest tag, ccusage fallback, versioning) (9e322e2)
0.5.0 (2026-01-30)
- add comprehensive claude code economics analysis (ec1cf9a)
- comprehensive economics analysis and code quality improvements (8e72e7a)
- comprehensive code quality improvements (5b840cc)
- optimize HashMap merge and add safety checks (3b847f8)
0.4.0 (2026-01-30)
- 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)
- improve command robustness and flag support (c2cd691)
- improve command robustness and flag support (d7d8c65)
0.3.0 (2026-01-29)
- 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)
- ci: correct rust-toolchain action name (9526471)
prettiercommand 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
playwrightcommand for E2E test output filtering (~94% token reduction)- Shows only test failures and slow tests
- Summary with pass/fail counts and timing
lintcommand with ESLint/Biome support and pnpm detection- Groups violations by rule and file (~84% token reduction)
- Shows top violators for quick navigation
tsccommand for TypeScript compiler output filtering- Groups errors by file and error code (~83% token reduction)
- Shows top 10 affected files
nextcommand for Next.js build/dev output filtering (87% token reduction)- Extracts route count and bundle sizes
- Highlights warnings and oversized bundles
prismacommand for Prisma CLI output filtering- Removes ASCII art and verbose logs (~88% token reduction)
- Supports generate, migrate (dev/status/deploy), and db push
utilsmodule with common utilities (truncate, strip_ansi, execute_command)- Shared functionality for consistent output formatting
- ANSI escape code stripping for clean parsing
- Refactored duplicated code patterns into
utils.rsmodule - Improved package manager detection across all modern JS commands
See upstream: https://github.com/pszymkowiak/rtk
- Repository: https://github.com/rtk-ai/rtk (maintained by pszymkowiak)
- Issues: https://github.com/rtk-ai/rtk/issues