v2.1.0

ankitects/ankiv2.1.0Apr 24, 2026by github-actions[bot]

AI Summary

This release introduces new utility commands for configuration management and enhances code highlighting and grammar rules. It also addresses several bugs related to the Chrome extension, dictionary curation, and core linting consistency.

Key Highlights

  • Added new `just` commands (`ls-config`, `grep-config`, `grep-config-settings`) for easier project configuration.
  • Improved code highlighting (e.g., `rust→code`) and introduced a rule requiring an en dash between numbers in a range.
  • Fixed Chrome extension activation issues in Instagram DMs and added a delay option to the extension.
  • Updated vocabulary rules to correct common typos such as 'govt' to 'government' and 'infliction point'.
  • Enhanced VS Code integration by pre-selecting the current dialect in the dialect picker.

Breaking Changes

  • Removed an unused argument/member in the core module.

New Features

  • New `just` build recipes: `soft-clean` and `hard-clean`.
  • Chrome extension delay option.
  • Grammar correction rule: 'close/tight nit' to 'knit'.
  • Grammar correction rule: 'more than what meets the eye' correction.
  • Grammar correction rule: 'code on rust' to 'code in rust'.

Full Release Notes

## What's Changed
* fix(chrome-ext): Harper not activating in Instagram DMs by @elijah-potter in https://github.com/Automattic/harper/pull/3145
* fix: all to/too linters now use same `LintKind` by @hippietrail in https://github.com/Automattic/harper/pull/3135
* chore: dictionary curation 2026/04/02 by @hippietrail in https://github.com/Automattic/harper/pull/3094
* refactor(core)!: remove unused argument/member by @86xsk in https://github.com/Automattic/harper/pull/3072
* feat: `just` `ls-config`, `grep-config`, and `grep-config-settings` by @hippietrail in https://github.com/Automattic/harper/pull/3144
* feat: add soft-clean and hard-clean recipes to justfile by @ninjamar in https://github.com/Automattic/harper/pull/3142
* fix: "it damages the environment" by @hippietrail in https://github.com/Automattic/harper/pull/3149
* fix: refering -> referring in damages message string by @Inhishonor in https://github.com/Automattic/harper/pull/3148
* fix(core): many small issues by @elijah-potter in https://github.com/Automattic/harper/pull/3150
* build(deps): bump zip from 8.5.0 to 8.5.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3163
* build(deps): bump tokio from 1.50.0 to 1.51.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3162
* build(deps): bump tree-sitter-asciidoc from 0.6.0 to 0.7.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3160
* build(deps): bump rand from 0.10.0 to 0.10.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3159
* fix(dict): remove stale ElasticSearch entry in favour of Elasticsearch by @unlimitedsola in https://github.com/Automattic/harper/pull/3154
* feat(chrome-ext): add delay option by @elijah-potter in https://github.com/Automattic/harper/pull/3166
* refactor(core): refactor `TokenStringExt` by @86xsk in https://github.com/Automattic/harper/pull/2888
* feat(core): rule that requires that the dash between numbers in a range is an en dash by @elijah-potter in https://github.com/Automattic/harper/pull/2961
* fix(core): address several outstanding issues by @elijah-potter in https://github.com/Automattic/harper/pull/3169
* feat: code on rust→code in rust etc. by @hippietrail in https://github.com/Automattic/harper/pull/3172
* fix: don't flag "should soft-fork" by @hippietrail in https://github.com/Automattic/harper/pull/3171
* feat: govt → government by @hippietrail in https://github.com/Automattic/harper/pull/3212
* feat: close/tight nit → knit by @hippietrail in https://github.com/Automattic/harper/pull/3200
* fix: lint comments after shebangs by @lawrence3699 in https://github.com/Automattic/harper/pull/3199
* refactor: don't flag "a fun and fantastic" by @hippietrail in https://github.com/Automattic/harper/pull/3201
* build(deps): bump thin-vec from 0.2.14 to 0.2.16 by @dependabot[bot] in https://github.com/Automattic/harper/pull/3182
* Hereby: require verb that is not also a noun by @joaquinhuigomez in https://github.com/Automattic/harper/pull/3213
* feat: more than what meets the eye/more that meets the eye→more than meets the eye by @hippietrail in https://github.com/Automattic/harper/pull/3178
* feat: infliction point → inflection point by @hippietrail in https://github.com/Automattic/harper/pull/3216
* Dictionary curation 2026 04 14 by @hippietrail in https://github.com/Automattic/harper/pull/3189
* fix: delete superseded linter by @hippietrail in https://github.com/Automattic/harper/pull/3231
* chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/3228
* fix(vscode): pre-select current dialect in the dialect picker by @LanceYing2004 in https://github.com/Automattic/harper/pull/3198

## New Contributors
* @ninjamar made their first contribution in https://github.com/Automattic/harper/pull/3142
* @unlimitedsola made their first contribution in https://github.com/Automattic/harper/pull/3154
* @lawrence3699 made their first contribution in https://github.com/Automattic/harper/pull/3199
* @LanceYing2004 made their first contribution in https://github.com/Automattic/harper/pull/3198

**Full Changelog**: https://github.com/Automattic/harper/compare/v2.0.0...v2.1.0