v2.3.0
Automattic/harperv2.3.0May 29, 2026by github-actions[bot]
AI Summary
A major desktop update featuring Apple code signing, a renamed application, new grammar rules, and significant accessibility permission handling.
Key Highlights
- Obtained a real Apple certificate, requiring manual uninstall/reinstall due to auto-update deprecation.
- Desktop app renamed to 'Harper' and renamed in the Dock.
- New grammar rules including 'by the book' and 'from the naked eye'.
- Improved handling of accessibility permissions and service startup.
Breaking Changes
- Auto-update disabled; users must manually uninstall and reinstall the app due to certificate swap.
New Features
- Added 'Every single of' grammar rule.
- Created rule to add accent to cliché.
- Desktop app obtains locale/dialect from Tauri.
- Fixed BuiltIn false positives for verb phrases.
Full Release Notes
## What's Changed Hey guys! Thanks for waiting. We've heard a ton of your feedback on Harper Desktop, and I'm proud to say that we've addressed a LOT of it. There are some big changes, so pay attention. First off, we swapped out the update certificate for the binary. That means that auto-update will NOT upgrade you to the latest version. To update, uninstall Harper Desktop from your system and download the `.dmg` in this release below, then install it. If you've previously installed Harper Desktop, you'll need to click on the Harper icon in your menu bar (at the top of the screen) and follow the setup instructions one more time. If you've previously given Harper Desktop permission to access the accessibility system, you should remove it from the list (with the `-` button`) and add it back. This is because we've finally obtained a real certificate from Apple, so the previous entry in the permission list no longer points to the correct version of Harper. I really appreciate your understanding with this. We're working out the kinks slowly but surely. * build(deps): bump ruzstd from 0.8.2 to 0.8.3 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3488 * fix(desktop): change name in dock from `harper-desktop` to `Harper` by @elijah-potter in https://github.com/Automattic/harper/pull/3496 * build(deps): bump rayon from 1.11.0 to 1.12.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3487 * fix(desktop): remove duplicate update section by @elijah-potter in https://github.com/Automattic/harper/pull/3495 * fix(desktop): open settings by default by @elijah-potter in https://github.com/Automattic/harper/pull/3497 * fix(desktop): point release note link to correct page by @elijah-potter in https://github.com/Automattic/harper/pull/3505 * fix: avoid BuiltIn false positive for verb phrases by @jmolz in https://github.com/Automattic/harper/pull/3460 * fix(dictionary): add sidenote to curated dictionary by @jlaportebot in https://github.com/Automattic/harper/pull/3464 * fix: closure checking apostrophe confusingly named `is_tack` by @hippietrail in https://github.com/Automattic/harper/pull/3511 * refactor: tweak two phrase set corrections by @hippietrail in https://github.com/Automattic/harper/pull/3512 * fix: no more dupe suggestions in `TransposedSpace` by @hippietrail in https://github.com/Automattic/harper/pull/3356 * feat: every single of→every single one of by @hippietrail in https://github.com/Automattic/harper/pull/3491 * fix(chrome-ext): shifting highlights after cursor during delay by @elijah-potter in https://github.com/Automattic/harper/pull/3446 * feat(core): create rule to add accent to cliche by @elijah-potter in https://github.com/Automattic/harper/pull/3494 * feat(desktop): avoid starting service until perms are granted by @elijah-potter in https://github.com/Automattic/harper/pull/3506 * feat: by the books→by the book by @hippietrail in https://github.com/Automattic/harper/pull/3492 * fix: upgrade Playwright to working version by @elijah-potter in https://github.com/Automattic/harper/pull/3533 * Add fastlane scaffolding for macOS code signing by @mokagio in https://github.com/Automattic/harper/pull/3507 * docs: tips for faster iteration by @elijah-potter in https://github.com/Automattic/harper/pull/3522 * feat: from the naked eye→by/to/with the naked eye by @hippietrail in https://github.com/Automattic/harper/pull/3520 * feat: desktop get locale/dialect from Tauri by @hippietrail in https://github.com/Automattic/harper/pull/3509 * fix(core): Weir options should resolve independent of order by @elijah-potter in https://github.com/Automattic/harper/pull/3523 * feat(desktop): get display name for bundles from system by @elijah-potter in https://github.com/Automattic/harper/pull/3516 * fix(desktop): remove second Dock icon by @elijah-potter in https://github.com/Automattic/harper/pull/3515 ## New Contributors * @jmolz made their first contribution in https://github.com/Automattic/harper/pull/3460 **Full Changelog**: https://github.com/Automattic/harper/compare/v2.2.1...v2.3.0