Skip to content

Cut 0.2.0 - #47

Merged
revtex merged 1 commit into
mainfrom
release-0.2.0
Sep 1, 2026
Merged

Cut 0.2.0#47
revtex merged 1 commit into
mainfrom
release-0.2.0

Conversation

@revtex

@revtex revtex commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Step one of two. The release workflow refuses to build a tag whose changelog section does not
exist, so this lands before v0.2.0 is pushed.

  • ## [Unreleased] becomes ## [0.2.0] - 2026-08-31, with a fresh empty ## [Unreleased] above it.
  • VersionPrefix moves to 0.2.0, so -dev builds sort after the release rather than before it.
    The shipped number still comes from the tag — this only governs what an untagged build calls itself.

The section gained a lead note

The whole ## [0.2.0] section becomes the release notes, and an upgrader reads it before anything
else. Coming from 0.1.0 one setting resets: the three advertisement switches
(recording.muteAdsEnabled, recording.recordEverythingEnabled, recording.recordAdsEnabled) are
now the single recording.recordSelection, so a 0.1.0 settings file loads and comes back at the
default. That was already true in the body — as a clause at the end of a long paragraph about why
the switches were wrong, which is not where anyone looks to find out whether upgrading changes what
their machine does.

And one claim in that block was wrong

The existing-file entry said anyone who had asked Offstream to skip an already-recorded track would
need to say so again. output.skipAlreadyRecordedTracks was added after 0.1.0 and never shipped
in a release, so there is nobody for that to be true of. A reset warning no one can act on is worse
than no warning.

Verification

.\build.ps1 -Test — 1,269 passing, 0 warnings. -VerifyFormat clean. The workflow's notes
extractor matches ^## \[0\.2\.0\][^\n]*\n(?<body>.*?)(?=^## \[|\z), which now terminates at
## [0.1.0] and picks up nothing from the empty Unreleased above.

🤖 Generated with Claude Code

Releasing is two steps here on purpose: the changelog names the version in
a reviewed pull request, and only then does the tag get pushed. The
release workflow refuses to build a tag whose section does not exist, so
this has to land first.

`## [Unreleased]` becomes `## [0.2.0] - 2026-08-31` with a fresh empty
Unreleased above it, and VersionPrefix moves to 0.2.0 so that `-dev`
builds keep sorting after the last release rather than before it. The
shipped number still comes from the tag; this one only governs what an
untagged build calls itself.

The section gained a lead note, because the whole section is what becomes
the release notes and an upgrader reads it before anything else. One
setting resets coming from 0.1.0 — the three advertisement switches are
one dropdown now, and a 0.1.0 settings file comes back at the default. It
was true in the body already, as a clause at the end of a long paragraph
about why the switches were wrong, which is not where someone looks to
find out whether an upgrade will change what their machine does.

Also corrected a claim in that same block: the existing-file entry said
anyone who had asked Offstream to skip a recorded track would need to say
so again. `output.skipAlreadyRecordedTracks` was added after 0.1.0 and
never appeared in a release, so there is no one for that to be true of,
and a reset warning nobody can act on is worse than none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@revtex
revtex merged commit 45c68f7 into main Sep 1, 2026
6 checks passed
@revtex
revtex deleted the release-0.2.0 branch September 1, 2026 00:51
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