Skip to content

v0.116.0

Choose a tag to compare

@smm-h smm-h released this 16 Aug 13:12
· 2858 commits to main since this release

rlsbl on strictcli 0.41: mandatory presence declarations across the CLI, member-spelled selectors, changelog edit as a true sparse-update command with --unset-*, the schema-version stamp preserving the v2 byte canon, and TypeScript app support in the schema-dump step.

Breaking

  • rlsbl now requires strictcli 0.41.0 or newer, and every flag declares its presence. A flag you omit now reaches rlsbl as absent instead of as "" or 0, which changes one argv: --push-timeout 0 and its --ci-timeout / --check-timeout / --hook-timeout siblings no longer mean "use the config key" -- omit the flag to get that. Values are checked against declared choices at parse time (--target on check-name, claim-name, monorepo check-names and dev install; --type on the changelog commands; scaffold --publish-mode; monorepo graph --format), and flags the handlers used to refuse after starting are refused before the command runs (changelog add --commits, changelog amend --version and --commits, release scrub --reason). release scrub gets two exactly-one selections -- the mode and the commit range -- and --replace / --mangle now belong to --pattern scope, so passing one under --file or --recipe names both sides instead of being quietly accepted.

Fixes

  • A release of a strictcli project no longer mangles its .strictcli/schema.json. Writing the new version into the freshly-dumped schema re-encoded the whole document, which silently destroyed strictcli's canonical byte encoding: every non-ASCII character in any help text came back out as a \uXXXX escape, and the canonical float form went with it. Every release rewrote the file into something no strictcli implementation would write, and the next dump reverted it. The version is now patched textually -- one line, every other byte preserved.