v1.6.0
Automattic/harperv1.6.0Feb 4, 2026by github-actions[bot]
AI Summary
This major release introduces Weirpacks for packaging linting rules, adds AsciiDoc support, enables Firefox CSS Custom Highlights API, and includes significant performance improvements.
Key Highlights
- Introduced Weirpacks for packaging linting rules
- Added AsciiDoc support
- Enabled CSS Custom Highlights API for Firefox
- Performance improvements: cached Weir ASTs, optimized test builds
- New grammar rules: prev→previous, as of currently→currently, yea/yeh→yeah, cybersec→cybersecurity
New Features
- Weirpacks (rule packaging system)
- AsciiDoc support
- Firefox CSS Custom Highlights API
- Weir AST caching
- New Weir rules
- Typst parser exposed in harper.js
Full Release Notes
## What's Changed * refactor(brill): remove `lazy_static` dependency by @86xsk in https://github.com/Automattic/harper/pull/2571 * feat: afterall → after all by @hippietrail in https://github.com/Automattic/harper/pull/2582 * perf(core): cache Wier ASTs by @86xsk in https://github.com/Automattic/harper/pull/2584 * deps(cli): bump ariadne from 0.4.1 to 0.6.0 by @86xsk in https://github.com/Automattic/harper/pull/2577 * feat: prev → previous by @hippietrail in https://github.com/Automattic/harper/pull/2598 * build(deps): bump uuid from 1.19.0 to 1.20.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2595 * fix: confusing wording in `OneOfTheSingular` by @hippietrail in https://github.com/Automattic/harper/pull/2586 * feat: as of currently→ currently / as of now by @hippietrail in https://github.com/Automattic/harper/pull/2599 * chore: add words/annotations to curated dict by @86xsk in https://github.com/Automattic/harper/pull/2570 * feat: nor I would→nor would I by @hippietrail in https://github.com/Automattic/harper/pull/2590 * build(deps): bump sysinfo from 0.37.2 to 0.38.0 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2594 * fix(chrome-ext): Draft.js multiline suggestion replacement corruption by @draphy in https://github.com/Automattic/harper/pull/2597 * fix: `rm` old vscode versions after `just test-vscode` by @hippietrail in https://github.com/Automattic/harper/pull/2574 * fix(chrome-ext): force visibility on Reddit by @elijah-potter in https://github.com/Automattic/harper/pull/2603 * docs(chrome-ext): notify users that Harper will clash with Gmail's grammar checker by @elijah-potter in https://github.com/Automattic/harper/pull/2605 * feat: yea/yeh →yeah by @hippietrail in https://github.com/Automattic/harper/pull/2604 * fix(obsidian-plugin): postpone initialization until layout is ready by @Vinzent03 in https://github.com/Automattic/harper/pull/2611 * feat: no only is there → not only is there by @hippietrail in https://github.com/Automattic/harper/pull/2610 * feat(chrome-ext): enable use of the CSS Custom Highlights API for Firefox by @elijah-potter in https://github.com/Automattic/harper/pull/2607 * refactor(core): adjustments in `Number` by @86xsk in https://github.com/Automattic/harper/pull/2591 * feat(core): write rule to correct `cybersec` -> `cybersecurity` by @elijah-potter in https://github.com/Automattic/harper/pull/2613 * fix(chrome-ext): improve test reliability by @elijah-potter in https://github.com/Automattic/harper/pull/2615 * feat: try one‘s hands at→try one‘s hand at by @hippietrail in https://github.com/Automattic/harper/pull/2614 * feat(core): add `allows` keyword to Weir by @elijah-potter in https://github.com/Automattic/harper/pull/2602 * build(deps): bump clap from 4.5.54 to 4.5.56 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2641 * Flash in the pans -> Flashes in the pan by @hippietrail in https://github.com/Automattic/harper/pull/2621 * chore: curate dictionary by @hippietrail in https://github.com/Automattic/harper/pull/2580 * feat: go at war → go to war by @hippietrail in https://github.com/Automattic/harper/pull/2646 * fix(chrome-ext): preserve cursor position in generic contenteditable replacement by @draphy in https://github.com/Automattic/harper/pull/2617 * feat: peak behind the curtain→peek behind the curtain by @hippietrail in https://github.com/Automattic/harper/pull/2635 * fix: AsciiDoc support by @mcecode in https://github.com/Automattic/harper/pull/2633 * build(deps): bump bytes from 1.10.1 to 1.11.1 by @dependabot[bot] in https://github.com/Automattic/harper/pull/2647 * docs: add Tally to section for projects using Harper by @twocaretcat in https://github.com/Automattic/harper/pull/2645 * feat(core): improve debug formatting for `Suggestion` by @86xsk in https://github.com/Automattic/harper/pull/2619 * refactor(core): adjustments in lexing code by @86xsk in https://github.com/Automattic/harper/pull/2618 * feat: look one's nose down→look down one's nose by @hippietrail in https://github.com/Automattic/harper/pull/2644 * feat(core): introduce Weirpacks by @elijah-potter in https://github.com/Automattic/harper/pull/2491 * fix(lint-framework): preserve cursor position in textarea after applying suggestion by @draphy in https://github.com/Automattic/harper/pull/2650 * feat: like no tomorrow → like there's no tomorrow by @hippietrail in https://github.com/Automattic/harper/pull/2652 * build(test): improve test build time by @86xsk in https://github.com/Automattic/harper/pull/2648 * refactor(core): use a macro and document the methods by @elijah-potter in https://github.com/Automattic/harper/pull/2655 * build: `panic = abort` and `lto = fat` for release by @86xsk in https://github.com/Automattic/harper/pull/2572 * refactor(harper.js): we do not need named types for Weirpacks by @elijah-potter in https://github.com/Automattic/harper/pull/2657 ## New Contributors * @twocaretcat made their first contribution in https://github.com/Automattic/harper/pull/2645 **Full Changelog**: https://github.com/Automattic/harper/compare/v1.5.1...v1.6.0