v2.13.0
Automattic/harperv2.13.0Oct 16, 2026by github-actions[bot]
Upgrading?
AI Summary
This release focuses on grammar correction improvements, desktop application stability fixes, and dependency updates. It introduces new linting options and refactors the codebase for better maintainability.
Key Highlights
- Added a `no_parallel` switch to the `harper-cli lint` command to control parallel execution.
- Introduced new grammar corrections including 'will gonna' → 'will' and 'bare with me' → 'bear with me'.
- Fixed critical desktop app bugs such as accidental locking of the broker and hidden rules in Obsidian.
- Refactored the codebase by splitting the `lint.rs` file into new modules and simplifying the module tree.
- Updated Rust dependencies including `dirs`, `rand`, and `zstd`.
New Features
- `no_parallel` switch for `harper-cli lint`
- Grammar correction: 'will gonna / will going to' → 'will'
- Grammar correction: 'AIUI' → 'as I understand it'
- Grammar correction: 'deference' → 'dereference'
- Grammar correction: 'sky rocketing' → 'skyrocketing'
- Desktop debug mode for the highlighter
- Chrome extension tip for configuring 'delay'
Full Release Notes
## What's Changed * build(deps): bump bitflags from 2.13.1 to 2.13.2 by @dependabot[bot] in https://github.com/Automattic/harper/pull/4498 * chore: add strive/strove/striven to `irregular_verbs.json` by @hippietrail in https://github.com/Automattic/harper/pull/4524 * feat: life time, trade off→lifetime, tradeoff by @hippietrail in https://github.com/Automattic/harper/pull/4526 * feat: add `no_parallel` switch to `harper-cli lint` by @hippietrail in https://github.com/Automattic/harper/pull/4517 * chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/4535 * feat: their self / selves → themself / themselves by @hippietrail in https://github.com/Automattic/harper/pull/4328 * feat: detect mixing up `descend` and `descent` by @hippietrail in https://github.com/Automattic/harper/pull/4523 * docs(sublime): document setup for linting git commit messages by @costajohnt in https://github.com/Automattic/harper/pull/4029 * feat: subjective/objective pronoun→subject/object pronoun by @hippietrail in https://github.com/Automattic/harper/pull/4548 * feat: beckon call → beck and call by @hippietrail in https://github.com/Automattic/harper/pull/4549 * feat: AIUI → as I understand it by @hippietrail in https://github.com/Automattic/harper/pull/4553 * fix(desktop): tweak copy and layout in the Desktop settings page by @elijah-potter in https://github.com/Automattic/harper/pull/4542 * fix(desktop): use real Harper logo instead of placeholder by @elijah-potter in https://github.com/Automattic/harper/pull/4543 * fix(desktop): accidental locking of the broker by @elijah-potter in https://github.com/Automattic/harper/pull/4544 * fix(obsidian): rules are hidden by @elijah-potter in https://github.com/Automattic/harper/pull/4546 * fix: add missing static analysis tools by @elijah-potter in https://github.com/Automattic/harper/pull/4551 * build(deps): bump rustls from 0.23.44 to 0.23.45 in /harper-desktop/src-tauri by @dependabot[bot] in https://github.com/Automattic/harper/pull/4556 * build(deps): bump rustls from 0.23.43 to 0.23.45 by @dependabot[bot] in https://github.com/Automattic/harper/pull/4557 * build(deps): bump rand from 0.10.2 to 0.10.3 by @dependabot[bot] in https://github.com/Automattic/harper/pull/4559 * build(deps): bump zstd from 0.13.3 to 0.14.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/4558 * fix(linting): flag bellow for below before determiners and numbers (#4540) by @Yi-111-a in https://github.com/Automattic/harper/pull/4561 * refactor: split out about 400 lines from `lint.rs` into new modules by @hippietrail in https://github.com/Automattic/harper/pull/4303 * feat: responsible about → responsible for by @hippietrail in https://github.com/Automattic/harper/pull/4567 * fix(linting): replace leftover skeleton descriptions (#4564) by @Yi-111-a in https://github.com/Automattic/harper/pull/4566 * feat: there in → therein by @hippietrail in https://github.com/Automattic/harper/pull/4529 * fix(lint-framework): keep render boxes out of editable content by @braklo in https://github.com/Automattic/harper/pull/4508 * fix(desktop): clear clippy lints in the Windows broker by @willherr72 in https://github.com/Automattic/harper/pull/4438 * feat: have low standard → low standards by @hippietrail in https://github.com/Automattic/harper/pull/4583 * feat: guess work → guesswork by @hippietrail in https://github.com/Automattic/harper/pull/4584 * feat: by extent → by extension by @hippietrail in https://github.com/Automattic/harper/pull/4586 * chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/4568 * feat: often times → oftentimes by @hippietrail in https://github.com/Automattic/harper/pull/4594 * feat: bare with me → bear with me by @hippietrail in https://github.com/Automattic/harper/pull/4599 * fix(web): preload logo for aesthetics by @elijah-potter in https://github.com/Automattic/harper/pull/4602 * feat: deference → dereference by @hippietrail in https://github.com/Automattic/harper/pull/4607 * feat: sky rocketing → skyrocketing by @hippietrail in https://github.com/Automattic/harper/pull/4612 * build(deps): bump dirs from 6.0.0 to 7.0.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/4604 * fix(web): give the home page FAQ section the #faqs anchor by @ozenyunus35 in https://github.com/Automattic/harper/pull/4620 * refactor(chrome-ext): speed up tests by @elijah-potter in https://github.com/Automattic/harper/pull/4603 * refactor(desktop): simplify module tree by @elijah-potter in https://github.com/Automattic/harper/pull/4608 * feat(desktop): create debug mode for the highlighter by @elijah-potter in https://github.com/Automattic/harper/pull/4609 * feat(desktop): make the popup appear similar to the Chrome Extension's by @elijah-potter in https://github.com/Automattic/harper/pull/4610 * ci(desktop): sign Windows releases with Buildkite by @iangmaia in https://github.com/Automattic/harper/pull/4576 * chore: update all Rust deps by @elijah-potter in https://github.com/Automattic/harper/pull/4623 * feat(chrome-ext): add tip to configure "delay" if Harper is being annoying by @elijah-potter in https://github.com/Automattic/harper/pull/4621 * feat: to my defense → in my defense by @ozenyunus35 in https://github.com/Automattic/harper/pull/4626 * fix(chrome-ext): Lexical tests now wait for linting to complete by @elijah-potter in https://github.com/Automattic/harper/pull/4624 * feat: will gonna / will going to → will by @ozenyunus35 in https://github.com/Automattic/harper/pull/4625 ## New Contributors * @costajohnt made their first contribution in https://github.com/Automattic/harper/pull/4029 * @braklo made their first contribution in https://github.com/Automattic/harper/pull/4508 * @ozenyunus35 made their first contribution in https://github.com/Automattic/harper/pull/4620 * @iangmaia made their first contribution in https://github.com/Automattic/harper/pull/4576 **Full Changelog**: https://github.com/Automattic/harper/compare/v2.12.0...v2.13.0
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one