v0.23.0
Automattic/harperv0.23.0Feb 25, 2025by github-actions[bot]
AI Summary
A significant update that introduces new linters and fixes but requires users to update their configuration keys due to a naming convention change.
Key Highlights
- Renamed all linter rules and options from snake_case to PascalCase
- Added linter for non-idiomatic 'back in the days'
- Added linter for 'ban together'
- Added support for 4-digit plural decades
Breaking Changes
- Renamed all linter rules and configuration keys from snake_case to PascalCase (e.g., sentence_capitalization to SentenceCapitalization).
New Features
- Added just sample command
- Capitalize multi-word country and capital city names
- Move could of etc from matcher.rs to its own linter
Full Release Notes
## What's Changed The biggest change was to the naming convention for our settings in #726. We've already seen some configs breaking in #785, and we're sorry about that. The primary motivation was to clean up the user experience for Visual Studio Code and other platforms moving forward by using a more predictable scheme. To use the new scheme, all you have to do is change your linter rules to use `PascalCase` rather than the previous `snake_case`. Additionally, if you're using either the `force_stable` option or the `ignore_link_title` option, you'll need to make those `PascalCase` as well. * feat: another exception for "back in the days before" by @hippietrail in https://github.com/Automattic/harper/pull/712 * feat(core): allow the `ThenThan` linter to cover more cases by @elijah-potter in https://github.com/Automattic/harper/pull/714 * Create linter for non-idiomatic "back in the days" by @elijah-potter in https://github.com/Automattic/harper/pull/707 * Make `Lintkind::Spelling` exclusive to one rule. by @elijah-potter in https://github.com/Automattic/harper/pull/713 * feat: github template for reporting false positives by @hippietrail in https://github.com/Automattic/harper/pull/728 * chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/727 * Overhaul by @elijah-potter in https://github.com/Automattic/harper/pull/726 * feat(core): added technical words to dictionary by @ficcdaf in https://github.com/Automattic/harper/pull/729 * feat: lex 4-digit plural decades by @hippietrail in https://github.com/Automattic/harper/pull/675 * fix(core): edge case found in Harper's documentation by @elijah-potter in https://github.com/Automattic/harper/pull/737 * fix(core): address edge cases in `ThenThan` rule by @elijah-potter in https://github.com/Automattic/harper/pull/735 * feat(core): add rule that corrects `ban together` by @elijah-potter in https://github.com/Automattic/harper/pull/734 * fix(vscode-plugin): update config keys to new standard by @mcecode in https://github.com/Automattic/harper/pull/733 * feat: reimplement "operative system(s)" by @hippietrail in https://github.com/Automattic/harper/pull/719 * fix(core): restrict `GeneralCompoundNouns` to ignore adverb prefixes by @elijah-potter in https://github.com/Automattic/harper/pull/736 * feat(core): added plural form of integration by @ficcdaf in https://github.com/Automattic/harper/pull/740 * build(deps): bump typst-syntax from 0.12.0 to 0.13.0 by @dependabot in https://github.com/Automattic/harper/pull/757 * build(deps): bump anyhow from 1.0.95 to 1.0.96 by @dependabot in https://github.com/Automattic/harper/pull/758 * build(deps-dev): bump prettier from 3.4.2 to 3.5.2 in /packages by @dependabot in https://github.com/Automattic/harper/pull/763 * build(deps-dev): bump @vitest/browser from 3.0.5 to 3.0.6 in /packages by @dependabot in https://github.com/Automattic/harper/pull/762 * build(deps-dev): bump @rollup/plugin-node-resolve from 15.3.1 to 16.0.0 in /packages by @dependabot in https://github.com/Automattic/harper/pull/764 * chore: dictionary curation by @hippietrail in https://github.com/Automattic/harper/pull/745 * feat: tests for sentences containing a decade by @hippietrail in https://github.com/Automattic/harper/pull/747 * feat(vscode-plugin): config updates by @mcecode in https://github.com/Automattic/harper/pull/754 * fix(core): improper pattern by @elijah-potter in https://github.com/Automattic/harper/pull/739 * doc(web): updated environment and language-server documentation on the website by @ficcdaf in https://github.com/Automattic/harper/pull/741 * build(deps): bump serde from 1.0.217 to 1.0.218 by @dependabot in https://github.com/Automattic/harper/pull/760 * feat: add `just sample` to list all forms of random dictionary words by @hippietrail in https://github.com/Automattic/harper/pull/646 * build(deps): bump ordered-float from 4.6.0 to 5.0.0 by @dependabot in https://github.com/Automattic/harper/pull/759 * build(deps-dev): bump @microsoft/api-documenter from 7.26.7 to 7.26.10 in /packages by @dependabot in https://github.com/Automattic/harper/pull/765 * feat: capitalize multi-word country and capital city names by @hippietrail in https://github.com/Automattic/harper/pull/703 * Fuzz results by @elijah-potter in https://github.com/Automattic/harper/pull/773 * feat: move 'could of' etc from `matcher.rs` to its own linter by @hippietrail in https://github.com/Automattic/harper/pull/715 * fix: better ascii and hex digit checks by @hippietrail in https://github.com/Automattic/harper/pull/776 * build(deps-dev): bump @microsoft/api-extractor from 7.49.2 to 7.50.1 in /packages by @dependabot in https://github.com/Automattic/harper/pull/761 * fix: mostly `j` annotations for adverbs in `-ly` by @hippietrail in https://github.com/Automattic/harper/pull/778 ## New Contributors * @ficcdaf made their first contribution in https://github.com/Automattic/harper/pull/729 **Full Changelog**: https://github.com/Automattic/harper/compare/v0.22.0...v0.23.0