Release 0.16.0: File Shelf, plus features across seven tools - #32
Merged
Conversation
Bumps VERSION to 0.16.0 and closes the changelog section for the release: File Shelf as a new tool, support-file removal in Uninstall Apps, next-display moves and an arrange undo in Window Manager, per-directory listing in Clean Drive, acting on scan results in Disk Usage Analyzer, a global OCR shortcut in Grab Text, sparklines and a top-process list in System Monitor, saved device profiles in Audio Switcher, and the store-file and threading hardening that followed. Moves the File Shelf entry out of the 0.15.0 section, where 5f2b0b6 filed it. File Shelf was merged after v0.15.0 was tagged, so the entry claimed a tool that is not in the build users already have, and it would have gone missing from the release that actually carries it — the one place someone would look for it. The 0.15.0 section is now byte-identical to the tag again, and File Shelf leads 0.16.0's Added list where the other new tools sit in their own releases. Sparkle notes for the release are the usual short curated file rather than the changelog section, which is 60 lines here — well past the point where the update window grows taller than the screen and puts the Update button out of reach. Eight tools in one release is more to cover than 0.15.0 had, so the notes lead with File Shelf and reduce the rest to one line apiece. Nothing else in the tree carries the version: the Info.plist strings are stamped from VERSION by package_app.sh at build time, and a sweep for a hardcoded 0.15.0 outside the changelog found none.
Uninstall Apps' leftover sweep, Window Manager's next-display move and undo, and Clean Drive's per-directory developer junk all shipped today with no changelog entry at all. Their pull requests were the three that touched no shared registry file, which is exactly why they merged without conflicts and exactly why nobody had to open CHANGELOG.md while landing them — the same property that made them easy made them silent. Caught by counting the features in the release against the entries in the section, rather than by reading the section, which looked complete.
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.
Prepares the 0.16.0 release. Nothing is tagged and nothing is published — this branch only stages the version, the changelog and the Sparkle notes for review.
What changed
VERSION0.15.0→0.16.0CHANGELOG.md## [Unreleased]into## [0.16.0] — 2026-08-26, keeping an empty## [Unreleased]above it; adds the[0.16.0]link definition and repoints[Unreleased]atv0.16.0...HEADPackaging/ReleaseNotes/0.16.0.mdEntry text is otherwise untouched, with one deliberate exception below.
One correction
The File Shelf changelog entry was sitting inside the already-released
## [0.15.0]section —5f2b0b6added it there, but File Shelf merged afterv0.15.0was tagged. Verified against the tag:git show v0.15.0:CHANGELOG.mdcontains no File Shelf.Left alone it would have claimed a tool that is not in the build users already have, and File Shelf would have been missing from the notes for the release that actually ships it. The entry now leads 0.16.0's
### Added, and the 0.15.0 section is byte-identical to the tag again.Not touched
README.md— being handled separately.Packaging/*Info.plist— the version strings are stamped fromVERSIONbyScripts/package_app.shat build time (PlistBuddy -c "Set :CFBundleShortVersionString $VERSION"), so they are not hand-edited. 0.15.0's release commit did not edit them either.A sweep for a hardcoded
0.15.0outside the changelog and release notes found none, soVERSIONremains the single source of truth.Verification
swift build— Build completeswift test—Executed 1182 tests, with 0 failures (0 unexpected) in 6.381 (6.446) secondsReleasing this
Review and merge first. The release is not triggered by this PR —
release.ymlruns only on av*.*.*tag push. After merging, the tag is what publishes to real users:That build, notarizes and publishes the update. Deliberately left for you to run.