html-validate 6.1.6 → 6.3.2

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