v2.6.0
Automattic/harperv2.6.0Jun 24, 2026by github-actions[bot]
AI Summary
Focuses on desktop app integration with popular communication platforms and CLI enhancements, alongside various grammar corrections.
Key Highlights
- Desktop app now supports Slack and Discord integration.
- Implemented linting for Git commit messages using tree-sitter.
- Updated CLI to allow multiple arguments for the 'forms' subcommand.
- Fixed Gutenberg iframe issues and Obsidian stale data.
New Features
- Git commit message linting support.
- Desktop app support for Slack and Discord.
- Grammar fixes for 'nowadays', 'directory', and 'convenience store'.
- Cross-platform improvements and better search icons.
Full Release Notes
## What's Changed * feat: now a days→nowadays; add to discourse markers by @hippietrail in https://github.com/Automattic/harper/pull/3392 * feat: the entire of→the entirety of by @hippietrail in https://github.com/Automattic/harper/pull/3604 * feat: leaving in drones→leaving in droves by @hippietrail in https://github.com/Automattic/harper/pull/3636 * fix(core): support multiple brackets in rune matcher by @marcbachmann in https://github.com/Automattic/harper/pull/3608 * feat: tho→though by @hippietrail in https://github.com/Automattic/harper/pull/3526 * feat(desktop): mark support for Slack and Discord by @elijah-potter in https://github.com/Automattic/harper/pull/3641 * docs: grammar fix(es) in `contributors/desktop` by @hippietrail in https://github.com/Automattic/harper/pull/3645 * feat: dir → directory by @hippietrail in https://github.com/Automattic/harper/pull/3470 * fix: don't flag missing "to" between "want" and a noun+verb word by @hippietrail in https://github.com/Automattic/harper/pull/3649 * feat(cli): allow `forms` subcommand to accept multiple arguments by @abhishekDeshmukh74 in https://github.com/Automattic/harper/pull/2996 * feat: app picker bundle ID lookup by @hippietrail in https://github.com/Automattic/harper/pull/3653 * feat: as compare to→as compared to by @hippietrail in https://github.com/Automattic/harper/pull/3647 * refactor: introduce `SequenceExpr::word_seq()` by @hippietrail in https://github.com/Automattic/harper/pull/3659 * Add version numbers next to key integrations that are often not up-to-date with the GitHub version by @hippietrail in https://github.com/Automattic/harper/pull/3553 * feat: (since) indefinite durations by @hippietrail in https://github.com/Automattic/harper/pull/3283 * feat: a handful of more → a handful more by @hippietrail in https://github.com/Automattic/harper/pull/3223 * feat: convenient store→convenience store by @hippietrail in https://github.com/Automattic/harper/pull/3113 * feat: the last days→the last few days by @hippietrail in https://github.com/Automattic/harper/pull/3268 * feat: feet/inches and minutes/seconds from '/" to ′/″ by @hippietrail in https://github.com/Automattic/harper/pull/3275 * feat: fix run into problem/a trouble/troubles by @hippietrail in https://github.com/Automattic/harper/pull/3685 * feat: in depth→in-depth by @hippietrail in https://github.com/Automattic/harper/pull/3684 * docs: Describe what a Harper Committer is by @elijah-potter in https://github.com/Automattic/harper/pull/3687 * feat: cross platform→cross-platform by @hippietrail in https://github.com/Automattic/harper/pull/3689 * feat: and the such→and such; as long that→as long as by @hippietrail in https://github.com/Automattic/harper/pull/3675 * feat: hazzle→hassle by @hippietrail in https://github.com/Automattic/harper/pull/3690 * feat: in do course→in due course by @hippietrail in https://github.com/Automattic/harper/pull/3693 * chore(dict): add 'Juneteenth' to dictionary by @yunusey in https://github.com/Automattic/harper/pull/3692 * feat: read and write→reads and writes/read and write by @hippietrail in https://github.com/Automattic/harper/pull/3697 * chore(harper.js): update examples to latest API by @elijah-potter in https://github.com/Automattic/harper/pull/3668 * Add PhrAIse to "Projects Using Harper" by @hqrrr in https://github.com/Automattic/harper/pull/3676 * fix(chrome-ext): work within Gutenberg `<iframe />`s by @elijah-potter in https://github.com/Automattic/harper/pull/3702 * fix(obsidian): stale data on the Settings page by @elijah-potter in https://github.com/Automattic/harper/pull/3703 * feat(gitcommit): use tree-sitter for gitcommit by @Crysthamus in https://github.com/Automattic/harper/pull/3681 * refactor: optimize `FirstMatchOf`/`LongestMatchOf` ctors to accept generic iterators by @hippietrail in https://github.com/Automattic/harper/pull/3670 * feat: to to -> to do by @Cyncrovee in https://github.com/Automattic/harper/pull/3294 * feat(desktop): better search and icons for app modal by @elijah-potter in https://github.com/Automattic/harper/pull/3704 ## New Contributors * @marcbachmann made their first contribution in https://github.com/Automattic/harper/pull/3608 * @abhishekDeshmukh74 made their first contribution in https://github.com/Automattic/harper/pull/2996 * @yunusey made their first contribution in https://github.com/Automattic/harper/pull/3692 * @hqrrr made their first contribution in https://github.com/Automattic/harper/pull/3676 * @Crysthamus made their first contribution in https://github.com/Automattic/harper/pull/3681 * @Cyncrovee made their first contribution in https://github.com/Automattic/harper/pull/3294 **Full Changelog**: https://github.com/Automattic/harper/compare/v2.5.0...v2.6.0