From b5fc40612923042e67defb22e11ac1b630c36db4 Mon Sep 17 00:00:00 2001 From: Mac Studio M4MAX DMonte Date: Wed, 26 Aug 2026 17:52:18 +0530 Subject: [PATCH 1/2] Release 0.16.0: File Shelf, plus features across seven tools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- CHANGELOG.md | 35 +++++++++++++++++--------------- Packaging/ReleaseNotes/0.16.0.md | 26 ++++++++++++++++++++++++ VERSION | 2 +- 3 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 Packaging/ReleaseNotes/0.16.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 00ff0e9..1c8498b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ adheres to [Semantic Versioning](https://semver.org) and the ## [Unreleased] +## [0.16.0] — 2026-08-26 + ### Fixed - A **store file that no longer decodes is moved aside instead of being silently overwritten.** File Shelf, Snippets and Clipboard History all treated an @@ -35,6 +37,21 @@ adheres to [Semantic Versioning](https://semver.org) and the already does. ### Added +- **File Shelf**, a new menu bar tool: a drag‑and‑drop staging area for moving + files between apps and Spaces without keeping a Finder window open. Drop + files onto the menu bar icon or into the popover to park them, then drag them + straight back out into any app — the drag hands over the real file, so the + receiving app gets the original rather than a copy. Each row also offers + Reveal in Finder, Copy Path and Remove, and the menu bar icon carries a count + of what you are currently carrying. + + Shelving never copies bytes: an entry is a security‑scoped bookmark to the + original file, so parking a 40 GB video costs the same as parking a note, the + shelf survives a relaunch, and an entry keeps working after the file is + renamed or moved. A file that has been deleted, or that lives on a disk you + have unplugged, stays on the shelf and is shown as unavailable rather than + quietly disappearing — the shelf's job is to tell you where the thing you + parked went, not to pretend you never parked it. - **Audio Switcher** now saves device profiles: name the input/output pair you are on — "Headset", "Desk", "Meeting" — and switch back to it with one click. Profiles remember devices by their CoreAudio UID rather than the numeric @@ -106,21 +123,6 @@ adheres to [Semantic Versioning](https://semver.org) and the alone — and wins outright where there are fewer performance cores. The GPU option appears only when this ffmpeg actually has the encoder, and a stored preference for it falls back to the CPU on a machine that no longer offers it. -- **File Shelf**, a new menu bar tool: a drag‑and‑drop staging area for moving - files between apps and Spaces without keeping a Finder window open. Drop - files onto the menu bar icon or into the popover to park them, then drag them - straight back out into any app — the drag hands over the real file, so the - receiving app gets the original rather than a copy. Each row also offers - Reveal in Finder, Copy Path and Remove, and the menu bar icon carries a count - of what you are currently carrying. - - Shelving never copies bytes: an entry is a security‑scoped bookmark to the - original file, so parking a 40 GB video costs the same as parking a note, the - shelf survives a relaunch, and an entry keeps working after the file is - renamed or moved. A file that has been deleted, or that lives on a disk you - have unplugged, stays on the shelf and is shown as unavailable rather than - quietly disappearing — the shelf's job is to tell you where the thing you - parked went, not to pretend you never parked it. ## [0.14.0] — 2026-07-21 @@ -585,7 +587,8 @@ Switcher, Focus Timer, Calendar, Keep Awake, Maintenance, and Dev Tools. - The menu bar tool box shell and the first tool, System Monitor (live CPU, memory, disk, network, and temperature metrics). -[Unreleased]: https://github.com/havokentity/MacTools/compare/v0.15.0...HEAD +[Unreleased]: https://github.com/havokentity/MacTools/compare/v0.16.0...HEAD +[0.16.0]: https://github.com/havokentity/MacTools/releases/tag/v0.16.0 [0.15.0]: https://github.com/havokentity/MacTools/releases/tag/v0.15.0 [0.14.0]: https://github.com/havokentity/MacTools/releases/tag/v0.14.0 [0.13.0]: https://github.com/havokentity/MacTools/releases/tag/v0.13.0 diff --git a/Packaging/ReleaseNotes/0.16.0.md b/Packaging/ReleaseNotes/0.16.0.md new file mode 100644 index 0000000..9fc5072 --- /dev/null +++ b/Packaging/ReleaseNotes/0.16.0.md @@ -0,0 +1,26 @@ +### New tool + +**File Shelf** — a drag‑and‑drop staging area in the menu bar. Drop files onto +the tray icon to park them, then drag them straight back out into any app. + +- Holds a bookmark rather than a copy, so parking a 40 GB video is instant and + the entry keeps working after the file is renamed or moved +- A file you deleted, or one on a disk you unplugged, is shown as unavailable + rather than quietly disappearing + +### Improvements + +- Uninstall Apps: also removes the support files an app leaves behind +- Window Manager: send a window to the next display, and undo the last arrange +- Disk Usage Analyzer: Reveal, Copy Path and Move to Trash straight from a scan +- Grab Text: press ⌃⌥G anywhere for instant OCR +- System Monitor: history sparklines and a top‑process list +- Audio Switcher: save an input/output pair as a named profile +- Clean Drive: developer junk listed directory by directory + +### Fixed + +A store file that no longer decodes is moved aside instead of being silently +overwritten, and File Shelf resolves its shelf off the main thread. + +[Full changelog](https://github.com/havokentity/MacTools/blob/main/CHANGELOG.md) diff --git a/VERSION b/VERSION index a551051..04a373e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.15.0 +0.16.0 From c48fee018de550ad89425f58c94fb121ea486d72 Mon Sep 17 00:00:00 2001 From: Mac Studio M4MAX DMonte Date: Wed, 26 Aug 2026 17:55:12 +0530 Subject: [PATCH 2/2] Release 0.16.0: add the three features that never reached the changelog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- CHANGELOG.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c8498b..3768b20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -82,6 +82,28 @@ adheres to [Semantic Versioning](https://semver.org) and the shortcut. Screen capture needs Screen Recording access; without it a grab comes back blank rather than failing, so Grab Text now says so instead of reporting "no text found". +- **Uninstall Apps** now removes the support files an app leaves behind, not + just the bundle. A sweep lists every leftover it found — preferences, caches, + containers, saved state, logs and launch agents — with the size of each, and + nothing is deleted until you have seen the list and confirmed it. Locations + matched on the app's name rather than its bundle identifier are badged as + such, because that is the guess that can be wrong, and so are the ones outside + your home folder. Everything goes to the Trash rather than being unlinked, and + the app list is held still while a sweep runs so a mid-sweep click cannot file + the report under a different app. +- **Window Manager** can move a window to the next display and undo the last + arrange. ⌃⌥⌘→ sends the focused window to the next screen, keeping its + position and size in proportion so a half-width window stays half-width on a + display of a different size, and ⌃⌥⌫ puts it back where it was before the last + snap. The restore point is per window and remembers the position from before + the gesture rather than before the last write, so undoing a chord of snaps + returns you to where you actually started. +- **Clean Drive** lists developer junk directory by directory rather than as one + total. Build outputs, dependency caches, simulator runtimes, stale archives + and the rest are grouped by what they are and shown per directory with its + own size, so you can drop a single project's derived data without agreeing to + everything else. An application's own bundled dependencies are never offered, + since deleting those breaks the app rather than reclaiming anything. - **Disk Usage Analyzer** can now act on what it finds. Right-click any treemap block or tree row for Reveal in Finder, Copy Path and Move to Trash; the same three commands sit in the breadcrumb bar with Finder's own shortcuts (⌘R, ⌥⌘C