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