7.0.0 (2025-08-04)
⚠ BREAKING CHANGES
- enable
no-meta-replaced-by, no-meta-schema-default, require-meta-default-options, require-meta-schema-description as recommended rules (#530) - remove eslint v8 / eslintrc support and remove
flat/ prefix from configs (#528) - move to ESM only (#516)
- require Node 20, 22, 24+ (#529)
Features
- migrate package to TypeScript and publish types (#534) (95b859a)
7.2.0 (2025-10-25)
Features
7.1.0 (2025-10-23)
Features
6.5.0 (2025-06-18)
Features
- Add new rule
no-meta-replaced-by (105f05d)
6.4.0 (2024-12-18)
Features
- Add new
no-meta-schema-default rule (#503) (dbd96b2) - Add new
require-meta-default-options rule (#502) (13e625a) - Add suggestions to
require-meta-docs-recommended rule (#500) (8fda55a)
6.3.2 (2024-11-18)
Bug Fixes
- fix
require-meta-schema-description rule crash (8630901)
6.3.1 (2024-10-25)
Bug Fixes
- require-meta-schema-description: handle non-iterable schema properties (#493) (7f99077)
6.3.0 (2024-10-24)
Features
- add
require-meta-schema-description rule (#490) (875200b)
6.2.0 (2024-06-25)
Features
- eslint-utils => @eslint-community/eslint-utils (#474) (6db5604)
- no-property-in-node add additionalNodeTypeFiles option (#484) (6cdef14)
6.1.0 (2024-04-25)
Features
- add require-meta-docs-recommended rule (#447) (2370b46)
6.0.0 (2024-04-10)
⚠ BREAKING CHANGES
- change test-case-property-ordering to add supports languageOptions (#406)
- add
defaultOptions to meta-property-ordering (#461) - remove consistent-output from recommended (#462)
- Add missing
deprecated/replacedBy properties to meta-property-ordering rule (#320) - requires node >= 18 & eslint >= 8.23.0 (#456)
Features
- add
defaultOptions to meta-property-ordering (#461) (ff28db3), closes #430 - add
name to flat configs (#459) (dcb794f) - Add missing
deprecated/replacedBy properties to meta-property-ordering rule (#320) (1692fe2) - change test-case-property-ordering to add supports languageOptions (#406) (0dd0857)
- remove consistent-output from recommended (#462) (c27e18b), closes #284
- requires node >= 18 & eslint >= 8.23.0 (#456) (4adeb6c)
5.5.1 (2024-04-08)
Bug Fixes
5.5.0 (2024-04-01)
Features
5.4.1 (2024-03-19)
Bug Fixes
- false positives in 5.4.0 for functions that aren't ESLint rules (#451) (f3ec88e)
5.4.0 (2024-02-26)
Features
5.3.0 (2024-02-06)
Features
Documentation
- add another justification for prefer-message-ids rule (#426) (209d178)
Chores
- add release-please (#421) (d7331ca)
- config renovate (#409) (3c845be)
- postprocess with prettier in eslint-doc-generator (#435) (015c207)
- remove dependentbot.yml infavor of renovate (#439) (6ae0ee6)
- replace dependency npm-run-all with npm-run-all2 ^5.0.0 (#427) (062743d)
- update dependency markdownlint-cli to ^0.38.0 (#410) (6b53c5b)
- update dependency markdownlint-cli to ^0.39.0 (#431) (f005a2c)
5.2.1 (2023-12-11)
Bug Fixes
- replace context.getScope() with sourceCode.getScope() (6aed8bb)
5.2.0 (2023-12-11)
Features
5.1.1 (2023-07-19)
Bug Fixes
- ignore function calls in
report-message-format (dea161d) - ignore SpreadExpressions in no-only-tests and prefer-output-null (4924042)
- use latest ECMAScript version in tests (#364) (7be0c76)
5.1.0 (2023-05-18)
Features
5.0.8 (2023-01-20)
Performance Improvements
- use improved comparison algorithm in
no-identical-tests rule (#337) (b4da20a)
5.0.7 (2022-12-19)
Bug Fixes
5.0.6 (2022-08-23)
Bug Fixes
- ensure rules bail out early when no rule present (#293) (d1e03a1)
5.0.5 (2022-08-17)
Bug Fixes
- handle suggestions in helper function outside rule or inside nested spread/ternary in
require-meta-has-suggestions rule (#291) (aa133a9)
5.0.4 (2022-08-15)
Bug Fixes
- false positives with violation reporting helper function in
no-unused-message-ids rule (#290) (1c30165)
5.0.3 (2022-08-12)
Bug Fixes
- false positive with no-unused-message-ids from external violation reporting function (#286) (01d0eef)
- handle spread in context.report() in require-meta-fixable (#288) (d768112)
- handle spread in context.report() in require-meta-has-suggestions (#287) (fdffb50)
5.0.2 (2022-08-04)
Bug Fixes
- allow additional schema types in
require-meta-schema (#277) (5bf0648) - clarify report messages for
no-missing-placeholders and no-unused-placeholders (#278) (f5a5c24) - improve violation reporting location for
no-unused-placeholders (#279) (27c0b65) - improve violation reporting location for
no-missing-placeholders (#280) (31ff45c)
5.0.1 (2022-07-18)
Bug Fixes
5.0.0 (2022-07-12)
⚠ BREAKING CHANGES
- drop Node 12/17 support (#256)
- drop ESLint v6 support (#257)
- strictly define Node API (#259)
- add
recommended rules prefer-message-ids, prefer-output-null, no-missing-message-ids, no-unused-message-ids (#258) - Update
no-missing-placeholders and no-unused-placeholders to handle messageIds (#252)
Features
- Update
no-missing-placeholders and no-unused-placeholders to handle messageIds (#252) (047b0b5)
4.4.1 (2022-07-11)
Bug Fixes
- detect rules with TypeScript
export = rule syntax (#267) (8e66bf7)
4.4.0 (2022-07-02)
Features
- Add new rules
no-missing-message-ids and no-unused-message-ids (#254) (067e8aa)
4.3.0 (2022-06-20)
Features
- handle properties behind spread syntax in
require-meta-* rules (#251) (abefd1e)
4.2.0 (2022-05-16)
Features
4.1.0 (2021-12-14)
Features
- detect function-style rules exported using a variable (#235) (e388a3a)
4.0.3 (2021-12-08)
Bug Fixes
- detect rules exported using a variable (#233) (ae68f6b)
4.0.2 (2021-10-26)
Bug Fixes
- correctly handle rules that are missing
meta or have meta / create defined in variables (#225) (badd4eb) - handle different rule file extensions like
.ts in require-meta-docs-url rule (#224) (6a09dbe)
15 October 2021
- Fix: Handle
meta: {} as const for TypeScript rules #219 - Docs: Add missing date in changelog
#218 - Fix: Avoid crash when provided suggestions array has non-object
#216 - Docs: Improve CHANGELOG for v4
#217 - Release 4.0.1
258bc5e
15 October 2021
15 October 2021
- Fix: Only consider functions with a single argument as function-style rules
#213 - Breaking: Reduce false positives by only detecting function-style rules when function returns an object
#211 - Release 4.0.0-3
64e8da6
14 October 2021
- Breaking: Drop support for old minor versions of Node 12 and 14
#212 - Fix: False negative with TypeScript rules that don't have type parameters (fixes #202)
#209 - Chore: upgrade @ts-eslint/parser to v5
#206 - Docs: Improve README headers
#208 - Docs: add toc in readme
#207 - Docs: Move preset list into table in README
#205 - docs: add example of using rule/test presets in overrides to README
#204 - Upgrade: eslint-plugin-unicorn to v37
#203 - Fix: False negative with TypeScript rules that don't have type parameters (fixes #202) (#209)
#202 - Release 4.0.0-2
f79f6ac
11 October 2021
- Release 4.0.0-1
887b5d0 - Chore: fix release-it config
124909c - Chore: require-meta-docs-url allows prereleases
8fe1017
11 October 2021
- Breaking: Add support for TypeScript rules
#197 - Build: test on eslint v8 (fixes #175)
#186 - Chore: Fix markdownlint glob path
#200 - Breaking: Add
fixer-return to rules preset #199 - Chore: Switch to release-it
#131 - Chore: upgrade dev deps (fixes #188)
#198 - Breaking: Enable additional
recommended rules for v4 #152 - Breaking: Update
fixer-return and prefer-replace-text rules to also apply to suggestion fixer functions #194 - Breaking: Update
no-missing-placeholders, no-unused-placeholders, prefer-message-ids, prefer-placeholders rules to also apply to suggestion messages #196 - Breaking: Update
report-message-format to also apply to suggestion messages #195 - Breaking: Add hasSuggestions property to meta-property-ordering rule
#119 - Breaking: Support ESM rules
#177 - chore(dev-deps): upgrade eslint-plugin-unicorn to v36
#187 - Chore: Update
eslint-utils to v3 #148 - Breaking: Drop support for Node 10, 13, 15
#151 - Build: test on eslint v8 (fixes #175) (#186)
#175 - Chore: upgrade dev deps (fixes #188) (#198)
#188 - Chore: release-it config
894d7b0 - Release 4.0.0-0
f4b984c
24 September 2021
- Fix: Change autofix to suggestion in
require-meta-schema rule #185 - Fix: only autofix in require-meta-schema rule when no options present
#184 - Build: update package.json and changelog for v3.6.1
cc58d76
24 September 2021
- New: Add
requireSchemaPropertyWhenOptionless option to require-meta-schema rule #180 - Fix: Remove erroneous schema from require-meta-schema rule
#178 - Test: Add CI test for ESLint 6 compatibility
#174 - Build: update package.json and changelog for v3.6.0
a864297
30 July 2021
- Fix: False negative in
prefer-message-ids rule #173 - Build: update package.json and changelog for v3.5.3
4048e9c
29 July 2021
- Fix: support eslint v6
#172 - Build: update package.json and changelog for v3.5.2
e4b0f92
27 July 2021
- Fix: Fix false positive with empty array variable in
require-meta-has-suggestions rule #171 - Build: update package.json and changelog for v3.5.1
f9b5321
27 July 2021
- Update: Add
catchNoFixerButFixableProperty option (default false) to catch non-fixable rules that enable the fixable property in require-meta-fixable rule #165 - New: Add new rule
prefer-message-ids #170 - Build: update package.json and changelog for v3.5.0
e362487
12 July 2021
- Fix: Ensure
require-meta-* rules test null/undefined property values #164 - Chore: Improve test coverage in a few places
#167 - Docs: Improve consistency of
require-meta-* rule violation messages #166 - Update: Add autofixer to
require-meta-has-suggestions rule #168 - Docs: Fix incorrect CLI option link
#169 - Fix: Improve detection of static
url strings in require-meta-docs-url rule #162 - Update: Fix false positives/negatives in
require-meta-fixable rule #158 - Docs: Fix typo
#160 - Fix: Avoid crash with non-static value of
hasSuggestions in require-meta-has-suggestions rule #163 - Chore: Fully adopt
messageId in require-meta-docs-description rule #161 - Docs: Update rule descriptions for consistency
#159 - Fix: Use token utilities from eslint-utils
#156 - Fix: Fix false negatives and reporting location in
require-meta-type #155 - Chore: remove unnecessary ignore pattern from internal js linting
#154 - Build: update package.json and changelog for v3.4.0
fcbb65c
2 July 2021
- Chore: improve test coverage of
no-identical-tests rule #153 - Docs: ensure rule doc titles match rule descriptions
#147 - Update: add the plugin name to plugins prop of presets
#91 - Docs: indicate rules with suggestions
#146 - New: add new rule
no-only-tests #145 - Fix: update fixer-return rule to handle arrow function expressions
#144 - Build: update package.json and changelog for v3.3.0
72fb6f8
23 June 2021
- Fix: Improve detection of fix functions that never return a fix in
fixer-return rule #143 - Chore: enforce minimum code coverage
#142 - Chore: enable meta-property-ordering rule internally
#139 - Update: Flag a violation when rule options are used but an empty schema is present in
require-meta-schema rule #138 - Docs: add rule documentation consistency tests
#137 - Docs: add eslint-plugin-markdown for JavaScript code samples in documentation
#134 - Chore: add eslint-plugin-unicorn
#133 - Build: Add
markdownlint for doc formatting #130 - Build: run tests under Node 16
#132 - Fix: improve detection of static arguments of context.report() in several rules
#129 - Build: update package.json and changelog for v3.2.0
7bf777b
15 June 2021
- Chore: Switch from
.eslintrc.yml to .eslintrc.js #127 - Docs: clarify some wording in
require-meta-docs-url rule doc #126 - Docs: elaborate on output assertion requirement and benefits in
consistent-output rule doc #123 - Docs: add explanation to
prefer-output-null rule doc #124 - Docs: fix --fix link
#125 - Docs: add links for deprecated and new styles in
prefer-object-rule rule #122 - Docs: mention allowed values in require-meta-type rule doc
#121 - New: add new rule require-meta-has-suggestions
#105 - Docs: fix broken links in changelog
b6ce109 - Build: update package.json and changelog for v3.1.0
b4320c6
10 May 2021
- Docs: rm global-installed usage
#116 - Docs: update CI badge for github actions in README
#115 - Docs: add npm badge to README
#114 - Fix: Improve detection of static
description strings and ignore non-static descriptions in require-meta-docs-description rule #113 - Chore: refactor
utils.getRuleInfo #112 - Build: update package.json and changelog for v3.0.3
384f7ba
16 April 2021
- Fix:
require-meta-schema: Fix false positive #111 - Build: update package.json and changelog for v3.0.2
57a711d
15 April 2021
- Fix: Rule can't find reference of
create function #107 - Chore: Switch
escope to eslint-scope #109 - Build: Switch to github actions
#108 - Build: update package.json and changelog for v3.0.1
0b4bcaf - chore: fix failing tests
e6aa71f
8 April 2021
- Breaking: change test-case-property-ordering default options (fixes #79)
#93 - Breaking: drop eslint < 7 & node.js < 10
#95 - Docs: Grammar in
require-meta-schema.md #103 - Breaking: change test-case-property-ordering default options (fixes #79) (#93)
#79 - Build: update package.json and changelog for v3.0.0
02c1f34
22 June 2020
- New: Add rule
prefer-object-rule #101 - Build: update package.json and changelog for v2.3.0
97f23ad
9 June 2020
- Fix: handle spreads in rule meta objects
#100 - Docs: Fix incorrect rule reference in meta-property-ordering
#96 - Upgrade: eslint and other deps
#92 - Build: update package.json and changelog for v2.2.2
f50d3b8
16 January 2020
- Fix: update
require-meta-schema rule to allow object schemas (in addition to array schemas) #90 - Build: update package.json and changelog for v2.2.1
66aeb87
7 January 2020
- Update: Add new rule
require-meta-docs-description #89 - Fix: Check for meta type even when using a function reference
#84 - Chore: fix incorrect test cases.
#82 - New: add new rule
require-meta-schema (#87) 10b28f0 - New: add
always option to consistent-output rule (#88) 8c74f24 - Build: update package.json and changelog for v2.2.0
122d67e
8 May 2019
- New: meta-property-ordering (fixes #62)
#80 - Revert “Update: add plugins: [‘eslint-plugin’] in configs”
#76 - New: meta-property-ordering (fixes #62) (#80)
#62 - Build: update package.json and changelog for v2.1.0
660074e - Update: add plugins: [‘eslint-plugin’] in configs
bb71efa
22 December 2018
- Fix: allow to use generator function as fix in fixer-return
#75 - Fix: require-meta-type crash when has no meta property
#73 - Build: update package.json and changelog for v2.0.1
a9a97b2
8 December 2018
- New: require-meta-type (fixes #67)
#68 - Update: ensure report-message-format checks formatting in meta.messages
#72 - Upgrade: dev dependcies to latest
#69 - Breaking: require node >= 6 & eslint >= 5 (fixes #70)
#71 - New: require-meta-type (fixes #67) (#68)
#67 - Breaking: require node >= 6 & eslint >= 5 (fixes #70) (#71)
#70 - Build: update package.json and changelog for v2.0.0
8067824
24 October 2018
- Fix: no-deprecated-report-api should consider spread operator(fixes #64)
#65 - Chore: fix linting errors
#66 - Fix: no-deprecated-report-api should consider spread operator(fixes #64) (#65)
#64 - Build: update package.json and changelog for v1.4.1
7a34af7
26 January 2018
- New: require-meta-docs-url (fixes #55)
#56 - New: require-meta-docs-url (fixes #55) (#56)
#55 - Build: update package.json and changelog for v1.4.0
7df313d
8 January 2018
- Docs: fix some errors in rule example.
#52 - Docs: fix prefer-replace-text doc name.
#51 - New: rule prefer-replace-text
#50 - Docs: http => https.
#49 - Chore: add vscode to gitignore.
#48 - Build: autogenerate the table in README.md (fixes #43)
#46 - Update: add --fix to prefer-output-null.
#44 - Docs: add no-deprecated-context-methods fixable.
#45 - Docs: add missing fixable icon to
no-deprecated-context-methods #42 - Update: add meta.docs.url to rules
#54 - New: rule prefer-replace-text (#50)
#47 - Build: autogenerate the table in README.md (fixes #43) (#46)
#43 - Build: update package.json and changelog for v1.3.0
c16bd2e
10 September 2017
- New: no-deprecated-context-methods rule (fixes #40)
#41 - New: no-deprecated-context-methods rule (fixes #40) (#41)
#40 - Build: update package.json and changelog for v1.2.0
64428e4
7 September 2017
- Chore: add release script
#39 - Update: utils.getTestInfo filter elements equal to null (fixes #37).
#38 - Update: utils.getTestInfo filter elements equal to null (fixes #37). (#38)
#37 - Build: update package.json and changelog for v1.1.0
221241f
31 August 2017
- Fix: some rules crashing if tests array has missing elements (fixes #35).
#36 - Breaking: update ESLint peerDependency to >=4.1.0
#33 - Chore: use local variable.
#34 - Update: add autofixing to test-case-property-ordering. (fixes #31)
#32 - Fix: some rules crashing if tests array has missing elements (fixes #35). (#36)
#35 - Update: add autofixing to test-case-property-ordering. (fixes #31) (#32)
#31 #31 - Build: update package.json and changelog for v1.0.0
0a81434
25 July 2017
- Breaking: add no-unused-placeholders to recommended.
#29 - Docs: fix rulename in example.
#28 - New: rule no-unused-placeholders.
#26 - Chore: use utils.getReportInfo
#27 - Breaking: add some rules to recommended config
#25 - Update: no-identical-tests despite of properties order.
#21 - New: rule test-case-property-ordering
#16 - Chore: upgrade deps.
#24 - Fix: linting errors.
#23 - Fix: prefer-output-null crashes, when a test case is not object.
#22 - New: fixer-return
#15 - New: rule prefer-output-null
#20 - Docs: rules to be alphabetical.
#18 - Update: add --fix to no-identical-tests.
#13 - Chore: disable package-lock.json
#14 - Upgrade: eslint-plugin-self@1.0.1
3fc9cc3 - Build: update package.json and changelog for v0.8.0
04d6a09 - Chore: upgrade eslint-config-not-an-aardvark@2.1.0
e079baf
1 July 2017
- New: no-identical-tests rule
#11 - Build: update package.json and changelog for v0.7.4
907bcc3
30 June 2017
- Chore: remove identical tests
#12 - Upgrade: espree to 3.4.3
#9 - Chore: use eslint-plugin-self (fixes #10)
#10 - Build: update package.json and changelog for v0.7.3
58574ff - Update: support ESLint v4
e361d63 - Chore: add Node 8 to travis
9ee1ad3
9 May 2017
- Update: add fixer for test-case-shorthand-strings
9fcf4a6 - Build: update package.json and changelog for v0.7.2
c8fae84 - Docs: add example to consistent-output with output: null
e2e3de3
22 February 2017
- Build: update package.json and changelog for v0.7.1
090091e - Fix: incorrect category for consistent-output
308b048
22 February 2017
- New: consistent-output rule
64ed898 - Build: update package.json and changelog for v0.7.0
2091577 - Docs: add directive comment to no-useless-token-range docs
667e36f
21 February 2017
- New: no-useless-token-range rule
4537737 - Build: update package.json and changelog for v0.6.0
6cef769 - Breaking: add no-useless-token-range to recommended config
277d11c
1 February 2017
- New: prefer-placeholders rule
de03394 - Chore: unify logic for parsing context.report() arguments
d14cd05 - New: add more presets
2fa5e7f
1 February 2017
- New: test-case-shorthand-strings rule
cbbc49f - Chore: enable test-case-shorthand-strings on this codebase
558f1db - Chore: remove errors from valid test case
815bf07
26 January 2017
- New: no-missing-placeholders rule
a995733 - Build: update package.json and changelog for v0.3.0
eff529e - Breaking: add no-missing-placeholders to eslint-plugin:recommended
833d094
14 December 2016
- Fix: check the type of the first arg of the old context.report() API
29dc51c - Build: update package.json and changelog for v0.2.1
f29aa27 - Docs: Add require-meta-fixable to the list of rules in the readme
45dac85
13 December 2016
- New: require-meta-fixable rule
59bfdd6 - New: report-message-format rule
ffab432 - Build: Dogfood this plugin's rules on its own codebase
e345dc5
v0.1.0
13 December 2016
- New: no-deprecated-report-api rule
06a6e5a - New: initial commit
8b0ae4f - New: Add a ‘recommended’ config
7b9ec01