-
-
Couldn't load subscription status.
- Fork 706
release(oxlint): v1.24.0 #14893
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
release(oxlint): v1.24.0 #14893
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. |
Oxlint Ecosystem CI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR releases version 1.24.0 of oxlint, updating version numbers across npm packages, cargo crates, and native binding checks. The release includes new linting rules, bug fixes, performance improvements, and enhanced JavaScript plugin support.
Key changes:
- Version bumped from 1.23.0 to 1.24.0 across all packages
- Native binding version checks updated to enforce 1.24.0
- CHANGELOGs updated with comprehensive release notes
Reviewed Changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| npm/oxlint/package.json | Version bump to 1.24.0 |
| npm/oxlint/CHANGELOG.md | Added 1.24.0 release notes with bug fix entry |
| editors/vscode/package.json | VSCode extension version updated to 1.24.0 |
| editors/vscode/CHANGELOG.md | Added 1.24.0 release notes with features, fixes, and tests |
| crates/oxc_linter/Cargo.toml | Linter crate version bumped to 1.24.0 |
| crates/oxc_linter/CHANGELOG.md | Comprehensive 1.24.0 changelog with features, fixes, docs, and performance improvements |
| crates/oxc_language_server/Cargo.toml | Language server crate version updated to 1.24.0 |
| crates/oxc_language_server/CHANGELOG.md | Added 1.24.0 release notes for language server changes |
| apps/oxlint/src-js/bindings.js | Updated all native binding version checks from 1.23.0 to 1.24.0 |
| apps/oxlint/package.json | Application package version bumped to 1.24.0 |
| apps/oxlint/Cargo.toml | Application crate version updated to 1.24.0 |
| apps/oxlint/CHANGELOG.md | Added 1.24.0 release notes for oxlint application |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
CodSpeed Performance ReportMerging #14893 will not alter performanceComparing Summary
|
[1.24.0] - 2025-10-22
🚀 Features
cwdproperty to JS pluginContext(feat(linter): addcwdproperty to JS pluginContext#14814) (magic-akari)no-warning-commentsrule (feat(linter): Addno-warning-commentsrule #14734) (Iván Ovejero)oxc.fmt.configPathconfiguration (feat(editor): supportoxc.fmt.configPathconfiguration #14639) (Sysix)fmt.configPathfile content change (feat(language_server): watch forfmt.configPathfile content change #14509) (Sysix)symbol_idto ts function type binding idents (feat(semantic): addsymbol_idto ts function type binding idents #14673) (camc314)TSConstructorType(feat(semantic): add scope toTSConstructorType#14676) (camc314)ignoreUsingDeclarationsoption (feat(linter/no-unused-vars): supportignoreUsingDeclarationsoption #14632) (camc314)SourceCode#getAllComments(feat(linter/plugins): implementSourceCode#getAllComments#14589) (Arsh)🐛 Bug Fixes
extendsis used (fix(oxlint): resolving JS plugin failing whenextendsis used #14556) (camc314)no-unused-vars: allow updates in for loop test/update (fix(linter):no-unused-vars: allow updates in for loop test/update #14766) (camchenry)commentsbeing accessed after file is linted (fix(linter/plugins): preventcommentsbeing accessed after file is linted #14727) (overlookmotel)jest/no_exportheuristic (fix(linter): improvejest/no_exportheuristic #14620) (Arsh)unicorn/filename-casereport only on the first js block forastro,vueandsveltefiles (fix(linter):unicorn/filename-casereport only on the first js block forastro,vueandsveltefiles #14599) (Sysix)commentsfield to TS type def forProgram(fix(linter/plugins): addcommentsfield to TS type def forProgram#14626) (overlookmotel)parentproperty from comments (fix(linter/plugins): removeparentproperty from comments #14624) (overlookmotel)jsdoc/require-returnsfalse positive if anything before @returns uses one single quote #13776) (fix(semantic): fix quote handling in jsdoc parser(#13776) #14561) (Li Wei).gitdirectories (fix(oxlint,oxfmt): Skip traversing.gitdirectories #14590) (Boshen)🚜 Refactor
NEXT_POLYFILLED_FEATURESto shared utils (refactor(linter/no-unwanted-polyfillio): moveNEXT_POLYFILLED_FEATURESto shared utils #14793) (shulaoda)SourceCodemethods (refactor(linter/plugins): reorganiseSourceCodemethods #14773) (overlookmotel)SourceCodemethods (refactor(linter/plugins): shorten import of comment-relatedSourceCodemethods #14772) (overlookmotel)SourceCodemethods into separate file (refactor(linter/plugins): move scope-relatedSourceCodemethods into separate file #14771) (overlookmotel)SourceCodemethods into separate file (refactor(linter/plugins): move token-relatedSourceCodemethods into separate file #14770) (overlookmotel)commentsgetter (refactor(linter/plugins): simplifycommentsgetter #14728) (overlookmotel)Message.spanpublic (refactor(linter): makeMessage.spanpublic #14601) (Sysix)Comment(refactor(napi/parser): shorten raw transfer deserializer forComment#14623) (overlookmotel)run_on_symbol(refactor(linter): removerun_on_symbol#14610) (camchenry)Runtimefor LSP & tests (refactor(linter): remove unused allocator param inRuntimefor LSP & tests #14489) (Sysix)📚 Documentation
ignoreRestSiblingsoption forno-unused-varsrule (docs(linter): Add documentation onignoreRestSiblingsoption forno-unused-varsrule #14807) (howen)no-plusplusandno-irregular-whitespacerule docs (docs(linter): improveno-plusplusandno-irregular-whitespacerule docs #14790) (Connor Shea)SourceCodetokens methods (docs(linter/plugins): correct JSDoc comments forSourceCodetokens methods #14776) (overlookmotel)⚡ Performance
no-unused-private-class-members: only run when there are any classes (perf(linter):no-unused-private-class-members: only run when there are any classes #14869) (camchenry)no-dupe-class-members: only run when there are any classes (perf(linter):no-dupe-class-members: only run when there are any classes #14867) (camchenry)no-this-before-super: only run when file contains super or this (perf(linter):no-this-before-super: only run when file contains super or this #14866) (camchenry)max-classes-per-file: skip when no classes (perf(linter):max-classes-per-file: skip when no classes #14865) (camchenry)id-length: reduce allocations and add more ASCII checks (perf(linter):id-length: reduce allocations and add more ASCII checks #14821) (camchenry)id-length: check if ident is ASCII before segmenting (perf(linter):id-length: check if ident is ASCII before segmenting #14767) (camchenry)phf_map!calls (perf(linter): remove simplephf_map!calls #14701) (camchenry)SourceCode#getAncestors(perf(linter/plugins): speed upSourceCode#getAncestors#14747) (overlookmotel)Diagnosticwhen relinting all files (perf(language_server): returnDiagnosticwhen relinting all files #14737) (Sysix)Backend::did_change_configuration(perf(language_server): avoid creating HashMap inBackend::did_change_configuration#14736) (Sysix)Backend::did_change_watched_files(perf(language_server): avoid creating HashMap inBackend::did_change_watched_files#14735) (Sysix)prefer-node-protocolto use diverging match (perf(linter): updateprefer-node-protocolto use diverging match #14699) (camchenry)catch-error-nameto use top-level match (perf(linter): updatecatch-error-nameto use top-level match #14698) (camchenry)no-extra-non-null-assertionto use diverging match (perf(linter): updateno-extra-non-null-assertionto use diverging match #14697) (camchenry)typescript/array-typeto only have top-level match (perf(linter): updatetypescript/array-typeto only have top-level match #14696) (camchenry)jsdoc/require-yieldsto deref instead ofself.0(perf(linter): refactorjsdoc/require-yieldsto deref instead ofself.0#14695) (camchenry)is_function_nodecalls for some jsdoc rules (perf(linter): inlineis_function_nodecalls for some jsdoc rules #14694) (camchenry)jest/require-hookto use top-level match (perf(linter): refactorjest/require-hookto use top-level match #14693) (camchenry)jest/no-conditional-in-testto use diverging match (perf(linter): refactorjest/no-conditional-in-testto use diverging match #14692) (camchenry)import/no-webpack-loader-syntax(perf(linter): move root scope check into match arms inimport/no-webpack-loader-syntax#14691) (camchenry)no-amdto do scope check after node type check (perf(linter): refactorno-amdto do scope check after node type check #14690) (camchenry)no-unsafe-finallyto have a diverging match as first statement (perf(linter): refactorno-unsafe-finallyto have a diverging match as first statement #14689) (camchenry)no-labelsto use top-level match on node kind (perf(linter): refactorno-labelsto use top-level match on node kind #14688) (camchenry)is_member_expression_kindin match (perf(linter): add codegen support foris_member_expression_kindin match #14677) (camchenry)if !matches!(node.kind(), ...)to match block (perf(linter): switchif !matches!(node.kind(), ...)to match block #14650) (camchenry)as_member_expression_kind()variants (perf(linter): support gettingas_member_expression_kind()variants #14642) (camchenry)unicorn/no-array-method-this(perf(linter): only check for call expr once inunicorn/no-array-method-this#14641) (camchenry)react/prefer-es6-classto use top-level match (perf(linter): updatereact/prefer-es6-classto use top-level match #14630) (camchenry)no-const-assignto run on nodes instead of symbols (perf(linter): updateno-const-assignto run on nodes instead of symbols #14609) (camchenry)next/no-duplicate-headon nodes instead of symbols (perf(linter): runnext/no-duplicate-headon nodes instead of symbols #14607) (camchenry)no-param-reassignto run on nodes (perf(linter): switchno-param-reassignto run on nodes #14604) (camchenry)no-class-assignon class nodes instead of symbols (perf(linter): runno-class-assignon class nodes instead of symbols #14578) (camchenry)as_*for node type codegen (perf(linter): supportas_*for node type codegen #14582) (camchenry)const-comparisons(perf(linter): use top-level match forconst-comparisons#14581) (camchenry)🎨 Styling
🧪 Testing