@wirecat/cli-base 0.47.1 → 0.47.2
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 +17 -0
- package/dist/standards/flags-how.js +0 -7
- package/docs/standards/releases.md +12 -7
- package/docs/standards/security.md +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -8,6 +8,23 @@ Versions before 0.8.0 are in the [git tags](https://github.com/WireCatLabs/cli-b
|
|
|
8
8
|
Every entry says what changed as a caller sees it, why, and what to watch for — the rules are
|
|
9
9
|
[`docs/dev/CONVENTIONS.md`](docs/dev/CONVENTIONS.md#the-changelog).
|
|
10
10
|
|
|
11
|
+
## 0.47.2 — 19.10.2026
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
- **WC-REL-9 counts a shared-library change toward its once-a-week limit only when a CLI must change its code to take
|
|
16
|
+
it.** cli-core's parity jobs build tg-cli, max-cli and whatsapp-cli from their `main` against every pull request.
|
|
17
|
+
A change all three pass with, unchanged, may ship in any release. A change that fails a job, passes only against a
|
|
18
|
+
CLI branch made for it, or changes behaviour a CLI must adapt to still counts; when in doubt, it counts. The limit
|
|
19
|
+
exists so the CLIs do not chase versions, and a change they need not follow gives them nothing to chase. Its
|
|
20
|
+
changelog still marks it "may break callers" for outside users.
|
|
21
|
+
|
|
22
|
+
### Removed
|
|
23
|
+
|
|
24
|
+
- **`--qr-file` is no longer a vocabulary flag.** tg, max and cli-core dropped the option that wrote the login QR
|
|
25
|
+
code to a PNG; a CLI now prints the QR code as text for the user or agent to paste. A CLI that still declares
|
|
26
|
+
`--qr-file` fails `option-role` in `cli-dev lint`; none does today.
|
|
27
|
+
|
|
11
28
|
## 0.47.1 — 19.10.2026
|
|
12
29
|
|
|
13
30
|
### Added
|
|
@@ -175,13 +175,6 @@ export const HOW_FLAGS = [
|
|
|
175
175
|
type: "switch",
|
|
176
176
|
meaning: "also print edits, deletions and other changes; every line names its event",
|
|
177
177
|
},
|
|
178
|
-
{
|
|
179
|
-
name: "--qr-file",
|
|
180
|
-
value: "<png>",
|
|
181
|
-
role: "output",
|
|
182
|
-
type: "path",
|
|
183
|
-
meaning: "write the login QR code to this PNG instead of drawing it",
|
|
184
|
-
},
|
|
185
178
|
{ name: "--all-versions", role: "output", type: "switch", meaning: "also the earlier versions a newer one replaced" },
|
|
186
179
|
{ name: "--measure", value: "<name>", role: "sort", type: "choice", meaning: "the metric a ranking is ordered by" },
|
|
187
180
|
{ name: "--newest", role: "sort", type: "switch", meaning: "newest first instead of best first" },
|
|
@@ -98,14 +98,19 @@ on the [CI](ci.md) page.
|
|
|
98
98
|
- **Exceptions:** memo, drive and zoom have no gap in their `bin/release` today.
|
|
99
99
|
- **Applies to:** messenger CLIs (gap); shared libraries (no gap). **Since:** cli-base 0.41.0. **Rulings:** NEED-854.
|
|
100
100
|
|
|
101
|
-
### WC-REL-9 · A
|
|
102
|
-
|
|
103
|
-
- **Why:**
|
|
104
|
-
|
|
105
|
-
- **
|
|
106
|
-
|
|
101
|
+
### WC-REL-9 · A change to a stable shared-library export that makes a CLI change its code ships at most once a week
|
|
102
|
+
|
|
103
|
+
- **Why:** the limit keeps the CLIs from chasing versions; a change that no CLI has to follow gives them nothing to
|
|
104
|
+
chase.
|
|
105
|
+
- **Enforced by:** `cli-core: parity.yml` (it decides which changes count; review keeps the week).
|
|
106
|
+
- **Example:** cli-core's parity jobs build tg-cli, max-cli and whatsapp-cli from their `main` against every pull
|
|
107
|
+
request. A change to a stable export counts unless all three jobs pass with each CLI's `main` unchanged; its
|
|
108
|
+
changelog still lists it under "Changed — may break callers" for outside users. It counts when a job fails, when it
|
|
109
|
+
passes only against a CLI branch made for the change, and when it compiles but changes behaviour that any CLI must
|
|
110
|
+
adapt to. Parity cannot see that last case, so when in doubt the change counts. Gather the changes that count into
|
|
111
|
+
one release a week, and bump the library in every CLI that uses it on the same day.
|
|
107
112
|
- **Exceptions:** none.
|
|
108
|
-
- **Applies to:** shared libraries. **Since:** cli-base 0.41.0. **Rulings:** NEED-473.
|
|
113
|
+
- **Applies to:** shared libraries. **Since:** cli-base 0.41.0. **Rulings:** NEED-473, NEED-1552.
|
|
109
114
|
|
|
110
115
|
### WC-REL-10 · A messenger CLI is released only with a release report the owner signed for that commit
|
|
111
116
|
|
|
@@ -124,8 +124,8 @@ the message store. The owner adds `--allow-any-file` to send one anyway.
|
|
|
124
124
|
### WC-SECR-10 · Private files are written atomically with private modes
|
|
125
125
|
|
|
126
126
|
A file that holds a secret or private state is written with `writeSecurely`: atomically, mode `0600`, in a directory
|
|
127
|
-
created with mode `0700`. `writeSecurely` takes text or bytes
|
|
128
|
-
temporary credential file
|
|
127
|
+
created with mode `0700`. `writeSecurely` takes text or bytes. A
|
|
128
|
+
temporary credential file is `0600` and removed in `finally`.
|
|
129
129
|
tg's `doctor` reports a wrong mode and prints the `chmod` fix without applying it.
|
|
130
130
|
|
|
131
131
|
- **Why:** another user on the same computer must not read the session.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-base",
|
|
3
|
-
"version": "0.47.
|
|
3
|
+
"version": "0.47.2",
|
|
4
4
|
"description": "The parts every command line tool needs: output modes, terminal rendering, error model, exit codes, credentials, clocks",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|