Skip to content

Releases: btsouth/cubby-clipboard

Cubby Clipboard v1.3.3

Choose a tag to compare

@github-actions github-actions released this 24 Aug 01:47
ea2ac60

Security

  • An abandoned backup or Ditto file-dialog pick is no longer writable for the rest of the process: the grant expires after 60 seconds or when Settings closes (SBS-1015)
  • Edited clips now store the same 200-character text_preview as capture, so flyout and History search no longer ship 500 characters of an edited body (SBS-994)
  • Content-hash dedup no longer deletes a file named by clip_images.file_path unless it sits in the managed image directory, matching the other delete paths (SBS-987)
  • Backup import refuses a file larger than 256 MiB before reading it into memory or checking the AEAD tag, so a huge unauthenticated bundle cannot abort the process (SBS-981)
  • Encrypted backup now overwrites the passphrase, the key derived from it, and the in-memory JSON history when export or import returns, instead of leaving them in freed heap (SBS-983)
  • Search no longer ships full decrypted clip bodies on every keystroke; flyout and History search rows use the same preview-only contract as the list (SBS-912)
  • The opener release gate now models glob the way tauri-plugin-opener does (star and question-mark match slash) and refuses a host pattern that contains a wildcard, so a dropped-slash glob fails the release check instead of shipping (SBS-997)
  • Paste and copy no longer emit the full decrypted clip body to the WebView when no clipboard-write listener is present (SBS-1042)
  • Revealed plaintext is cleared when a clip is deleted, the flyout hides, or History loses focus (SBS-1005)
  • Clipboard items carrying supported do-not-retain markers are no longer stored, and large likely-secret values are checked before capture (SBS-922, SBS-1000, SBS-1001, SBS-1002)

