All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
3.0.2 - 2025-12-08
- Shebang in CLI.
3.0.1 - 2025-12-08
- Pin
@adguard/agtreetov.3.3.1to fix validator handling.
3.0.0 - 2025-05-21
- Project become ESM-only.
- Minimum Node.js version is
v18. - The build structure has been updated: files are no longer bundled. Users can handle bundling as needed.
- Updated @adguard/agtree to
v3.1.4#247.
- zod vulnerability issue #250.
- Legacy
umdandiifebuilds.
2.1.5 - 2025-05-05
- Support of
cliplatform #251.
2.1.4 - 2025-03-31
- Support for
!+ NOT_VALIDATEhint #248.
2.1.3 - 2024-12-19
- Support for ABP CSS injections #224.
- Updated @adguard/agtree to
v2.3.0.
2.1.2 - 2024-11-25
npx aglint initdoes not work #225.
2.1.1 - 2024-09-20
- Support of
ext_chromium_mv3as a known platform forPLATFORMandNOT_PLATFORMhints #220.
2.1.0 - 2024-09-11
- Various CSSTree utilities.
@adguard/ecss-treelibrary to work with CSS and Extended CSS syntax.no-invalid-css-syntaxlinter rule to check CSS syntax inadblockrules.no-invalid-css-declarationlinter rule to check valid CSS declarations inadblockrules.
- Since AGTree v2 no longer parses the full CSS syntax as AGTree v1 did, we now use the @adguard/ecss-tree library to maintain the same functionality. Additionally, we provide a special layer for CSS handling in the linter core.
- More semantic parsing error messages.
- Changed module type to CJS.
- Updated @adguard/agtree to
v2.0.2#215. From this major version, AGTree no longer parses all CSS syntax, so we need to use a separate library for this purpose in the linter.
- Improved exports in
package.json.
2.0.10 - 2024-09-04
no-excluded-ruleslinter rule #214.
2.0.9 - 2024-04-25
- Validation for
$permissionsmodifier #206.
- Updated @adguard/agtree to
v1.1.8.
2.0.8 - 2024-01-09
- Absolute paths in the CLI #184.
2.0.6 - 2023-11-07
- Support of
!#elsepreprocessor directive #185.
- Updated @adguard/agtree to
v1.1.7.
2.0.5 - 2023-09-07
- Updated @adguard/agtree to
v1.1.5.
2.0.4 - 2023-08-30
- Override
config.extends's presets by the user config. - Updated @adguard/agtree to
v1.1.4.
2.0.3 - 2023-08-29
- Config
syntaxhandling duringaglint init. no-short-ruleslinter rule.- Validation of modifier values due to
value_format.
- Updated @adguard/agtree to
v1.1.3.
2.0.1 - 2023-08-14
- Make
syntaxproperty in the config required. - Updated @adguard/agtree to
v1.1.2.
2.0.0 - 2023-08-11
- Basic rule modifiers validation.
invalid-modifierslinter rule.
- Updated @adguard/agtree to
v1.1.1.
1.0.11 - 2023-04-21
aglint initcommand to create a default config file.- Config finder logic.
- Extendable configs.
- Config files are now required to run the linter.
- Locations are handled in linter rules.
1.0.10 - 2023-03-30
- Logical expression parser.
- Dedicated filter list parser.
- Support for uBO media queries #10.
- Parser refactoring.
- Some small code improvements.
- Added location information to all nodes.
- Changed AST structure to be more consistent.
- Temporary removed
adg-scriptlet-quoteslinter rule.
1.0.9 - 2023-03-02
unknown-preprocessor-directiveslinter rule.inconsistent-hint-platformslinter rule.invalid-domain-listlinter rule.unknown-hints-and-platformslinter rule.duplicated-hintslinter rule.duplicated-hint-platformslinter rule.exceptionproperty to modifier list parser.
- Detailed error messages when linter config parsing fails.
- Migrate from CSSTree to ECSSTree in order to fully support Extended CSS selectors parsing.
- Changed license to MIT.
- Network rule separator finder sometimes found the wrong separator.
1.0.8 - 2023-02-13
- Improved console reporter, shows linter rule name when reporting problems.
- Detailed error messages when CSS parsing fails.
1.0.7 - 2023-02-10
- CLI exit code is now 1 if there are any linter errors.
- Export Linter CLI to public API.
- Initial version of the linter and CLI.
- Initial version of the adblock rule parser.