bdo-cli 0.49.1 → 0.49.3
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 +47 -0
- package/README.md +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,53 @@ 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.49.3] (2026-11-03)
|
|
9
|
+
|
|
10
|
+
### Security
|
|
11
|
+
|
|
12
|
+
- **Hook permission gate: comments and redirects can no longer hide
|
|
13
|
+
commands or arguments.**
|
|
14
|
+
- A quote inside a comment (`git status # it's`) was read as opening a
|
|
15
|
+
string, so the next line's command was swallowed into "one" `git status`
|
|
16
|
+
and auto-approved by a `git status` allow rule. Comments (a `#` that
|
|
17
|
+
starts a word, outside quotes) now run to the end of the line in the
|
|
18
|
+
tokenizer and in the substitution scan, as in bash.
|
|
19
|
+
- Each permission segment was cut at its first redirect, so
|
|
20
|
+
`git push 2>/dev/null --force` was checked as `git push` and a deny rule
|
|
21
|
+
for `git push --force` never matched. Redirects and their targets are
|
|
22
|
+
now removed and the words after them kept: it is checked as
|
|
23
|
+
`git push --force`.
|
|
24
|
+
- A line continuation split an argument for the check but not for bash:
|
|
25
|
+
`git push --for\<newline>ce` runs `git push --force` yet dodged a deny
|
|
26
|
+
rule for it. Backslash-newlines are now removed before checking, as bash
|
|
27
|
+
does (not inside single quotes, and not at the end of a comment, where
|
|
28
|
+
the next line remains its own command).
|
|
29
|
+
|
|
30
|
+
## [0.49.2] (2026-10-31)
|
|
31
|
+
|
|
32
|
+
### Security
|
|
33
|
+
|
|
34
|
+
- **`bdo grep` no longer lets ripgrep run a program.** bdo translates grep to
|
|
35
|
+
rg and forwarded extra arguments, including rg's `--pre <cmd>` (runs `<cmd>`
|
|
36
|
+
on every searched file) and `--hostname-bin <cmd>`. Native grep rejects
|
|
37
|
+
these as unknown options, so a hook-rewritten `grep -rn x . --pre rm` — which
|
|
38
|
+
a `grep` allow rule auto-approves — deleted the files it searched. bdo grep
|
|
39
|
+
now refuses `--pre`, `--pre-glob` and `--hostname-bin` (also `--opt=value`)
|
|
40
|
+
in the path, `-t` value and extra arguments, including under `--raw`, and
|
|
41
|
+
passes the pattern with `-e` so a pattern like `--pre` is searched for, not
|
|
42
|
+
parsed as a flag.
|
|
43
|
+
- **`bdo read` streams instead of loading unbounded input.** `cat` / `head` /
|
|
44
|
+
`tail` become `bdo read`, which loaded the whole file to filter it:
|
|
45
|
+
`/dev/zero` grew memory until the process was killed, a FIFO showed nothing
|
|
46
|
+
until the writer closed, and a multi-gigabyte log was held in memory. Files
|
|
47
|
+
that are not regular files, or are over 16 MiB, are now streamed unfiltered
|
|
48
|
+
and byte-exact (non-UTF-8 included), honouring `-m` / `--tail-lines`, in
|
|
49
|
+
bounded memory: `-m` counts newlines chunk by chunk (~8 MB RSS for 200 MB of
|
|
50
|
+
`/dev/zero`); `--tail-lines` scans a regular file backwards from the end
|
|
51
|
+
(a 300 MB single-line file: ~10 MB RSS) and keeps at most a 16 MiB window of
|
|
52
|
+
input that cannot be seeked (`/dev/zero` holds at ~38 MB RSS, warning when
|
|
53
|
+
the requested lines did not fit).
|
|
54
|
+
|
|
8
55
|
## [0.49.1] (2026-10-29)
|
|
9
56
|
|
|
10
57
|
### Security
|
package/README.md
CHANGED
|
@@ -119,7 +119,7 @@ gh attestation verify "$(brew --cache bushido)" --repo tedorigawa001/TokenReduct
|
|
|
119
119
|
### Verify Installation
|
|
120
120
|
|
|
121
121
|
```bash
|
|
122
|
-
bdo --version # Should show "bdo 0.49.
|
|
122
|
+
bdo --version # Should show "bdo 0.49.3"
|
|
123
123
|
bdo gain # Should show token savings stats
|
|
124
124
|
```
|
|
125
125
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"artifactDownloadUrls": [
|
|
3
|
-
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.49.
|
|
3
|
+
"https://github.com/tedorigawa001/TokenReductionTool-BDO/releases/download/v0.49.3"
|
|
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.49.
|
|
94
|
+
"version": "0.49.3",
|
|
95
95
|
"volta": {
|
|
96
96
|
"node": "18.14.1",
|
|
97
97
|
"npm": "9.5.0"
|