Changed

  • Cubby is consistently English-only until complete, supported localization is ready; the previous partial German, French, Japanese, and Chinese UI was removed (#148)
  • Window-specific frontend code is loaded only when that window opens, reducing the initial flyout bundle (#289)
  • Encrypted backups now include HTML and RTF content and require a passphrase of at least 12 characters (SBS-978)
  • Pull requests now run broader Rust and frontend regression coverage, React hooks linting, privileged-action pin checks, and a stable shipped-windows result that aggregates x64 and ARM64 compile checks (#270, #278, #287, #294)
  • Store publishing now waits for the full release validation job, so a failed or running test, Clippy, or release check cannot reach Partner Center (SBS-1068)

Fixed

  • Auto-paste re-checks that the remembered target still has focus after the settle delay and leaves the clip on the clipboard when focus moved (SBS-1066)
  • The clipboard snapshot queue is bounded without losing clear events, and queued self-paste ignore state is released correctly when work is dropped (SBS-1022, SBS-1032, SBS-1039, SBS-1045)
  • Image and rolling-database replacements recover their only remaining temp file on FAT/exFAT instead of deleting it when the destination disappears (SBS-1030, SBS-1051)
  • A Settings change no longer overwrites the only recoverable preferences file when an interrupted write could not be promoted (#303)
  • Encrypted backup export flushes a complete sibling temp file before replacing an existing backup, preserving the prior file on write or install failure (#189)
  • History bulk Copy includes recognized text from selected images, including images whose full-resolution original has expired (#290)
  • Keyboard shortcuts no longer intercept keys intended for focused controls, including text fields, selects, and buttons (#291)
  • Settings selects use native accessible controls, backup passphrase prompts are modal, bulk History deletes require confirmation, and the History list exposes a single keyboard focus model (#187, #292, #293, #295)
  • History Shift-click selection follows clip IDs after list changes, and IME Escape no longer closes the window while composition is active (SBS-1007)
  • Folder and History context menus are announced as folder or history actions, not as clip actions (SBS-1013)
  • Shift+wheel and Ctrl+wheel on a zoomed screenshot no longer also run the browser's native scroll, which had been panning twice and jumping the zoom anchor; React 19 registers onWheel as passive, so the viewer now attaches its own non-passive listener (SBS-1011)
  • Backup import no longer drops notes, source app, or OCR text on an encryption error, and no longer marks OCR completed for a clip it did not store (SBS-980)
  • Recapture no longer commits a clip that names a full-resolution original before that file is on disk; a failed rename keeps last-good or the expired state instead of a phantom original (SBS-996)
  • release:check treats every quoted http(s) URL in Settings as a link that must be on the opener allowlist, not only constants named *URL (SBS-1016)
  • History and flyout paging no longer re-decrypt every earlier clip on each new page; later pages start after the last visible row and still fill past an unreadable neighbor (SBS-993)
  • Saving an OCR correction now rewrites drag-select word boxes so Copy from the image matches the saved reading instead of the engine's original spelling (SBS-1010)
  • Duplicate-hash merge now concatenates distinct notes onto the surviving clip instead of dropping the loser's, and reports discarded notes and folder assignments in the startup line (SBS-988)
  • Encrypted backup export now includes live full-resolution screenshot originals, and refuses the export if one cannot be read, instead of restoring every image as an expired thumbnail; a restore keeps those originals through the destination keep-for window without rewriting the visible capture date (SBS-919)
  • Empty Unicode text is no longer diagnosed as a clipboard lock, so a copy that still has HTML or RTF is stored instead of dropped; an advertised picture still retries before that HTML wrapper is stored (SBS-924)
  • Recover an interrupted settings.json replace from the leftover temp instead of treating it as a first-run 30-day retention (SBS-935)
  • Record startup quarantine and rolling-backup restore in the on-disk log, instead of discarding those lines before the logger exists (SBS-929)
  • Skip-likely-secrets now scans the first 8 KiB of a large paste, so a 9 KiB log or PEM starting with a known token or -----BEGIN marker is skipped instead of stored (SBS-922)
  • A failed clip reload no longer looks like a healthy current list: same-filter refresh shows a retry banner, superseded loads are not treated as success, and folder / app / count reloads toast instead of staying silent (SBS-805)
  • Portable first-run can install storage.key on FAT/exFAT: CreateHardLinkW is NTFS-only, and the previous hard-link-only install deleted the temp key and panicked (SBS-908)
  • Portable logs stay in the portable data directory instead of %LOCALAPPDATA% (SBS-776)
  • Cubby starts and keeps listening if the Win+V activation channel cannot bind, hotkey setting saves survive a dead activation channel, and an oversized UDP datagram no longer kills the listener (SBS-989, SBS-991)
  • A panicking flyout worker no longer leaves its latch permanently set, which could block later shows (SBS-990)
  • Clipboard-owner lookup closes its Windows process handle after reading the executable name (SBS-1004)
  • Malformed CF_HTML offsets no longer discard otherwise usable clipboard content (SBS-999)
  • Clearing unpinned history resets capture dedup, and forget-on-clear retries keep the original capture until deletion succeeds (SBS-995, SBS-1003)
  • Duplicate merging keeps readable originals, completed OCR, distinct notes, and accurate discarded-folder counts (SBS-985, SBS-988)
  • Startup no longer rebuilds the content-hash index on every launch and removes abandoned image staging files left by interrupted writes (SBS-986, SBS-998)
  • Settings and support copy no longer overstate remote hotkey behavior, remote relay privacy gates, copied-file retention, or encrypted-backup contents (SBS-776, SBS-832, SBS-1028, SBS-1049, SBS-1071)
  • Release checks now verify every Settings web link against the opener allowlist and keep generated capabilities in sync (SBS-1016)

Thanks

Cubby Clipboard v1.3.2

Choose a tag to compare

@github-actions github-actions released this 17 Aug 00:05
d326bc7

Security

  • The Win+V helper no longer opens the flyout on a bare localhost UDP activate datagram; the channel now requires a per-session token, a loopback source, and a rate limit (SBS-809)
  • History list requests no longer ship full decrypted clip text to a window that asked only for previews (SBS-829)
  • Release builds no longer stream Rust logs into the WebView, which had been putting process names, clip identifiers, and filter values in renderer memory (SBS-837)
  • Backup export, backup import, and Ditto import now only write or read a path chosen in the file dialog, so a compromised Settings page cannot send history to an arbitrary location (SBS-808)
  • History source-app filter values are no longer written to the persistent Info log (SBS-773)
  • A signed Microsoft Store installer that packs an unsigned cubby.exe is now rejected instead of published (SBS-777)
  • Pin third-party GitHub Actions in privileged release and Store workflows to immutable commit SHAs, and reject new mutable pins in CI (SBS-778)

Changed

  • Portable mode keeps its promises: logs stay in the folder you carry instead of %LOCALAPPDATA%, the installed-channel updater stays out of portable builds, and a storage.key this Windows account cannot read is explained at startup instead of failing silently (SBS-774, SBS-775, SBS-776)
  • Startup now records what its storage migrations changed, so a run that edited history says so
  • Pre-merge CI now cargo-checks x64 and ARM64 default and Microsoft Store feature builds, so those configurations fail on the pull request instead of at release (SBS-779)

Fixed

  • Revive an expired screenshot original when that same image is copied again, including a consecutive duplicate that used to be skipped, so Paste and Copy work immediately and recognized text stays (SBS-769)
  • Keep the previous original when a recapture cannot write the full image, instead of losing both (SBS-836)
  • Refuse an encrypted backup export when any live clip field cannot be fully decrypted, and leave an existing destination file unchanged (SBS-772)
  • Refresh the rolling history backup during long-running sessions, so a machine that stays up past a day still gets a current cubby.db.bak without quitting Cubby (SBS-771)
  • Skip an unreadable clip instead of letting it break history listing and search entirely (SBS-830)
  • Restore the forget-on-clear retry marker when the clip lookup fails, so a password manager clearing the clipboard still removes that clip (SBS-831)
  • Screenshot notes now show on the History row, not only in the preview pane (SBS-807)
  • The image window no longer offers Copy image after the original has expired (SBS-807)
  • Keep clip edits, history files, and captures from mixing together or vanishing
  • Stop a failed paste and a failed history reload from reporting success
  • Keep History preview details in sync after a save and after a reveal
  • Keep hidden clips blank in search results, and finish folder and duplicate cleanup
  • Keep the flyout visible while Settings is open, and honor the toggle and always-on-top preferences
  • Let the flyout follow the system theme, and let type-to-search accept IME input
  • Reset the history scroll position when the source or date filter changes
  • Keep the folder dialog open when creating a folder fails, so the name is not lost
  • Relay a remote-session copy so it reaches every session, not only the one that owns the clipboard
  • Say plainly in the docs and product pages that copied files are not kept, that secret heuristics ship off by default, and unblock the Settings links that went nowhere (SBS-832)

Cubby Clipboard v1.3.1

Choose a tag to compare

@github-actions github-actions released this 10 Aug 01:22
d1ad00c

Added

  • A dedicated History window, separate from the Win+V flyout, with a larger image preview you can read and select text from
  • Multi-select in the History window, with copy, paste, delete, and move applied to everything selected
  • Filter history by source application and by date range, with per-app counts and quick date presets
  • Edit the text of a stored clip in place
  • Notes on a clip, searchable alongside its content and its recognized text
  • On-demand Scan Text on an image clip, with an editable box for correcting the recognized text before you use it
  • Encrypted local backup export and import, protected by a passphrase so a bundle can be restored on another machine
  • A per-clip visibility toggle for keeping sensitive content hidden in the list

Fixed

  • Stop a failed duplicate check from storing a second copy of a clip. The database now enforces uniqueness itself, and duplicates already in your history are merged on first launch, keeping pins, folders, notes, and hidden state
  • Keep history ordering total, so scrolling can no longer repeat or skip a clip
  • Four capture and paste failure paths, alongside signing the shipped binaries so Windows stops flagging them
  • Accessibility problems found by a static audit, including missing names for icon-only buttons

Changed

  • Search uses roughly a fifth of the memory it used to per clip, and returns results faster on a large history
  • Refreshed the interface icon set. The filter, settings, shield, play, pause, file, and flask icons are redrawn with the same meanings and slightly different shapes

Cubby Clipboard v1.2.5

Choose a tag to compare

@github-actions github-actions released this 02 Aug 15:16
9d0bd75

Fixed

  • Capture screenshots from tools such as Matteshot that publish image data alongside a saved-file reference, while continuing to ignore ordinary file copies
  • Paste large screenshots from history much faster by restoring their original PNG data with a compatible Windows bitmap
  • Fail safely on partial native clipboard writes so an incomplete image restore cannot cause duplicate self-captures

Cubby Clipboard v1.2.4

Choose a tag to compare

@github-actions github-actions released this 01 Aug 07:09
3eef9f6

Cubby 1.2.4 is a reliability-focused release. Clipboard history should feel dependable, so this update concentrates on preserving what you copied, pasting it into the right place, and recovering cleanly when Windows or another app gets in the way.

Highlights

  • More dependable capture and paste. Cubby now preserves exact whitespace and rich HTML/RTF, retries temporary clipboard contention, keeps better track of the paste target, and handles held modifiers and shortcut conflicts more predictably.
  • Remote-session clipboard relay. Copies from supported remote-control sessions can be relayed between sessions, with privacy protections and a Settings toggle.
  • Safer recovery. Unreadable settings and damaged history are recovered without blocking capture, rolling backups stay current, and interrupted window transitions no longer lose pending paste actions.

Changed

  • File-copy references are no longer shown as durable history. Windows exposes these as paths rather than stored file contents, so Cubby now ignores file-copy events and removes legacy file entries instead of showing items that may later fail to paste.
  • Microsoft Store builds now rely on Store-managed startup and updates instead of displaying controls that do not apply to Store installations.

Security

  • Updated the reachable event-listener dependency to the patched release for RUSTSEC-2026-0221.

Cubby Clipboard v1.2.3

Choose a tag to compare

@github-actions github-actions released this 26 Jul 22:30

Added

  • Image search highlights the words that matched inside screenshots
  • Safer history recovery: a damaged database is set aside and Cubby starts fresh so capture never blocks, with a daily rolling backup left for possible manual recovery

Fixed

  • When another app clears the clipboard (for example a password manager), Cubby forgets that clip from history instead of keeping the sensitive content

Cubby Clipboard v1.2.2

Choose a tag to compare

@github-actions github-actions released this 23 Jul 20:38
7535975

Added

  • Separate signed Microsoft Store installers for x64 and ARM64 that include WebView2 and install fully offline, while the smaller GitHub and Winget installers remain available
  • A Reclaim space action and an accurate storage readout based on Cubby's true on-disk history size

Changed

  • Keep recognized text and a searchable thumbnail after full screenshot images expire under retention rules
  • Store OCR word positions at capture time so image-search matches can be highlighted without repeating recognition work
  • Strengthen sensitive-content privacy gates, clipboard listener recovery, and rich clipboard-format compatibility coverage
  • Publish immutable Store packages through direct Cloudflare R2 URLs suitable for Microsoft certification

Cubby Clipboard v1.2.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 11:04
3cd6ee8

Fixed

  • Cubby now opens at the top of your history, showing your most recent copy, instead of wherever you had last scrolled

Changed

  • Lower peak memory use when recognizing text in very large screenshots

Cubby Clipboard v1.2.0

Choose a tag to compare

@github-actions github-actions released this 19 Jul 05:13
7f5a60d

Added

  • Redesigned Settings, organized into General, Privacy, Folders, and About with cleaner grouped sections
  • History retention: choose how long Cubby keeps your history, from a week up to forever, with a storage-used readout. Pinned items are always kept

Changed

  • Search and filters reset each time Cubby opens, so you always start on your full, most-recent history
  • A screenshot you just copied is read first and updates live, so it becomes searchable and offers Paste text moments after you copy it
  • Timestamps keep counting up while Cubby is open
  • New app and tray icons

Fixed

  • Reusing a clip no longer relabels its source as "Cubby Clipboard" or resets its timestamp
  • Closing Cubby dismisses the right-click menu and any open dialog, so it reopens on a clean list

Cubby Clipboard v1.1.1

Choose a tag to compare

@github-actions github-actions released this 19 Jul 00:43
e830a56

Added

  • Portable version: a self-contained zip that keeps your history, settings, and images in a data folder next to the app, with nothing written to AppData or the Windows registry