html-validate 6.1.4 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md DELETED
@@ -1,1707 +0,0 @@
1
- # html-validate changelog
2
-
3
- ### [6.1.4](https://gitlab.com/html-validate/html-validate/compare/v6.1.3...v6.1.4) (2021-12-04)
4
-
5
- ### Bug Fixes
6
-
7
- - handle multiline `srcset` attribute ([0bb92a7](https://gitlab.com/html-validate/html-validate/commit/0bb92a7c649d44281f530ea105aba55c9f3191ff)), closes [#138](https://gitlab.com/html-validate/html-validate/issues/138)
8
-
9
- ### [6.1.3](https://gitlab.com/html-validate/html-validate/compare/v6.1.2...v6.1.3) (2021-11-19)
10
-
11
- ### Bug Fixes
12
-
13
- - parse `<style>` content as text instead of markup ([0ab61e6](https://gitlab.com/html-validate/html-validate/commit/0ab61e6f9c875f76d0b7725f615808eedf1531fd)), closes [#137](https://gitlab.com/html-validate/html-validate/issues/137)
14
- - **rules:** handle malformed `style` attribute in `no-inline-style` rule ([7e12d50](https://gitlab.com/html-validate/html-validate/commit/7e12d507785eaf4fbbacf9b6ad53c31d5c6aece0))
15
-
16
- ### [6.1.2](https://gitlab.com/html-validate/html-validate/compare/v6.1.1...v6.1.2) (2021-11-13)
17
-
18
- ### Bug Fixes
19
-
20
- - fix .d.ts paths in package ([f24c2f4](https://gitlab.com/html-validate/html-validate/commit/f24c2f4752680edc6624d173599032cc5ed9830b))
21
-
22
- ### [6.1.1](https://gitlab.com/html-validate/html-validate/compare/v6.1.0...v6.1.1) (2021-11-10)
23
-
24
- ### Dependency upgrades
25
-
26
- - **deps:** update dependency @sidvind/better-ajv-errors to v1 ([373b608](https://gitlab.com/html-validate/html-validate/commit/373b6086871bbcbb7df9c034ed73a513f9a97c8e))
27
-
28
- ## [6.1.0](https://gitlab.com/html-validate/html-validate/compare/v6.0.2...v6.1.0) (2021-10-02)
29
-
30
- ### Features
31
-
32
- - **rules:** `allowed-links` support `include` and `exclude` ([a3f7b6a](https://gitlab.com/html-validate/html-validate/commit/a3f7b6aa2414ab41239ec1aed6d463502575bb13))
33
-
34
- ### Bug Fixes
35
-
36
- - handle multiline templating strings ([cddf7d5](https://gitlab.com/html-validate/html-validate/commit/cddf7d5e66ad3ce3f49b32b5dea873b04f9b6f7d)), closes [#134](https://gitlab.com/html-validate/html-validate/issues/134)
37
-
38
- ### [6.0.2](https://gitlab.com/html-validate/html-validate/compare/v6.0.1...v6.0.2) (2021-09-27)
39
-
40
- ### Bug Fixes
41
-
42
- - **jest:** jest matcher should use FileSystemConfigLoader ([4d04bdc](https://gitlab.com/html-validate/html-validate/commit/4d04bdcdec2380cf6bc54bba8efd6f92d3c8d7bc))
43
-
44
- ### [6.0.1](https://gitlab.com/html-validate/html-validate/compare/v6.0.0...v6.0.1) (2021-09-27)
45
-
46
- ### Bug Fixes
47
-
48
- - docs ([4973ee4](https://gitlab.com/html-validate/html-validate/commit/4973ee4f9e2e5270654a5295f5e252121358e289))
49
-
50
- ## [6.0.0](https://gitlab.com/html-validate/html-validate/compare/v5.5.0...v6.0.0) (2021-09-26)
51
-
52
- ### ⚠ BREAKING CHANGES
53
-
54
- - **htmlvalidate:** This change only affects API users, the CLI tool continues to
55
- work as before.
56
-
57
- The default configuration loader has changed from `FileSystemConfigLoader` to
58
- `StaticConfigLoader`, i.e. the directory traversal looking for
59
- `.htmlvalidate.json` configuration files must now be explicitly enabled.
60
-
61
- See [MIGRATION.md](https://html-validate.org/migration/index.html) for details.
62
-
63
- - **event:** `ConfigReadyEvent` passes `ResolvedConfig` instance instead of `ConfigData`
64
- - **meta:** `MetaElement.attribute` has changed from `string[]` to
65
- `MetaAttribute[]` and both `requiredAttributes` and `deprecatedAttributes` has
66
- been merged into object. This only affects API usage, primarily custom rules
67
- accessing attribute metadata.See `MIGRATION.md` for details.
68
-
69
- The old format is deprecated but is internally converted as to not break user
70
- configuration. For compatibility it will probably be around for quite a while
71
- but users should try to migrate as soon as possible.
72
-
73
- ### Features
74
-
75
- - bump required node version to 12.22 ([80f3399](https://gitlab.com/html-validate/html-validate/commit/80f3399a3f863a81fcb505a4d0763bb8cffbbdeb))
76
- - **elements:** migrate bundled html5 element metadata to new attribute syntax ([6132b82](https://gitlab.com/html-validate/html-validate/commit/6132b829e085689bd4d07aaf072e100609a950bd))
77
- - **event:** `ConfigReadyEvent` passes `ResolvedConfig` instance instead of `ConfigData` ([5808a6b](https://gitlab.com/html-validate/html-validate/commit/5808a6b5ad3473f39b850778c1ae46d147abf1f6))
78
- - **htmlvalidate:** use `StaticConfigLoader` by default ([bb94341](https://gitlab.com/html-validate/html-validate/commit/bb94341e411a40745d36362be37e0984420c6771))
79
- - **meta:** add new list property to `MetaAttribute` ([4c1e3c9](https://gitlab.com/html-validate/html-validate/commit/4c1e3c97e741710e30765f9b3519b586462a2b87))
80
- - **meta:** extend element attribute metadata ([6506aa6](https://gitlab.com/html-validate/html-validate/commit/6506aa6f109a5cb614d6e2817e4d26322758096b)), closes [#71](https://gitlab.com/html-validate/html-validate/issues/71)
81
-
82
- ### Dependency upgrades
83
-
84
- - **deps:** update dependency espree to v9 ([3e0ea96](https://gitlab.com/html-validate/html-validate/commit/3e0ea96a4f8fd76db7a1113ff6ca8ea29edd62d9))
85
-
86
- ### [4.14.1](https://gitlab.com/html-validate/html-validate/compare/v4.14.0...v4.14.1) (2021-09-18)
87
-
88
- ### Bug Fixes
89
-
90
- - **jest:** handle when `jest-diff` default import is object ([74f9b84](https://gitlab.com/html-validate/html-validate/commit/74f9b8424e0bf5071823e82bfc79d8904025808a))
91
-
92
- ## [5.5.0](https://gitlab.com/html-validate/html-validate/compare/v5.4.1...v5.5.0) (2021-09-05)
93
-
94
- ### Features
95
-
96
- - **dom:** add iterator to `DOMTokenList` ([7bef736](https://gitlab.com/html-validate/html-validate/commit/7bef736bd9902388299e550618192d8465e5f3cc))
97
- - **rules:** `no-missing-references` handles more aria attributes ([2843680](https://gitlab.com/html-validate/html-validate/commit/2843680da32fbe7c95f91c72d2d7607a381d5992))
98
- - **rules:** add `minInitialRank` option to `heading-level` ([7f58572](https://gitlab.com/html-validate/html-validate/commit/7f585721fcb8e744863584cbe6e21130ade198eb)), closes [#132](https://gitlab.com/html-validate/html-validate/issues/132)
99
-
100
- ### Bug Fixes
101
-
102
- - **jest:** synchronous matchers as long as the passed value is synchronous ([0ede9f7](https://gitlab.com/html-validate/html-validate/commit/0ede9f74f073b3d01fafff455cc3674fa1898b40))
103
- - **rules:** `no-missing-references` handles attributes with reference lists ([2afcd86](https://gitlab.com/html-validate/html-validate/commit/2afcd86c1ead8eec42819310bae9990e45122b0e)), closes [#133](https://gitlab.com/html-validate/html-validate/issues/133)
104
-
105
- ### [5.4.1](https://gitlab.com/html-validate/html-validate/compare/v5.4.0...v5.4.1) (2021-08-29)
106
-
107
- ### Bug Fixes
108
-
109
- - **meta:** use global meta as base when merging ([9fe3793](https://gitlab.com/html-validate/html-validate/commit/9fe3793b17bd6deb894e5d479ab11a51935829a1)), closes [#60](https://gitlab.com/html-validate/html-validate/issues/60)
110
-
111
- ## [5.4.0](https://gitlab.com/html-validate/html-validate/compare/v5.3.0...v5.4.0) (2021-08-27)
112
-
113
- ### Features
114
-
115
- - **cli:** expand relative paths to absolute paths ([bdc3019](https://gitlab.com/html-validate/html-validate/commit/bdc30197be25c031999e156fd7dcb4f456fc7f0e)), closes [#131](https://gitlab.com/html-validate/html-validate/issues/131)
116
-
117
- ### Bug Fixes
118
-
119
- - **cli:** handle absolute paths as input filenames ([c860af6](https://gitlab.com/html-validate/html-validate/commit/c860af66d02bf46e24a11756d5611b4c9b449ccb)), closes [#131](https://gitlab.com/html-validate/html-validate/issues/131)
120
-
121
- ## [5.3.0](https://gitlab.com/html-validate/html-validate/compare/v5.2.1...v5.3.0) (2021-08-23)
122
-
123
- ### Features
124
-
125
- - jest matchers support async results ([ef7331f](https://gitlab.com/html-validate/html-validate/commit/ef7331f28c90fc7623b1124ed60e02e6c6018e28))
126
-
127
- ### Bug Fixes
128
-
129
- - **jest:** handle when `jest-diff` default import is object ([7413db9](https://gitlab.com/html-validate/html-validate/commit/7413db9d2b02dde00ba1b32fb58ec6e47e7cc951))
130
-
131
- ### [5.2.1](https://gitlab.com/html-validate/html-validate/compare/v5.2.0...v5.2.1) (2021-08-09)
132
-
133
- ### Bug Fixes
134
-
135
- - **html5:** add `user` and `environment` to `capture` attribute ([d6b8f90](https://gitlab.com/html-validate/html-validate/commit/d6b8f9062d7ecbe8148c5ae2f801a09411b57213)), closes [#130](https://gitlab.com/html-validate/html-validate/issues/130)
136
-
137
- ## [5.2.0](https://gitlab.com/html-validate/html-validate/compare/v5.1.1...v5.2.0) (2021-07-23)
138
-
139
- ### Features
140
-
141
- - support specifying a custom loader when using library ([0e509a3](https://gitlab.com/html-validate/html-validate/commit/0e509a3d7b8931acfc2bb2452ff81ecb0877aaa8))
142
- - **config:** add `StaticConfigData` for simple static config ([ae40706](https://gitlab.com/html-validate/html-validate/commit/ae40706f6ab545b23ae8ceb008122d23264423b9))
143
-
144
- ### Bug Fixes
145
-
146
- - **elements:** disallow whitespace in `id` ([df2906b](https://gitlab.com/html-validate/html-validate/commit/df2906bd2a19fcc7c7a6c020af5b3550cbcc5158))
147
- - **meta:** regex matching attribute allowed values matches entire string ([ffa0d12](https://gitlab.com/html-validate/html-validate/commit/ffa0d122d9941128de4ebd433a1508854ac6b9b8))
148
- - **rules:** handle id with whitespace in `no-redundant-for` ([a79f266](https://gitlab.com/html-validate/html-validate/commit/a79f2669c88a135bab987ea5c64ddd6f47fd3736)), closes [#128](https://gitlab.com/html-validate/html-validate/issues/128)
149
-
150
- ### [5.1.1](https://gitlab.com/html-validate/html-validate/compare/v5.1.0...v5.1.1) (2021-07-11)
151
-
152
- ### Bug Fixes
153
-
154
- - broken typescript declaration in previous release ([ad9cf68](https://gitlab.com/html-validate/html-validate/commit/ad9cf6832ac1b02bab282445d7e8b294c9ce524e)), closes [#127](https://gitlab.com/html-validate/html-validate/issues/127)
155
-
156
- ## [5.1.0](https://gitlab.com/html-validate/html-validate/compare/v5.0.2...v5.1.0) (2021-07-11)
157
-
158
- ### Features
159
-
160
- - **lexer:** add attribute key-value delimiter to attribute value token ([0979798](https://gitlab.com/html-validate/html-validate/commit/0979798ac191af4a26667a282e3e554fee4450ac))
161
- - **rules:** new rule `attr-delimiter` ([eb98461](https://gitlab.com/html-validate/html-validate/commit/eb9846155dbc42f860c31301373332624d35a3bd)), closes [#126](https://gitlab.com/html-validate/html-validate/issues/126)
162
- - support .cjs configuration files ([cd458e3](https://gitlab.com/html-validate/html-validate/commit/cd458e3e16826700b93860507222d5af792204ef))
163
-
164
- ### Bug Fixes
165
-
166
- - automatically find external dependencies ([62af8c5](https://gitlab.com/html-validate/html-validate/commit/62af8c5c97bdce0303ea8c5e00050014a959b08a))
167
- - es build ([6b1cec5](https://gitlab.com/html-validate/html-validate/commit/6b1cec5b3321ddd8094483a50ce1cd686356142f))
168
- - import semver correctly ([4ed8eac](https://gitlab.com/html-validate/html-validate/commit/4ed8eac2609dfd5411180bb6166ab8a8783dc53b))
169
- - make prefer-button tag and attribute checks case-insensitive ([95e7748](https://gitlab.com/html-validate/html-validate/commit/95e774863a3df2197fb2cf7879e0e8cd83c3c4bd))
170
- - only check value of type attribute in prefer-button rule ([2e46586](https://gitlab.com/html-validate/html-validate/commit/2e46586b5d69be6847128e58271d382cb7f46e90))
171
-
172
- ### [5.0.2](https://gitlab.com/html-validate/html-validate/compare/v5.0.1...v5.0.2) (2021-06-28)
173
-
174
- ### Bug Fixes
175
-
176
- - handle leading and trailing whitespace in `style` attributes ([a71b947](https://gitlab.com/html-validate/html-validate/commit/a71b94747eda26e8e50ff28b1a0269646ee09818)), closes [#122](https://gitlab.com/html-validate/html-validate/issues/122)
177
-
178
- ### [5.0.1](https://gitlab.com/html-validate/html-validate/compare/v5.0.0...v5.0.1) (2021-06-27)
179
-
180
- ### Bug Fixes
181
-
182
- - custom log callback for `compatibilityCheck` ([cbd2226](https://gitlab.com/html-validate/html-validate/commit/cbd22269ce2a5debb87c785b9db8740d4874ab4e))
183
-
184
- ### Dependency upgrades
185
-
186
- - **deps:** update dependency @html-validate/stylish to v2 ([ab0b1f9](https://gitlab.com/html-validate/html-validate/commit/ab0b1f9d394c7b97350e6c1826fc8ee94d065015))
187
-
188
- ## [5.0.0](https://gitlab.com/html-validate/html-validate/compare/v4.14.0...v5.0.0) (2021-06-27)
189
-
190
- ### ⚠ BREAKING CHANGES
191
-
192
- - the library is now shipped as a hybrid CJS/ESM package. If you
193
- are simply consuming the CLI tool or one of the existing integrations this will
194
- not affect you.
195
-
196
- For plugin developers and if you consume the API in any way the biggest change
197
- is that the distributed source is now bundled and you can no longer access
198
- individual files.
199
-
200
- Typically something like:
201
-
202
- ```diff
203
- -import foo from "html-validate/dist/foo";
204
- +import { foo } from "html-validate"
205
- ```
206
-
207
- Feel free to open an issue if some symbol you need isn't exported.
208
-
209
- If your usage includes checking presence of rules use the `ruleExists` helper:
210
-
211
- ```diff
212
- -try {
213
- - require("html-validate/dist/rules/attr-case");
214
- -} catch (err) {
215
- - /* fallback */
216
- -}
217
- +import { ruleExists } from "html-validate";
218
- +if (!ruleExists("attr-case")) {
219
- + /* fallback */
220
- +}
221
- ```
222
-
223
- - drop support for NodeJS 10
224
-
225
- ### Features
226
-
227
- - add `compatibilityCheck` helper for plugins ([4758595](https://gitlab.com/html-validate/html-validate/commit/47585951e7faf026bccc228d537f678d69da1c8a))
228
- - cjs/esm hybrid package ([39c960a](https://gitlab.com/html-validate/html-validate/commit/39c960a19f47cedcb55edf0865a3e6bd174a61f6)), closes [#112](https://gitlab.com/html-validate/html-validate/issues/112)
229
- - drop support for NodeJS 10 ([8f74291](https://gitlab.com/html-validate/html-validate/commit/8f74291919e1bcdab88ae6b74ba4199b16a4ef54))
230
-
231
- ### Dependency upgrades
232
-
233
- - **deps:** update dependency ajv to v8 ([cccb73a](https://gitlab.com/html-validate/html-validate/commit/cccb73ad33db7f8032ecef469dc77a3df24eb29f))
234
-
235
- ## [4.14.0](https://gitlab.com/html-validate/html-validate/compare/v4.13.1...v4.14.0) (2021-06-14)
236
-
237
- ### Features
238
-
239
- - new rule `attr-pattern` ([b813aeb](https://gitlab.com/html-validate/html-validate/commit/b813aeb7348d20b1cba2ea3df7c5bd7ac952e324)), closes [#118](https://gitlab.com/html-validate/html-validate/issues/118)
240
- - new rule `input-attributes` ([23ee19e](https://gitlab.com/html-validate/html-validate/commit/23ee19eab292a97427ddc15db1bb77346489c002)), closes [#119](https://gitlab.com/html-validate/html-validate/issues/119)
241
-
242
- ### [4.13.1](https://gitlab.com/html-validate/html-validate/compare/v4.13.0...v4.13.1) (2021-05-28)
243
-
244
- ### Bug Fixes
245
-
246
- - **jest:** fix `TypeError: diff is not a function` ([2afc2e8](https://gitlab.com/html-validate/html-validate/commit/2afc2e8796d9e2a8b9b79af91625f6d844860a53))
247
-
248
- ## [4.13.0](https://gitlab.com/html-validate/html-validate/compare/v4.12.0...v4.13.0) (2021-05-28)
249
-
250
- ### Features
251
-
252
- - **jest:** better compatibility with jest in node environment ([79d14ca](https://gitlab.com/html-validate/html-validate/commit/79d14ca23bacf6848ce67b6f4ec853bbfee5f5a6))
253
-
254
- ### Dependency upgrades
255
-
256
- - **deps:** support jest v27 ([863f73d](https://gitlab.com/html-validate/html-validate/commit/863f73dfec245a1a806bb7a6690fbc633887a334))
257
- - **deps:** update dependency @sidvind/better-ajv-errors to ^0.9.0 ([8f6d162](https://gitlab.com/html-validate/html-validate/commit/8f6d1628a9dcc8554b17a37a31e29cdb98f2dd01))
258
-
259
- ## [4.12.0](https://gitlab.com/html-validate/html-validate/compare/v4.11.0...v4.12.0) (2021-05-17)
260
-
261
- ### Features
262
-
263
- - **rules:** enforce initial heading-level in sectioning roots ([c4306ad](https://gitlab.com/html-validate/html-validate/commit/c4306ad6920005c760431c2681d37e2fc25949fd))
264
-
265
- ## [4.11.0](https://gitlab.com/html-validate/html-validate/compare/v4.10.1...v4.11.0) (2021-05-08)
266
-
267
- ### Features
268
-
269
- - `dom:ready` and `dom:load` contains `source` reference ([430ec7c](https://gitlab.com/html-validate/html-validate/commit/430ec7c611ce5f09dfaa7e1e08febe756ee87db1)), closes [#115](https://gitlab.com/html-validate/html-validate/issues/115)
270
- - add `:scope` pseudoselector ([6e3d837](https://gitlab.com/html-validate/html-validate/commit/6e3d83713ab74297a4b4af41f6b244c9e3d7822a)), closes [#114](https://gitlab.com/html-validate/html-validate/issues/114)
271
- - add `isSameNode()` ([7d99007](https://gitlab.com/html-validate/html-validate/commit/7d99007b9458d2ff1ca37aae756dd2806837ca68))
272
- - add new event `source:ready` ([4c1d115](https://gitlab.com/html-validate/html-validate/commit/4c1d115594f0eebdccfcbe6a6518a805b4a26929)), closes [#115](https://gitlab.com/html-validate/html-validate/issues/115)
273
- - **rules:** `deprecated` takes `include` and `exclude` options ([e00d7c1](https://gitlab.com/html-validate/html-validate/commit/e00d7c161bf7244931378f51b3c481016d49aad6))
274
-
275
- ### Bug Fixes
276
-
277
- - **dom:** throw if `tagName` is invalid ([42d7100](https://gitlab.com/html-validate/html-validate/commit/42d710020eb3c0e4d2e528859ed23a56095feb87))
278
-
279
- ### [4.10.1](https://gitlab.com/html-validate/html-validate/compare/v4.10.0...v4.10.1) (2021-04-25)
280
-
281
- ### Bug Fixes
282
-
283
- - handle directives with excessive whitespace ([0400563](https://gitlab.com/html-validate/html-validate/commit/040056356589b7caf6ae18ee59d11a2f25c9ea44))
284
-
285
- ## [4.10.0](https://gitlab.com/html-validate/html-validate/compare/v4.9.0...v4.10.0) (2021-04-18)
286
-
287
- ### Features
288
-
289
- - **dom:** implement {first,last}ElementChild accessors ([5e70aee](https://gitlab.com/html-validate/html-validate/commit/5e70aee128643dfcc01f1a8d1e894cc898ab0beb))
290
- - **formatters:** `stylish` and `codeframe` displays links to error descriptions ([86cf213](https://gitlab.com/html-validate/html-validate/commit/86cf2136d227fadb9aa3d5eeb2eebe222f7a150d)), closes [#113](https://gitlab.com/html-validate/html-validate/issues/113)
291
- - **formatters:** checkstyle output is indented ([e284fb7](https://gitlab.com/html-validate/html-validate/commit/e284fb72a551d99f92b3aaa3341a5749d9cfe2a5))
292
- - **parser:** add full location to `attr` event (key, quotes, value) ([931a39f](https://gitlab.com/html-validate/html-validate/commit/931a39f04b140f6d16b28fee03396c12ecd1b5a2))
293
- - **rules:** add rule url to `Message` ([6845fac](https://gitlab.com/html-validate/html-validate/commit/6845fac266c7748f679cbab94141db12319a822b))
294
- - **rules:** new option `allowedProperties` to `no-inline-style` (defaults to `display`) ([75aa5f0](https://gitlab.com/html-validate/html-validate/commit/75aa5f0f446b9a14711b1c8b8d44fd6fd7ff84a7))
295
-
296
- ### Bug Fixes
297
-
298
- - **rules:** rule documentation url for rules in subdirectories ([c91c36d](https://gitlab.com/html-validate/html-validate/commit/c91c36d561a332f2389deb795f9248e5cc21bffd))
299
-
300
- ## [4.9.0](https://gitlab.com/html-validate/html-validate/compare/v4.8.0...v4.9.0) (2021-04-04)
301
-
302
- ### Features
303
-
304
- - add rule option schemas ([f88f0da](https://gitlab.com/html-validate/html-validate/commit/f88f0da04fa674e494dd2d25e8b997c06161a73f))
305
- - **rules:** validate rule configuration ([5ab6a21](https://gitlab.com/html-validate/html-validate/commit/5ab6a21bc5cac30676ca9334bd3d68c1cad73f45))
306
-
307
- ### Bug Fixes
308
-
309
- - **config:** validate preset configurations ([dca9fc3](https://gitlab.com/html-validate/html-validate/commit/dca9fc3fb60da5f88668a66584b9c5965e26d5c6))
310
- - **error:** present original json for configuration errors ([23a50f3](https://gitlab.com/html-validate/html-validate/commit/23a50f33ddbb40c430ccdfb73195a3b76b335766))
311
- - **meta:** memory leak when loading meta table ([940ca4e](https://gitlab.com/html-validate/html-validate/commit/940ca4e1759fd22c4e6b29267329c40cd3d7561e)), closes [#106](https://gitlab.com/html-validate/html-validate/issues/106)
312
-
313
- ## [4.8.0](https://gitlab.com/html-validate/html-validate/compare/v4.7.1...v4.8.0) (2021-03-28)
314
-
315
- ### Features
316
-
317
- - support ignoring files with `.htmlvalidateignore` ([77ec9a6](https://gitlab.com/html-validate/html-validate/commit/77ec9a623c5fabcbd743394d0bb58887d44d73c1)), closes [#109](https://gitlab.com/html-validate/html-validate/issues/109)
318
-
319
- ### [4.7.1](https://gitlab.com/html-validate/html-validate/compare/v4.7.0...v4.7.1) (2021-03-19)
320
-
321
- ### Bug Fixes
322
-
323
- - add `$schema` to `html5.json` ([9a89d30](https://gitlab.com/html-validate/html-validate/commit/9a89d30c7172d787cd365205345da9a4fc0ad2dd))
324
-
325
- ### [4.1.1](https://gitlab.com/html-validate/html-validate/compare/v4.1.0...v4.1.1) (2021-03-19)
326
-
327
- ### Bug Fixes
328
-
329
- - `$schema` keyword being invalid ([3b67062](https://gitlab.com/html-validate/html-validate/commit/3b67062260c9e85e5d6213b7d3f8e6009c823264))
330
-
331
- ## [4.7.0](https://gitlab.com/html-validate/html-validate/compare/v4.6.1...v4.7.0) (2021-03-14)
332
-
333
- ### Features
334
-
335
- - new rule `aria-label-misuse` ([b8c6eb7](https://gitlab.com/html-validate/html-validate/commit/b8c6eb7a12849dd9ce08e8d64fbc3aaec5b6d278)), closes [#110](https://gitlab.com/html-validate/html-validate/issues/110)
336
- - support `.htmlvalidate.js` ([b694ddf](https://gitlab.com/html-validate/html-validate/commit/b694ddfa1afa05eb86689aa590a8d232d0d20f66)), closes [#111](https://gitlab.com/html-validate/html-validate/issues/111)
337
-
338
- ### Bug Fixes
339
-
340
- - **dom:** `input[type="hidden"]` no longer labelable ([244d37d](https://gitlab.com/html-validate/html-validate/commit/244d37d3195afb50f75eed0b835f66c325d941e3))
341
-
342
- ### [4.6.1](https://gitlab.com/html-validate/html-validate/compare/v4.6.0...v4.6.1) (2021-03-02)
343
-
344
- ### Bug Fixes
345
-
346
- - **dom:** `generateSelector()` escapes characters ([c2e316c](https://gitlab.com/html-validate/html-validate/commit/c2e316c6e980c7814d0a34102f8da529a111b5f6)), closes [#108](https://gitlab.com/html-validate/html-validate/issues/108)
347
- - **dom:** `querySelector` handles escaped characters ([30e7503](https://gitlab.com/html-validate/html-validate/commit/30e75036b71dbf7564021b89a02aab11342647b7))
348
- - **dom:** throw error when selector is missing pseudoclass name ([516ca06](https://gitlab.com/html-validate/html-validate/commit/516ca065dfcbc22d542f2336d91d0685f1870c64))
349
-
350
- ## [4.6.0](https://gitlab.com/html-validate/html-validate/compare/v4.5.0...v4.6.0) (2021-02-13)
351
-
352
- ### Features
353
-
354
- - **parser:** add DOCTYPE tag to `DoctypeEvent` ([8c53d40](https://gitlab.com/html-validate/html-validate/commit/8c53d40b8ed3bbf8f5016cf58c63e75a09e4964e))
355
- - **parser:** new event `token` emitted for each lexer token ([f9d44d6](https://gitlab.com/html-validate/html-validate/commit/f9d44d665c0c5f5522f9220ac8940c1d285b339e))
356
- - **rules:** allow rules to unregister event listeners ([8b1a6bc](https://gitlab.com/html-validate/html-validate/commit/8b1a6bc3ce2c38d7ff6a68b8ea54a6b2784a6e45))
357
- - **rules:** new rule `attr-spacing` requiring attributes to be separated by whitespace ([7734dc6](https://gitlab.com/html-validate/html-validate/commit/7734dc6855bb1fccbb0e66ddc7684c6ba997912a)), closes [#105](https://gitlab.com/html-validate/html-validate/issues/105)
358
- - **rules:** new rule `doctype-style` requiring doctype to be specific case ([e94f819](https://gitlab.com/html-validate/html-validate/commit/e94f8191c6da0acf02b1322d140ff8afa3a8c33f))
359
- - **rules:** new rule `no-utf8-bom` disallowing usage of UTF-8 BOM ([7a2d264](https://gitlab.com/html-validate/html-validate/commit/7a2d264f6ff805740a2c1ed3988327cd96441682))
360
-
361
- ### Bug Fixes
362
-
363
- - **lexer:** handle CRLF after xml declaration ([97fd77d](https://gitlab.com/html-validate/html-validate/commit/97fd77de1467a9e97cc80fd1a4643b88701cbdb0))
364
- - **lexer:** handle doctype with mixed case ([a40e28e](https://gitlab.com/html-validate/html-validate/commit/a40e28e2c115ae3382ef6b63827fdf1685134692))
365
- - **lexer:** handle html comment before doctype ([6c1b830](https://gitlab.com/html-validate/html-validate/commit/6c1b830898534cbfed2adb5cb6b06abfdeaede1b))
366
- - **lexer:** handle unicode bom ([97506b1](https://gitlab.com/html-validate/html-validate/commit/97506b1a8b143c9e686538fa02d349091b9076a3))
367
-
368
- ## [4.5.0](https://gitlab.com/html-validate/html-validate/compare/v4.4.0...v4.5.0) (2021-02-05)
369
-
370
- ### Features
371
-
372
- - **meta:** `transparent` can be limited to specific elements ([bef8a16](https://gitlab.com/html-validate/html-validate/commit/bef8a1663b70539091c203d5a4167446513904b9))
373
-
374
- ### Bug Fixes
375
-
376
- - **html5:** `<audio>` and `<video>` allows `<track>` and `<source>` transparently ([526006c](https://gitlab.com/html-validate/html-validate/commit/526006c6c95418ac7dac2d3ef9f7a9b4158b62d2)), closes [#104](https://gitlab.com/html-validate/html-validate/issues/104)
377
-
378
- ## [4.4.0](https://gitlab.com/html-validate/html-validate/compare/v4.3.0...v4.4.0) (2021-01-31)
379
-
380
- ### Features
381
-
382
- - **events:** new event `tag:ready` emitted when start tag is parsed ([cfbf3dc](https://gitlab.com/html-validate/html-validate/commit/cfbf3dce948428dc3756ef60bba0a8968fbe089e))
383
- - **events:** rename `tag:open` and `tag:close` to `tag:start` and `tag:end` ([7a2150f](https://gitlab.com/html-validate/html-validate/commit/7a2150f1f0b51f29bddeb782af2306de786f9529))
384
- - **rules:** `heading-level` supports sectioning roots ([8149cc6](https://gitlab.com/html-validate/html-validate/commit/8149cc66e2e1fd66fc058157bda0157e271f8c96)), closes [#92](https://gitlab.com/html-validate/html-validate/issues/92)
385
-
386
- ### Bug Fixes
387
-
388
- - **rules:** better error message for `heading-level` ([0871706](https://gitlab.com/html-validate/html-validate/commit/08717063a1b4b6f5eb88fb77cef5f5938c10e967))
389
-
390
- ### Dependency upgrades
391
-
392
- - **deps:** update dependency @sidvind/better-ajv-errors to ^0.8.0 ([f317223](https://gitlab.com/html-validate/html-validate/commit/f31722364815f9001935330f6596df4bbb3a7204))
393
-
394
- ## [4.3.0](https://gitlab.com/html-validate/html-validate/compare/v4.2.0...v4.3.0) (2021-01-19)
395
-
396
- ### Features
397
-
398
- - **rules:** new rule `text-content` ([2fef395](https://gitlab.com/html-validate/html-validate/commit/2fef3950e5c2e407ca206fbcf82d90793488c2da)), closes [#101](https://gitlab.com/html-validate/html-validate/issues/101)
399
- - **transform:** new helper `processElement` for writing tests ([3052f81](https://gitlab.com/html-validate/html-validate/commit/3052f81edcebca58551c77d378b2e5357db47f3a))
400
- - add `browser` entry point without cli classes ([7840ec2](https://gitlab.com/html-validate/html-validate/commit/7840ec2a7f823c57e7e4f50055f4bb873f961dc7))
401
- - set `sideEffects` to `false` ([41b47f8](https://gitlab.com/html-validate/html-validate/commit/41b47f8bc21501e4615cd8bc887a0ffaf2869454))
402
-
403
- ### Bug Fixes
404
-
405
- - **dom:** `DOMTokenList` (such as `classlist`) handles newlines and tabs ([35e601e](https://gitlab.com/html-validate/html-validate/commit/35e601e22c6a04f93f252810caed6b8bbb182225))
406
-
407
- ## [4.2.0](https://gitlab.com/html-validate/html-validate/compare/v4.1.0...v4.2.0) (2021-01-15)
408
-
409
- ### Features
410
-
411
- - **dom:** disable cache until node is fully constructed ([5e35c49](https://gitlab.com/html-validate/html-validate/commit/5e35c498f790be65928989a327c40772b3fb7184))
412
- - **htmlvalidate:** add `getConfigurationSchema()` to get effective configuration schema ([1dd81d9](https://gitlab.com/html-validate/html-validate/commit/1dd81d993508720b13b8c094867bd780da002b84))
413
- - **htmlvalidate:** add `getElementsSchema()` to get effective elements schema ([4baac36](https://gitlab.com/html-validate/html-validate/commit/4baac36ecb608dd2ef83bbf3c284d08ed05d1087)), closes [#78](https://gitlab.com/html-validate/html-validate/issues/78)
414
- - **rule:** support filter callback for rule events ([f3f949c](https://gitlab.com/html-validate/html-validate/commit/f3f949cd5f2cdef526bc1c60d9176f4ae57890ee))
415
- - **rules:** add `allowMultipleH1` option to `heading-level` ([a33071d](https://gitlab.com/html-validate/html-validate/commit/a33071d12807770a9484c5d713b7037c354d8fe1))
416
-
417
- ### Bug Fixes
418
-
419
- - enable `strictNullCheck` ([64b5af2](https://gitlab.com/html-validate/html-validate/commit/64b5af25723e6441a133a0a561a941d3f8a2daa0)), closes [#76](https://gitlab.com/html-validate/html-validate/issues/76)
420
- - **event:** `location` property can be `null` for some events ([fbbc87c](https://gitlab.com/html-validate/html-validate/commit/fbbc87cf5d62d2a102d86cb8165e9d3dac630474))
421
- - **event:** pass `null` when attribute value is missing ([08c2876](https://gitlab.com/html-validate/html-validate/commit/08c2876dc8f4e01f4c4b0aa97de9672b43476ca3))
422
- - **rules:** rule options uses `Partial<T>` ([221113b](https://gitlab.com/html-validate/html-validate/commit/221113b41adcd9fd8ab5bc10aa9a8d6723b40db6))
423
-
424
- ### Dependency upgrades
425
-
426
- - **deps:** update dependency ajv to v7 ([4c04388](https://gitlab.com/html-validate/html-validate/commit/4c043884a74083274f729ed0d3d40406f9163799))
427
-
428
- ## [4.1.0](https://gitlab.com/html-validate/html-validate/compare/v4.0.2...v4.1.0) (2020-12-14)
429
-
430
- ### Features
431
-
432
- - replace `inquirer` with `prompts` ([82d17eb](https://gitlab.com/html-validate/html-validate/commit/82d17ebce26d0e215fa689095fb2822ae541f2d8))
433
-
434
- ### [4.0.2](https://gitlab.com/html-validate/html-validate/compare/v4.0.1...v4.0.2) (2020-11-19)
435
-
436
- ### Bug Fixes
437
-
438
- - **deps:** replace dependency on `eslint` with `@html-validate/stylish` ([2d1bc81](https://gitlab.com/html-validate/html-validate/commit/2d1bc819bd241294db55fc28dd7305ee46d9ad3f))
439
-
440
- ### [4.0.1](https://gitlab.com/html-validate/html-validate/compare/v4.0.0...v4.0.1) (2020-11-09)
441
-
442
- ### Bug Fixes
443
-
444
- - **rules:** `wcag/h32` checks for `type="image"` ([4a43819](https://gitlab.com/html-validate/html-validate/commit/4a43819d90db59ae31846f766025d4ffce189391))
445
- - **rules:** `wcag/h32` handles submit buttons using `form` attribute to associate ([cb2e843](https://gitlab.com/html-validate/html-validate/commit/cb2e8437ae6ca4a14b0fb4585cdec3157c5cf2a0))
446
-
447
- ## [4.0.0](https://gitlab.com/html-validate/html-validate/compare/v3.5.0...v4.0.0) (2020-11-07)
448
-
449
- ### ⚠ BREAKING CHANGES
450
-
451
- - **config:** With this release any custom configuration files will no longer
452
- automatically extend `html-validate:recommended`.
453
-
454
- The previous behaviour was to to always merge with the default configuration
455
- containing `extends: ["html-validate:recommended"]`. This is counter-intuitive
456
- when adding a blank `{}` `.htmlvalidate.json` configuration file (or a file with
457
- `extends: []`). The new behaviour is to not apply default configuration if
458
- another configuration is found.
459
-
460
- To retain the previous behaviour you must ensure your configuration contains
461
- `extends: ["html-validate:recommended"]`. Users who have `root: true` are not
462
- affected. _If unsure: test your configuration by deliberatly introducing and
463
- error and verify it is detected_.
464
-
465
- For CLI users: ensure your `.htmlvalidate.json` configuration files are updated.
466
-
467
- For IDE integration users: ensure your `.htmlvalidate.json` configuration files
468
- are updated.
469
-
470
- For `CLI` API users: same as with CLI the configuration loading has changed and
471
- all users must update their `.htmlvalidate.json` accordingly.
472
-
473
- For `HtmlValidate` API users: you are most likely not affected, only if both of
474
- the following conditions are true you need to take care to ensure any
475
- `.htmlvalidate.json` is updated:
476
-
477
- 1. you are using `validateFile` or supply filenames to other validation
478
- functions.
479
- 2. you allow user-supplied configurations (or use them yourself) via
480
- `.htmlvalidate.json` (default unless `root: true` is set in the configuration
481
- object passed to `new HtmlValidate(..)`)
482
-
483
- The `ConfigLoader` API has also been updated and `fromTarget` may now return
484
- `null` if no configuration file was found.
485
-
486
- - The `build` folder has been renamed to `dist`.
487
-
488
- This affects API users only and in general should not be an issue unless
489
- importing files via full path. In that case replace `import 'html-validate/build/...'` with `import 'html-validate/dist/...` but in general
490
- those imports are discouraged.
491
-
492
- Instead users should import only via `import { ... } from "html-validate"` and file an issue
493
- if an export is missing.
494
-
495
- This does not affect the `elements` imports which is considered a safe to import
496
- as-is.
497
-
498
- - Only node 10 or later is supported
499
-
500
- ### Features
501
-
502
- - new utility function `ruleExists` to test presence of bundled rules ([09aad04](https://gitlab.com/html-validate/html-validate/commit/09aad040f201f91bdf47a4b0cf8e79ee05b9ff9c))
503
- - **rules:** new helper `isHTMLHidden` ([ae20335](https://gitlab.com/html-validate/html-validate/commit/ae20335fbe45f368ef29844ce23541d41387899f))
504
- - **shim:** add new export `html-validate/test-utils` exposing test-utils ([30f5d40](https://gitlab.com/html-validate/html-validate/commit/30f5d40379273c36871a487a55d83eb641fde037))
505
- - **shim:** expose all event structures in shim ([294bb0d](https://gitlab.com/html-validate/html-validate/commit/294bb0d9ac40034d9863195d15fbdf9afa1e4d20))
506
- - **shim:** expose metadata structures ([271e521](https://gitlab.com/html-validate/html-validate/commit/271e521795e47d539ac3cab73be7091269845cd6))
507
-
508
- ### Bug Fixes
509
-
510
- - **config:** dont automatically apply `extends: ["html-validate:recommended"]` ([fcad0b2](https://gitlab.com/html-validate/html-validate/commit/fcad0b2a71bb007237058039eb907d8623e9188c)), closes [#98](https://gitlab.com/html-validate/html-validate/issues/98)
511
- - require node 10 ([d1a48b1](https://gitlab.com/html-validate/html-validate/commit/d1a48b18353d5888bc25a133377aef622f926282))
512
- - **rules:** `input-missing-label` handles multiple labels ([a6af2da](https://gitlab.com/html-validate/html-validate/commit/a6af2da352e1ed86e7f17c2018ddd2a925a49397))
513
- - **rules:** `input-missing-label` ignores hidden `<input>` ([41c39e9](https://gitlab.com/html-validate/html-validate/commit/41c39e916fdf3579ec31d6fc6f36d951e92fd497))
514
- - **rules:** `input-missing-label` requires label to be non-hidden ([ff5e855](https://gitlab.com/html-validate/html-validate/commit/ff5e8559c7ee3039d0ef515f5ed45bcd0c3b8724)), closes [#99](https://gitlab.com/html-validate/html-validate/issues/99)
515
-
516
- ### Miscellaneous Chores
517
-
518
- - migrate to `dist` folder ([3c6787c](https://gitlab.com/html-validate/html-validate/commit/3c6787c27e0c4e68c8c33318df06065ce408aefa))
519
-
520
- # [3.5.0](https://gitlab.com/html-validate/html-validate/compare/v3.4.1...v3.5.0) (2020-10-18)
521
-
522
- ### Features
523
-
524
- - **rules:** new rule `no-multiple-main` ([fa3c065](https://gitlab.com/html-validate/html-validate/commit/fa3c065f2968829bafd0c20ae52158d725be27ca))
525
-
526
- ## [3.4.1](https://gitlab.com/html-validate/html-validate/compare/v3.4.0...v3.4.1) (2020-10-13)
527
-
528
- ### Bug Fixes
529
-
530
- - **rules:** ignore links hidden from accessibility tree - fixes [#97](https://gitlab.com/html-validate/html-validate/issues/97) ([064514b](https://gitlab.com/html-validate/html-validate/commit/064514b83efbbe1a42fdad719d57af7f1b8106ef))
531
-
532
- # [3.4.0](https://gitlab.com/html-validate/html-validate/compare/v3.3.0...v3.4.0) (2020-10-08)
533
-
534
- ### Bug Fixes
535
-
536
- - **deps:** update dependency acorn-walk to v8 ([5a41662](https://gitlab.com/html-validate/html-validate/commit/5a41662b6800a8400d493364d35db385300801a9))
537
- - **rules:** fix issue in `no-dup-id` where value is dynamic ([203debe](https://gitlab.com/html-validate/html-validate/commit/203debef4c942f2ef8ab98848453a7fc3c534066)), closes [#96](https://gitlab.com/html-validate/html-validate/issues/96)
538
-
539
- ### Features
540
-
541
- - **api:** add additional prototypes to `validateString` ([69e8102](https://gitlab.com/html-validate/html-validate/commit/69e81024ed6a077e92d32f79791e6b47e0ad0364))
542
- - **dom:** new api for caching data on `DOMNode` ([13d99e4](https://gitlab.com/html-validate/html-validate/commit/13d99e4973a84109c9069fbe1718a33a302325d1))
543
- - **rules:** implement caching in some helper methods ([5746d6c](https://gitlab.com/html-validate/html-validate/commit/5746d6cf37c6ca82bb5d3543f67b33341db0fdc5))
544
-
545
- # [3.3.0](https://gitlab.com/html-validate/html-validate/compare/v3.2.0...v3.3.0) (2020-09-08)
546
-
547
- ### Bug Fixes
548
-
549
- - **jest:** add missing `filename` to typescript declaration ([4be48fa](https://gitlab.com/html-validate/html-validate/commit/4be48fa1323f28719bf3909643eec91c9ed455eb))
550
- - **meta:** default to pass when testing excluded category from unknown element ([07afa1a](https://gitlab.com/html-validate/html-validate/commit/07afa1aa7cb5f302b9caca74b923a5342c4a330c))
551
- - **rules:** handle unknown elements better in `element-permitted-content` ([58ba1aa](https://gitlab.com/html-validate/html-validate/commit/58ba1aa4a7fcbee7743db10c27b6429420c07f8e)), closes [#95](https://gitlab.com/html-validate/html-validate/issues/95)
552
-
553
- ### Features
554
-
555
- - **jest:** `toHTMLValidate()` supports passing expected errors ([7b3c30e](https://gitlab.com/html-validate/html-validate/commit/7b3c30e622130e93c4bc03e6455f94d85e746b84))
556
-
557
- # [3.2.0](https://gitlab.com/html-validate/html-validate/compare/v3.1.0...v3.2.0) (2020-08-26)
558
-
559
- ### Features
560
-
561
- - **rules:** new rule allowed-links ([d876206](https://gitlab.com/html-validate/html-validate/commit/d8762060c6a8b5b2f6a67cbbffd229b8232a7dfa))
562
-
563
- # [3.1.0](https://gitlab.com/html-validate/html-validate/compare/v3.0.0...v3.1.0) (2020-08-20)
564
-
565
- ### Bug Fixes
566
-
567
- - **rules:** `no-redundant-for` should only target `<label>` ([a2395b6](https://gitlab.com/html-validate/html-validate/commit/a2395b6d75c6aefba9c44b38dcecb72cad4d0110))
568
-
569
- ### Features
570
-
571
- - **meta:** new property `labelable` ([bf5cd6e](https://gitlab.com/html-validate/html-validate/commit/bf5cd6ef422036d9c0d4e6d8b677d218fb0f014d))
572
- - **rules:** new rule `multiple-labeled-controls` ([ee28774](https://gitlab.com/html-validate/html-validate/commit/ee287745fa75a2ab8cb6a4362c99e95bd59aaac6)), closes [#86](https://gitlab.com/html-validate/html-validate/issues/86)
573
- - **rules:** new rule `no-redundant-for` ([d4445bb](https://gitlab.com/html-validate/html-validate/commit/d4445bb1453408afddf10113acf1db89afd30f7b)), closes [#87](https://gitlab.com/html-validate/html-validate/issues/87)
574
-
575
- # [3.0.0](https://gitlab.com/html-validate/html-validate/compare/v2.23.1...v3.0.0) (2020-06-21)
576
-
577
- ### Bug Fixes
578
-
579
- - **deps:** update dependency chalk to v4 ([614da1b](https://gitlab.com/html-validate/html-validate/commit/614da1b060409cddca0bad8435fb2c2385415e5a))
580
- - **deps:** update dependency eslint to v7 ([186be9b](https://gitlab.com/html-validate/html-validate/commit/186be9baa65e61b51c4d76ef8fbfae9bb4be8c79))
581
- - **deps:** update dependency espree to v7 ([863cd0f](https://gitlab.com/html-validate/html-validate/commit/863cd0f595535721498848d9ce433cf8fedd4e3a))
582
-
583
- ### chore
584
-
585
- - drop node 8 support ([b0a6731](https://gitlab.com/html-validate/html-validate/commit/b0a673101ca2c49877f71bfc0600cb651e7a505f))
586
-
587
- ### BREAKING CHANGES
588
-
589
- - Node 8 support has been removed.
590
-
591
- ## [2.23.1](https://gitlab.com/html-validate/html-validate/compare/v2.23.0...v2.23.1) (2020-06-21)
592
-
593
- ### Bug Fixes
594
-
595
- - **rules:** `no-trailing-whitespace` handles CRLF (windows) newlines ([2aaddc2](https://gitlab.com/html-validate/html-validate/commit/2aaddc2daaa219f16031cc105e0d396387eac07c)), closes [#93](https://gitlab.com/html-validate/html-validate/issues/93)
596
-
597
- # [2.23.0](https://gitlab.com/html-validate/html-validate/compare/v2.22.0...v2.23.0) (2020-05-18)
598
-
599
- ### Bug Fixes
600
-
601
- - **cli:** `expandFiles` path normalization for windows ([b902853](https://gitlab.com/html-validate/html-validate/commit/b902853e696a04202959ae6c4cf086bd48911e4d))
602
-
603
- ### Features
604
-
605
- - **config:** add two new config presets `html-validate:standard` and `html-validate:a17y` ([36bf9ec](https://gitlab.com/html-validate/html-validate/commit/36bf9ec3be7356d534d352d00610d8253885de22)), closes [#90](https://gitlab.com/html-validate/html-validate/issues/90)
606
- - **rules:** add `include` and `exclude` options to `prefer-button` ([b046dc5](https://gitlab.com/html-validate/html-validate/commit/b046dc5943a4bd05dff9766ea6b9c9f522c09d1a)), closes [#90](https://gitlab.com/html-validate/html-validate/issues/90)
607
- - **rules:** add `isKeywordExtended` method for rule authors ([ca7e835](https://gitlab.com/html-validate/html-validate/commit/ca7e835d384c7ed43967bec14f56836353a0b1f6))
608
-
609
- # [2.22.0](https://gitlab.com/html-validate/html-validate/compare/v2.21.0...v2.22.0) (2020-05-15)
610
-
611
- ### Bug Fixes
612
-
613
- - **elements:** add `<details>` and `<summary>` elements ([47ba673](https://gitlab.com/html-validate/html-validate/commit/47ba6739951a37bdb285400d392ff27ec57ff89e)), closes [#89](https://gitlab.com/html-validate/html-validate/issues/89)
614
- - `<legend>` should allow heading elements ([73e150f](https://gitlab.com/html-validate/html-validate/commit/73e150f13a8b797458dac4fcbe3a22997422f4d9))
615
- - **deps:** update dependency json-merge-patch to v1 ([e9f83d2](https://gitlab.com/html-validate/html-validate/commit/e9f83d2047aed16e81fe006795c9b30111478534))
616
-
617
- ### Features
618
-
619
- - **rules:** new rule `no-autoplay` ([9ed5474](https://gitlab.com/html-validate/html-validate/commit/9ed5474493eedebd2db5c673060538d244b69f63)), closes [#84](https://gitlab.com/html-validate/html-validate/issues/84)
620
-
621
- # [2.21.0](https://gitlab.com/html-validate/html-validate/compare/v2.20.1...v2.21.0) (2020-04-26)
622
-
623
- ### Bug Fixes
624
-
625
- - **meta:** throw schema validation error when element metadata does not validate ([6ecf050](https://gitlab.com/html-validate/html-validate/commit/6ecf0501f3f8284c9248ac5fd0643d1c32049333)), closes [#81](https://gitlab.com/html-validate/html-validate/issues/81)
626
- - **schema:** allow `permittedContent` and `permittedDescendants` to use AND-syntax ([2fa742c](https://gitlab.com/html-validate/html-validate/commit/2fa742c03b84145d0fa334809ff1f98f80cfc263)), closes [#82](https://gitlab.com/html-validate/html-validate/issues/82)
627
- - **transform:** expose `computeOffset` ([d033538](https://gitlab.com/html-validate/html-validate/commit/d033538c58ff921026fc3a025e679c8b8f2e144e))
628
-
629
- ### Features
630
-
631
- - **dom:** `DOMTokenList` can extract location data for each token ([4f4dfe0](https://gitlab.com/html-validate/html-validate/commit/4f4dfe05ccdb93c8ba27754e8ae9785fc91508eb)), closes [#74](https://gitlab.com/html-validate/html-validate/issues/74)
632
- - **rules:** add `include` and `exclude` options to `no-inline-style` ([6604e88](https://gitlab.com/html-validate/html-validate/commit/6604e88e96d59c67d596b92be760b1ba5a971589)), closes [html-validate/html-validate-angular#3](https://gitlab.com/html-validate/html-validate-angular/issues/3)
633
- - **rules:** use more precise location from `DOMTokenList` ([e874784](https://gitlab.com/html-validate/html-validate/commit/e874784858badb3a448cc739189cdac5ef577efe))
634
-
635
- ## [2.20.1](https://gitlab.com/html-validate/html-validate/compare/v2.20.0...v2.20.1) (2020-04-19)
636
-
637
- ### Bug Fixes
638
-
639
- - handle loading js-files via `extends` again ([e29987f](https://gitlab.com/html-validate/html-validate/commit/e29987f213a1f295751c285c582209047c68bc2b))
640
-
641
- # [2.20.0](https://gitlab.com/html-validate/html-validate/compare/v2.19.0...v2.20.0) (2020-04-05)
642
-
643
- ### Bug Fixes
644
-
645
- - **meta:** add missing null return type to MetaTable.getMetaFor ([44eac5b](https://gitlab.com/html-validate/html-validate/commit/44eac5b4efffdd0bcf6973364b595501eabe9b25))
646
- - allow loading elements from js-file again ([5569a94](https://gitlab.com/html-validate/html-validate/commit/5569a9428cef8ca168d79a2e75be851e141838e8))
647
- - make `ast` property private ([cb1a2c8](https://gitlab.com/html-validate/html-validate/commit/cb1a2c867583616819488102a3a46431821615a6))
648
-
649
- ### Features
650
-
651
- - support loading custom formatters ([0b02a31](https://gitlab.com/html-validate/html-validate/commit/0b02a31c4f34cca840c9ada60e76634976461f38))
652
- - **formatters:** use factory to load formatters to make it more webpack-friendly ([81bef6e](https://gitlab.com/html-validate/html-validate/commit/81bef6e79287884ee2a6c804cefe136e222c1b78))
653
-
654
- # [2.19.0](https://gitlab.com/html-validate/html-validate/compare/v2.18.1...v2.19.0) (2020-03-24)
655
-
656
- ### Bug Fixes
657
-
658
- - **meta:** deep merge during inheritance ([85c377d](https://gitlab.com/html-validate/html-validate/commit/85c377d185492407d72fde39bd14d6a80935a56a)), closes [#72](https://gitlab.com/html-validate/html-validate/issues/72)
659
-
660
- ### Features
661
-
662
- - **meta:** implicit inheritance when overriding existing element ([8833a0f](https://gitlab.com/html-validate/html-validate/commit/8833a0fcc9873eee4938619cdae78afa45e48ce5))
663
-
664
- ## [2.18.1](https://gitlab.com/html-validate/html-validate/compare/v2.18.0...v2.18.1) (2020-03-22)
665
-
666
- ### Bug Fixes
667
-
668
- - **meta:** allow regexp literal in element schema ([444a472](https://gitlab.com/html-validate/html-validate/commit/444a4726f7b8693188ad80c725f57f0e33844ca7)), closes [#70](https://gitlab.com/html-validate/html-validate/issues/70)
669
- - **meta:** make all meta properties optional in type declaration ([eac5052](https://gitlab.com/html-validate/html-validate/commit/eac505234e2bdac2fb6d19ba8ef81bd947a7bba9))
670
- - **meta:** support case-insensitive regexp flag ([96e7343](https://gitlab.com/html-validate/html-validate/commit/96e734396f9ee90358a4b74e091f14387eda9c99)), closes [#69](https://gitlab.com/html-validate/html-validate/issues/69)
671
- - **rules:** use original wcag rule names ([1d5aa3c](https://gitlab.com/html-validate/html-validate/commit/1d5aa3c83add6b51bf062508cbaf9a868572446f))
672
-
673
- ### Reverts
674
-
675
- - Revert "ci: temporary add debug to troubleshoot @semantic-release/gitlab" ([b4d016b](https://gitlab.com/html-validate/html-validate/commit/b4d016b442e618b38b5140de17d59b6393956ded))
676
-
677
- # [2.18.0](https://gitlab.com/html-validate/html-validate/compare/v2.17.1...v2.18.0) (2020-03-11)
678
-
679
- ### Bug Fixes
680
-
681
- - validate `input[list]` ([9c70db2](https://gitlab.com/html-validate/html-validate/commit/9c70db243aa3fa0c9243bc6fd6a206bac28a5873))
682
- - **rules:** `no-dup-id` handles when id is set but omitted value ([5f678a5](https://gitlab.com/html-validate/html-validate/commit/5f678a566c006d50b90fee23d140b5f49784b0e0))
683
- - **rules:** `no-missing-references` ignores omitted references ([b8863cd](https://gitlab.com/html-validate/html-validate/commit/b8863cd8ebd8c5c05e97ef9e5e662f406aa1cb92))
684
- - **rules:** add contextual documentation for `deprecated` ([7fbf433](https://gitlab.com/html-validate/html-validate/commit/7fbf433f9ce70ce34759448936d40c7dd96f55ae))
685
- - **rules:** add contextual documentation for `element-name` ([2a98bad](https://gitlab.com/html-validate/html-validate/commit/2a98bada16a15c802a3e050e9274153237e916fd))
686
- - **rules:** better and more contextual messages for `deprecated` ([3602be7](https://gitlab.com/html-validate/html-validate/commit/3602be730dd2ec54e1de702171ce606e4043c02a))
687
- - **rules:** contextual documentation for `deprecated-rule` ([8b10601](https://gitlab.com/html-validate/html-validate/commit/8b10601405f74ddbe62a6d666153dece1b3ad9a4))
688
- - **rules:** improve documentation for `doctype-html` ([1a896a8](https://gitlab.com/html-validate/html-validate/commit/1a896a87f8e7c253e4d21faf01aae6f52df754f8))
689
- - **shim:** expose `ConfigError` and `UserError` ([2d002c7](https://gitlab.com/html-validate/html-validate/commit/2d002c79f1f6f088c1792de768ba80777629b739))
690
- - **transform:** ignore non-string values in `TemplateExtractor` ([7f27c8b](https://gitlab.com/html-validate/html-validate/commit/7f27c8b6b0ff4f4afd85501b0b554886742b5c6f))
691
- - allow both null and empty string when attribute allows empty values ([5b6991b](https://gitlab.com/html-validate/html-validate/commit/5b6991b6ea7d8b4418168b1f9d0f8bef7cac935e))
692
-
693
- ### Features
694
-
695
- - `attribute-allowed-values` handle omitted values ([962d079](https://gitlab.com/html-validate/html-validate/commit/962d0791dae6ad4fed663909556c480f5789cd81))
696
- - new rule `attribute-empty-style` ([a328b55](https://gitlab.com/html-validate/html-validate/commit/a328b558adced37c05b76dddd6cf6f83d36fe72d))
697
-
698
- ## [2.17.1](https://gitlab.com/html-validate/html-validate/compare/v2.17.0...v2.17.1) (2020-03-02)
699
-
700
- ### Bug Fixes
701
-
702
- - disable `void-style` when using `toHTMLValidate` matcher ([4d6bb3d](https://gitlab.com/html-validate/html-validate/commit/4d6bb3d7fe8f0e174082eb3c39d7f6dcd9109f56))
703
-
704
- # [2.17.0](https://gitlab.com/html-validate/html-validate/compare/v2.16.0...v2.17.0) (2020-02-17)
705
-
706
- ### Bug Fixes
707
-
708
- - **elements:** `<img>` `srcset` attribute cannot be empty ([27699ad](https://gitlab.com/html-validate/html-validate/commit/27699ad08d4f9363b275449df3110f36f1b0ee9d))
709
- - **jest:** typescript compatibility with jest@23 ([4efae54](https://gitlab.com/html-validate/html-validate/commit/4efae544dbe9cd499e352776edbde1ea03d83706))
710
- - **rules:** add `aria-label` helper ([6d5d963](https://gitlab.com/html-validate/html-validate/commit/6d5d9630666bec57e70ea3ce563cbef558e2ab3b))
711
- - **rules:** fix `deprecated-rule` missing location ([1156c1e](https://gitlab.com/html-validate/html-validate/commit/1156c1e8b6153ee8ac5691df8f3fdeddfb896255))
712
- - change config merge order in `toHTMLValidate` ([204a8fa](https://gitlab.com/html-validate/html-validate/commit/204a8faac7cfe34b8e0fe2b834124b2b9502e231))
713
- - **rules:** handle `aria-label` on links for WCAG H30 ([eb01542](https://gitlab.com/html-validate/html-validate/commit/eb01542abb0fbf4104672794e621b6bf5564903c)), closes [#67](https://gitlab.com/html-validate/html-validate/issues/67)
714
-
715
- ### Features
716
-
717
- - **rules:** mark `void` as deprecated ([f6afc0f](https://gitlab.com/html-validate/html-validate/commit/f6afc0fd15877695b735754d0eca6dc013252abc)), closes [#58](https://gitlab.com/html-validate/html-validate/issues/58)
718
- - **rules:** new rule `no-self-closing` ([d9c869b](https://gitlab.com/html-validate/html-validate/commit/d9c869b36e3c5c9c4027809417b535bcd565c5cc)), closes [#58](https://gitlab.com/html-validate/html-validate/issues/58)
719
- - **rules:** new rule `script-element` ([48ad6da](https://gitlab.com/html-validate/html-validate/commit/48ad6da1b965d0299d022dbc27c25ebc0ed3ffc8))
720
- - **rules:** new rule `script-type` ([a680f1d](https://gitlab.com/html-validate/html-validate/commit/a680f1d297100c92f08f5d5de2ac39ee27915c15))
721
- - **rules:** new rule `void-content` ([c93c63b](https://gitlab.com/html-validate/html-validate/commit/c93c63b1a3609d90cc493a6cb448b071905926f0)), closes [#58](https://gitlab.com/html-validate/html-validate/issues/58)
722
- - **rules:** new rule `void-style` ([f30de03](https://gitlab.com/html-validate/html-validate/commit/f30de03ea4f8caaf065047d5e3bd44417d0202ad)), closes [#58](https://gitlab.com/html-validate/html-validate/issues/58)
723
- - allow configuration override when using `validate{String,Source}` ([6e62852](https://gitlab.com/html-validate/html-validate/commit/6e62852c88182defbe9b465ab5652f456310d07e))
724
-
725
- # [2.16.0](https://gitlab.com/html-validate/html-validate/compare/v2.15.0...v2.16.0) (2020-02-12)
726
-
727
- ### Bug Fixes
728
-
729
- - **cli:** fix typo when using `--init` with vuejs ([6eee478](https://gitlab.com/html-validate/html-validate/commit/6eee47872e164b16e4152f309ab5971019222ff9))
730
- - **dom:** `querySelector` and friends return empty when selector is empty ([6a871de](https://gitlab.com/html-validate/html-validate/commit/6a871de7bb240507693d266b37c6e4f9228b7e5e))
731
- - **schema:** add title and description to most properties ([a7cea78](https://gitlab.com/html-validate/html-validate/commit/a7cea78ed39643e5808cfd08243f492a235200e7))
732
- - **schema:** handle `$schema` in config and elements ([a4f9054](https://gitlab.com/html-validate/html-validate/commit/a4f90541c74070f30d033827789336ad27063b3a))
733
- - add missing `jest.js` and `jest.d.ts` ([8b767c2](https://gitlab.com/html-validate/html-validate/commit/8b767c2032297b8534c7feac98414fc4d90c5bd2))
734
-
735
- ### Features
736
-
737
- - add import `html-validate/jest` as a shortcut to the jest matchers ([4ccf6ed](https://gitlab.com/html-validate/html-validate/commit/4ccf6ed6b1da47d44bb256db4156edbdbb1ddf4e))
738
- - expose `NodeClosed`, `TextNode`, `Plugin` and `Parser` ([f344527](https://gitlab.com/html-validate/html-validate/commit/f3445274d4e713e2c851bd524ebb429da9408abb))
739
-
740
- # [2.15.0](https://gitlab.com/html-validate/html-validate/compare/v2.14.0...v2.15.0) (2020-02-09)
741
-
742
- ### Features
743
-
744
- - **plugin:** load `default` transformer if loading named transformer without name ([efb0eb9](https://gitlab.com/html-validate/html-validate/commit/efb0eb9de250ad80f812bd2a0d6bd6c96d21a41a))
745
-
746
- # [2.14.0](https://gitlab.com/html-validate/html-validate/compare/v2.13.0...v2.14.0) (2020-02-06)
747
-
748
- ### Features
749
-
750
- - **elements:** make `<legend>` in `<fieldset>` optional (covered by new h71 rule instead) ([f3a59b9](https://gitlab.com/html-validate/html-validate/commit/f3a59b917addb05e920b30e7ce32c1be375157e2))
751
- - **rules:** new method `getTagsDerivedFrom` to get tag and tags inheriting from it ([0118738](https://gitlab.com/html-validate/html-validate/commit/011873818a5e8997887547895a5be519baa589b0))
752
- - **rules:** new rule `wcag/h71` requiring `<fieldset>` to have `<legend>` ([1b8ceab](https://gitlab.com/html-validate/html-validate/commit/1b8ceab724e9bb886b6b9d08a1c7563163786ad9))
753
-
754
- # [2.13.0](https://gitlab.com/html-validate/html-validate/compare/v2.12.0...v2.13.0) (2020-02-02)
755
-
756
- ### Features
757
-
758
- - **meta:** allow plugins to add copyable metadata ([242eaa8](https://gitlab.com/html-validate/html-validate/commit/242eaa882afb71e527b07a2a92e6d45adf4f02e7))
759
-
760
- # [2.12.0](https://gitlab.com/html-validate/html-validate/compare/v2.11.0...v2.12.0) (2020-01-27)
761
-
762
- ### Bug Fixes
763
-
764
- - **rules:** don't report elements where the tag is already correct ([ee354a0](https://gitlab.com/html-validate/html-validate/commit/ee354a0070f4ac6657cf0a5ce84bddadb3d2dab7)), closes [#65](https://gitlab.com/html-validate/html-validate/issues/65)
765
-
766
- ### Features
767
-
768
- - **rules:** new rule no-redundant-role ([a32b816](https://gitlab.com/html-validate/html-validate/commit/a32b81623ac4c8603923b4ff1a41c342a5dfe1d2)), closes [#65](https://gitlab.com/html-validate/html-validate/issues/65)
769
-
770
- # [2.11.0](https://gitlab.com/html-validate/html-validate/compare/v2.10.0...v2.11.0) (2020-01-26)
771
-
772
- ### Bug Fixes
773
-
774
- - **dom:** use case-insensitive match for `is()` ([d2687c2](https://gitlab.com/html-validate/html-validate/commit/d2687c2e90543044f2fab5480677e6883a5b82cb))
775
- - **plugin:** fix rule type definition ([6f0213d](https://gitlab.com/html-validate/html-validate/commit/6f0213da6f484fea9a51572592b970a7b9a0badd))
776
-
777
- ### Features
778
-
779
- - **dom:** add `generateSelector` ([12e718e](https://gitlab.com/html-validate/html-validate/commit/12e718ec2c18eec34b5a7f9feb317d8ab07d4a13))
780
- - **dom:** new type `DOMInternalID` ([ada3cd3](https://gitlab.com/html-validate/html-validate/commit/ada3cd31bf2fb941a5ccc72fc79515341ff5ba4a))
781
- - **dom:** support pseudo-classes `:first-child`, `:last-child` and `:nth-child` ([af39ea1](https://gitlab.com/html-validate/html-validate/commit/af39ea1d42e2396947b5993766c15ef17481be71))
782
- - **rules:** add selector to reported errors ([6b6ae3d](https://gitlab.com/html-validate/html-validate/commit/6b6ae3da04ae67c44bfda42081de8cbe177c5579))
783
- - **rules:** improved reported error location for some rules ([216b449](https://gitlab.com/html-validate/html-validate/commit/216b4499220befb13b99ad28b2f8fddb811d746f))
784
- - **shim:** expose `Report` ([6091050](https://gitlab.com/html-validate/html-validate/commit/609105017e66899f30dfddae597e9dc016984403))
785
-
786
- # [2.10.0](https://gitlab.com/html-validate/html-validate/compare/v2.9.0...v2.10.0) (2020-01-22)
787
-
788
- ### Features
789
-
790
- - **rules:** make options type-safe ([c85342a](https://gitlab.com/html-validate/html-validate/commit/c85342a5426ddba081fed8becaf3d4d499f0b66e))
791
- - **rules:** new rule `prefer-native-element` ([06c44ce](https://gitlab.com/html-validate/html-validate/commit/06c44cec1c66b518c030a31517d8cfd454c0c2d2))
792
-
793
- # [2.9.0](https://gitlab.com/html-validate/html-validate/compare/v2.8.2...v2.9.0) (2020-01-17)
794
-
795
- ### Features
796
-
797
- - **jest:** add `toHTMLValidate()` ([44388ea](https://gitlab.com/html-validate/html-validate/commit/44388ea0f759a33831967859386299d95b528c63))
798
- - **rules:** check references from `aria-controls` ([9e9805d](https://gitlab.com/html-validate/html-validate/commit/9e9805dc0e89e92411f7845a4fedc7ade0ca8cdd))
799
-
800
- ## [2.8.2](https://gitlab.com/html-validate/html-validate/compare/v2.8.1...v2.8.2) (2020-01-09)
801
-
802
- ### Bug Fixes
803
-
804
- - create directory only if missing ([5db6fe8](https://gitlab.com/html-validate/html-validate/commit/5db6fe8ad82ba04d691dec5aacfcba9be8aee759))
805
-
806
- ## [2.8.1](https://gitlab.com/html-validate/html-validate/compare/v2.8.0...v2.8.1) (2020-01-06)
807
-
808
- ### Bug Fixes
809
-
810
- - **cli:** create output directory as needed ([b5569f3](https://gitlab.com/html-validate/html-validate/commit/b5569f3abd47c02348f2aa31a430e1ab31ba65a5))
811
- - **meta:** load metadata with `readFile` instead of `require` ([c5de95b](https://gitlab.com/html-validate/html-validate/commit/c5de95b8a41707bd58a688f130e8beecbece077a))
812
-
813
- # [2.8.0](https://gitlab.com/html-validate/html-validate/compare/v2.7.0...v2.8.0) (2020-01-02)
814
-
815
- ### Features
816
-
817
- - **rule:** validate matching case for start and end tags ([288cf86](https://gitlab.com/html-validate/html-validate/commit/288cf867dc6b1fdaf899cc695bb70b35c9a720a0))
818
- - **rules:** refactor `parseStyle` from `element-case` and `attr-case` ([24d8fad](https://gitlab.com/html-validate/html-validate/commit/24d8fad19ba677502e1c19f8180efea44aa9cf34))
819
- - **rules:** support multiple case styles ([5a397bd](https://gitlab.com/html-validate/html-validate/commit/5a397bd9aa281710f24925bec8dcc1bc29605403)), closes [#50](https://gitlab.com/html-validate/html-validate/issues/50)
820
- - **rules:** support pascalcase and camelcase for `element-case` rule ([be7d692](https://gitlab.com/html-validate/html-validate/commit/be7d692838826a0de908d6cbb2867d02c43cee66))
821
-
822
- # [2.7.0](https://gitlab.com/html-validate/html-validate/compare/v2.6.0...v2.7.0) (2019-12-16)
823
-
824
- ### Bug Fixes
825
-
826
- - **config:** more helpful error when user forgot to load plugin ([62bbbe5](https://gitlab.com/html-validate/html-validate/commit/62bbbe503a5674369f24cf2a7116518b64cc2146))
827
-
828
- ### Features
829
-
830
- - **config:** configuration schema validation ([c9fe45f](https://gitlab.com/html-validate/html-validate/commit/c9fe45fe4de2c807ec9dbed8126698f2480a7135)), closes [#61](https://gitlab.com/html-validate/html-validate/issues/61)
831
- - **dom:** allow plugins to modify element annotation ([979da57](https://gitlab.com/html-validate/html-validate/commit/979da571ab69f22519973e7deda7531fc2560237))
832
- - **dom:** allow plugins to modify element metadata ([cbe3e78](https://gitlab.com/html-validate/html-validate/commit/cbe3e78561e38b0abcef0a7d87a0e2aa6897ccb3)), closes [#62](https://gitlab.com/html-validate/html-validate/issues/62)
833
- - **elements:** make schema publicly accessible ([bcab9e4](https://gitlab.com/html-validate/html-validate/commit/bcab9e4121d80fe92cdd12da84925e07e5b98297))
834
- - **rules:** use annotated name ([1895ef4](https://gitlab.com/html-validate/html-validate/commit/1895ef4311c36cca17e8c68ebd58724df082c335))
835
-
836
- # [2.6.0](https://gitlab.com/html-validate/html-validate/compare/v2.5.0...v2.6.0) (2019-12-12)
837
-
838
- ### Bug Fixes
839
-
840
- - **cli:** useful error message when metadata is invalid ([165da72](https://gitlab.com/html-validate/html-validate/commit/165da729ade4f64a946b83f6cd8b57a69186f51d))
841
- - **elements:** allow `requiredAttributes` and others to be empty array ([244d038](https://gitlab.com/html-validate/html-validate/commit/244d0384ca62a5f73985116699690dd87e3fbea1)), closes [#59](https://gitlab.com/html-validate/html-validate/issues/59)
842
- - **error:** better schema validation error ([9a5f8fe](https://gitlab.com/html-validate/html-validate/commit/9a5f8fe0a6d7fddd53e1002c028fd0218febfede))
843
-
844
- ### Features
845
-
846
- - **lexer:** handle rudimentary template tags such as `<% .. %>` ([a0f6190](https://gitlab.com/html-validate/html-validate/commit/a0f619045642fabac73d6fff6a1d832f37fdc075))
847
-
848
- # [2.5.0](https://gitlab.com/html-validate/html-validate/compare/v2.4.3...v2.5.0) (2019-12-09)
849
-
850
- ### Bug Fixes
851
-
852
- - **config:** keep track of plugin original name ([9e7ea3e](https://gitlab.com/html-validate/html-validate/commit/9e7ea3e2b36cc71c5e098004bd6e1d232b413ca7))
853
- - **config:** throw error is plugin is missing ([bc61a6b](https://gitlab.com/html-validate/html-validate/commit/bc61a6be2684a53c1704edc62e85a401ca08c1f0))
854
- - **htmlvalidate:** more verbose output from `--dump-source` ([f0089c6](https://gitlab.com/html-validate/html-validate/commit/f0089c68e851f85f873a0b6d741d8b36520a26ee))
855
- - **htmlvalidate:** prefer html-validate:recommended ([8deb03a](https://gitlab.com/html-validate/html-validate/commit/8deb03a246c38afb790aff7c01db602e121baefe))
856
-
857
- ### Features
858
-
859
- - **htmlvalidate:** new method `canValidate` to test if a file can be validated ([f523028](https://gitlab.com/html-validate/html-validate/commit/f5230285017acf3f83838c3f36293d8f5545082d))
860
-
861
- ## [2.4.3](https://gitlab.com/html-validate/html-validate/compare/v2.4.2...v2.4.3) (2019-12-08)
862
-
863
- ### Bug Fixes
864
-
865
- - **parser:** report parser-error when stream ends before required token ([50e1d67](https://gitlab.com/html-validate/html-validate/commit/50e1d67c5c79b44d53fe3889ee76ed9577c04865))
866
-
867
- ## [2.4.2](https://gitlab.com/html-validate/html-validate/compare/v2.4.1...v2.4.2) (2019-12-05)
868
-
869
- ### Bug Fixes
870
-
871
- - **config:** handle exceptions from loading plugin ([3aec3f3](https://gitlab.com/html-validate/html-validate/commit/3aec3f3ff019f5e3815d4b04e66ee610469e815d)), closes [#55](https://gitlab.com/html-validate/html-validate/issues/55)
872
-
873
- ## [2.4.1](https://gitlab.com/html-validate/html-validate/compare/v2.4.0...v2.4.1) (2019-12-02)
874
-
875
- ### Bug Fixes
876
-
877
- - **lexer:** handle missing `Source` properties (like `offset`) ([2092942](https://gitlab.com/html-validate/html-validate/commit/20929425dd69eadcc5432d11f33b53a35050b76c))
878
-
879
- # [2.4.0](https://gitlab.com/html-validate/html-validate/compare/v2.3.0...v2.4.0) (2019-12-01)
880
-
881
- ### Bug Fixes
882
-
883
- - **config:** `init` can now safely be called multiple times ([ed46c19](https://gitlab.com/html-validate/html-validate/commit/ed46c19ef8c3f8a01a5db51f0a879f10fde597a4))
884
- - **htmlvalidate:** initialize global config if needed ([6d05747](https://gitlab.com/html-validate/html-validate/commit/6d05747de0114b72188955a8c2a11f3816dfdc6d))
885
-
886
- ### Features
887
-
888
- - **htmlvalidate:** retain `offset` when yielding multiple sources ([fe1705e](https://gitlab.com/html-validate/html-validate/commit/fe1705e13950c0bbb281e1806432b12d3eebed1a))
889
- - **transform:** add `offsetToLineColumn` helper ([1e61d00](https://gitlab.com/html-validate/html-validate/commit/1e61d001fcd29d434bd2d68a7e7d9a8a12feea5b))
890
-
891
- # [2.3.0](https://gitlab.com/html-validate/html-validate/compare/v2.2.0...v2.3.0) (2019-11-27)
892
-
893
- ### Bug Fixes
894
-
895
- - **config:** update `--init` config for html-validate-vue@2 ([6553ded](https://gitlab.com/html-validate/html-validate/commit/6553ded78cf8cd51c8eec9ba2ef08f8e25e84612))
896
-
897
- ### Features
898
-
899
- - **transform:** support `hasChain` to test if a transformer is present ([e8ef4f5](https://gitlab.com/html-validate/html-validate/commit/e8ef4f5e1f89c70bad43cbf5d04f47789080ab4e))
900
-
901
- # [2.2.0](https://gitlab.com/html-validate/html-validate/compare/v2.1.0...v2.2.0) (2019-11-23)
902
-
903
- ### Bug Fixes
904
-
905
- - **config:** throw ConfigError when elements cannot be loaded ([62c08e7](https://gitlab.com/html-validate/html-validate/commit/62c08e7c8bf9deaa47f8b9f1afbf48dcc69bba32))
906
- - **docs:** update plugin docs ([340d0ca](https://gitlab.com/html-validate/html-validate/commit/340d0ca23875331b4267a7fd0226532904ed8fda))
907
- - **plugin:** make all fields optional ([a587239](https://gitlab.com/html-validate/html-validate/commit/a5872397a9a0732a4cea1901c65e024767809d4a))
908
-
909
- ### Features
910
-
911
- - **plugin:** allow specifying name ([6554f72](https://gitlab.com/html-validate/html-validate/commit/6554f72fb11e2da59ab07774f0898b20654e2a5b))
912
-
913
- # [2.1.0](https://gitlab.com/html-validate/html-validate/compare/v2.0.1...v2.1.0) (2019-11-21)
914
-
915
- ### Bug Fixes
916
-
917
- - **deps:** update dependency chalk to v3 ([f84bd35](https://gitlab.com/html-validate/html-validate/commit/f84bd35b637e558cdcaf01fec9ed6ebc52d895ca))
918
- - **rules:** wcag/h32 support custom form elements ([e00e1ed](https://gitlab.com/html-validate/html-validate/commit/e00e1ed30e714b679e161308daa07df80e89edde))
919
-
920
- ### Features
921
-
922
- - **meta:** add method to query all tags with given property ([eb3c593](https://gitlab.com/html-validate/html-validate/commit/eb3c59343efa911e4e5ed22f4eb87408e3036325))
923
- - **meta:** adding `form` property ([edf05b0](https://gitlab.com/html-validate/html-validate/commit/edf05b09d0600be548b4d52b79421f6d13713010))
924
- - **meta:** allow inheritance ([5c7725d](https://gitlab.com/html-validate/html-validate/commit/5c7725d5d5062e3a55fd189ccd29712bd4cc26cd))
925
- - **meta:** support [@form](https://gitlab.com/form) category ([66d75a8](https://gitlab.com/html-validate/html-validate/commit/66d75a86783f247c62302c431ab8ce35d22b4215))
926
-
927
- ## [2.0.1](https://gitlab.com/html-validate/html-validate/compare/v2.0.0...v2.0.1) (2019-11-19)
928
-
929
- ### Bug Fixes
930
-
931
- - **config:** better error when loading missing transformer from plugin ([db48a01](https://gitlab.com/html-validate/html-validate/commit/db48a015888a18dc2f6a17fd8466a98d29882509))
932
- - **config:** fix loading non-plugin transformer with plugin present ([c9ad080](https://gitlab.com/html-validate/html-validate/commit/c9ad08087305a4c36821a66552d4b7389fc42e86)), closes [#54](https://gitlab.com/html-validate/html-validate/issues/54)
933
-
934
- # [2.0.0](https://gitlab.com/html-validate/html-validate/compare/v1.16.0...v2.0.0) (2019-11-17)
935
-
936
- ### Features
937
-
938
- - **config:** transformers must now operate on `Source` ([9c2112c](https://gitlab.com/html-validate/html-validate/commit/9c2112c8fb71275434b3d212df0953a4ea467db4))
939
- - **config:** wrap transformer error message better ([9f833e9](https://gitlab.com/html-validate/html-validate/commit/9f833e9d4dcc17ad32cca43a546da5f62e52dfe2))
940
- - **htmlvalidate:** string sources are now transformed too ([0645e37](https://gitlab.com/html-validate/html-validate/commit/0645e3760bd8d0f168a2c1faaa3e7097aa00b330))
941
- - **plugin:** support exposing transformers from plugins ([1370565](https://gitlab.com/html-validate/html-validate/commit/13705651c1b00e9dbd5cc3914b317f964391d6a8))
942
- - **transform:** add context object as `this` ([cb76cb3](https://gitlab.com/html-validate/html-validate/commit/cb76cb33664ca6e3ca37772aa14a4984faf55804))
943
- - **transform:** add version number to API ([94a5663](https://gitlab.com/html-validate/html-validate/commit/94a5663440c904fb0ad80dcbbab60ad73c79f741))
944
- - **transform:** adding test utils ([9e42590](https://gitlab.com/html-validate/html-validate/commit/9e42590a6112a095a0d9b01eb1af98189168f25e))
945
- - **transform:** support chaining transformers ([4a6fd51](https://gitlab.com/html-validate/html-validate/commit/4a6fd51620621f228aa4897abded19ce1abc7d1e))
946
- - **transform:** support returning iterators ([623b2f2](https://gitlab.com/html-validate/html-validate/commit/623b2f20efdce9ee4b3f39d1cf698d412116e79b))
947
-
948
- ### BREAKING CHANGES
949
-
950
- - **config:** Previously transformers took a filename and had to read data of
951
- the file itself. Transformers will now receive a `Source` instance with the data
952
- preread.
953
-
954
- # [1.16.0](https://gitlab.com/html-validate/html-validate/compare/v1.15.0...v1.16.0) (2019-11-09)
955
-
956
- ### Bug Fixes
957
-
958
- - **cli:** fix `--init` not creating configuration unless overwriting ([9098529](https://gitlab.com/html-validate/html-validate/commit/90985293bf941c54055c93b35a6c6f865a2f65e6))
959
- - **config:** use `readFile` to prevent unintended caching ([4864bfa](https://gitlab.com/html-validate/html-validate/commit/4864bfa26edaf77b7bf7b0f551ffe7469a803c42))
960
-
961
- ### Features
962
-
963
- - **shim:** expose version number in shim ([890d122](https://gitlab.com/html-validate/html-validate/commit/890d12269cfbfff7ce6b4e49e1876bb51ca7ccdd))
964
-
965
- # [1.15.0](https://gitlab.com/html-validate/html-validate/compare/v1.14.1...v1.15.0) (2019-11-03)
966
-
967
- ### Bug Fixes
968
-
969
- - **cli:** `--help` does not take an argument ([e22293f](https://gitlab.com/html-validate/html-validate/commit/e22293fc3257f6ba9732016d2be44214299e23c2))
970
-
971
- ### Features
972
-
973
- - **cli:** add `--dump-source` to debug transformers ([4d32a0d](https://gitlab.com/html-validate/html-validate/commit/4d32a0d6fc8e3caaa62107affa94fe0fe16aab1f))
974
- - **cli:** add `--init` to create initial configuration ([6852d30](https://gitlab.com/html-validate/html-validate/commit/6852d30dcbccc5ebed3267c6dd181146156646f0))
975
-
976
- ## [1.14.1](https://gitlab.com/html-validate/html-validate/compare/v1.14.0...v1.14.1) (2019-10-27)
977
-
978
- ### Bug Fixes
979
-
980
- - input hidden should not have label ([66cf13d](https://gitlab.com/html-validate/html-validate/commit/66cf13d489cbb641fabe83121fa0f135440875f8)), closes [#53](https://gitlab.com/html-validate/html-validate/issues/53)
981
-
982
- # [1.14.0](https://gitlab.com/html-validate/html-validate/compare/v1.13.0...v1.14.0) (2019-10-20)
983
-
984
- ### Features
985
-
986
- - **shim:** expose more types ([86bb78d](https://gitlab.com/html-validate/html-validate/commit/86bb78d))
987
- - enable typescript strict mode (excect strict null) ([5d2b45e](https://gitlab.com/html-validate/html-validate/commit/5d2b45e))
988
- - **htmlvalidate:** support passing filename to `validateString` ([c2e09a2](https://gitlab.com/html-validate/html-validate/commit/c2e09a2))
989
-
990
- # [1.13.0](https://gitlab.com/html-validate/html-validate/compare/v1.12.0...v1.13.0) (2019-10-13)
991
-
992
- ### Features
993
-
994
- - **rules:** support deprecating rules ([de80d96](https://gitlab.com/html-validate/html-validate/commit/de80d96))
995
-
996
- # [1.12.0](https://gitlab.com/html-validate/html-validate/compare/v1.11.0...v1.12.0) (2019-10-08)
997
-
998
- ### Features
999
-
1000
- - **cli:** new API to get validator instance ([6f4be7d](https://gitlab.com/html-validate/html-validate/commit/6f4be7d))
1001
- - **cli:** support passing options to CLI class ([aa544d6](https://gitlab.com/html-validate/html-validate/commit/aa544d6))
1002
- - **config:** add `root` property to stop searching file system ([9040ed5](https://gitlab.com/html-validate/html-validate/commit/9040ed5))
1003
- - **shim:** expose HtmlElement in shim ([dbb673f](https://gitlab.com/html-validate/html-validate/commit/dbb673f))
1004
-
1005
- # [1.11.0](https://gitlab.com/html-validate/html-validate/compare/v1.10.0...v1.11.0) (2019-09-23)
1006
-
1007
- ### Bug Fixes
1008
-
1009
- - **config:** expand `<rootDir>` in elements ([eeddf4c](https://gitlab.com/html-validate/html-validate/commit/eeddf4c))
1010
-
1011
- ### Features
1012
-
1013
- - **meta:** new property `scriptSupporting` ([c271a04](https://gitlab.com/html-validate/html-validate/commit/c271a04))
1014
-
1015
- # [1.10.0](https://gitlab.com/html-validate/html-validate/compare/v1.9.1...v1.10.0) (2019-09-19)
1016
-
1017
- ### Features
1018
-
1019
- - **api:** better exposure of cli api ([2c16c5b](https://gitlab.com/html-validate/html-validate/commit/2c16c5b))
1020
- - **api:** new method `validateMultipleFiles` ([536be69](https://gitlab.com/html-validate/html-validate/commit/536be69))
1021
-
1022
- ## [1.9.1](https://gitlab.com/html-validate/html-validate/compare/v1.9.0...v1.9.1) (2019-09-19)
1023
-
1024
- ### Bug Fixes
1025
-
1026
- - **rules:** fix handling of invalid void style ([4682d96](https://gitlab.com/html-validate/html-validate/commit/4682d96)), closes [#52](https://gitlab.com/html-validate/html-validate/issues/52)
1027
-
1028
- # [1.9.0](https://gitlab.com/html-validate/html-validate/compare/v1.8.0...v1.9.0) (2019-09-17)
1029
-
1030
- ### Features
1031
-
1032
- - **rules:** new rule `svg-focusable` ([c354364](https://gitlab.com/html-validate/html-validate/commit/c354364))
1033
-
1034
- # [1.8.0](https://gitlab.com/html-validate/html-validate/compare/v1.7.1...v1.8.0) (2019-09-16)
1035
-
1036
- ### Bug Fixes
1037
-
1038
- - **rules:** fix prefer-button crashing on boolean type attribute ([94ce2a8](https://gitlab.com/html-validate/html-validate/commit/94ce2a8))
1039
-
1040
- ### Features
1041
-
1042
- - **cli:** allow specifying extensions ([2bdd75f](https://gitlab.com/html-validate/html-validate/commit/2bdd75f))
1043
- - **cli:** cli learned `--version` to print version number ([95c6737](https://gitlab.com/html-validate/html-validate/commit/95c6737))
1044
- - **cli:** exit early when encountering unknown cli arguments ([1381c51](https://gitlab.com/html-validate/html-validate/commit/1381c51))
1045
- - **cli:** expose expandFiles function ([edab9cf](https://gitlab.com/html-validate/html-validate/commit/edab9cf))
1046
- - **cli:** handle passing directories ([f152a12](https://gitlab.com/html-validate/html-validate/commit/f152a12))
1047
- - **cli:** support setting cwd when calling expandFiles ([420dc88](https://gitlab.com/html-validate/html-validate/commit/420dc88))
1048
- - **event:** new event config:ready ([c2990b5](https://gitlab.com/html-validate/html-validate/commit/c2990b5))
1049
-
1050
- ## [1.7.1](https://gitlab.com/html-validate/html-validate/compare/v1.7.0...v1.7.1) (2019-09-15)
1051
-
1052
- ### Bug Fixes
1053
-
1054
- - **config:** better error message when transformer fails to load ([c5a4f38](https://gitlab.com/html-validate/html-validate/commit/c5a4f38))
1055
-
1056
- # [1.7.0](https://gitlab.com/html-validate/html-validate/compare/v1.6.0...v1.7.0) (2019-09-11)
1057
-
1058
- ### Bug Fixes
1059
-
1060
- - **parser:** fix conditional comments pushing elements into tree ([b26fe80](https://gitlab.com/html-validate/html-validate/commit/b26fe80)), closes [#51](https://gitlab.com/html-validate/html-validate/issues/51)
1061
- - **rules:** attr-case no longer reports duplicate errors for dynamic attributes ([c06ae67](https://gitlab.com/html-validate/html-validate/commit/c06ae67)), closes [#48](https://gitlab.com/html-validate/html-validate/issues/48)
1062
-
1063
- ### Features
1064
-
1065
- - **location:** allow sliceLocation to wrap line/column ([cbd7796](https://gitlab.com/html-validate/html-validate/commit/cbd7796))
1066
- - **rules:** add PascalCase and camelCase styles for `attr-case` ([9e91f81](https://gitlab.com/html-validate/html-validate/commit/9e91f81)), closes [#49](https://gitlab.com/html-validate/html-validate/issues/49)
1067
-
1068
- # [1.6.0](https://gitlab.com/html-validate/html-validate/compare/v1.5.1...v1.6.0) (2019-09-01)
1069
-
1070
- ### Bug Fixes
1071
-
1072
- - **matchers:** typo in error message ([daeabba](https://gitlab.com/html-validate/html-validate/commit/daeabba))
1073
-
1074
- ### Features
1075
-
1076
- - **matchers:** optionally test context ([44fcf47](https://gitlab.com/html-validate/html-validate/commit/44fcf47))
1077
-
1078
- ## [1.5.1](https://gitlab.com/html-validate/html-validate/compare/v1.5.0...v1.5.1) (2019-08-20)
1079
-
1080
- ### Bug Fixes
1081
-
1082
- - **elements:** mark contextmenu attribute as deprecated ([db4069f](https://gitlab.com/html-validate/html-validate/commit/db4069f))
1083
-
1084
- ### Features
1085
-
1086
- - **rules:** new rule no-unknown-elements ([96f5fcf](https://gitlab.com/html-validate/html-validate/commit/96f5fcf))
1087
-
1088
- ## [1.5.0](https://gitlab.com/html-validate/html-validate/compare/v1.4.0...v1.5.0) (2019-08-17)
1089
-
1090
- ### Bug Fixes
1091
-
1092
- - **elements:** `<img>` must have non-empty src ([8916e19](https://gitlab.com/html-validate/html-validate/commit/8916e19))
1093
- - **rules:** change output format of wcag/h37 and element-required-attributes to match ([26f5074](https://gitlab.com/html-validate/html-validate/commit/26f5074))
1094
-
1095
- ### Features
1096
-
1097
- - **cli:** add --config to specify a custom configuration file ([87b565f](https://gitlab.com/html-validate/html-validate/commit/87b565f))
1098
- - **elements:** `<fieldset>` requires `<legend>` ([0bce9dd](https://gitlab.com/html-validate/html-validate/commit/0bce9dd))
1099
- - **elements:** `<head>` requires `<title>` ([8aaa801](https://gitlab.com/html-validate/html-validate/commit/8aaa801))
1100
- - **elements:** src, href, etc attributes cannot be empty ([89c7ac6](https://gitlab.com/html-validate/html-validate/commit/89c7ac6))
1101
- - **parser:** include valueLocation in doctype event ([803ddae](https://gitlab.com/html-validate/html-validate/commit/803ddae))
1102
- - **rules:** new rule doctype-html ([46061a7](https://gitlab.com/html-validate/html-validate/commit/46061a7))
1103
- - **rules:** new rule element-required-content ([664dead](https://gitlab.com/html-validate/html-validate/commit/664dead))
1104
- - **rules:** new rule no-style-tag ([a1dff5c](https://gitlab.com/html-validate/html-validate/commit/a1dff5c))
1105
-
1106
- ## [1.4.0](https://gitlab.com/html-validate/html-validate/compare/v1.3.0...v1.4.0) (2019-08-15)
1107
-
1108
- ### Bug Fixes
1109
-
1110
- - **deps:** update dependency acorn-walk to v7 ([1fe89e0](https://gitlab.com/html-validate/html-validate/commit/1fe89e0))
1111
- - **reporter:** fix {error,warning}Count after merging reports ([bc657d0](https://gitlab.com/html-validate/html-validate/commit/bc657d0))
1112
- - **reporter:** require {error,warning}Count to be present in Result ([b1306a4](https://gitlab.com/html-validate/html-validate/commit/b1306a4))
1113
-
1114
- ### Features
1115
-
1116
- - **cli:** add new --max-warnings flag ([e78a1dc](https://gitlab.com/html-validate/html-validate/commit/e78a1dc))
1117
- - **reporter:** add {error,warning}Count summary to Report object ([2bae1d0](https://gitlab.com/html-validate/html-validate/commit/2bae1d0))
1118
-
1119
- # [1.3.0](https://gitlab.com/html-validate/html-validate/compare/v1.2.1...v1.3.0) (2019-08-12)
1120
-
1121
- ### Features
1122
-
1123
- - **rules:** new rule no-missing-references ([4653384](https://gitlab.com/html-validate/html-validate/commit/4653384))
1124
-
1125
- ## 1.2.1 (2019-07-30)
1126
-
1127
- - fix configuration when using multiple extends.
1128
-
1129
- ## 1.2.0 (2019-06-23)
1130
-
1131
- - new rule `prefer-tbody` to validate presence of `<tbody>` in `<table`.
1132
- - add `requiredAncestors` metadata and validation to test elements with
1133
- additional requirements for the parent elements, such as `<area>` and
1134
- `<dd>`/`<dt>`.
1135
- - add `HtmlElement.closest()` to locate a parent matching the given selector.
1136
- - add `HtmlElement.matches()` to test if a selector matches the given element.
1137
- - fix so multiple combinators can be used in selectors, e.g. `foo > bar > baz`
1138
- now works as expected.
1139
-
1140
- ## 1.1.2 (2019-06-18)
1141
-
1142
- - allow div to group elements under dl (fixes #44).
1143
-
1144
- ## 1.1.1 (2019-06-07)
1145
-
1146
- - `Reporter` is now exposed in shim.
1147
- - `getFormatter` CLI API now returns output as string instead of writing
1148
- directly to stdout.
1149
- - `codeframe` formatter now adds final newline in output.
1150
-
1151
- ## 1.1.0 (2019-06-04)
1152
-
1153
- - `input-missing-label` now validates `<textarea>` and `<select>`.
1154
- - `querySelector` and friends now handles `[attr="keyword-with-dashes"]` and
1155
- similar constructs.
1156
-
1157
- ## 1.0.0 (2019-05-12)
1158
-
1159
- - rule `wcag/h37` now ignores images with `role="presentation` or
1160
- `aria-hidden="true"`.
1161
- - allow `crossorigin` attribute to be boolean or `""` (maps to `"anonymous"`).
1162
- - add `<picture>` element.
1163
- - mark `<style>` as foreign as to not trigger errors inside css content.
1164
- - allow whitespace around attribute equals sign, e.g `class = "foo"`.
1165
-
1166
- ## 0.25.1 (2019-05-10)
1167
-
1168
- - allow raw ampersands (`&`) in quoted attributes.
1169
- - extend set of allowed characters in unquoted attributes in lexer.
1170
-
1171
- ## 0.25.0 (2019-04-23)
1172
-
1173
- - new rule `unrecognized-char-ref` for validating character references.
1174
- - add support for `auto` style for `attr-quotes` rule.
1175
- - new rule `no-raw-characters` to check for presence of unescaped `<`, `>` and
1176
- `&` characters.
1177
-
1178
- ## 0.24.2 (2019-03-31)
1179
-
1180
- ### Features
1181
-
1182
- - new rule `meta-refresh`.
1183
- - new event `element:ready` triggered after an element and its children has been
1184
- fully constructed.
1185
- - add plugin callbacks `init()` and `setup()`.
1186
- - new rule `require-sri`.
1187
- - add `<slot>` element.
1188
-
1189
- ## 0.24.1 (2019-03-26)
1190
-
1191
- ### Bugfixes
1192
-
1193
- - fix broken edit links in footer.
1194
- - fix broken import causing typescript API users getting build errors.
1195
-
1196
- ## 0.24.0 (2019-03-26)
1197
-
1198
- ### Features
1199
-
1200
- - adding link to edit documentation and view rule source in documentation.
1201
- - new rule `wcag/h36`.
1202
- - new rule `wcag/h30`.
1203
- - new rule `long-title`.
1204
- - new rule `empty-title`.
1205
- - add `UserError` exception which is to be used for any error which is not
1206
- caused by an internal error, e.g. configuration errors or a plugin. The error
1207
- suppresses the notice about internal error which should be reported as a bug.
1208
- - reworked and extendable validation of elements metadata. Plugins may now add
1209
- support for custom metadata.
1210
-
1211
- ### Bugfixes
1212
-
1213
- - fix handling of plugins with no rules.
1214
-
1215
- ## 0.23.0 (2019-03-20)
1216
-
1217
- ### Features
1218
-
1219
- - new rule `empty-heading` validating headers have textual content.
1220
- - let plugins add configuration presets.
1221
- - add `processElement` hook on `Source`.
1222
- - add `textContent` property on `DOMNode` to get text (recursive) from child
1223
- nodes. A new node type `TextNode` is added.
1224
- - add `firstChild` and `lastChild` to `DOMNode`.
1225
- - docs: precompile syntax highlighting for smoother page loads.
1226
- - expose `Config`, `ConfigData` and `ConfigLoader` in shim.
1227
-
1228
- ## 0.22.1 (2019-02-25)
1229
-
1230
- ### Breaking change
1231
-
1232
- - `.children` has been split and moved from `HtmlElement` to
1233
- `DOMNode`. `.childNodes` replaces the original `.children` but is now typed
1234
- `DOMNode[]` (and in a future release may contain other node types). A getter
1235
- `.nodeElements` can be used to access only `HtmlElement` from `.childNodes`
1236
- and is typed `HtmlElement[]`. If your rules use `.children` the
1237
-
1238
- ### Bugfixes
1239
-
1240
- - `<rootDir>` is now respected when configuring plugins.
1241
- - fix cosmetic case of `wcag/h37` rule.
1242
-
1243
- ## 0.22.0 (2019-02-24)
1244
-
1245
- ### Breaking changes
1246
-
1247
- - `HtmlElement` direct access to `attr` is replaced with `attributes`. The
1248
- former was an key-value object and the latter is a flattened array of
1249
- `Attribute`.
1250
-
1251
- ### Features
1252
-
1253
- - exposes `Source` and `AttributeData` in shim.
1254
- - `HtmlElement` will now store duplicated (or aliased) attributes. The biggest
1255
- change this introduces is that `classList` will now contain a merged list of
1256
- all classes. This is needed when combining a static `class` attribute with a
1257
- dynamic one.
1258
- - DOM `Attribute` got two flags `isStatic` and `isDynamic` to easily tell if the
1259
- value is static or dynamic.
1260
- - more verbose exception when a transformer fails. (fixes #37)
1261
- - allow `processAttribute` hook to yield multiple attributes, typically used
1262
- when adding aliased attributes such as `:class`. By adding both the alias and
1263
- the original the latter can be validated as well (e.g. `no-dup-attr` can
1264
- trigger for multiple uses of `:class`). (fixes #36)
1265
- - allow setting hooks when using `HtmlValidate.validateString`, makes it easier
1266
- to write tests which requires hooks, e.g. processing attributes.
1267
-
1268
- ### Bugfixes
1269
-
1270
- - `[attr]` selector now matches boolean attributes.
1271
- - `attribute-boolean-style` and `no-dup-attr` now handles when dynamic
1272
- attributes is used to alias other attributes, e.g `:required="foo"` no longer
1273
- triggers an boolean style and `class=".."` combined with `:class=".."` no
1274
- longer triggers duplicate attributes. (fixes #35)
1275
- - `attribute-allowed-values` now ignores boolean attributes with dynamic
1276
- values. (partially fixes #35)
1277
-
1278
- ## 0.21.0 (2019-02-17)
1279
-
1280
- ### Breaking changes
1281
-
1282
- - `button-type` is replaced with `element-required-attributes`.
1283
-
1284
- ### Features
1285
-
1286
- - new rule `element-required-attributes` replaces `button-type` and allows any
1287
- element to contain `requiredAttributes` metadata.
1288
- - support foreign elements. The body of the foreign element will be discarded
1289
- from the DOM tree and not trigger any rules.
1290
- - CLI write a more verbose message when unhandled exceptions are raised.
1291
- - `--dump-events` output reduced by hiding element metadata and compacting
1292
- location data.
1293
- - use jest snapshots to test element metadata as it is more maintainable.
1294
-
1295
- ### Bugfixes
1296
-
1297
- - allow `<area shape="default">` (fixes #31)
1298
-
1299
- ## 0.20.1 (2019-02-06)
1300
-
1301
- ### Bugfixes
1302
-
1303
- - fix #33: ensure `wcag/h37` and `wcag/h67` checks if node exists before testing
1304
- tagname.
1305
- - handle boolean attributes in `attribute-allowed-values`.
1306
-
1307
- ## 0.20.0 (2019-01-29)
1308
-
1309
- ### Features
1310
-
1311
- - update `codeframe` formatter to show not just start location but also end.
1312
-
1313
- ### Bugfixes
1314
-
1315
- - Fixes html-validate-angular#1 by handling both regular and arrow functions.
1316
-
1317
- ## 0.19.0 (2019-01-27)
1318
-
1319
- ### Breaking changes
1320
-
1321
- - `img-req-alt` has been renamed `wcag/h37`.
1322
-
1323
- ### Features
1324
-
1325
- - new rule `prefer-button`.
1326
- - `Attribute` now stores location of value.
1327
- - new rules `wcag/h32` and `wcag/h67`.
1328
- - move `location` and `isRootElement` to `DOMNode` and add new `nodeType`
1329
- property.
1330
- - add `Attribute.valueMatches` to test attribute value. Handles `DynamicValue`.
1331
- - `querySelector` now handles selector lists (comma-separated selectors)
1332
-
1333
- ## 0.18.2 (2019-01-14)
1334
-
1335
- ### Bugfixes
1336
-
1337
- - fix issue when calling `getAttributeValue` on a boolean attribute.
1338
- - handle `DynamicValue` in `DOMTokenList` and `id-pattern`.
1339
-
1340
- ## 0.18.1 (2019-01-12)
1341
-
1342
- ### Features
1343
-
1344
- - CLI learned `--print-config` to output configuration for a given file.
1345
-
1346
- ## 0.18.0 (2019-01-10)
1347
-
1348
- ### Features
1349
-
1350
- - add support for dynamic attribute values, that is the value is marked as being
1351
- set but has no known value. Rules are expected to assume the value exists and
1352
- is valid. The primary usage for this is in combination with the
1353
- `parseAttribute` hook, e.g `:id="..."` can yield attribute `id` with a dynamic
1354
- value.
1355
- - add support for transformer hooks, currently the only hook is `parseAttribute`
1356
- allowing the transformer to alter the attribute before any events are emitted,
1357
- e.g. it can pick up the vuejs `:id` attribute and pass it as `id` to allow
1358
- other rules to continue just as if `id` was typed.
1359
-
1360
- ### Bugfixes
1361
-
1362
- - fix `ConfigLoader` tests when running on windows.
1363
-
1364
- ## 0.17.0 (2019-01-09)
1365
-
1366
- ### Breaking changes
1367
-
1368
- - `DOMNode` has been renamed `HtmlElement` and there is instead a new base class
1369
- `DOMnode` which `HtmlElement` extends from. Rules using `DOMNode` need to be
1370
- changed to use `HtmlElement`.
1371
-
1372
- ### Features
1373
-
1374
- - use [Prettier](https://prettier.io/) for formatting sources.
1375
- - add `HtmlValidate.getRuleDocumentation()` API for IDEs to fetch contextual
1376
- rule documentation.
1377
- - add `codeframe` formatter (from eslint).
1378
- - add `HtmlValidate.flushConfigCache` to allow flushing the config loader cache.
1379
- - add `TemplateExtractor.createSource` as a quick way to create a source from
1380
- filename.
1381
- - add typescript definition for `shim.js`
1382
- - add `validateSource` to `HtmlValidate` allowing to manually passing a source.
1383
- - `HtmlValidate.getConfigFor` is now part of public API.
1384
-
1385
- ### Bugfixes
1386
-
1387
- - Directives can now enable/disable rules working with `dom:ready` event.
1388
- - `HtmlElement` location is now shifted by 1.
1389
-
1390
- ## 0.16.1 (2018-12-16)
1391
-
1392
- ### Bugfixes
1393
-
1394
- - `Message` now passes `size` property from `Location`
1395
-
1396
- ## 0.16.0 (2018-12-15)
1397
-
1398
- ### Features
1399
-
1400
- - `Location` has a new property `size` holding the number of characters the
1401
- location refers to.
1402
- - `HtmlValidate` class now loads same default config as CLI if no configuration
1403
- is passed explicitly.
1404
- - `Location` has a new property `offset` holding the offset into the source
1405
- data (starting at zero).
1406
- - CLI learned `--stdin` and `--stdin-filename` for passing markup on standard
1407
- input and explicitly naming it. Useful for external tools and IDEs which wants
1408
- to pass the markup in stdin instead of a temporary file.
1409
-
1410
- ## 0.15.3 (2018-12-05)
1411
-
1412
- ### Features
1413
-
1414
- - expose `querySelector` and `querySelectorAll` on `DOMNode`, not just
1415
- `DOMTree`.
1416
-
1417
- ## 0.15.2 (2018-12-01)
1418
-
1419
- ### Features
1420
-
1421
- - move repository to https://gitlab.com/html-validate/html-validate
1422
- - move homepage to https://html-validate.org
1423
- - more element attributes added.
1424
-
1425
- ## 0.15.1 (2018-11-26)
1426
-
1427
- ### Features
1428
-
1429
- - new properties `previousSibling` and `nextSibling` on `DOMNode`.
1430
-
1431
- ## 0.15.0 (2018-11-21)
1432
-
1433
- ### Features
1434
-
1435
- - new rule `attribute-boolean-style` to validate style of boolean attributes.
1436
- - new property `nodeName` on `DOMNode`.
1437
-
1438
- ### Bugfixes
1439
-
1440
- - `attribute-allowed-values` now normalizes boolean attributes before
1441
- validating, i.e. it will accept `disabled`, `disabled=""` or
1442
- `disabled="disabled"`. Fixes #13.
1443
- - `input` learned `required` attribute.
1444
- - `querySelector` properly handles attribute selectors with dashes and
1445
- digits. Fixes #15.
1446
-
1447
- ## 0.14.2 (2018-11-06)
1448
-
1449
- ### Features
1450
-
1451
- - bump dependencies.
1452
- - use `acorn-walk` instead of `acorn@5`.
1453
-
1454
- ## 0.14.1 (2018-11-04)
1455
-
1456
- ### Bugfixes
1457
-
1458
- - fix dependency on `acorn`, the package now properly resolves acorn 5 when
1459
- dependant pulls acorn 6.
1460
-
1461
- ## 0.14.0 (2018-11-03)
1462
-
1463
- - support global metadata.
1464
- - new rule `attribute-allowed-values` validates allowed values for attributes,
1465
- such as `type` for `<input>`.
1466
-
1467
- ## 0.13.0 (2018-10-21)
1468
-
1469
- ### Features
1470
-
1471
- - `deprecated` supports adding a message for custom elements.
1472
- - Rule constructors can now throw exceptions. Previously the exceptions would be
1473
- silently swallowed and the rule would trigger the missing rule logic.
1474
- - Support writing element metadata inline in configuration file.
1475
-
1476
- ### Bugfixes
1477
-
1478
- - `element-permitted-order` now reports the error where the malplaced element is
1479
- instead of the parent element (which holds the restriction). Fixes #10.
1480
-
1481
- ## 0.12.0 (2018-10-17)
1482
-
1483
- ### Features
1484
-
1485
- - Support writing plugins with custom rules.
1486
- - Bump dependencies, including typescript 3.0 to 3.1
1487
-
1488
- ## 0.11.1 (2018-10-07)
1489
-
1490
- ### Features
1491
-
1492
- - Rule documentation examples are now validated automatically with htmlvalidate
1493
- to provide direct feedback of how a rule will react on the given markup.
1494
-
1495
- ### Bugfixes
1496
-
1497
- - `no-implicit-close` now provides more context when closed by a sibling.
1498
- - `close-order` no longer reports error for implicitly closed elements.
1499
-
1500
- ## 0.11.0 (2018-09-23)
1501
-
1502
- ### Breaking changes
1503
-
1504
- - For compatibility with other tools the severity `disable` has been renamed to
1505
- `off`. The old name will continue to work but will be removed in the future.
1506
-
1507
- ### Features
1508
-
1509
- - support directives to enable/disable rules inside files, e.g. to ignore a
1510
- single error.
1511
- - rules are now using dynamic severity which can change at runtime.
1512
- - new class `Attribute` used by `DOMNode`. Attributes now holds the location
1513
- they are created from making DOM attribute rules more precise.
1514
- - new rule `heading-level` for validating sequential heading levels.
1515
-
1516
- ### Bugfixes
1517
-
1518
- - `element-permitted-occurrences` no longer triggers for the first occurrence,
1519
- only subsequent usages.
1520
- - `Table.getMetaFor(..)` is not case-insensitive.
1521
-
1522
- ## 0.10.0 (2018-08-11)
1523
-
1524
- ### Breaking changes
1525
-
1526
- - rule api overhaul, all rules are now classes.
1527
-
1528
- ### Features
1529
-
1530
- - support multiple events for single listener and listener deregistration.
1531
- - new `Engine` class for easier programmatical usage.
1532
- - stricter types related to events
1533
- - bump dependencies.
1534
-
1535
- ### Bugfixes
1536
-
1537
- - add espree dependency
1538
-
1539
- ## 0.9.2 (2018-07-12)
1540
-
1541
- ### Features
1542
-
1543
- - add `no-inline-style` to `htmlvalidate:recommended`.
1544
- - add `htmlvalidate:document` for predefined set of document-related rules,
1545
- e.g. recommended for documents but not component templates.
1546
- - add `missing-doctype` rule to require doctype.
1547
- - add source location to root DOMNode containing the first line and column in
1548
- the source file.
1549
- - add `doctype` property to `DOMTree`.
1550
- - add `doctype` event, emitted when a doctype is encountered.
1551
- - add `element-case` rule for validating case of element names.
1552
- - add `attr-case` rule for validating case of attributes.
1553
-
1554
- ## 0.9.1 (2018-07-01)
1555
-
1556
- ### Features
1557
-
1558
- - add `protractor-html-validate` to docs.
1559
-
1560
- ## 0.9.0 (2018-06-17)
1561
-
1562
- ### Breaking changes
1563
-
1564
- - semantics for `require` changed from `require('html-validate')` to
1565
- `require('html-validate').HtmlValidate` to support exposing other classes.
1566
-
1567
- ### Features
1568
-
1569
- - new `TemplateExtractor` helper class for extracting templates from javascript
1570
- sources.
1571
- - trigger downstream projects on release
1572
-
1573
- ### Bugfixes
1574
-
1575
- - Report `valid` now only checks for errors, the result will still be valid if
1576
- only warnings are present.
1577
-
1578
- ## 0.8.3 (2018-06-12)
1579
-
1580
- - run tests against multiple node versions (8.x, 9.x and 10.x) to ensure
1581
- compatibility.
1582
- - exposed `getFormatter` as a reusable function to load formatters from string
1583
- (like CLI tool): `name[=DST][,name=DST...]`
1584
-
1585
- ## 0.8.2 (2018-05-28)
1586
-
1587
- ### Bugfixes
1588
-
1589
- - lexer better handling of newlines, especially CRLF `\r\n`.
1590
-
1591
- ## 0.8.1 (2018-05-27)
1592
-
1593
- ### Misc
1594
-
1595
- - update `package.json`
1596
-
1597
- ## 0.8.0 (2018-05-27)
1598
-
1599
- ### Features
1600
-
1601
- - easier API usage: `require('html-validate')` now returns class without using
1602
- `require(html-validate/build/htmlvalidate').default`.
1603
- - support `transform` in configuration to extract source html from other files.
1604
- - attach `depth` and `unique` read-only properties to `DOMNode` corresponding to
1605
- the nodes depth in the DOM tree and a sequential id (unique for the session).
1606
- - new rule `no-conditional-comments` to disallow usage of conditional comments.
1607
- - handle conditional comments.
1608
-
1609
- ### Bugfixes
1610
-
1611
- - handle whitespace before doctype
1612
- - DOMTokenlist now handles multiple spaces as delimiter and strip
1613
- leading/trailing whitespace.
1614
-
1615
- ## 0.7.0 (2017-11-04)
1616
-
1617
- ### Features
1618
-
1619
- - new rule `no-implicit-close` to disallow usage of optional end tags.
1620
- - handle optional end tags.
1621
- - better result sorting, error messages are now sorted by line and column, the
1622
- stage which triggered the error doesn't matter any longer.
1623
- - better result merging, files will no longer be duplicated.
1624
- - element metadata can no be sourced from multiple sources and be configured
1625
- using the `elements` configuration property.
1626
-
1627
- ### Improvements
1628
-
1629
- - better configuration merging
1630
-
1631
- ### Bugfixes
1632
-
1633
- - fixed script tag incorrectly consuming markup due to greedy matching.
1634
-
1635
- ## 0.6.0 (2017-10-29)
1636
-
1637
- ### Features
1638
-
1639
- - new rule `no-deprecated-attr` for testing if any deprecated attributes is
1640
- used.
1641
- - CLI supports globbing (as fallback if shell doesn't expand the glob already)
1642
-
1643
- ### Bugfixes
1644
-
1645
- - fix lowercase `<!doctype html>` crashing the lexer.
1646
- - fix node binary name in shebang
1647
- - fix directory traversal on windows
1648
-
1649
- ## 0.5.0 (2017-10-17)
1650
-
1651
- ### Features
1652
-
1653
- - Rule `element-name` learned `whitelist` and `blacklist` options.
1654
- - Support outputting to multiple formatters and capturing output to file.
1655
- - checkstyle formatter. Use `-f checkstyle`.
1656
-
1657
- ## 0.4.0 (2017-10-17)
1658
-
1659
- ### Features
1660
-
1661
- - new rule `no-inline-style` disallowing inline `style` attribute.
1662
- - new rule `img-req-alt` validating that images have alternative text.
1663
- - new rule `element-permitted-order` validating the required order of elements
1664
- with restrictions.
1665
- - new rule `element-permitted-occurrences` validating elements with content
1666
- models limiting the number of times child elements can be used.
1667
-
1668
- ### Bugfixes
1669
-
1670
- - the parser now resets the DOM tree before starting, fixes issue when running
1671
- the same parser instance on multiple sources.
1672
-
1673
- ## 0.3.0 (2017-10-12)
1674
-
1675
- ### Features
1676
-
1677
- - new rules `id-pattern` and `class-pattern` for requiring a specific formats.
1678
- - new rule `no-dup-class` preventing duplicate classes names on the same
1679
- element.
1680
-
1681
- ### Bugfixes
1682
-
1683
- - lexer now chokes on `<ANY\n<ANY></ANY></ANY>` (first tag missing `>`) instead
1684
- of handling the inner `<ANY>` as an attribute.
1685
- - `element-permitted-content` fixed issue where descending with missing metadata
1686
- would report as disallowed content.
1687
-
1688
- ## 0.2.0 (2017-10-11)
1689
-
1690
- ### Features
1691
-
1692
- - Support putting configuration in `.htmlvalidate.json` file.
1693
- - `void` rule rewritten to better handle both tag omission and self-closing. It
1694
- learned a new option `style` to allow a single style.
1695
- - new rule `element-permitted-content` verifies that only allowed content is
1696
- used.
1697
- - new rule `element-name` to validate custom element names.
1698
-
1699
- ## 0.1.3 (2017-10-08)
1700
-
1701
- ### Features
1702
-
1703
- - Rule documentation
1704
-
1705
- ### Bugfixes
1706
-
1707
- - `no-dup-attr` now handles attribute names with different case.