v1.10.0

ankitects/ankiv1.10.0Mar 11, 2026by github-actions[bot]

AI Summary

This release focuses on enhancing the Harper grammar engine with numerous new linting rules for common English phrases, fixes for false positives in existing rules, and expanded editor support. It also includes performance optimizations for lexing and a new CLI formatting option.

Key Highlights

  • Added support for the online Typst playground and Google Docs in the Chrome extension
  • Improved grammar rules to correct common phrases like 'fed up of' to 'fed up with' and 'off coarse' to 'of course'
  • Fixed edge cases in core rules such as MissingTo and VerbToAdjective
  • Added performance optimizations for URL and email address lexing
  • Added a --format flag to the Harper CLI for JSON and compact output

New Features

  • Typst playground support in Chrome extension
  • Google Docs support in Chrome extension
  • Obsidian integration listening to data.json changes
  • CLI --format flag
  • Phrase corrections (e.g., 'it´s' to 'it's', 'rise the ranks' corrections)

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