v0.32.1

Automattic/harperv0.32.1May 1, 2025by github-actions[bot]

AI Summary

A substantial release featuring dictionary curation, new text correction rules, and fixes for the Chrome extension.

Key Highlights

  • Chrome extension scroll rendering fix.
  • Expanded dictionary with developer terms and Tree-sitter support.
  • New rule flagging phrasal verbs spelled as compound nouns.

New Features

  • Text corrections (e.g., 'once in a while', 'Gilded Age').
  • Iterator API for pattern matches.
  • Zero-width patterns.
  • Sorted dictionary writing for language server.

Full Release Notes

## What's Changed
* feat: aswell→as well by @hippietrail in https://github.com/Automattic/harper/pull/1161
* Fix false positive in let/lets→let's by @hippietrail in https://github.com/Automattic/harper/pull/1158
* feat: last ditched/ditch→last-ditch by @hippietrail in https://github.com/Automattic/harper/pull/1147
* build: add caching by @elijah-potter in https://github.com/Automattic/harper/pull/1172
* feat: implement `assert_any_suggestion_result` as in #950 by @hippietrail in https://github.com/Automattic/harper/pull/1033
* Add `core_version` to `harper-core` by @HobbitJack in https://github.com/Automattic/harper/pull/1168
* fix(core): runaway `harper-ls` processes by @elijah-potter in https://github.com/Automattic/harper/pull/1163
* fix(core): ignore whitespace when matching case by @elijah-potter in https://github.com/Automattic/harper/pull/1165
* Rules by @elijah-potter in https://github.com/Automattic/harper/pull/1128
* fix(core): don't lex the last period as part of a number by @elijah-potter in https://github.com/Automattic/harper/pull/1162
* fix(#1051): Ignore potential ordinal suffixes of length greater than 2 by @grantlemons in https://github.com/Automattic/harper/pull/1054
* docs: fix incorrect documentation for some linters by @86xsk in https://github.com/Automattic/harper/pull/1151
* refactor: Rename `ACO` to `Word` by @RunDevelopment in https://github.com/Automattic/harper/pull/1149
* fix(core): allow erroneous `shift` usage in spellcheck by @elijah-potter in https://github.com/Automattic/harper/pull/1166
* feat: iterator API for pattern matches by @RunDevelopment in https://github.com/Automattic/harper/pull/1155
* feat: Flag phrasal verbs spelled as compound nouns by @hippietrail in https://github.com/Automattic/harper/pull/991
* fix(core): improve `Dashes` description by @elijah-potter in https://github.com/Automattic/harper/pull/1174
* Add snapshot tests for token metadata (aka part-of-speech tags) by @RunDevelopment in https://github.com/Automattic/harper/pull/1119
* docs(readme): fix grammar and minor rephrasing by @86xsk in https://github.com/Automattic/harper/pull/1176
* feat: zero-width patterns by @RunDevelopment in https://github.com/Automattic/harper/pull/1153
* chore(harper-core/dictionary): add unpublish(ing) forms with flags by @uncenter in https://github.com/Automattic/harper/pull/1180
* feat(core): avoid providing multiple lints for a single long hyphen sequence in `Dashes` by @86xsk in https://github.com/Automattic/harper/pull/1182
* feat: once a while→once in a while by @hippietrail in https://github.com/Automattic/harper/pull/1191
* chore(harper-core/dictionary): add developer-related nouns by @uncenter in https://github.com/Automattic/harper/pull/1179
* fix: running individual tests was broken by @hippietrail in https://github.com/Automattic/harper/pull/1184
* feat: how it looks like→how it looks/what it looks like by @hippietrail in https://github.com/Automattic/harper/pull/1146
* chore(harper-core/dictionary): add Tree-sitter by @uncenter in https://github.com/Automattic/harper/pull/1193
* fix: add exception to possessive_your linter by @hippietrail in https://github.com/Automattic/harper/pull/1201
* feat(ls): write sorted dictionaries by @86xsk in https://github.com/Automattic/harper/pull/1195
* feat: dictionary curation and dialect tests by @hippietrail in https://github.com/Automattic/harper/pull/1197
* chore(harper-core/dictionary): add manufacturable and favicon by @uncenter in https://github.com/Automattic/harper/pull/1194
* fix: exception for "how did you" in how-to linter by @hippietrail in https://github.com/Automattic/harper/pull/1200
* feat:Guilded Age→Gilded Age; once and a while→once in a while by @hippietrail in https://github.com/Automattic/harper/pull/1196
* fix: heuristics to fix "comparison to expected results" by @hippietrail in https://github.com/Automattic/harper/pull/1186
* chore: convert commented out tests to use `#[ignore]` by @hippietrail in https://github.com/Automattic/harper/pull/1199
* Print version numbers by @elijah-potter in https://github.com/Automattic/harper/pull/1204

## New Contributors
* @HobbitJack made their first contribution in https://github.com/Automattic/harper/pull/1168
* @uncenter made their first contribution in https://github.com/Automattic/harper/pull/1180

**Full Changelog**: https://github.com/Automattic/harper/compare/v0.31.0...v0.32.1