Immutable
release. Only release title and notes can be modified.
[1.23.0] - 2025-10-13
🚀 Features
- 452d128 linter: Node/no_process_env (#14536) (Kenneth Skovhus)
- a9e1261 linter: Implement react-refresh/only-export-components (#14122) (Rintaro Itokawa)
- a8d542b linter/no-duplicate-imports: Support
allowSeparateTypeImports
option (#14527) (camc314) - 75a529c linter: Add run info about what functions rules implement (#13839) (camchenry)
- 4fbdef2 language_server: Support
fmt.configPath
configuration (#14502) (Sysix) - 4d3ce2e language_server: Autodetect root
.oxfmtrc.json
(#14466) (Sysix)
🐛 Bug Fixes
- fb4a20d language_server: Add whitespace for
// oxlint-disable-next-line
fix (#14356) (Sysix) - 6fce7f4 oxlint/changelog: Remove duplicate changelog entries (#14528) (camc314)
- 74e52f3 linter/plugins: Resolve JS plugins with ESM condition names (#14541) (magic-akari)
- 9965676 linter/exhaustive-deps: Ignore empty strings passed to
additionalHooks
option (#14464) (Redas) - d0a8e3e linter:
vue/no_required_prop_with_default
calledOption::unwrap()
on aNone
value (#14491) (Sysix) - 1192ea2 linter: Correct
nextjs/no-typos
path handling (#14480) (shulaoda) - 2796b16 tsgolint: Pipe tsgolints stderr (#14477) (camc314)
🚜 Refactor
- 6440cde linter: Remove lifetime of
Message
(#14481) (Sysix) - f599bef language_server: Move
Message
toDiagnosticReport
transformation to one place (#14447) (Sysix) - 4f301de napi/parser, linter/plugins: Improve formatting of generated code (#14554) (overlookmotel)
- 68c0252 napi/parser, linter/plugins: Shorten generated raw transfer deserializer code (#14553) (overlookmotel)
- 20e884e linter: Store
LintService
inLintRunner
(#14471) (Sysix) - 9e9c5ba linter: Simplify built-in lint plugin checks (#14518) (camchenry)
- 1986e0f linter/no-ex-assign: Use let-else chain (#14526) (camc314)
- ce9bcf0 linter/no-func-assign: Use let-else chain (#14525) (camc314)
- a9cea7c language_server: Use
FxHashSet
forServerLinter::extended_paths
(#14517) (Sysix) - ea5838e linter/no-import-assign: Use let-else chain (#14524) (camc314)
- f977700 language_server: Pass
LintOptions
toWorker::refresh_server_linter
(#14510) (Sysix) - 54b001f linter/no-new-require: Improve diagnostic message clarity (#14511) (shulaoda)
- 650ea68 linter: Improve nextjs/no-typos rule (#14476) (shulaoda)
📚 Documentation
- 198f2e9 linter: Fix code example for
branches-sharing-code
(#14514) (camc314) - d776a17 linter: Improve
nextjs/no-typos
rule documentation (#14470) (shulaoda)
⚡ Performance
- b44a30e language_server: Transform
Message
toDiagnosticReport
with one call (#14448) (Sysix) - 31766fd linter/plugins: Provide
loc
via prototype (#14552) (overlookmotel) - aec0c08 linter: Allow analyzing node types in match blocks with guards (#14459) (camchenry)
- 9044187 linter: Skip running node-specific rule if file contains no relevant nodes (#14457) (camchenry)
- 422f54e linter: Only run rule run functions if implemented (#14454) (camchenry)
- 2c228ae liner: Use top-level match for
no_obj_calls
(#14523) (camchenry) - c49d891 linter: Use match for
no_negated_condition
(#14522) (camchenry) - e222fc2 linter: Use match for
no_multi_assign
(#14521) (camchenry) - 4440516 linter: Refactor rules to take advantage of node type skipping (#14519) (camchenry)
- 78261d6 linter: Refactor
no-invalid-fetch-options
to be more easily analyzed (#14458) (camchenry)
🧪 Testing
- 8d8881d linter/plugins: Expand tests for module resolution of plugins (#14559) (overlookmotel)
- 33b6cde language_server: Add basic tests for
WorkspaceWorker::did_change_configuration
(#14531) (Sysix) - bfe1ecd language_server: Add tests for
WorkspaceWorker::init_watchers
(#14516) (Sysix)