Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,17 @@ Versions before 0.8.0 are in the [git tags](https://github.com/WireCatLabs/cli-b
Every entry says what changed as a caller sees it, why, and what to watch for — the rules are
[`docs/dev/CONVENTIONS.md`](docs/dev/CONVENTIONS.md#the-changelog).

## Unreleased

### Added

- **WC-REL-9 counts a shared-library change toward its once-a-week limit only when a CLI must change its code to take
it.** cli-core's parity jobs build tg-cli, max-cli and whatsapp-cli from their `main` against every pull request.
A change all three pass with, unchanged, may ship in any release. A change that fails a job, passes only against a
CLI branch made for it, or changes behaviour a CLI must adapt to still counts; when in doubt, it counts. The limit
exists so the CLIs do not chase versions, and a change they need not follow gives them nothing to chase. Its
changelog still marks it "may break callers" for outside users.

## 0.47.1 — 19.10.2026

### Added
Expand Down
19 changes: 12 additions & 7 deletions docs/standards/releases.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,14 +98,19 @@ on the [CI](ci.md) page.
- **Exceptions:** memo, drive and zoom have no gap in their `bin/release` today.
- **Applies to:** messenger CLIs (gap); shared libraries (no gap). **Since:** cli-base 0.41.0. **Rulings:** NEED-854.

### WC-REL-9 · A breaking change to a stable shared-library export ships at most once a week

- **Why:** each such change makes every CLI change too; batching them keeps the CLIs on one version.
- **Enforced by:** review only.
- **Example:** gather breaking export changes into one release a week. Bump the library in every CLI that uses it on
the same day.
### WC-REL-9 · A change to a stable shared-library export that makes a CLI change its code ships at most once a week

- **Why:** the limit keeps the CLIs from chasing versions; a change that no CLI has to follow gives them nothing to
chase.
- **Enforced by:** `cli-core: parity.yml` (it decides which changes count; review keeps the week).
- **Example:** cli-core's parity jobs build tg-cli, max-cli and whatsapp-cli from their `main` against every pull
request. A change to a stable export counts unless all three jobs pass with each CLI's `main` unchanged; its
changelog still lists it under "Changed — may break callers" for outside users. It counts when a job fails, when it
passes only against a CLI branch made for the change, and when it compiles but changes behaviour that any CLI must
adapt to. Parity cannot see that last case, so when in doubt the change counts. Gather the changes that count into
one release a week, and bump the library in every CLI that uses it on the same day.
- **Exceptions:** none.
- **Applies to:** shared libraries. **Since:** cli-base 0.41.0. **Rulings:** NEED-473.
- **Applies to:** shared libraries. **Since:** cli-base 0.41.0. **Rulings:** NEED-473, NEED-1552.

### WC-REL-10 · A messenger CLI is released only with a release report the owner signed for that commit

Expand Down
Loading