v1.10.0
Automattic/harperv1.10.0Mar 11, 2026by github-actions[bot]
AI Summary
Chrome extension improvements including Google Docs and Typst playground support, plus CLI formatting capabilities.
Key Highlights
- Google Docs support for Chrome extension
- Typst playground support
- CLI `--format` flag with JSON output
New Features
- Google Docs support
- Typst playground support
- CLI JSON formatting
- Obsidian file watching
- Grammar fixes (hidden in, fed up with, IIUC)
Full Release Notes
## What's Changed * build(deps): bump pulldown-cmark from 0.13.0 to 0.13.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2848 * build(deps): bump chrono from 0.4.43 to 0.4.44 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2852 * build(deps): bump quickcheck from 1.0.3 to 1.1.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2850 * chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/2822 * build(deps): bump zip from 8.0.0 to 8.1.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2849 * build(deps): bump strum_macros from 0.27.2 to 0.28.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2851 * feat: hidden into→hidden in by @hippietrail in https://github.com/Automattic/harper/pull/2844 * feat: the point for→the point of by @hippietrail in https://github.com/Automattic/harper/pull/2834 * feat(core): more edge cases in `MissingTo` rule by @lewismiddleton in https://github.com/Automattic/harper/pull/2837 * feat(core): `chalkboard` is a closed compound by @elijah-potter in https://github.com/Automattic/harper/pull/2858 * feat(chrome-ext): build out support for the online Typst playground by @elijah-potter in https://github.com/Automattic/harper/pull/2706 * fix(core): edge case in `ItsPossessive` rule by @elijah-potter in https://github.com/Automattic/harper/pull/2857 * feat: print linter match with context by @hippietrail in https://github.com/Automattic/harper/pull/2303 * feat: fed up of→fed up with by @hippietrail in https://github.com/Automattic/harper/pull/2833 * feat(obsidian): listen to changes to `data.json` by @elijah-potter in https://github.com/Automattic/harper/pull/2868 * fix(obsidian): remove default hotkey by @elijah-potter in https://github.com/Automattic/harper/pull/2869 * feat: get used of→get used to by @hippietrail in https://github.com/Automattic/harper/pull/2831 * fix: don't flag "our IT" by @hippietrail in https://github.com/Automattic/harper/pull/2872 * feat: flag "often never" and similar by @hippietrail in https://github.com/Automattic/harper/pull/2871 * fix(core): recognize "esp." as an abbreviation by @NaveenPrasanth in https://github.com/Automattic/harper/pull/2816 * fix(core): adjust how words are iterated in `title_case` by @elijah-potter in https://github.com/Automattic/harper/pull/2875 * feat: off coarse→of course by @hippietrail in https://github.com/Automattic/harper/pull/2878 * feat(chrome-ext): support for Google Docs by @elijah-potter in https://github.com/Automattic/harper/pull/2791 * refactor(core): refactor code in `MissingTo` by @86xsk in https://github.com/Automattic/harper/pull/2876 * feat: IIUC→if I understand correctly by @hippietrail in https://github.com/Automattic/harper/pull/2896 * build(deps): bump tree-sitter-powershell from 0.25.10 to 0.26.3 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2890 * build(deps): bump uuid from 1.21.0 to 1.22.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2889 * build(deps): bump tokio from 1.49.0 to 1.50.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2891 * fix(harper-tex): math mode problems by @elijah-potter in https://github.com/Automattic/harper/pull/2899 * build(deps): bump sysinfo from 0.38.2 to 0.38.3 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2893 * refactor: tests for spell/mod.rs and and linting/spell_check.rs were arbitrarily mixed by @hippietrail in https://github.com/Automattic/harper/pull/2809 * feat: aware about→aware of by @hippietrail in https://github.com/Automattic/harper/pull/2902 * feat: it´s→it's by @hippietrail in https://github.com/Automattic/harper/pull/2884 * feat: in some degree→to some degree by @hippietrail in https://github.com/Automattic/harper/pull/2883 * feat(chrome-ext): surface update instructions by @elijah-potter in https://github.com/Automattic/harper/pull/2873 * feat: take/claim/assume responsibility of→responsibility for by @hippietrail in https://github.com/Automattic/harper/pull/2880 * feat: correct decades with apostrophes by @hippietrail in https://github.com/Automattic/harper/pull/2886 * fix(core): false positives in the `NeedToNoun` rule by @elijah-potter in https://github.com/Automattic/harper/pull/2905 * fix(chrome-ext): formatted text in Google Docs causing false-positives by @elijah-potter in https://github.com/Automattic/harper/pull/2904 * feat: rise the ranks→rise through/from the ranks by @hippietrail in https://github.com/Automattic/harper/pull/2903 * perf(core): add early exits for `lex_url`, `lex_email_address` by @86xsk in https://github.com/Automattic/harper/pull/2910 * build(deps): bump quinn-proto from 0.11.13 to 0.11.14 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2908 * fix(core): `VerbToAdjective` false positives by @elijah-potter in https://github.com/Automattic/harper/pull/2906 * feat: not only it is→not only is it by @hippietrail in https://github.com/Automattic/harper/pull/2907 * feat: compulse→compel by @hippietrail in https://github.com/Automattic/harper/pull/2909 * feat(harper-cli): add --format flag with json and compact output modes by @dumb-kevin in https://github.com/Automattic/harper/pull/2843 ## New Contributors * @lewismiddleton made their first contribution in https://github.com/Automattic/harper/pull/2837 * @dumb-kevin made their first contribution in https://github.com/Automattic/harper/pull/2843 **Full Changelog**: https://github.com/Automattic/harper/compare/v1.9.0...v1.10.0