@@ -11,53 +11,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
1111- 0dcdbd1 oxlint: Bundle esquery (#14450 ) (camc314)
1212
1313
14- ## [ 1.22.0] - 2025-10-08
15-
16- ### 🐛 Bug Fixes
17-
18- - 0dcdbd1 oxlint: Bundle esquery (#14450 ) (camc314)
19-
20-
21- ## [ 1.21.0] - 2025-10-08
22-
23- ### 🚀 Features
24-
25- - 576be20 linter/plugins: Support selectors DSL (#14435 ) (overlookmotel)
26- - b2de44f linter/plugins: Support interpolation in normal diagnostic ` message ` (#14419 ) (overlookmotel)
27- - 382c5be linter/plugins: Support placeholders in messageIds (#14416 ) (camc314)
28- - 529e88e linter/plugins: Support ` messageId ` s (#14415 ) (camc314)
29- - 0ec0847 ci: Run napi tests on windows (#14383 ) (camc314)
30-
31- ### 🐛 Bug Fixes
32-
33- - 88ec1bd linter/plugins: Fix error messages (#14423 ) (overlookmotel)
34- - 18616c2 oxlint: Ignore fixtures dir for vitest (#14414 ) (camc314)
35- - ec02fe8 oxlint: Normalize path separators in snapshot tests (#14406 ) (camc314)
36- - 96663fb linter/plugins: Do not call ` before ` hook if empty visitor (#14401 ) (overlookmotel)
37- - 52f04bd linter: Use ` pathToFileURL ` for importing plugins to ensure correct URL format (#14394 ) (camc314)
38- - 1ea0d46 oxlint: Resolve tsdown deprecation warning (#14389 ) (camc314)
39-
40- ### 🚜 Refactor
41-
42- - 3b26bf3 linter/plugins: Split adding visit function to compiler visitor into multiple functions (#14433 ) (overlookmotel)
43- - af3a75e linter/plugins: Track ancestors while walking AST (#14432 ) (overlookmotel)
44- - f279f0b linter/plugins: Do not lazy-load visitor keys (#14431 ) (overlookmotel)
45- - 5e99ed3 linter/plugins: Allow nullish values as ` message ` or ` messageId ` (#14422 ) (overlookmotel)
46- - dc30938 linter/plugins: Remove default value from ` Context ` constructor (#14421 ) (overlookmotel)
47- - 28cfae0 oxlint: Use ` vitest ` s built in file snapshot comparison (#14392 ) (camc314)
48- - 06b0e9f linter/plugins: Convert generated files to TS (#14385 ) (overlookmotel)
49- - 52f35c6 napi/parser, linter/plugins: Rename ` types.js ` to ` type_ids.js ` (#14384 ) (overlookmotel)
50-
51- ### ⚡ Performance
52-
53- - 26435a1 linter/plugins: Small perf optimizations (#14420 ) (overlookmotel)
54- - d8a8be1 linter/plugins: Avoid private methods (#14418 ) (overlookmotel)
55-
56- ### 🧪 Testing
57-
58- - d8da4a4 linter/plugins: Clarify tests for message placeholders (#14417 ) (overlookmotel)
59-
60-
6114## [ 1.21.0] - 2025-10-08
6215
6316### 🚀 Features
@@ -139,52 +92,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
13992- c27a393 linter/plugins: Deserialize AST on demand (#14288 ) (overlookmotel)
14093- 95a8cc4 linter/plugins: Use singleton for ` SourceCode ` (#14286 ) (overlookmotel)
14194
142- ### 🧪 Testing
143-
144- - 0061ce7 linter: Add more tests for disable directives in partial loadable files (#14371 ) (camc314)
145- - 1387aaa linter/plugins: Test ` createOnce ` returning no visitor functions (#14279 ) (overlookmotel)
146-
147-
148- ## [ 1.20.0] - 2025-10-06
149-
150- ### 🚀 Features
151-
152- - d16df93 linter: Support disable directives for type aware rules (#14052 ) (camc314)
153- - a2914fe linter/plugins: Add ` loc ` field getter to all AST nodes (#14355 ) (overlookmotel)
154- - 07193c2 linter/plugins: Implement ` SourceCode#getAncestors ` (#14346 ) (overlookmotel)
155- - c8de6fe linter/plugins: Add ` parent ` field to AST nodes (#14345 ) (overlookmotel)
156- - 5505a86 linter/plugins: Include ` range ` field in AST (#14321 ) (overlookmotel)
157- - 1347de4 linter/plugins: Accept diagnostics with ` loc ` (#14304 ) (overlookmotel)
158- - aefc8b3 linter/plugins: Implement ` SourceCode#getIndexFromLoc ` and ` getLocFromIndex ` (#14303 ) (overlookmotel)
159- - 93807db linter/plugins: Implement ` SourceCode#lines ` property (#14290 ) (overlookmotel)
160- - 2f8c985 linter/plugins: Implement ` SourceCode#visitorKeys ` property (#14289 ) (overlookmotel)
161- - b69028f linter/plugins: Implement ` SourceCode#ast ` property (#14287 ) (overlookmotel)
162- - bdf9010 linter/plugins: Add ` SourceCode ` API (#14281 ) (overlookmotel)
163-
164- ### 🐛 Bug Fixes
165-
166- - 9a902c0 linter/plugins: Make ` range ` field non-optional on AST types (#14354 ) (overlookmotel)
167- - 46cceb8 linter/rules-of-hooks: Correctly place primary span to fix disable directive (#14237 ) (camc314)
168-
169- ### 🚜 Refactor
170-
171- - 1489376 napi/parser, linter/plugins: Minify walker code (#14376 ) (overlookmotel)
172- - c8eeeb5 linter/plugins: Remove build-time dependency on ` napi/parser ` (#14374 ) (overlookmotel)
173- - fb1a067 linter/plugins: Bundle walker and AST types map (#14373 ) (overlookmotel)
174- - 93d8164 linter/plugins: Export AST types direct from ` oxlint ` package (#14353 ) (overlookmotel)
175- - 230d996 linter/plugins: ` SourceCode#getText ` use ` range ` (#14352 ) (overlookmotel)
176- - 6e52bbd linter/plugins: Move location-related code into separate file (#14350 ) (overlookmotel)
177- - 13f1003 linter/plugins: Share ` ast ` between files (#14349 ) (overlookmotel)
178- - 79eadf8 linter: Introduce ` LintRunner ` (#14051 ) (camc314)
179- - 65873ba linter/plugins: Add stubs for all ` SourceCode ` methods (#14285 ) (overlookmotel)
180- - 989ce2f linter/plugins: Convert ` Node ` type to interface (#14280 ) (overlookmotel)
181-
182- ### ⚡ Performance
183-
184- - e75d42d napi/parser, linter/plugins: Remove runtime ` preserveParens ` option from raw transfer deserializers (#14338 ) (overlookmotel)
185- - 2e57351 linter/plugins: Initialize ` lineStartOffsets ` as ` [0] ` (#14302 ) (overlookmotel)
186- - c27a393 linter/plugins: Deserialize AST on demand (#14288 ) (overlookmotel)
187- - 95a8cc4 linter/plugins: Use singleton for ` SourceCode ` (#14286 ) (overlookmotel)
18895
18996### 🧪 Testing
19097
@@ -251,65 +158,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
251158- 5c862f9 linter/plugins: Standardize test fixture structure (#14114 ) (overlookmotel)
252159
253160
254- ## [ 1.19.0] - 2025-09-29
255-
256- ### 🚀 Features
257-
258- - acd1266 linter/plugins: ` oxlint ` export types (#14163 ) (overlookmotel)
259- - 00954de linter/plugins: Remove ` --js-plugins ` CLI option (#14134 ) (overlookmotel)
260- - b4d716f linter/plugins: Move custom JS plugin config to ` jsPlugins ` (#14133 ) (overlookmotel)
261- - 9c3afea linter/plugins: Support fixes (#14094 ) (overlookmotel)
262- - 1472147 linter: Move ` no-unused-expressions ` to correctness (#14099 ) (camchenry)
263- - c796966 linter/plugins: Add ` meta ` property to rules (#14089 ) (overlookmotel)
264-
265- ### 🐛 Bug Fixes
266-
267- - 39a171e linter: Get cli args on JS side, to avoid runtime inconsistencies (#14223 ) (camc314)
268- - e045391 linter/plugins: Error on JS plugin with reserved name (#14226 ) (overlookmotel)
269- - 37f6b09 linter/plugins: Make ` null ` a valid value for ` meta.fixable ` (#14204 ) (overlookmotel)
270- - e9a14d1 linter/plugins: Allow ` fix ` function to return ` undefined ` (#14182 ) (overlookmotel)
271- - ee9ecbe linter/plugins: Fix TS type for fixer methods (#14166 ) (overlookmotel)
272- - 03d1684 linter/plugins: Output warning on first JS plugin load (#14165 ) (overlookmotel)
273- - 9716f7c linter/plugins: Fix TS types (#14162 ) (overlookmotel)
274- - 4a4fce8 linter: Fix cli argument parsing (#14112 ) (camc314)
275- - 9f3e2bc linter/plugins: Output errors thrown in JS plugins (#14096 ) (overlookmotel)
276- - d8e9cc5 linter/plugins: Validate type of ` before ` and ` after ` hooks (#14086 ) (overlookmotel)
277-
278- ### 🚜 Refactor
279-
280- - 61ec0a7 linter/plugins: Simplify creation of ` context ` in ` defineRule ` ESLint shim (#14206 ) (overlookmotel)
281- - 3b1fe6f linter/plugins: Flatten directory structure of ` dist ` (#14199 ) (overlookmotel)
282- - d52cba6 linter: Bump TSDown to latest (#14198 ) (overlookmotel)
283- - 983dd1b linter/plugins: Add ` Fixer ` type (#14180 ) (overlookmotel)
284- - 2f8b076 linter/plugins: Remove dead code (#14178 ) (overlookmotel)
285- - e69cd86 linter/plugins: ` loadPluginImpl ` return an object (#14087 ) (overlookmotel)
286-
287- ### 📚 Documentation
288-
289- - b19f5bc linter/plugins: Improve JSDoc comments for ` definePlugin ` and ` defineRule ` (#14159 ) (overlookmotel)
290-
291- ### ⚡ Performance
292-
293- - 2575065 linter/plugins: Store if rule is fixable as boolean (#14205 ) (overlookmotel)
294-
295- ### 🧪 Testing
296-
297- - a9b603e linter/plugins: Convert all plugins in tests to TS (#14200 ) (overlookmotel)
298- - 6ff3a23 linter/plugins: Add tests for ` .ts ` , ` .mts ` , ` .cts ` plugin files (#14164 ) (overlookmotel)
299- - 8988d64 linter/plugins: Add line breaks to plugins files (#14181 ) (overlookmotel)
300- - 52db331 linter/plugins: Type-check test fixtures (#14158 ) (overlookmotel)
301- - aca083a linter/plugins: Include stderr output in snapshots (#14155 ) (overlookmotel)
302- - a3c8f46 linter/plugins: Do not run ` pnpm ` in tests (#14157 ) (overlookmotel)
303- - 0029b7f linter/plugins: Normalize line breaks in snapshots (#14154 ) (overlookmotel)
304- - 7f2c101 linter/plugins: Specify path to ` node ` in tests (#14152 ) (overlookmotel)
305- - fc14abc linter/plugins: Format test fixtures (#14125 ) (overlookmotel)
306- - a6f965f linter/plugins: Simplify configs in test fixtures (#14124 ) (overlookmotel)
307- - b1685f7 linter/plugins: Refactor tests (#14123 ) (overlookmotel)
308- - 788e495 linter/plugins: Improve ESLint compat tests (#14119 ) (overlookmotel)
309- - 5750077 linter/plugins: Fix file paths in snapshots (#14115 ) (overlookmotel)
310- - 5c862f9 linter/plugins: Standardize test fixture structure (#14114 ) (overlookmotel)
311-
312-
313161## [ 1.18.0] - 2025-09-24
314162
315163### 🐛 Bug Fixes
@@ -333,84 +181,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
333181- b109419 linter/plugins: Align ESLint plugin with Oxlint (#14059 ) (overlookmotel)
334182
335183
336- ## [ 1.18.0] - 2025-09-24
337-
338- ### 🐛 Bug Fixes
339-
340- - 314c27d linter/plugins: ` definePlugin ` apply ` defineRule ` to rules (#14065 ) (overlookmotel)
341- - 7bd01ed linter/plugins: ` defineRule ` call ` createOnce ` lazily (#14062 ) (overlookmotel)
342- - fb3e7e3 linter/plugins: ` defineRule ` accept visitor with no ` before ` / ` after ` hooks (#14060 ) (overlookmotel)
343-
344- ### 🚜 Refactor
345-
346- - 3a706a7 linter: Rename ` LintRunner ` to ` CliRunner ` (#14050 ) (camc314)
347-
348- ### ⚡ Performance
349-
350- - ce538c7 linter/plugins: Load methods of globals into local vars (#14073 ) (overlookmotel)
351-
352- ### 🧪 Testing
353-
354- - 2fd4b1e linter/plugins: Rename test (#14064 ) (overlookmotel)
355- - f2b3934 linter/plugins: Test returning ` false ` from ` before ` hook skips visitation in ESLint (#14061 ) (overlookmotel)
356- - b109419 linter/plugins: Align ESLint plugin with Oxlint (#14059 ) (overlookmotel)
357-
358-
359- ## [ 1.17.0] - 2025-09-23
360-
361- ### 🚀 Features
362-
363- - f47f978 linter/plugins: Add ` definePlugin ` API (#14008 ) (overlookmotel)
364- - 3e117c6 linter/plugins: Add ` defineRule ` API (#13945 ) (overlookmotel)
365- - 2dc8adb linter/plugins: Add ` createOnce ` API (#13944 ) (overlookmotel)
366- - bef8753 linter/plugins: ESTree-compatible AST for JS plugins (#13942 ) (overlookmotel)
367- - a14aa79 npm/oxlint: Convert to ES modules (#13876 ) (Boshen)
368- - b52389a node: Bump ` engines ` field to require Node.js 20.19.0+ for ESM support (#13879 ) (Copilot)
369- - c75ae8c linter/plugins: Add options to ` Context ` (#13810 ) (overlookmotel)
370- - 53d04dd linter: Convert ` oxlint ` to NAPI app (#13723 ) (overlookmotel)
371-
372- ### 🐛 Bug Fixes
373-
374- - 1f4be38 napi/parser: Generate ` .d.mts ` extension for types (#14038 ) (Daniel Roe)
375- - a018756 linter/plugins: Pin ` tsdown ` dependency to 0.15.1 (#14005 ) (overlookmotel)
376- - a34918a linter/plugins: Avoid lint warnings compiling WASM or big-endian (#13968 ) (overlookmotel)
377- - dd3843f linter: Set package version in ` package.json ` (#13890 ) (overlookmotel)
378- - fac7624 linter/plugins: Improve error for no JS plugins (#13858 ) (overlookmotel)
379-
380- ### 🚜 Refactor
381-
382- - bb040bc parser, linter: Replace ` .mjs ` files with ` .js ` (#14045 ) (overlookmotel)
383- - 0d48511 linter/plugins: Improve handling ` Context ` method calls in ` createOnce ` (#14032 ) (overlookmotel)
384- - 6bc7664 oxlint: Run oxlint before tsgolint (#13519 ) (camc314)
385- - ac3e9e9 napi/parser: Move JS code into ` src-js ` directory (#13899 ) (overlookmotel)
386- - 7e0d736 linter/plugins: Rename ` --experimental-js-plugins ` to ` --js-plugins ` (#13860 ) (overlookmotel)
387- - 6245c8c linter/plugins: Make ` Context ` properties getters (#13809 ) (overlookmotel)
388- - a2342a6 linter/plugins: Import named in tests (#13807 ) (overlookmotel)
389-
390- ### 📚 Documentation
391-
392- - 601c876 linter: Add comment explaining why Mimalloc is feature-gated (#14037 ) (overlookmotel)
393-
394- ### ⚡ Performance
395-
396- - 4d04c6e linter/plugins: Flatten ` LintFileResult ` fields (#14033 ) (overlookmotel)
397- - a79af0a linter: Replace ` for (... of ...) ` loops (#13913 ) (overlookmotel)
398-
399- ### 🎨 Styling
400-
401- - 8083740 linter: Import ` Serialize ` at top level (#14030 ) (overlookmotel)
402-
403- ### 🧪 Testing
404-
405- - f51240e linter/plugins: Tests for different import styles (#13859 ) (overlookmotel)
406- - 407c95e linter/plugins: Check ` this ` is undefined in visit functions (#13811 ) (overlookmotel)
407- - f023a22 linter/plugins: Include stack trace in plugin loading errors (#13808 ) (overlookmotel)
408-
409- ### 💼 Other
410-
411- - 0630d68 linter: Build ` oxlint ` locally with Mimalloc in release mode (#14034 ) (overlookmotel)
412-
413-
414184## [ 1.17.0] - 2025-09-23
415185
416186### 🚀 Features
0 commit comments