Cut 0.2.0 - #47
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Step one of two. The release workflow refuses to build a tag whose changelog section does not
exist, so this lands before
v0.2.0is pushed.## [Unreleased]becomes## [0.2.0] - 2026-08-31, with a fresh empty## [Unreleased]above it.VersionPrefixmoves to0.2.0, so-devbuilds 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 anythingelse. Coming from 0.1.0 one setting resets: the three advertisement switches
(
recording.muteAdsEnabled,recording.recordEverythingEnabled,recording.recordAdsEnabled) arenow the single
recording.recordSelection, so a 0.1.0 settings file loads and comes back at thedefault. 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.skipAlreadyRecordedTrackswas added after 0.1.0 and never shippedin 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.-VerifyFormatclean. The workflow's notesextractor 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