v1.7.0
Automattic/harperv1.7.0Feb 11, 2026by github-actions[bot]
AI Summary
This release adds Zig programming language support, new grammar rules for common mistakes, and Obsidian plugin improvements for regex-based text masking.
Key Highlights
- Added Zig programming language support
- New grammar rules: worth to do→worth doing, thru→through, layouted→laid out, atall→at all, not longer→no longer
- Obsidian plugin now supports regex-based text masking
- CLI accepts common dialect synonyms and abbreviations
- Fixed overlap removal priority issue in linting framework
New Features
- Zig programming language support
- Dialect synonyms and abbreviations in CLI
- Obsidian regex text masking
- Grammar rules for common mistakes
- Expression references in core
- SplitWords making multiple suggestions
Full Release Notes
## What's Changed * feat: worth to do → worth doing by @hippietrail in https://github.com/Automattic/harper/pull/2638 * build(deps): bump time from 0.3.41 to 0.3.47 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2663 * refactor: use `Span::empty` to create empty spans by @86xsk in https://github.com/Automattic/harper/pull/2658 * feat(core): create expression references by @elijah-potter in https://github.com/Automattic/harper/pull/2664 * feat: replace `DayAndAge` Weir with more flexible linter by @hippietrail in https://github.com/Automattic/harper/pull/2666 * build(deps): bump criterion from 0.8.1 to 0.8.2 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2678 * build(deps): bump sysinfo from 0.38.0 to 0.38.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2677 * build(deps): bump anyhow from 1.0.100 to 1.0.101 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2674 * feat: thru→through by @hippietrail in https://github.com/Automattic/harper/pull/2680 * fix(core): overlap removal did not respect priority by @elijah-potter in https://github.com/Automattic/harper/pull/2685 * fix: don't lowercase "This" by @hippietrail in https://github.com/Automattic/harper/pull/2651 * feat: layouted/layouting→laid out/laying out by @hippietrail in https://github.com/Automattic/harper/pull/2669 * build(deps): bump clap from 4.5.56 to 4.5.57 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2675 * refactor(core): simplify loops via iterators by @86xsk in https://github.com/Automattic/harper/pull/2686 * fix: don't flag more foreign → foreigner by @hippietrail in https://github.com/Automattic/harper/pull/2659 * feat: atall→at all by @hippietrail in https://github.com/Automattic/harper/pull/2679 * feat: `SplitWords` makes multiple suggestions by @hippietrail in https://github.com/Automattic/harper/pull/2683 * feat: `harper-cli` accept common dialect synonyms, abbreviations by @hippietrail in https://github.com/Automattic/harper/pull/2562 * chore: justfile recipe names consistent+guessable by @hippietrail in https://github.com/Automattic/harper/pull/2581 * feat: Add Zig support by @hippietrail in https://github.com/Automattic/harper/pull/2688 * feat(obsidian): allow users to mask out text using regular expressions by @elijah-potter in https://github.com/Automattic/harper/pull/2684 * feat: not longer→no longer by @hippietrail in https://github.com/Automattic/harper/pull/2691 * fix(lint-framework): `SuggestionKind.InsertAfter` removing text by @elijah-potter in https://github.com/Automattic/harper/pull/2693 **Full Changelog**: https://github.com/Automattic/harper/compare/v1.6.0...v1.7.0