bdo-cli 0.45.3 → 0.45.5
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.
- package/CHANGELOG.md +55 -0
- package/README.md +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,61 @@ 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.45.5] (2026-09-20)
|
|
9
|
+
|
|
10
|
+
### Fixes
|
|
11
|
+
|
|
12
|
+
- **The hook no longer rewrites a command that feeds a pipe.** The agent
|
|
13
|
+
only ever sees a pipeline's final output, so rewriting the left side to
|
|
14
|
+
`bdo …` never saved a token — it only changed what the next program
|
|
15
|
+
received. `cat src/main.rs | wc -l` counted bdo's truncated view (400)
|
|
16
|
+
instead of the file (3614); `git log --oneline | wc -l` reported the
|
|
17
|
+
50-entry cap, not the real 105 commits. Every command is now left exactly
|
|
18
|
+
as written when a `|` follows it; in a compound, only that segment is
|
|
19
|
+
exempt (`git status && cat f | wc -l` still becomes
|
|
20
|
+
`bdo git status && cat f | wc -l`). This generalizes the `find`/`fd`-only
|
|
21
|
+
exemption from #439.
|
|
22
|
+
|
|
23
|
+
**Visible side effect**: commands on the left of a pipe no longer appear
|
|
24
|
+
in `bdo gain` — bdo isn't in that path anymore. The filtered command whose
|
|
25
|
+
output the agent actually reads (the pipeline's last, or any unpiped
|
|
26
|
+
command) is tracked as before.
|
|
27
|
+
|
|
28
|
+
- **`bdo test --changed`** aborted the whole plan when one language's runner
|
|
29
|
+
was missing — a machine without `go` never ran the Python tests, with no
|
|
30
|
+
error beyond the printed plan header. That language now fails and the
|
|
31
|
+
rest still run.
|
|
32
|
+
|
|
33
|
+
## [0.45.4] (2026-09-19)
|
|
34
|
+
|
|
35
|
+
### Security
|
|
36
|
+
|
|
37
|
+
- **`bdo err` / `bdo test` command injection.** Both joined their argument
|
|
38
|
+
vector with spaces and handed the string to `sh -c`. An argument containing
|
|
39
|
+
a space was split into several, and shell metacharacters inside an argument
|
|
40
|
+
became executable — `bdo err grep 'x; touch F' file` ran `touch`. Both now
|
|
41
|
+
exec via argv, the shell path is removed, and an empty wrapped command is an
|
|
42
|
+
error instead of `sh -c ""` exiting 0.
|
|
43
|
+
|
|
44
|
+
**Behavior change**: packing shell syntax into a single argument
|
|
45
|
+
(`bdo test "cargo test && echo ok"`) no longer works — that form and the
|
|
46
|
+
injection were the same code path. Ask for a shell explicitly and it is
|
|
47
|
+
delivered intact: `bdo test sh -c 'cargo test && echo ok'`. Every documented
|
|
48
|
+
usage (`bdo err cargo build`, `bdo test cargo test`) is unaffected.
|
|
49
|
+
|
|
50
|
+
### Fixes
|
|
51
|
+
|
|
52
|
+
- **`bdo find <dir>`** — the most common native form, and what the hook
|
|
53
|
+
produces — was read as a glob pattern searched under `.`, a different command
|
|
54
|
+
that usually found nothing. A lone argument with a path separator and no glob
|
|
55
|
+
characters is now the start path. A missing start path exits 1 with find's
|
|
56
|
+
message instead of reporting zero matches and exiting 0, so `bdo find … &&`
|
|
57
|
+
chains stop where native find would.
|
|
58
|
+
|
|
59
|
+
Together these close the ledger's "compound command / exit code
|
|
60
|
+
interference" item: the interference was bdo running a different command
|
|
61
|
+
than the one asked for, not a harness artifact.
|
|
62
|
+
|
|
8
63
|
## [0.45.3] (2026-09-19)
|
|
9
64
|
|
|
10
65
|
### Security
|
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.45.
|
|
3
|
+
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.45.5"
|
|
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.
|
|
94
|
+
"version": "0.45.5",
|
|
95
95
|
"volta": {
|
|
96
96
|
"node": "18.14.1",
|
|
97
97
|
"npm": "9.5.0"
|