Releases: hex/Stash
Release list
v2026.9.0
What's Changed
Features
- Full history window. Browse and search every stored entry in a resizable window. Open it from the clock icon in the popover, or from Settings.
- Search. Matches content, URLs, file paths and source app. Case and diacritic insensitive, so "creme" finds "Crème". Searching covers the whole history, not just what is on screen.
- Configurable popover size. The popover used to show ten entries with no way to reach the rest. It now shows a number you set in Settings, 20 by default, anywhere from 5 to 200.
- Pinned entries sort to the top. Pinning used to only protect an entry from pruning. Pinned entries now lead the list.
Fixes
- Toolbar tooltips show on hover. They never did before: macOS hides tooltips for apps that are not active, and Stash stays inactive so it does not take focus from whatever you are about to paste into.
Polish
- The popover background is frosted, over a scrim that keeps text readable on any desktop. Respects Reduce Transparency.
- Scrolling and hovering a long list no longer redraws every row.
Full Changelog: v2026.7.1...v2026.9.0
v2026.7.1
What's Changed
Fixes
- Images now paste as the format they actually are. Stash stores whatever the pasteboard offers — PNG when available, TIFF otherwise — and reads whole files for images copied from Finder. All of them were handed to other apps labelled as PNG, so anything that trusted the label received bytes it could not decode.
- Image previews open as the correct file type instead of always being written as
.png.
Full Changelog: v2026.7.0...v2026.7.1
v2026.7.0
What's Changed
Performance
Memory use drops from 2.6 GB to under 100 MB.
Stash was holding every image in your clipboard history many times over. A running install measured 2,549 MB after eight days, with 1,857 copies of clipboard images alive simultaneously — 2.25 GB of duplicated image data.
The cause was payload bytes travelling inside the value SwiftUI keeps in view state. SwiftUI retains successive generations of that value, so each generation pinned the full history's images. v2026.6.0 fixed a related retention chain but left the payloads in place, which is why memory kept growing.
Images and rich text now load on demand when you paste or preview. A retained generation costs about 43 KB instead of 110 MB. The same install now measures 70 MB.
Fixes
- Thumbnail decoding is serialized and cached, so opening the popover no longer re-decrypts and re-decodes every visible image
- Pruning old entries no longer loads the entire history on every copy
- A leaked event monitor is now released
- The "Copied" confirmation no longer appears when the entry was removed before the paste
Full Changelog: v2026.6.0...v2026.7.0
v2026.6.0
What's Changed
Fixes
- Fixed excessive memory usage. Clipboard history is now read as detached snapshots, so memory stays flat instead of growing without bound over time. Long-running instances previously could climb into multiple GB; this is resolved.
- Fixed automatic updates. Sparkle now correctly detects new versions, so you'll be prompted to update from here on. (Earlier builds shared an internal version number and never offered in-app updates — this is the first release that will reach existing installs automatically.)
Full Changelog: v2026.4.1...v2026.6.0
v2026.4.1
What's Changed
Fixes
- Quit Stash now works. The confirmation dialog in v2026.4.0 was wedged in the popover hosting context — clicking Quit visually dismissed the dialog but didn't actually terminate the app, and the toolbar became unresponsive. Replaced the SwiftUI confirmation with AppKit's NSAlert, which works reliably from popover-hosted views.
- Click monitors are now modal-aware. Clicks on alerts, sheets, and child windows of the popover no longer trigger popover dismissal mid-interaction.
Internal
- Removed dead UI scaffolding (header, status indicator, overflow menu) carrying duplicate dialog modifiers from the redesign.
Full Changelog: v2026.4.0...v2026.4.1
v2026.4.0
What's Changed
Features
- Brand-new design matching stash.hexul.com — dark/light adaptive theme, colored type badges, bottom toolbar
- Theme picker in Settings (Auto / Light / Dark)
- Hover-revealed action buttons (Preview for images/files, Open for URLs)
- Visible pin indicator for pinned entries
- Image thumbnails at trailing edge of image rows
- Custom thin scrollbar that fades in during scroll
- Source attribution: CleanShot, Shottr correctly identified instead of the visible window
Performance
- Smooth scrolling — entries cached in @State, no per-frame database refetch
- Fast image rendering via lazy thumbnails (CGImageSourceCreateThumbnailAtIndex)
- Faster encryption — keychain key cached
Fixes
- Image clipboard reliability — four-tier extraction handles screenshot tools that ship promise-only image data
- Empty-entry filtering at the monitor (Arc tab-switch noise)
- Confirmation dialogs no longer wedge the popover
Other
- Deployment target bumped to macOS 15
- Debug builds signed with Developer ID for stable keychain ACL across rebuilds
Full Changelog: v2026.2.0...v2026.4.0
Stash 2026.2.0
Initial public release.
Install with Homebrew:
brew install --cask hex/tap/stash
Or download the zip below, extract, and move Stash.app to /Applications.
Signed and notarized with Developer ID.