Skip to content

Release 0.4.0 - #3

Merged
Zenofex merged 1 commit into
mainfrom
release/0.4.0
Sep 25, 2026
Merged

Zenofex merged 1 commit into
mainfrom
release/0.4.0

Conversation

@Zenofex

@Zenofex Zenofex commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Ships the correctness batch that is currently merged but unreleased.

Why this is urgent. cli-v0.3.1 is still what the release page and the site hand people, and it contains the --log-file defect that writes zero bytes unless the session exits through the clean path. Anyone capturing today can lose the entire log while believing they have it.

Why 0.4.0 and not 1.0.0. The versioning policy in CHANGELOG.md calls an exit-code change MAJOR, and this batch changes one. But the crate is pre-1.0, so the leading zero is the major component and a breaking change moves the minor. Publishing 1.0.0 would assert an API-stability commitment this project has not made. The reasoning is recorded in the changelog rather than left implicit.

Breaking for CI consumers. scan now exits 2 for an empty or unusable capture and 3 when nothing was recognized, where it previously exited 0 for both. That is deliberate: a job whose UART never came up, whose adapter fell out, or whose artifact path was wrong used to report green.

Verified locally: 274 tests pass, clippy clean under -D warnings, rustfmt clean, cargo audit reports no vulnerabilities.

After merge, the release workflow is dispatched manually with version 0.4.0, then the tag is cut from the released commit per the workflow's documented process.

Ships the correctness batch. The reason this is urgent: v0.3.1 is still what
downloads/bootintel.com and the GitHub release page hand people, and it
contains the --log-file bug that writes zero bytes unless the session exits
through the clean path. Anyone capturing today can lose the whole log while
believing they have it. The fix has been sitting on main unreleased.

Numbered 0.4.0, not 1.0.0. The project's own policy calls an exit-code change
MAJOR and this batch changes one, but the crate is pre-1.0, so the leading
zero is the major component and a breaking change moves the minor. Releasing
1.0.0 would assert an API-stability commitment this project has not made.
The rationale is recorded in the changelog so the next reader does not have
to re-derive it.

Callers upgrading a CI job should read the exit-code note: scan now exits 2
for an empty or unusable capture and 3 when nothing was recognized, where it
previously exited 0 for both. That is the point of the change, since a job
whose UART never came up used to report green.

Verified: 274 tests pass, clippy clean under -D warnings, rustfmt clean, and
cargo audit reports no vulnerabilities.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@Zenofex
Zenofex merged commit 8cd6894 into main Sep 25, 2026
11 checks passed
@Zenofex
Zenofex deleted the release/0.4.0 branch September 25, 2026 10:50
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