Adding an ignored app now uses a pop-up list, and the Settings window's buttons, switches and fields were tuned up.
Pop-up app picker: "Add App" opens a "Running Applications" list with app icons; apps already on the ignore list are checked and greyed out; move with ↑↓, confirm with Return, close with Esc; "Choose from Finder…" stays at the bottom. Rows now show the app name with its bundle identifier underneath.
Consistent settings controls: inline buttons share one height and a hairline border, and short labels no longer shrink; buttons ease down slightly when pressed and stay still with Reduce Motion on.
Redrawn switches: the on side uses the brand teal with a white knob, so the state reads at a glance in Dark Mode, and toggling animates.
Details: secondary text is darker, field borders are clearer and thicken while focused, and panes open at the top when you switch.
Quick Fill is here: one click types the code where you are, instead of switching back to press ⌘V.
Quick Fill next to the input field: for 60 seconds after a code arrives, a "Fill 482913" card floats next to the focused input field. One click types the code character by character, six-box code fields included. Off by default; turn it on under Settings › General. An optional "Press Return after filling" suits sign-in forms that submit right away.
Guided Accessibility access: the same drag-in guide card as Full Disk Access — System Settings opens, the card flies alongside the window, you drag AutoCodeBar from the card into the list, and the card dismisses itself once the grant takes effect.
Accessibility row on the Permissions page: listed next to Full Disk Access and Notifications, so the current state is visible at a glance.
The "ignore these apps" list for the Notification Center source is now an app picker.
Pick apps instead of typing bundle identifiers: the list shows app icons and names; "Add App" offers a "Running Applications" submenu and "Choose from Finder…" for any .app; each row can be removed individually, and the defaults can be restored with one click.
The app identifier is now cc.zerah.AutoCodeBar, and personal information has been removed from logs and release notes.
New app identifier: macOS treats this as a new app. After the first launch, add AutoCodeBar again under Privacy & Security › Full Disk Access; the guide card in the panel walks you through it.
Upgrading from 2.0.1: the in-app updater cannot install across identifiers. Run brew upgrade --cask autocodebar or install the new DMG over the old app. Settings need to be configured once more.
Logging: the log subsystem and internal queue names no longer contain personal information.
Fixes the SMS and Notification Center sources frequently missing new messages.
No more missed messages: macOS emits no file system events when its daemons write the Messages database or the notification database, so a watcher that relied on file events alone could wait forever. The sources now compare the modification time and size of each database and its WAL once a second and read only when something changed. Latency stays under a second at negligible cost.
Earlier trigger: Messages usually updates its nickname cache when a message arrives; those events now also trigger a read.
Clearer logging: the SMS source records rows read and skip reasons for troubleshooting.
Monitoring starts with the app: no need to open the panel first; a manual pause is no longer undone by the panel; each source starts, fails and recovers on its own.
Three sources: SMS and iMessage from Messages, local mail from Apple Mail, and an experimental Notification Center source (off by default) that can also cover iPhone Mirroring and other apps.
Scored extraction: candidates are ranked by keyword proximity, shape, line position and surrounding context, so years, amounts, order numbers and card suffixes are rejected. Keywords and the pattern are editable with a live test field.
Menu bar and notifications: a recognised code is copied immediately, shown in the menu bar for 15 seconds, and optionally announced by a banner. The panel keeps the last five and re-copies on hover.
Permission guidance: a three-step setup flow, plus a Full Disk Access card that flies to the System Settings window, follows it, and hands you a draggable copy of the app icon for the permission list.
Privacy: history lives in memory only, capped at 20 entries and cleared on quit; codes are written to the pasteboard with the concealed-content marker; nothing is sent anywhere except the update check.
Secure distribution: Developer ID signing, Apple notarization and an EdDSA-signed Sparkle update feed.