Repository navigation
Releases: jrthormann/Nictate
Release list
Nictate 1.0.0-beta.3
Nictate 1.0.0-beta.3
Hey, beta.3 is out, and it's a good one. You asked for a picker, and now there's a picker. The selection looks nicer too, and the screen gets in your way a lot less.
What's new
- Recent Captures. Press ⌥⇧⌘2 and your last captures pop up over whatever you're doing, even over full-screen apps. Arrow keys to pick, Return to copy, Escape to bail, Command-F to search. It replaces the old Cycle History rotation, which is gone now.
- A prettier selection. Rounded corner brackets and a two-tone outline, so it reads on light and dark stuff alike.
- Results that talk back. Copied, no text found, couldn't read that area, or the copy failed. Each one has its own little symbol, and a scan line sweeps the selection while the text gets read.
- VoiceOver. The selection has a role and keyboard help now.
Under the hood (the good kind)
- Press Escape right after the shortcut and the capture is off before the selection even shows up. Nothing sneaks into the app you were using.
- Focus goes back to where you were after a copy, a miss, a failed read, or Escape, unless you've already moved on.
- If something else grabs focus mid-selection, like another app or a system dialog, the selection cancels instead of hanging around.
- Capture Text from the menu bar waits for the popover to get out of the way, so it never ends up in your screenshot.
- The link question no longer has a pill sitting on top of it, and Escape cancels it in any language.
- Open in Browser leaves the browser in front, where it belongs.
Heads up before you install
- Nictate isn't notarized by Apple. macOS asks you to approve it on first launch, same as beta.2. The install guide shows how.
- It's signed with the same local certificate as beta.2, so macOS should keep your Screen Recording permission. If it asks again, grant it once.
- If you're still on beta.1, install this one by hand.
What got tested
- CI passes on the merged code, all four jobs.
- Manual QA on a test build of this code, not the final disk image: menu bar capture, Recent Captures, Find, Escape, clipboard, and focus.
- Earlier builds: VoiceOver speech, keyboard guidance, Reduce Motion, and Increase Contrast, checked by the maintainer.
Not tested yet
- Clean installs on macOS 14, and on macOS 15 or later.
- The Screen Recording prompt on a fresh permission state.
- VoiceOver announcements for "No text found" on this build.
- Recent Captures while a link question is up.
Known limits
Signed locally, not notarized. Built for macOS 14 and later, tested on macOS 27 only. History is a plain file of the 15 most recent captures, not encrypted separately. Users with an encrypted History can import it once from Settings > General > History.
Breaking things is how we find the good stuff. Tell us what you find: https://github.com/jrthormann/Nictate/issues
Nictate 1.0.0-beta.2
The second public test release. Please report what you find: https://github.com/jrthormann/Nictate/issues
Two things to know before you install:
- Nictate isn't notarized by Apple. macOS asks you to approve it once, on first launch. The Install steps in the
README show how. You don't need to turn off Gatekeeper or any other system-wide security protection. - If you have 1.0.0-beta.1, install beta.2 by hand. Beta.1 reports itself as version 1.0.0, so its
Check for Updates can't see newer releases. Download beta.2 from the releases page and
replace the app in Applications. From beta.2 on, Check for Updates offers newer betas and the stable release.
Added
- SECURITY.md, which explains how to report a vulnerability privately, and a Code of Conduct.
- A plain Install guide in the README, in English and Spanish, and a distribution section in SECURITY.md.
Changed
- More reliable history. A capture appears in History only after it has been saved. Every save is read back and checked before Nictate counts it as saved.
- Safer recovery. Nictate never overwrites an unreadable history file, at startup or when a capture is saved. If it finds one, Discard Unreadable History appears behind a confirmation whose default is Cancel.
- Clearing is reliable. Clear on Quit waits until the history store confirms the deletion, so a capture that was still being saved can't come back.
- Predictable reset. Reset waits for pending history writes. With "Also delete saved captures" ticked, the deletion is confirmed before the settings are reset and Nictate restarts. If it can't be confirmed, History stays closed and Nictate says so. Launch at Login is kept.
- Save Captures. Turning it back on takes effect at once. The question about turning it off waits for pending saves.
- Focus returns to where you were. After a copy, a capture, a cancelled capture, or Escape, focus goes back to the app you came from, as long as Nictate is still active and that app is still running.
- Better keyboard use in History. The highlighted row stays in view as you move through the list, and Command-F jumps to the search field.
- Update checks follow your channel. Stable users get stable releases, and beta users also get newer betas. Nictate never offers a version that isn't newer than the one you run.
- Localization. The Reset explanation in English and Spanish now says that Launch at Login is kept.
- Simpler History. The separate History window is gone. History lives in the menu bar panel. The age-based retention setting, which nothing set, is removed.
Security and privacy
- Nictate no longer keeps or restores the clipboard you had before a copy. It confirms a copy by reading back only the text it wrote.
- In Append mode, Nictate adds the current clipboard text to a new capture, but leaves out text that another app marks as concealed or transient, as password managers do.
- The README and SECURITY.md now say what the signature does and doesn't mean, and that the app isn't notarized.
Tested
- Automated:
make check(unit tests, UI smoke tests, the localization, source and release packaging checks) andmake buildpass on commit9aa6b39onmain. The app code of this release is the same as at that commit; later changes are documentation only. CI passed for that commit onbuild-and-test, and onmacos-14, which runs the prebuilt tests on a macOS 14 runner. - Manual QA before publication, on QA builds of this code (not the final disk image): History selection, deletion, reopening and scrolling; copying from History, with focus returning to the previous app; Clear on Quit on and off; and Reset with its default settings. The version and build numbers were checked in the app bundle.
- Earlier QA build, not the final beta.2 build: the focus checks and the unreadable-history check, recorded by the maintainer on macOS 27.
- Earlier test build, not the final beta.2 build, checked on macOS 27.0.1: the first-launch message for a copy that is not notarized, its entry in Privacy & Security, the welcome window in English and Spanish, and the About panel and update check.
Not yet tested
- The final beta.2 disk image: installing it, first launch, the Gatekeeper steps, and the About window's version in a running copy.
- The Install steps on macOS 14 and on macOS 15 or later, on a Mac where Nictate was never installed.
- Screen Recording permission and clipboard use in other apps, on a clean user account.
- macOS 26 beyond the CI runs (#2).
- VoiceOver and other accessibility behaviour beyond the native labels (#1).
Known limitations
- Signed with a local certificate, not an Apple Developer ID certificate, and not notarized by Apple. macOS asks you to approve the first launch.
- Built for macOS 14 and later. The maintainer has tested it on macOS 27 only.
- History is a plain file of the 15 most recent captures. It is not encrypted separately.
- Users with an earlier encrypted History can import it once from Settings > General > History.
Nictate 1.0.0-beta.1 (public test release)
Public test release. Please try it and report what you find: https://github.com/jrthormann/Nictate/issues
Install
- Download
Nictate-1.0.0-beta.1.dmgbelow and open it. - Drag Nictate to Applications.
- Nictate is signed with a local certificate and is not notarized, so macOS asks you once to confirm it:
- macOS 15 and later: open System Settings, go to Privacy & Security, and click Open Anyway next to the message about Nictate.
- macOS 14: Control-click Nictate, choose Open, then Open again.
Do not disable Gatekeeper for the whole system; these steps only allow Nictate.
- On first launch, grant the Screen Recording permission, then restart Nictate from the welcome window.
SHA-256 of the DMG: 4c487d4d22c75e9e8aaa631e8b67df8ae85a5f78dbf10cf3f140e946a41595d9
The first public test release of Nictate. Please report what you find: https://github.com/jrthormann/Nictate/issues
Tested (macOS 27, the maintainer's Mac)
- Text capture with ⇧⌘2: a two-line sample was recognised exactly, and the text was copied to the clipboard.
- Cancelling a capture with Escape left the clipboard unchanged.
- QR code recognition: a generated QR code was recognised and copied exactly.
- The menu opens under its icon, and History opens from it with one click.
- In History: copying an entry, Return to copy, search, Escape steps, and delete.
- History is kept after the app quits and starts again.
- The app starts without an authorization or Keychain prompt.
Not yet tested
- Barcodes other than QR codes.
- Settings persistence after a restart, Reset Settings, and shortcut recording.
- Light and Dark appearance, and the Spanish layout.
- The 15-capture limit in the running app (covered by automated tests only).
- VoiceOver and other accessibility behaviour beyond the native labels.
- macOS 14, 15 and 26: not tested by the maintainer. Compatibility testing is tracked at #2
Known limitations
- Not signed with an Apple Developer ID and not notarized. macOS asks you to confirm the app once; see the README.
- History is a plain file of the 15 most recent captures. It is not encrypted separately.
- Users with an earlier encrypted History can import it once from Settings > General > History.
- Accessibility has not been audited: #1
Report a bug
Open an issue: https://github.com/jrthormann/Nictate/issues
Accessibility audit: #1
Compatibility testing on macOS 14, 15 and 26: #2