Files
maCopy/CHANGELOG.md
T
ilia d8090b251c
CI / skip-ci-check (pull_request) Successful in 4s
CI / secret-scan (pull_request) Successful in 3s
CI / node-ci (pull_request) Successful in 22s
Add clipboard-∞ tray icon, fix tray click, and Settings gear.
Ship a macOS template menu-bar glyph, only toggle on left mouse-down so
press/release no longer opens-then-closes, and put Settings next to Search
so it is reachable without the tray menu.
2026-09-04 22:04:37 -04:00

3.0 KiB

Changelog

All notable changes to maCopy. Format loosely follows Keep a Changelog.

[Unreleased]

Changed

  • Menu-bar glyph is a clipboard with an infinity mark (template image so macOS tints it). Replaces the dark app icon that collapsed into a grey pill.

Added

  • Settings gear next to Search in the picker (tray right-click is easy to miss)

Fixed

  • Tray click no longer opens on mouse-down and closes on mouse-up.

Fixed

  • Search queries with path punctuation (/idobkin, github.com, …) no longer hit FTS5 syntax errors and leave the picker stuck on the full unfiltered history — tokens are sanitized before MATCH
  • When search IPC fails, the list clears instead of showing stale results

[0.2.0] — 2026-07-14

Added

  • Configurable global hotkey (default Ctrl+`; migrates existing users off the old `Cmd+`` default, which conflicted with macOS window-cycling)
  • Image thumbnails in the picker, with backfill for existing entries
  • Sensitive data redaction — passwords/cards/banking previews show •••• in the list; the full value is still stored and still pastes
  • Paste transforms (trim, case, collapse whitespace, pretty JSON, single line) via right-click → Transform
  • Paste plain / without formatting (/Alt+click or right-click)
  • Copy only — right-click → Copy puts content on the clipboard without auto-pasting or hiding the window
  • Color swatches — hex/rgb/hsl entries show a small preview chip
  • Launch at login, wired to macOS Login Items
  • docs/GUIDE.md — living install + usage reference
  • docs/SHARING.md — where the app lives and how to share a build
  • docs/TESTING.md, docs/LAUNCH-AT-LOGIN.md, docs/PRODUCT.md
  • Visual walkthrough script (npm run test:visual) and headed test runner (npm run test:headed)

Changed

  • Reliable left-click paste (mousedown instead of click, delayed window-blur hide) — fixes intermittent missed pastes
  • Image paste now writes a real clipboard image instead of text

Performance

  • Clipboard polling watches macOS NSPasteboard changeCount instead of hashing clipboard contents on a fixed timer — eliminates busy CPU usage while idle
  • Picker list/search IPC returns truncated text previews and image thumbnails only; full content (including image blobs) is fetched lazily, only when an item is actually pasted
  • Frontend refreshes on clipboard-changed / window-focus events plus a cheap latest_entry_id poll, instead of reloading all rows every second
  • SQLite opened with journal_mode=WAL + synchronous=NORMAL so the UI can read while the background poller writes
  • List rows are memoized (React.memo) so selection/focus changes no longer re-render every row's preview

[0.1.0] — initial

  • Menu bar clipboard manager: capture text/images/files, full-text search (SQLite FTS5), multi-select, pin, paste-and-refocus via AppleScript, resizable window, dark/light mode, auto-trim history