[1.17.0] - 2025-09-23
๐ Features
- f47f978 linter/plugins: Add
definePlugin
API (#14008) (overlookmotel) - 3e117c6 linter/plugins: Add
defineRule
API (#13945) (overlookmotel) - 2dc8adb linter/plugins: Add
createOnce
API (#13944) (overlookmotel) - bef8753 linter/plugins: ESTree-compatible AST for JS plugins (#13942) (overlookmotel)
- 55c2e11 editor: Add
oxc.fmt.experimental
flag (#13923) (Sysix) - a21ff54 language_server: Introduce
ServerFormatter
(#13700) (Sysix) - a14aa79 npm/oxlint: Convert to ES modules (#13876) (Boshen)
- 15eb326 linter: Add
vue/no-required-prop-with-default
rule (#13613) (yefan) - 5d3ba00 linter: Add
vue/require-typed-ref
rule (#13857) (yefan) - b52389a node: Bump
engines
field to require Node.js 20.19.0+ for ESM support (#13879) (Copilot) - 8221a01 linter: Add
eslint/no-misleading-character-class
(#13365) (Sysix) - c75ae8c linter/plugins: Add options to
Context
(#13810) (overlookmotel) - 53d04dd linter: Convert
oxlint
to NAPI app (#13723) (overlookmotel)
๐ Bug Fixes
- 1f4be38 napi/parser: Generate
.d.mts
extension for types (#14038) (Daniel Roe) - a018756 linter/plugins: Pin
tsdown
dependency to 0.15.1 (#14005) (overlookmotel) - b8790c2 language_server: Output correct position for parser & semantic errors (#14010) (Sysix)
- 4d3c6e1 linter: Support let-chains in codegen node type detection (#14006) (camc314)
- a34918a linter/plugins: Avoid lint warnings compiling WASM or big-endian (#13968) (overlookmotel)
- 27022ab linter/switch-case-braces: Add support for string including colon on case expression (#13687) (Lukinoh)
- dd3843f linter: Set package version in
package.json
(#13890) (overlookmotel) - fa866b3 linter: Sort optimized/unoptimized diagnostics before comparison (#13850) (camc314)
- fac7624 linter/plugins: Improve error for no JS plugins (#13858) (overlookmotel)
๐ Refactor
- bb040bc parser, linter: Replace
.mjs
files with.js
(#14045) (overlookmotel) - b353750 linter/plugins: Remove unnecessary
Serialize
derives (#14031) (overlookmotel) - 0d48511 linter/plugins: Improve handling
Context
method calls increateOnce
(#14032) (overlookmotel) - 36ac0fb language_server: Don't create
mpsc
channel (#14011) (Sysix) - 2e9ae3f linter: Make disable directives own the rule name (#13987) (camc314)
- 6bc7664 oxlint: Run oxlint before tsgolint (#13519) (camc314)
- 0c93f33 language_server: Use minimal text edit for
ServerFormatter
(#13960) (Sysix) - 823cb57 langauge_server: Move
Backend
into own file (#13955) (Sysix) - dc700f5 language_server: Introduce
LSPFileSystem
(#13731) (Sysix) - 42e2c1d linter: Remove
Rc
fromDisableDirectives
(#13924) (camc314) - ac3e9e9 napi/parser: Move JS code into
src-js
directory (#13899) (overlookmotel) - e90bfe3 linter: Remove double reference in unicorn/error-message (#13916) (camc314)
- 83791a0 linter: Remove double reference in vue/jsx-no-undef (#13915) (camc314)
- ebd22de linter: Remove double reference in vue/require-typed-ref (#13914) (camc314)
- 873e231 language_server: Move
needs_linter_restart
toServerLinter
(#13834) (Sysix) - 7e0d736 linter/plugins: Rename
--experimental-js-plugins
to--js-plugins
(#13860) (overlookmotel) - 6245c8c linter/plugins: Make
Context
properties getters (#13809) (overlookmotel) - a2342a6 linter/plugins: Import named in tests (#13807) (overlookmotel)
๐ Documentation
โก Performance
- 4d04c6e linter/plugins: Flatten
LintFileResult
fields (#14033) (overlookmotel) - 06363e0 linter: Add node type codegen support for
match node.kind()
(#13736) (camchenry) - a79af0a linter: Replace
for (... of ...)
loops (#13913) (overlookmotel) - b53292d linter: Use unstable sort where possible (#13818) (sapphi-red)
๐จ Styling
- 8083740 linter: Import
Serialize
at top level (#14030) (overlookmotel)
๐งช Testing
- b807b6f language_server: Skip formatter test on windows (#13986) (Sysix)
- 2600858 language_server: Add Tester for ServerFormatter (#13969) (Sysix)
- 37aadf0 language_server: Add
test_and_snapshot_multiple_file
(#13966) (Sysix) - ad14a41 editor: Fix test setup (#13929) (Sysix)
- f51240e linter/plugins: Tests for different import styles (#13859) (overlookmotel)
- 407c95e linter/plugins: Check
this
is undefined in visit functions (#13811) (overlookmotel) - f023a22 linter/plugins: Include stack trace in plugin loading errors (#13808) (overlookmotel)