Skip to content

docs: prepare the v0.3.0 release - #44

Open
patramsey wants to merge 1 commit into
mainfrom
docs/release-0.3.0
Open

docs: prepare the v0.3.0 release#44
patramsey wants to merge 1 commit into
mainfrom
docs/release-0.3.0

Conversation

@patramsey

Copy link
Copy Markdown
Owner

Fifteen user-facing changes since v0.2.4, from #39 and #41. Only CHANGELOG.md
changes — the build version comes from the tag.

Why 0.3.0 and not 0.2.5

Invocation mistakes now exit 2 instead of 1. A bad flag value, an unknown
record type, a missing required flag — all previously exited 1, the same code as
an API or runtime failure, and now exit 2 as the documented table has always
said.

It is a fix, but it is one a script can be depending on:

namecom dns create example.com --type ZZZ --answer 1.2.3.4
# v0.2.4: exit 1     v0.3.0: exit 2

So it gets a note at the top of the section rather than a line buried under
### Fixed. --wide is also a new flag, which is a minor bump on its own.

Nothing else changes an exit code, and no command changes what it sends to the
API.

What's in it

Added --wide — keep every table column even when it overflows
Changed --timeout described as the total budget for a call including retries
Fixed 12 entries — see below
Documentation CLAUDE.md corrected on POST retry behaviour

The fixes, briefly: a mistyped subcommand exited 0 (so namecom domain regsiter foo.com && deploy deployed); tables overflowed an 80-column terminal and the
borders shattered; credentials that existed were reported as missing while
config list-profiles printed them; seven list commands could page forever
against a server whose nextPage never advanced; a 429 with a long
Retry-After was slept on until the deadline expired and reported as a
transport error; non-JSON error bodies were echoed verbatim at 20 KB; and one
idempotency key was shared across every write in an invocation.

Verification

make test, make lint, and make build pass. The bullet set under the new
## [0.3.0] heading is byte-identical to what was under ## [Unreleased] on
main — 15 entries either way, nothing reworded or dropped in the move.

After merge

Tagging v0.3.0 fires the release workflow, which builds the binaries and
pushes the Homebrew cask. That step is yours — I have not tagged anything.

Fifteen user-facing changes since v0.2.4, from #39 and #41.

Minor rather than patch because of the exit codes. Invocation mistakes — a bad
flag value, an unknown record type, a missing required flag — used to exit 1,
indistinguishable from an API or runtime failure, and now exit 2 as the
documented table has always claimed. That is a fix, but it is one a script can
be depending on, so it gets a note at the top of the section rather than a line
buried under Fixed. The release also adds --wide, which is a feature and a
minor bump on its own.

The rest is what the audit turned up: a mistyped subcommand that exited 0,
tables that overflowed an 80-column terminal, credentials that existed being
reported as missing, seven list commands that could page forever, a 429 with a
long Retry-After that decayed into a timeout, error bodies echoed at 20 KB, and
one idempotency key shared across every write in an invocation.

Only CHANGELOG.md changes; the build version comes from the tag.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant