bdo-cli 0.44.10 → 0.44.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/CHANGELOG.md +141 -0
  2. package/README.md +1 -1
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,147 @@ All notable changes to Bushido (bdo) will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.44.12] (2026-08-16)
9
+
10
+ ### Fixes
11
+
12
+ - **CLI**: bdo-only subcommands no longer fall back to running their name as
13
+ an external program when argument parsing fails. `bdo map --badflag` used to
14
+ report "not found in PATH" (exit 127) instead of clap's usage error; now
15
+ `map`, `deps`, `json`, `smart`, `telemetry`, `read`, and `log` all show the
16
+ real error.
17
+
18
+ `log` was the notable one: macOS ships an unrelated `/usr/bin/log` (Apple's
19
+ unified logging), so a mistyped flag on `bdo log` silently invoked a
20
+ different program with your arguments and exited 0 — reading as success to
21
+ anything gating on the exit code.
22
+
23
+ ### Chores
24
+
25
+ - CI now gates on `cargo fmt --all --check`, `cargo clippy --all-targets -D
26
+ warnings`, and `cargo test`, on Linux and Windows. The Windows leg exists
27
+ because 0.44.7's release was broken by a Windows-only lint that nothing
28
+ caught until tag time.
29
+
30
+ ## [0.44.11] (2026-08-03)
31
+
32
+ ### Fixes
33
+
34
+ - Replaced remaining `rtk` references with `bdo` across docs, comments, and the
35
+ hook instruction templates written into agent config, with regression tests
36
+ asserting the generated instructions no longer mention the legacy name.
37
+
38
+ ## [0.44.10] (2026-07-24)
39
+
40
+ ### Chores
41
+
42
+ - **npm package**: stop generating `npm-shrinkwrap.json` (`npm-shrinkwrap = false`
43
+ in `dist-workspace.toml`). The shrinkwrap matched `package.json` exactly and
44
+ posed no real risk, but security scanners flag any npm package that ships one
45
+ as a supply-chain heuristic — not worth re-justifying every release.
46
+
47
+ ## [0.44.9] (2026-07-22)
48
+
49
+ ### Features
50
+
51
+ - **`bdo stale`**: new "DOC↔IMPL DRIFT" check — flags `` `bdo <cmd>` ``
52
+ references in markdown that name a subcommand `bdo --help` no longer lists
53
+ (checked against the CLI's own clap definition, so the check can't itself
54
+ drift). Caught a real doc bug on its first run (`bdo eslint` → `bdo lint`).
55
+ - **`.bdostaleignore`**: inline suppression — a line containing the literal
56
+ string `bdo-stale-ignore` (any comment syntax) is skipped by both the stale-
57
+ marker scan and the new doc-drift check, for one-off intentional mentions
58
+ that don't warrant a whole-file ignore entry.
59
+
60
+ ### Fixes
61
+
62
+ - **`bdo stale`**: bound the doc-drift scan's allocation by a cap instead of
63
+ only truncating at display time — a pathological markdown file could
64
+ previously force formatting and allocating a `String` per match before any
65
+ truncation happened.
66
+
67
+ ## [0.44.8] (2026-07-15)
68
+
69
+ ### Security
70
+
71
+ - **Secret redaction at rest**: mask known secret formats (GitHub/GitLab/npm/
72
+ AWS/Slack/OpenAI/Anthropic/Stripe/Google tokens, JWTs, `Authorization`
73
+ headers, `password=`/`api_key:` assignments, PEM private key blocks) before
74
+ persisting command strings to the tracking DB or raw output to tee recovery
75
+ files. Closes the gap left by 0.44.7's permission hardening: files were
76
+ owner-only, but their contents were still plaintext.
77
+
78
+ ### Fixes
79
+
80
+ - **Windows build**: fix unused-variable errors in permission helpers that
81
+ only used their path argument under `#[cfg(unix)]`.
82
+
83
+ ## [0.44.7] (2026-07-11)
84
+
85
+ ### Security
86
+
87
+ - **Local data protection**: tracking DB and tee recovery files are now
88
+ created owner-only (0600 for files, 0700 for their default directories),
89
+ closing a world-readable window for locally stored command history and raw
90
+ output. Override paths (`BDO_DB_PATH`, `BDO_TEE_DIR`, config) skip the
91
+ directory chmod (they may be shared/user-managed) but files are still
92
+ tightened.
93
+ - **Telemetry**: `low_savings_commands` now reports only the tool name, not
94
+ the first three words of the command (which could carry URL tokens or other
95
+ incidental data).
96
+
97
+ ## [0.44.6] (2026-07-07)
98
+
99
+ ### Features
100
+
101
+ - **`bdo ci`**: single pre-merge gate composing `bdo review` (informational
102
+ change summary), `bdo stale` (whole-tree residue audit), and `bdo test
103
+ --changed` (change-set tests) into one exit code. All stages always run
104
+ (no fail-fast) so a single pass surfaces every blocker; a real test exit
105
+ code (e.g. cargo's 101) takes priority over the bare residue-gate `1`.
106
+
107
+ ### Chores
108
+
109
+ - Shortened the Homebrew formula's `desc` line to stay under rubocop's
110
+ 118-column limit. (0.44.5 was an internal version bump that never
111
+ published — its plan failed because the tag didn't point at the version
112
+ bump commit; no user-facing changes beyond what's listed here.)
113
+
114
+ ## [0.44.4] (2026-07-04)
115
+
116
+ First release distributed via the new [cargo-dist](https://opensource.axo.dev/cargo-dist/)
117
+ pipeline — tagged pushes now build and publish to GitHub Releases, npm
118
+ (`bdo-cli`), and Homebrew (`tedorigawa001/tap/bushido`) automatically. Also
119
+ the first tagged/published release since 0.43.0; covers all work merged in
120
+ that window (versions 0.44.0–0.44.3 were internal bumps that were never
121
+ independently released).
122
+
123
+ ### Features
124
+
125
+ - **`bdo gain --by-agent`**: per-agent attribution for Claude Code, Gemini
126
+ CLI, Cursor, GitHub Copilot, and Google Antigravity. Gemini/Copilot
127
+ attribution is embedded directly in the rewritten command
128
+ (`BDO_AGENT=<agent>`) since those hooks don't otherwise expose it.
129
+ - **`bdo test --changed`**: multi-language test planning via `core::testplan`
130
+ — Rust (`cargo test -- <stems>`), Go (`go test <changed packages>`), Python
131
+ (`pytest <files> [-k "<stems>"]`), JS/TS (`vitest related --run` /
132
+ `jest --findRelatedTests`, runner auto-detected from `package.json`).
133
+
134
+ ### Security
135
+
136
+ - **Command injection**: single-quote the `pytest -k` filter value instead of
137
+ interpolating it unescaped.
138
+ - **Test execution**: run test commands via argv instead of `sh -c`, removing
139
+ a shell-interpretation step entirely.
140
+
141
+ ### Fixes
142
+
143
+ - `bdo init` and hook decision output: rebrand stale "RTK" references,
144
+ Codex uses inline `AGENTS.md` (not `@import`), spec-compliant Gemini
145
+ decision format, clarified Copilot formats.
146
+ - `bdo review` / `bdo map`: honor `.bdostaleignore`; one-line body signatures
147
+ in map output.
148
+
8
149
  ## [0.43.0] (2026-06-18)
9
150
 
10
151
  First Bushido (bdo) release line — a hardened fork of
package/README.md CHANGED
@@ -85,7 +85,7 @@ Download from [releases](https://github.com/tedorigawa001/TokenReductionTool/rel
85
85
  ### Verify Installation
86
86
 
87
87
  ```bash
88
- bdo --version # Should show "bdo 0.43.0"
88
+ bdo --version # Should show "bdo 0.44.11"
89
89
  bdo gain # Should show token savings stats
90
90
  ```
91
91
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.44.10"
3
+ "https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.44.12"
4
4
  ],
5
5
  "author": "Patrick Szymkowiak",
6
6
  "bin": {
@@ -91,7 +91,7 @@
91
91
  "zipExt": ".tar.xz"
92
92
  }
93
93
  },
94
- "version": "0.44.10",
94
+ "version": "0.44.12",
95
95
  "volta": {
96
96
  "node": "18.14.1",
97
97
  "npm": "9.5.0"