bdo-cli 0.45.7 → 0.46.1

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 +63 -0
  2. package/README.md +27 -1
  3. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -5,6 +5,69 @@ 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.46.1] (2026-10-17)
9
+
10
+ ### Security
11
+
12
+ - **rustls 0.23.45 → 0.23.46** (via `ureq`), fixing RUSTSEC-2026-0346
13
+ (`Debug` impls for client session values expose TLS secrets, medium),
14
+ RUSTSEC-2026-0347, RUSTSEC-2026-0348 and RUSTSEC-2026-0349 (including an
15
+ unauthenticated ServerHello downgrading later connections to classical key
16
+ exchange, low). Caught by the daily scheduled `cargo audit` run. No code
17
+ changes.
18
+
19
+ - **CI actions pinned to commit SHAs.** `ci.yml` used mutable refs
20
+ (`actions/checkout@v6`, `dtolnay/rust-toolchain@1.91`), so whoever controls
21
+ those tags or branches could change what runs on every PR. They are now
22
+ pinned like `release.yml`, every checkout drops its credentials
23
+ (`persist-credentials: false`), and the hardening check runs against
24
+ `ci.yml` too, so an unpinned action fails CI.
25
+
26
+ ## [0.46.0] (2026-10-04)
27
+
28
+ ### Features
29
+
30
+ - **`--raw` / `BDO_RAW=1`: unreduced output for every command.** One switch
31
+ replaces the per-command escape hatches, meaning "run as if bdo weren't
32
+ there":
33
+
34
+ ```bash
35
+ bdo --raw git log # identical to `git log`, byte for byte, same exit code
36
+ bdo --raw read src/main.rs # the whole file
37
+ BDO_RAW=1 bdo cargo test # env form, e.g. for a whole session
38
+ ```
39
+
40
+ A command with a same-named program runs it with your arguments unchanged;
41
+ `err` / `test` / `summary` run what they wrap; `read` shows the full file;
42
+ commands that run a differently named tool (`lint`, `format`, `vitest`,
43
+ `jest`, `prisma`, `playwright`) do the same work with bdo's output
44
+ reduction and parsing-only flags (`--reporter=json` and the like) removed —
45
+ but keep flags that change what runs, such as vitest's `run` and black's
46
+ `--check`, so raw mode never hangs in watch mode or rewrites files.
47
+ bdo-only commands (`gain`, `map`, …) run as usual. Raw runs are tracked at
48
+ 0% savings.
49
+
50
+ Put `--raw` before the subcommand; `BDO_RAW=1` works anywhere and leaves the
51
+ hook's rewriting unchanged. `bdo read -l none`, `BDO_NO_TOML=1` and
52
+ `bdo proxy` keep working, and `bdo read`'s reduced-view hint now suggests
53
+ `bdo --raw read <file>`.
54
+
55
+ ### Fixes
56
+
57
+ - **`bdo lint` mangled output-format options.** `bdo lint ruff check
58
+ --output-format text .` ran `ruff text .` — `check` and the option were
59
+ dropped, the option's value left behind. `bdo lint eslint -f stylish` passed
60
+ `-f json -f stylish`, so eslint used stylish and bdo's JSON parse failed.
61
+ Each linter's format option is now handled as one unit, in either spelling.
62
+ - **`bdo --raw` or `bdo -v` with no subcommand** tried to run `--raw` / `-v`
63
+ as a program and exited 127. It's now a usage error.
64
+
65
+ ### Chores
66
+
67
+ - The dependency audit (`cargo audit`) runs daily in CI, not only on push —
68
+ a new advisory against a locked dependency no longer waits for the next
69
+ commit to surface.
70
+
8
71
  ## [0.45.7] (2026-09-26)
9
72
 
10
73
  ### Features
package/README.md CHANGED
@@ -97,7 +97,7 @@ Each has a `.sha256` sidecar — verify before extracting.
97
97
  ### Verify Installation
98
98
 
99
99
  ```bash
100
- bdo --version # Should show "bdo 0.45.7"
100
+ bdo --version # Should show "bdo 0.46.1"
101
101
  bdo gain # Should show token savings stats
102
102
  ```
103
103
 
@@ -399,8 +399,34 @@ Antigravity, Copilot, Cursor), or set explicitly via `BDO_AGENT=<name>`. Command
399
399
  ```bash
400
400
  -u, --ultra-compact # ASCII icons, inline format (extra token savings)
401
401
  -v, --verbose # Increase verbosity (-v, -vv, -vvv)
402
+ --raw # No filtering at all — run as if bdo weren't there
402
403
  ```
403
404
 
405
+ ### Raw output (`--raw` / `BDO_RAW=1`)
406
+
407
+ When you need the exact, unreduced output — a checksum, a precise count, an
408
+ error message bdo would trim — use one switch for every command:
409
+
410
+ ```bash
411
+ bdo --raw git log # identical to `git log`, byte for byte, same exit code
412
+ bdo --raw read src/main.rs # the whole file
413
+ BDO_RAW=1 bdo cargo test # env var form, e.g. for a whole session
414
+ ```
415
+
416
+ - A command with a same-named program (`git`, `ls`, `cargo`, `grep`, …) runs
417
+ that program with your arguments unchanged.
418
+ - `err` / `test` / `summary` run the command they wrap.
419
+ - `read` shows the full file.
420
+ - bdo-only commands (`gain`, `map`, …) have no unfiltered form and run as usual.
421
+
422
+ Put `--raw` **before** the subcommand: after it, the flag belongs to the
423
+ wrapped command (`git log --raw` is git's own option). `BDO_RAW=1` works
424
+ anywhere, and leaves the hook's rewriting unchanged — the rewritten command
425
+ just runs raw. Raw runs are still tracked, at 0% savings.
426
+
427
+ The older per-command switches — `bdo read -l none`, `BDO_NO_TOML=1`,
428
+ `bdo proxy <cmd>` — keep working.
429
+
404
430
  ## Examples
405
431
 
406
432
  **Directory listing:**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "artifactDownloadUrls": [
3
- "https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.45.7"
3
+ "https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.46.1"
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.45.7",
94
+ "version": "0.46.1",
95
95
  "volta": {
96
96
  "node": "18.14.1",
97
97
  "npm": "9.5.0"