NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3523 most downloaded on npm
Linter for the JavaScript Oxidation Compiler
Last release 4 days ago
14 Sep 2026
Ships on a steady schedule
a new release about every 2 weeks
Most releases are documented
notes for 43 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
3 years old
210 releases · first in 2023
One column per quarter.
452d128 linter: Node/no_process_env (#14536) (Kenneth Skovhus)
allowSeparateTypeImports option (#14527) (camc314)fmt.configPath configuration (#14502) (Sysix).oxfmtrc.json (#14466) (Sysix)// oxlint-disable-next-line fix (#14356) (Sysix)additionalHooks option (#14464) (Redas)vue/no_required_prop_with_default called Option::unwrap() on a None value (#14491) (Sysix)nextjs/no-typos path handling (#14480) (shulaoda)Message (#14481) (Sysix)Message to DiagnosticReport transformation to one place (#14447) (Sysix)LintService in LintRunner (#14471) (Sysix)FxHashSet for ServerLinter::extended_paths (#14517) (Sysix)LintOptions to Worker::refresh_server_linter (#14510) (Sysix)branches-sharing-code (#14514) (camc314)nextjs/no-typos rule documentation (#14470) (shulaoda)Message to DiagnosticReport with one call (#14448) (Sysix)loc via prototype (#14552) (overlookmotel)no_obj_calls (#14523) (camchenry)no_negated_condition (#14522) (camchenry)no_multi_assign (#14521) (camchenry)no-invalid-fetch-options to be more easily analyzed (#14458) (camchenry)WorkspaceWorker::did_change_configuration (#14531) (Sysix)WorkspaceWorker::init_watchers (#14516) (Sysix)9f9d25f linter/oxc: Implement branches-sharing-code (#14440) (camc314)
branches-sharing-code (#14440) (camc314)1ea0d46 oxlint: Resolve tsdown deprecation warning (#14389) (camc314)
message (#14419) (overlookmotel)messageIds (#14415) (camc314)vue/require-default-export rule (#14351) (Sysix)vue/no-import-compiler-macros rule (#14335) (Sysix)before hook if empty visitor (#14401) (overlookmotel)pathToFileURL for importing plugins to ensure correct URL format (#14394) (camc314)oxc_language_server crate (#14430) (Sysix)oxc_linter::TsgoLinter::run_source returns Message (#14429) (Sysix)oxc_linter::Runtime::run_source returns Message (#14428) (Sysix)message or messageId (#14422) (overlookmotel)Context constructor (#14421) (overlookmotel)vitests built in file snapshot comparison (#14392) (camc314)types.js to type_ids.js (#14384) (overlookmotel)d16df93 linter: Support disable directives for type aware rules (#14052) (camc314)
vue/no-export-in-script-setup rule (#14307) (Sysix)loc field getter to all AST nodes (#14355) (overlookmotel)SourceCode#getAncestors (#14346) (overlookmotel)parent field to AST nodes (#14345) (overlookmotel)range field in AST (#14321) (overlookmotel)loc (#14304) (overlookmotel)SourceCode#getIndexFromLoc and getLocFromIndex (#14303) (overlookmotel)SourceCode#lines property (#14290) (overlookmotel)SourceCode#visitorKeys property (#14289) (overlookmotel)SourceCode#ast property (#14287) (overlookmotel)vue/prefer-import-from-vue rule (#14284) (Sysix)vue/define-props-destructuring rule (#14272) (Sysix)SourceCode API (#14281) (overlookmotel)checkArguments option (#14369) (camc314)range field non-optional on AST types (#14354) (overlookmotel)napi/parser (#14374) (overlookmotel)oxlint package (#14353) (overlookmotel)SourceCode#getText use range (#14352) (overlookmotel)ast between files (#14349) (overlookmotel)TsGoLintMessage parsing errors an enum (#14300) (camc314)MessageType parsing more idomatic (#14299) (camc314)Some option wrapper (#14296) (camc314)LintRunner (#14051) (camc314)SourceCode methods (#14285) (overlookmotel)Node type to interface (#14280) (overlookmotel)oxc.fixAll and code action source.fixAll.oxc (#14244) (Sysix)generate_inverted_diagnostics to error_with_position (#14118) (camc314)ExternalPluginStores (#14378) (overlookmotel)preserveParens option from raw transfer deserializers (#14338) (overlookmotel)lineStartOffsets as [0] (#14302) (overlookmotel)SourceCode (#14286) (overlookmotel)createOnce returning no visitor functions (#14279) (overlookmotel)disable_for_this_section fix (#14240) (Sysix)eb6345f linter/unicorn: Implement no-array-callback-reference (#14230) (camc314)
import/no-named-export rule (#14229) (yefan)oxlint export types (#14163) (overlookmotel)unicorn/no-array-sort rule (#14117) (Cason Kervis)--js-plugins CLI option (#14134) (overlookmotel)jsPlugins (#14133) (overlookmotel)preserve-caught-error (#14104) (Cam McHenry)vue/max-props rule (#14039) (yefan)no-unused-expressions to correctness (#14099) (camchenry)meta property to rules (#14089) (overlookmotel)null a valid value for meta.fixable (#14204) (overlookmotel)npm/oxlint (#14219) (overlookmotel)oxc.path.server (#14202) (Sysix)fix function to return undefined (#14182) (overlookmotel)LintService (#14126) (Sysix)NODE_TYPES, cfg_id method for no-multiple-resolved (#14147) (camc314)no-restricted-globals (#14135) (yefan)tsgolint.exe on Windows (#14101) (camchenry)oxlint (#14095) (overlookmotel)before and after hooks (#14086) (overlookmotel)BUILT_IN_ERRORS to utils file (#14221) (camc314)context in defineRule ESLint shim (#14206) (overlookmotel)dist (#14199) (overlookmotel)Fixer type (#14180) (overlookmotel)preserve-caught-errors: rename config and add docs (#14103) (camchenry)CompositeFix::merge_fixes_fallible method (#14093) (overlookmotel)loadPluginImpl return an object (#14087) (overlookmotel)Backend struct (#14172) (Sysix)WorkspaceWorker (#14161) (Sysix)definePlugin and defineRule (#14159) (overlookmotel)CompositeFix::merge_fixes (#14090) (overlookmotel).ts, .mts, .cts plugin files (#14164) (overlookmotel)pnpm in tests (#14157) (overlookmotel)node in tests (#14152) (overlookmotel)jsPlugins (#14133) (overlookmotel)npm/oxlint (#14219) (overlookmotel)This release should fix a critical memory leak when import plugin is enabled in IDEs.
This release should fix a critical memory leak when import plugin is enabled in IDEs.
useEffectEvent (#14041) (Cody Olsen)vue/no-required-prop-with-default (#14066) (yefan)definePlugin apply defineRule to rules (#14065) (overlookmotel)defineRule call createOnce lazily (#14062) (overlookmotel)defineRule accept visitor with no before / after hooks (#14060) (overlookmotel)LintRunner to CliRunner (#14050) (camc314)false from before hook skips visitation in ESLint (#14061) (overlookmotel)f47f978 linter/plugins: Add definePlugin API (#14008) (overlookmotel)
definePlugin API (#14008) (overlookmotel)defineRule API (#13945) (overlookmotel)createOnce API (#13944) (overlookmotel)oxc.fmt.experimental flag (#13923) (Sysix)ServerFormatter (#13700) (Sysix)vue/no-required-prop-with-default rule (#13613) (yefan)vue/require-typed-ref rule (#13857) (yefan)engines field to require Node.js 20.19.0+ for ESM support (#13879) (Copilot)eslint/no-misleading-character-class (#13365) (Sysix)Context (#13810) (overlookmotel)oxlint to NAPI app (#13723) (overlookmotel).d.mts extension for types (#14038) (Daniel Roe)tsdown dependency to 0.15.1 (#14005) (overlookmotel)package.json (#13890) (overlookmotel).mjs files with .js (#14045) (overlookmotel)Serialize derives (#14031) (overlookmotel)Context method calls in createOnce (#14032) (overlookmotel)mpsc channel (#14011) (Sysix)ServerFormatter (#13960) (Sysix)Backend into own file (#13955) (Sysix)LSPFileSystem (#13731) (Sysix)Rc from DisableDirectives (#13924) (camc314)src-js directory (#13899) (overlookmotel)needs_linter_restart to ServerLinter (#13834) (Sysix)--experimental-js-plugins to --js-plugins (#13860) (overlookmotel)Context properties getters (#13809) (overlookmotel)LintFileResult fields (#14033) (overlookmotel)match node.kind() (#13736) (camchenry)for (... of ...) loops (#13913) (overlookmotel)Serialize at top level (#14030) (overlookmotel)test_and_snapshot_multiple_file (#13966) (Sysix)this is undefined in visit functions (#13811) (overlookmotel)oxlint locally with Mimalloc in release mode (#14034) (overlookmotel)defineRule API (#13945) (overlookmotel)engines field to require Node.js 20.19.0+ for ESM support (#13879) (Copilot)oxlint to NAPI app (#13723) (overlookmotel).mjs files with .js (#14045) (overlookmotel)--experimental-js-plugins to --js-plugins (#13860) (overlookmotel)Nothing published for this version
97c8d06 linter: Add preserve-caught-error rule (#13748) (孔辉)
preserve-caught-error rule (#13748) (孔辉)eslint/no-useless-computed-key rule (#13428) (yefan)TemplateLiterals (#13265) (Sysix)rules to allow mutable access to ctx_host in run_external_rules (#13832) (camc314)arguments in functions (#13763) (camc314)oxc.path.server (#13740) (Sysix)oxc.path.server for untrusted workspaces (#13734) (Sysix)--experimental-js-plugins CLI option (#13688) (overlookmotel)PartialEq, Eq over manual ones (#13828) (camc314)run_once over looping over all nodes (#13798) (camc314)oxlint application code into separate module (#13745) (overlookmotel)#[cfg(test)] attributes from tester module (#13714) (overlookmotel)napi/oxlint2 to napi/oxlint (#13682) (overlookmotel)let..else statements (#13690) (camchenry)arguments (#13764) (camc314)b20b56d linter: Add vue/no-multiple-slot-args rule (#13579) (Sysix)
vue/no-multiple-slot-args rule (#13579) (Sysix)vue/define-emits-declaration rule (#13567) (Sysix)vue/define-props-declaration rule (#13566) (Sysix)vue/valid-define-props rule (#13565) (Sysix)oxc.path.server (#13542) (Sysix)unicorn/no-array-reverse rule (#13530) (yefan)typeAware is disabled and run is onType (#13604) (YongSeok Jang (장용석))filename-case (#13557) (Sysix)RuleRunner impl after merge (#13642) (camc314)@ as jsdoc tags inside quotes (#13571) (Gwenn Le Bihan)eslint-plugin-vue for vue diagnostics (#13564) (Sysix)unicorn/prefer-array-flat-map ignore React.Children (#13534) (Sysix)new RegExp() with parentheses (#13448) (Sysix)typescript/no-confusing-void-expression to pedantic (#13473) (Boshen)oxlint2 Cargo feature (#13648) (overlookmotel)tokio usage from oxc_linter to napi/oxlint2 (#13647) (overlookmotel)--experimental-js-plugins CLI arg (#13658) (overlookmotel)RuleRunner trait definition (#13637) (camchenry)disable_oxlint2 Cargo feature (#13626) (overlookmotel)ExternalLinter exists (#13623) (overlookmotel)pub from modules with no exports (#13618) (overlookmotel)RawTransferFileSystem if JS plugins registered (#13599) (overlookmotel)ExternalLinter if no JS plugins registered (#13598) (overlookmotel)runner module (#13561) (camc314)static lifetime from disable directives function argument (#13492) (camc314)should_run check (#13639) (camchenry)Type-aware linting should now perform well in large monorepos. Please update your oxlint-tsgolint version to latest.
Type-aware linting should now perform well in large monorepos. Please update your oxlint-tsgolint version to latest.
enforceForTSTypes option (#13296) (Copilot)vue/valid-define-emits (#12545) (Sysix)globalThis.RegExp for regexp rules (#13395) (Sysix)oxlint and tsgolint (#13332) (Sysix)ContextSubHost hold owned Semantic (#13338) (overlookmotel)ContextSubHost (#12769) (Sysix)ContextSubHost for cross script block analyse (#12724) (Sysix)LintIgnoreMatcher (#13222) (Sysix).oxlintrc.json config file (#13334) (0xCLARITY)Cell instead of RefCell (#13330) (overlookmotel)from_tsgo_lint_diagnostic tests only with lsp feature flag (#13396) (Sysix)63abd7c oxlint: [BREAKING] Do not ignore hidden dot directories by default (#13194) (Sysix)
oxc.typeAware option for workspaces (#13147) (Sysix)typeAware option (#13146) (Sysix)ignorePatterns with gitignore syntax (#13221) (Sysix)oxlint-tsgolint truly optional (#13153) (Boshen)tsgolint suggestion for Message::from_tsgo_lint_diagnostic (#13255) (Sysix)TsGoLintState when --silent is used (#13199) (Sysix)source_text of already opened files for TsGoLintState (#13197) (Sysix)eslint/func-style rule (#13171) (leaysgur)Message::from_tsgo_lint_diagnostic (#13254) (Sysix)oxlint-tsgolint truly optional (#13153) (Boshen)Announcing Oxlint Type-Aware Preview
Announcing Oxlint Type-Aware Preview
ignorePatterns for nested configs (#12210) (Sysix)top-level style config (#13023) (Li Wei)jsx-a11y/tabindex-no-positive (#12963) (Sysix)oxlint --init (#13121) (Boshen)Allocator across threads (#13032) (overlookmotel)TsGoLintDiagnostic into Message (#13144) (Sysix)message_to_message_with_position helper function (#13140) (Sysix)TsGoLintState.lint method (#13131) (Sysix)napi/oxlint2 (#13132) (overlookmotel)LintServiceOptions into TsGoLintState (#13127) (Sysix)tsgolint.rs to oxc_linter crate (#13126) (Sysix)AllocatorPool in Runtime::new (#13106) (overlookmotel)CliRunResult from TsGoLintState (#13119) (Sysix)TsGoLintInput creation into own function (#13118) (Sysix)Allocator from AllocatorGuard (#13073) (overlookmotel)is_jsx_fragment function to shared utils (#13093) (Copilot)c461a86 oxlint: Fix type-aware linting crash when Vue files are present (#13007) (Copilot)
tsgolint.CMD under windows (#12932) (Sysix)DiagnosticService as a parameter for TsGoLintState.lint() (#13004) (Sysix)x.ys when replacing var (#12990) (camc314)8c57153 npm/oxlint: Fix oxlint-tsgolint version range for yarn (Boshen)
oxlint-tsgolint version range for yarn (Boshen)tsgolint (#12886) (camchenry)react/jsx-curly-brace-presence report for JSXAttributeItem with quote char inside (#12888) (Sysix)react/jsx-curly-brace-presence report for JSXAttributeItem with padding space (#12887) (Sysix)unnecessary_unwrap lint (#12908) (camc314)expect calls (#12906) (camc314)fast-glob instead of globset for GlobSet (#12870) (shulaoda)fast-glob instead of globset (#12867) (shulaoda)fast-glob instead of globset (#12868) (shulaoda)--type--aware test for big-endian (#12911) (Sysix)--type-aware test on big-endian and skip for windows (#12910) (Sysix)--type-aware snapshot + add non tsgolint rule (#12909) (Sysix)expect call in for loop (#12907) (camc314)oxlint-tsgolint version range for yarn (Boshen)fast-glob instead of globset for GlobSet (#12870) (shulaoda)9c4bd42 linter/jest/expect-expect: Add support for expect in array expressions (#12877) (camc314)
Intl.DateTimeFormat (#12878) (camc314)tsgolint integration (#12485) (camchenry)0eaebcd linter/jest/no-deprecated-functions: Update Default implementation for JestConfig (#12785) (camc314)
eslint/prefer-destructuring rule (#12721) (yefan)tsConfigPath option (#12484) (Sysix)countVoidThis option in max-params rule (#12604) (yefan)could_be_error (#12819) (camc314)PreferStructuredCloneConfig (#12791) (camc314)PreferObjectFromEntriesConfig (#12790) (camc314)NoThisAliasConfig (#12789) (camc314)JsxFilenameExtensionConfig (#12788) (camc314)PreferLowercaseTitleConfig (#12787) (camc314)NoLargeSnapshotsConfig (#12786) (camc314)JestConfig (#12785) (camc314)NoAnonymousDefaultExport config (#12784) (camc314)eslint/no-else-return (#12762) (Sysix)eslint/no-unneeded-ternary (#12761) (Sysix)eslint/new-cap (#12760) (Sysix)array-type handling of default: 'array-simple' (#12607) (yefan)lazy_static with std::sync::LazyLock (#12822) (Copilot)ExternalRuleId in OxlintOverrides not raw names (#12502) (camc314)u32 to keep track of last fixed source text position (#12696) (Sysix)Scoping::symbol_is_unused (#12666) (overlookmotel)Message.move_offset (#12647) (Sysix)Message.move_offset (#12595) (Sysix)TSImportType (#12800) (camc314)Tester::test_fix mehod (#12754) (Sysix)3489ce0 linter: Add typescript-eslint/explicit-module-boundary-types (#12402) (Don Isaac)
typescript-eslint/explicit-module-boundary-types (#12402) (Don Isaac)eslint/yoda (#12540) (Sysix)unicorn/switch-case-braces (#12539) (Sysix)addEventListener (#12537) (Copilot)ExternalLinterLintFileCb type (#12572) (overlookmotel)run to lintFile (#12567) (overlookmotel)ExternalLinter::new (#12566) (overlookmotel)#[must_use] from LintService::with_* methods (#12560) (overlookmotel)Runner trait (#12559) (overlookmotel)vue and regex to BuiltinLintPlugins (#12542) (Sysix)Semantic (#12514) (overlookmotel)Eq and Ord for InfoPosition (#12505) (overlookmotel)RawTransferMetadata (#12483) (overlookmotel)rules to ruleNames (#12477) (overlookmotel)vue and regex to BuiltinLintPlugins (#12542) (Sysix)NOTE: While custom JS plugins are mentioned in the release notes, they are not yet supported in this release. We are actively building them out.
NOTE: While custom JS plugins are mentioned in the release notes, they are not yet supported in this release. We are actively building them out.
unicorn/prefer-number-properties for Infinity (#12445) (yefan)unicorn/catch-error-name wasn't using the ignore property (#12446) (Parbez)TSNonNullExpression in unicorn/prefer-array-find (#12400) (Sysix)svelte files (#12390) (Sysix)--rules (#12163) (Sysix).flat(1.0) (#12360) (overlookmotel)source_len field to RawTransferMetadata (#12383) (overlookmotel)RawTransferMetadata in oxc_linter crate (#12382) (overlookmotel)&Allocator into Linter::run_external_rules (#12374) (overlookmotel)oxlint2 feature consistent (#12369) (overlookmotel)Allocator and AllocatorGuard (#12332) (overlookmotel)ModuleContentOwner abstraction (#12331) (overlookmotel)RawTransferMetadata2 type (#12428) (overlookmotel)4f50750 linter: Load custom JS plugins configured in overrides (#12324) (camc314)
oxlint2/disable_oxlint2 feature flags (#12130) (camc314)LintPlugins to store builtin + custom plugins (#12117) (camc314).oxlintrc.json file for ignorePatterns (#12171) (Sysix)no-duplicate-imports rule (#12192) (yefan)import plugin (#12157) (overlookmotel)AstKind for AssignmentTarget (#12252) (Tyler Earls)TemplateLiteral::quasi to TemplateLiteral::single_quasi (#12266) (Dunqing)quasi in TemplateLiteral::quasi (#12265) (Dunqing)u32 for IDs (#12243) (overlookmotel)specifiers to paths (#12241) (overlookmotel)LintService instead of Linter (#12016) (Sysix)LintServiceOptions.paths to LintService.with_paths (#12015) (Sysix)plugin_name to plugin_specifier (#12148) (overlookmotel)to_string instead of into (#12147) (overlookmotel)load_external_plugin by both oxlint2 and disable_oxlint2 features (#12141) (overlookmotel)tokio dependency optional (#12140) (overlookmotel)force_test_reporter feature for consistent graphical outputs (#12133) (camc314)AstKind for PropertyKey (#12108) (camchenry)AstKind for AssignmentTargetPattern (#12105) (camchenry)LintPlugins to BuiltinLintPlugins (#12116) (camc314)unicorn/require-post-message-target-origin (#12110) (shulaoda)Vec (#12248) (overlookmotel)Entry API + remove temp Vec (#12247) (overlookmotel)Resolver unless required (#12142) (overlookmotel)LintPlugins to store builtin + custom plugins (#12117) (camc314)All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
3f0e03e linter: Fix inconsistent behavior in no-duplicate-imports rule (#12051) (yefan)
no-duplicate-imports rule (#12051) (yefan)--symlinks (#12048) (Boshen)RuntimeFileSystem::write_file take &str (#12075) (overlookmotel)AstKind for ModuleDeclaration (#12022) (camchenry)AstKind for TSTypeName (#11990) (camchenry)nextjs/no-page-custom-font (#12092) (Sysix)nextjs/no-script-component-in-head (#12091) (Sysix)nextjs/no-head-import-in-document (#12061) (Sysix)nextjs/no-head-element (#12059) (Sysix)nextjs/no-title-in-document-head (#12065) (Sysix)nextjs/no-document-import-in-pages (#12064) (Sysix)AllButDefault or SideEffect in eslint/no-duplicate-imports (#12093) (Sysix)nextjs/no-head-element (#12062) (Sysix)nextjs/no-head-import-in-document rule (#12060) (Sysix)unicode-segmentation crate with icu_segmenter (#12063) (Sysix)899b8b4 linter: Allow namespace re-export in import/no-cycle (#11995) (Boshen)
import/no-cycle (#11995) (Boshen)consistent-type-imports when the source contains a { (#12002) (camc314)--version exit code be 0 (#11986) (camc314)AstKind for AssignmentTargetPropertyIdentifier, AssignmentTargetPropertyProperty (#11985) (camc314)AstKind for AssignmentTargetRest (#11984) (camc314)RulesCache (#11981) (camc314)AstKind for BindingProperty (#11974) (camc314)8e1573d linter: Add id-length rule from eslint (#11887) (Nicholas Rayburn)
import/prefer-default-export rule (#11891) (yefan)unicorn/consistent-function-scoping (#11960) (Sysix)import/no-absolute-path (#11959) (Sysix)typescript/no-namespace default values (#11958) (Sysix)eslint/no-redeclare (#11911) (Sysix)eslint/max-lines-per-function (#11910) (Sysix)eslint/max-nested-callbacks (#11909) (Sysix)eslint/max-depth (#11908) (Sysix)no-extend-native (#11888) (camchenry)jsx-a11y/label-has-associated-control default values (#11832) (Sysix)oxc/no-barrel-file (#11838) (Sysix)eslint/id-length (#11976) (camc314)ContextHost::with_config (#11970) (camc314)extensions (#11938) (camc314)import/no-duplicates to style category (#11929) (Sysix)unicorn/no-nested-ternary to style category (#11928) (Sysix)LintPluginOptions (#11919) (camc314)AstKind for MemberExpression and replace with StaticMemberExpression and PrivateFieldExpression (#11767) (camchenry)AstKind for ComputedMemberExpression (#11766) (camchenry)typescript/no-this-alias (#11963) (Sysix)jest/valid-title options into a codeblock (#11961) (Sysix)nextjs/no-document-import-in-page check the filepath before running the rule (#11962) (Sysix)CompactStr (#11885) (overlookmotel)1a54184 linter: Add fix for unused disable directive (#11708) (Sysix)
read_to_arena_str function (#11823) (overlookmotel)8c341a2 sema/check: Ts setters cannot have initializers (#11695) (Don Isaac)
oxc.requireConfig configuration (#11700) (Sysix)unusedDisableDirectives option (#11645) (Sysix)console.* methods are used as args to functions (#11790) (camc314)var statement as body of for loop (#11632) (overlookmotel)TSArrayType as AstKind (#11745) (camchenry)typescript/array-type rule (#11665) (yefan)Arc from AllocatorPool (#11760) (overlookmotel)consistent-function-scoping on .d.ts files (#11739) (camc314)no-undef (#11706) (Sysix)1181018 linter: Add eslint/no-extra-bind rule (#11588) (yefan)
interface I extends (typeof T) (#11610) (Boshen)declare function foo() {} (#11606) (Boshen)additional_hooks option to exhaustive-deps (#11602) (camc314)TSModuleDeclaration parsing (#11605) (Boshen)eslint/no-lonely-if (#11550) (Ulrich Stark)There no notable changes from v0.18.1.
There no notable changes from v0.18.1.
6d68568 linter: False negative in typescript/array-type (#11574) (camc314)
MessageWithPosition to Diagnostic with less allocations (#11561) (Sysix)bd9dd88 linter: [BREAKING] Add more info to json reporter (#11524) (camc314)
allowArrowFunctions option for eslint/func-style (#11455) (yefan)eslint/no-loss-of-precision (#11437) (magic-akari)unicorn (#11405) (shulaoda)ServerLinter (#11503) (Sysix)workspace/didChangeConfiguration call (#11462) (Sysix)OxlintRules::override_rules (#11510) (camc314)fixAll on save (#11448) (Sysix)ead5309 linter: [BREAKING] Remove react from default plugin set (#11382) (camc314)
unicorn/no-for-loop over typescript/prefer-for-of (#11354) (camc314)jsx/no-useless-fragment (#10800) (Cam McHenry)react/forward-ref-uses-ref (#11375) (Sysix)FrameworkFlags::React to decide whether rules should run (#11383) (camc314)TryFrom aria (#11350) (camc314)jest/no-large-snapshots error easier to comprehend (#11294) (Ulrich Stark)jest/no-large-snapshots (#11291) (Ulrich Stark)jest/no-restricted-matchers (#11292) (Ulrich Stark)Arc<RwLock> instead of Mutex for workspace workers (#11328) (Sysix)globals (#11333) (shulaoda)unicorn/text-encoding-identifier-case (#11386) (shulaoda)Arc::clone in linter runtime (#11388) (Boshen)react/forward-ref-uses-ref are suggestions (#11376) (Sysix)diagnostics_with_multiple_fixes to LintContext (#11357) (Sysix)PossibleFixes instead of Fix for Messages (#11295) (Sysix)PossibleFixes instead of Option<Fix> (#11284) (Sysix)unicorn/throw-new-error (#11364) (shulaoda)eslint/no-fallthrough (#11331) (Ulrich Stark)eslint/no-duplicate-imports (#11320) (Ulrich Stark)eslint/no-void (#11285) (shulaoda)declare_oxc_lint (#11400) (camc314)eslint/no-duplicate-imports shouldn't report the same span (#11324) (Ulrich Stark)0c1f382 language_server: Watch for files inside .oxlintrc.json extends (#11226) (Sysix)
.oxlintrc.json extends (#11226) (Sysix)consistent-type-imports (#11171) (DonIsaac)allow_regex_characters option to no-useless-escape (#11139) (camc314)test['skip'] (#11128) (shulaoda)eslint/max-lines and eslint/max-lines-per-function (#11242) (Ulrich Stark)codegen in jest/no-untyped-mock-factory (#11097) (shulaoda)codegen in eslint/prefer-numeric-literals (#11099) (shulaoda)codegen in jest/prefer-to-have-length (#11100) (shulaoda)codegen in vitest/prefer-to-be-object (#11086) (shulaoda)codegen in unicorn/require-number-to-fixed-digits-argument (#11085) (shulaoda)codegen (#11127) (shulaoda)nextjs/no_sync_script (#11166) (Aman Desai)eslint/no-bitwise (#11126) (Ulrich Stark)eslint/default-case (#11125) (Ulrich Stark)eslint/no-debugger (#11103) (Ulrich Stark)eslint/no-constructor-return (#11102) (Ulrich Stark)ServerLinter.extended_paths property (#11223) (Sysix)initialized function (#11077) (Sysix)didChangeWatchedFiles.dynamicRegistration (#11075) (Sysix)ConfigStoreBuilder.extended_paths property (#11222) (Sysix)eslint/no-useless-constructor (#11221) (Ulrich Stark)AllowWarnDeny (#11195) (camc314)Span::contains_inclusive (#11133) (Ulrich Stark)eslint/no-console (#11101) (Ulrich Stark)codegen (#11130) (shulaoda)expr fragment specifier (#11113) (overlookmotel)078bf0b language_server: Better fallback handling when passing invalid Options values (#10930) (Sysix)
Options values (#10930) (Sysix)reportVarsOnlyUsedAsTypes (#11009) (camc314)eslint/no_constant_condition (#10949) (Ulrich Stark)workspace/didChangeConfiguration when some workspace configuration is effected (#11017) (Sysix)patterns and side effects (#11027) (camc314)gitlab to linter --help docs (#10932) (camc314)no_opt_arch feature on linux aarch64 (#11053) (Boshen)@ as jsdoc tags inside [/] (#10919) (camc314)initialize and workspace/didChangeConfiguration (#10890) (Sysix)Arc for diagnostic_report_map (#10940) (Sysix)RuleWithSeverity (#11051) (camchenry)eslint/func-names (#10923) (camc314)NameSpaceModule to NamespaceModule (#10917) (Dunqing)e1bc037 language_server: Request for workspace configuration when client did not send them in initialize (#10789) (Sysix)
initialize (#10789) (Sysix)workspace/didChangeConfiguration (#10871) (Sysix)initialize response (#10810) (Sysix)withResolvers in prefer-await-to-then (#10896) (camc314)no-shadow-restricted-names (#10827) (camc314)simdutf8 when reading files from file system (#10814) (Sysix)no_restricted_imports (#10914) (Boshen)OnceCell from WorkspaceWorker.root_uri (#10898) (Sysix)ServerLinter into a separate call (#10776) (Sysix)nested_configs to ServerLinter (#10775) (Sysix)gitignore_glob to ServerLinter (#10762) (Sysix)IsolatedLintHandlerFileSystem (#10830) (Sysix)ServerLinter to ServerLinter (#10761) (Sysix)TesterFileSystem for Runtimes filesystem (#10829) (Sysix)63f02a8 linter: Add react/forward_ref_uses_ref (#10506) (x6eull)
lang is not js / ts (#10740) (Boshen)isNan and isFinite as dangerous fixes in unicorn/prefer-number-properties (#10706) (Sysix)satisfies (#10668) (camc314)consistent-assert to pedantic (#10665) (camc314)eslint/no-unused-vars when calling inside sequence expression (#10646) (Ulrich Stark)oxc.flags are not related to oxlint (#10645) (Sysix)init_nested_configs (#10728) (Sysix)53394a7 linter: Add auto-fix for eslint/require-await (#10624) (yefan)
[ or ] (#10622) (Alexander S.)import/no-cycle (#10606) (Ulrich Stark)workspace/didChangeConfiguration request when the server needs a restarts (#10550) (Sysix)Backend (#10497) (Sysix)bb8a078 language_server: Use linter runtime / support import plugin (#10268) (Sysix)
eqeqeq to always be dangerously fixable (#10499) (camchenry)source.fixAll.oxc is the context (#10428) (Sysix)eslint/no-redeclare (#10402) (shulaoda)IsolatedLintHandler (#10406) (Sysix)phf_set with array for DOM_PROPERTIES_NAMES (#10501) (shulaoda)phf_set with array for DOM_ATTRIBUTES_TO_CAMEL (#10500) (shulaoda)phf_set with array for ATTRIBUTE_TAGS_MAP (#10498) (shulaoda)phf_set with array in jsdoc/check-tag-names (#10485) (shulaoda)phf_set with array in jsx-a11y/autocomplete-valid (#10484) (shulaoda)phf_set with array in globals.rs (#10483) (shulaoda)phf_set with array in unicorn/prefer-add-event-listener (#10451) (dalaoshu)phf_set with array in unicorn/no-useless-undefined (#10450) (dalaoshu)phf_set with array in nextjs/no-unwanted-polyfillio (#10452) (shulaoda)phf_set with array in utils/vitest (#10427) (shulaoda)phf_set with array in unicorn/prefer-type-error (#10426) (shulaoda)phf_set with array in react/void-dom-elements-no-children (#10425) (shulaoda)phf_set with array in unicorn/new-for-builtins (#10424) (shulaoda)phf_set with array in utils/mod.rs (#10405) (shulaoda)phf_set with array in unicorn/prefer-set-has (#10398) (shulaoda)0370363 language_server: Switch tower-lsp to tower-lsp-server (#10298) (Boshen)
tower-lsp to tower-lsp-server (#10298) (Boshen)import/group-exports rule (#10330) (yefan)no-control-regex (#10345) (Cam McHenry)phf_set with array in unicorn/prefer-native-coercion-functions (#10384) (shulaoda)phf_set with array in unicorn/no-array-for-each (#10377) (dalaoshu)phf_set with array in unicorn/prefer-spread (#10376) (dalaoshu)phf_set with array in react/jsx-key (#10375) (dalaoshu)phf_set with array in utils::jest (#10369) (shulaoda)phf_set with array in utils::express (#10370) (shulaoda)binary_search for arrays with more than 7 elements (#10357) (shulaoda)phf_set with array in react/exhaustive-deps (#10337) (shulaoda)phf_set with array in nextjs/no-typos (#10336) (shulaoda)phf_set with array in utils::promise (#10335) (shulaoda)phf_set with array in jest/prefer-jest-mocked (#10302) (shulaoda)phf_set with array in jsdoc/check-access (#10303) (shulaoda)phf_set with array in jsdoc/empty-tags (#10304) (shulaoda)phf_set with array in jsdoc/require-returns (#10305) (shulaoda)phf_set with array in jsx-a11y/no-noninteractive-tabindex (#10306) (shulaoda)phf_set with array in jest/no-restricted-matchers (#10297) (shulaoda)phf_set with array in eslint/array-callback-return (#10296) (shulaoda)phf_set with array in react/no-array-index-key (#10294) (shulaoda)phf_set with array in eslint/valid-typeof (#10293) (shulaoda)jsdoc/require-yields and jsdoc/require-returns (#10383) (shulaoda)AriaProperty enum (#10325) (camchenry)import plugin integration (#10364) (Sysix)Reduced Oxlint binary size from 6.32 MB to 5.8 MB.
Reduced Oxlint binary size from 6.32 MB to 5.8 MB.
fix_kind flag (#10226) (Sysix)jsdoc/require-param: skip rule if any doc has @type tag (#10282) (Cam McHenry)rule_id for some diagnostics formats (#10251) (Alexander S.)no-restricted-imports allow combination of paths and patterns (#10224) (Sysix)react/no-children-props only when react framework is found (#10225) (Sysix)Display impl for ConfigBuilderError (#10239) (overlookmotel)eslint/eqeqeq add "null" & "smart" options (#10258) (Jacob Smith)da6336c language_server: [BREAKING] Remove enable configuration, the client should shutdown the server instead (#9990) (Sysix)
enable configuration, the client should shutdown the server instead (#9990) (Sysix)multipleFileExtensions option for unicorn/filename-case (#10118) (shulaoda)ignore option for unicorn/filename-case (#10107) (shulaoda)initializationOptions for a possible restart (#10121) (Sysix)didChangeConfiguration request to the server when it is shutdown (#10084) (Sysix)phf_set with array in eslint/func-names (#10119) (shulaoda)PRE_DEFINE_VAR and use array format (#10079) (shulaoda)LanguageClient can be undefined (#10112) (Sysix)onConfigChange async (#10110) (Sysix)null as a default value for configPath (#10047) (Sysix)unicorn/filename-case (#10117) (shulaoda)oxc_ast::ast module directly (#10100) (Ulrich Stark 🦀)FormalParameter::has_modifier to detect parameter properties (#10097) (Ulrich Stark 🦀)oxc.fixAll command (#10045) (Sysix)1b41cb3 linter: Add suggested fix to unicorn/prefer-structured-clone (#9994) (Ulrich Stark 🦀)
unicorn/prefer-structured-clone (#9994) (Ulrich Stark 🦀)typescript/no_unnecessary_parameter_property_assignment and fix false positive (#9973) (Ulrich Stark 🦀)import/no-empty-named-blocks (#9974) (shulaoda)typescript-eslint/no-non-null-asserted-optional-chain (#9993) (camchenry)eslint/no-redeclare (#9976) (shulaoda)lazy_static (#10007) (Boshen)lazy-regex (#10004) (Boshen)SymbolFlags::Function for function id (#7479) (Dunqing)oxc.toggleEnable command (#9987) (Sysix)oxc.showOutputChannel command test (#9986) (Sysix)offset_to_position (#9978) (camchenry)bfb416c editor: [BREAKING] Enable nested configuration by default (#9929) (Sysix)
unicorn/no-document-cookie as restriction (#9933) (camchenry)--format options (#9931) (Sysix)0973356 editor: Support nested configs (#9743) (Nicholas Rayburn)
--report-unused-disable-directive (#9223) (1zumii)await using (#9854) (overlookmotel)exhaustive-deps report longest dependency (#9891) (overlookmotel)} and > appear in JSXText (#9777) (Boshen)IfStmt test when building cfg (#9864) (camc314)promise/no-nesting (#9808) (therewillbecode)unicorn/no-abusive-eslint-disable (#9834) (shulaoda)typescript-prefer-as-const (#9805) (therewillbecode)jest-prefer-hooks-in-order (#9892) (therewillbecode)constructor-super (#9877) (Sysix)ast_util::is_method_call (#9874) (shulaoda)unicorn/no-anonymous-default-export (#9847) (dalaoshu)unicorn/new-for-builtins (#9804) (dalaoshu)jemallocator (#9823) (Boshen)225e266 linter: [BREAKING] Enable --experimental-nested-config by default and add --disable-nested-config option (#9760) (camchenry)
--experimental-nested-config by default and add --disable-nested-config option (#9760) (camchenry)eslint/no-lonely-if (#9660) (therewillbecode)jsx-a11y/anchor-ambiguous-text diagnostic message (#9789) (1zumii)unicorn/catch-error-name (#9763) (shulaoda)eslint-valid-typeof (#9797) (therewillbecode)oxc/bad-min-max-func (#9791) (Flo)eslint-no-async-promise-executor (#9778) (therewillbecode)eslint-no-class-assign (#9779) (therewillbecode)eslint-no-self-assign (#9768) (therewillbecode)typescript-no-unnecessary-type-constraint (#9798) (therewillbecode)is_lexical when checking for lexical decl (#9781) (camc314)unicorn-no-date-clone (#9767) (therewillbecode)typescript-no-misused-new (#9766) (therewillbecode)unicorn/filename-case (#9762) (shulaoda)nextjs-no-async-client-component (#9764) (therewillbecode)This release introduces a new multi-file analysis runtime that addresses numerous bugs reported by the import plugin.
This release introduces a new multi-file analysis runtime that addresses numerous bugs reported by the import plugin.
eslint-no-array-constructor (#9659) (therewillbecode)OsStr for faster path comparison and hashing (#9685) (Boshen)bad-min-max-function (#9722) (therewillbecode)eslint-operator-assignment (#9721) (therewillbecode)jest/no-alias-methods (#9694) (therewillbecode)0815fe8 linter: Add promise/no-return-wrap (#9537) (therewillbecode)
promise/no-return-wrap (#9537) (therewillbecode)promise/prefer-catch (#9488) (therewillbecode)extends configs (#9475) (camchenry)plugins to be extended with extends (#9473) (camchenry)rules via the extended config files (#9308) (camchenry)extends property in oxlintrc (#9217) (camchenry)TSInstantiationExpression in SimpleAssignmentTarget (#9586) (Boshen)eslint/no-unsafe-optional-chaining (#9632) (therewillbecode)unicorn/escape-case (#9638) (shulaoda).vue, .astro and .svelte files (#9484) (Sysix)eslint-guard-for-in (#9658) (therewillbecode)eslint-no-console (#9612) (therewillbecode)typescript-no-extra-non-null-assertion (#9609) (therewillbecode)typescript-no-non-null-asserted-nullish-coalescing rule (#9610) (therewillbecode)eslint-no-shadow-restricted-names (#9597) (therewillbecode)eslint-no-func-assign (#9596) (therewillbecode)typescript-consistent-type-definitions (#9575) (therewillbecode)typescript-no-namespace (#9545) (therewillbecode)eslint/no-duplicate-imports (#9627) (therewillbecode)eslint/no-self-assign (#9635) (therewillbecode)ctx directly (#9624) (Boshen)unicorn/escape-case (#9568) (shulaoda)unicorn/error-message (#9560) (shulaoda)promise/no-nesting (#9544) (therewillbecode)7bb0121 linter: Add react/no-namespace (#9404) (Mikhail Baev)
react/no-namespace (#9404) (Mikhail Baev)promise/no-nesting (#9345) (Tom)eslint/no-spaced-func (#9360) (Tom)curly rule (#8123) (Yuichiro Yamashita)unicorn/consistent-date-clone (#9346) (Amol Bhave)import/no-absolute-path (#9500) (camc314)eslint/curly (#9471) (Kevin Deng 三咲智子)no-absolute-path tests on windows (#9435) (Cameron)no-restricted-imports use right span for exports statements (#9442) (Sysix)unicorn/no-invalid-fetch-options (#9416) (Tom)eslint/radix look into globals config (#9407) (Sysix)eslint/no-object-constructor look into globals config (#9406) (Sysix)no-restricted-imports (#9440) (Sysix)eslint/no-new (#9423) (Tom)no-restricted-imports to category restriction (#9443) (Sysix)typescript/explicit-function-return-type (#9439) (Tom)eslint/no-spaced-func (#9419) (shulaoda)javascript-globals crate (#9412) (Boshen)eslint/no-unsafe-negation (#9362) (dalaoshu)unicorn/empty-brace-spaces (#9341) (dalaoshu)unicorn/consistent-existence-index-check (#9339) (dalaoshu)eslint/no-template-curly-in-string (#9090) (dalaoshu)914dd46 linter: Add eslint/max-depth (#9173) (ikkz)
eslint/no-eval to correctness (#9231) (dalaoshu)import-x plugin name (#9074) (Sysix)fixer for unicorn/catch-error-name (#9165) (dalaoshu)clippy::significant_drop_in_scrutinee warning (#9234) (Boshen)eslint/no-eval (#9312) (dalaoshu)clippy::too_long_first_doc_paragraph (#9237) (Boshen)eval by default for eslint/no-eval (#9302) (dalaoshu)unicorn/consistent-function-scoping (#9163) (dalaoshu)d93bf0e linter: Implement func-style rule (#8977) (yefan)
env and globals in overrides configuration (#8915) (Sysix)--format=stylish instead of offset + length (#9136) (Sysix)unicorn/new-for-builtins do not look into globals (#9146) (Sysix)no-constant-binary-expression do not look into globals (#9145) (Sysix)promise/avoid-new do not look into globals (#9144) (Sysix)no-new-native-nonconstructor do not look into globals (#9143) (Sysix)symbol-description do not look into globals (#9142) (Sysix)prefer-object-spreads do not look into globals (#9141) (Sysix)valid-typeof do not check for globals (#9140) (Sysix)no-restricted-globals: do not check for globals entries (#9139) (Sysix)no-console when the globals.console is off (#9138) (Sysix)jest/no-conditional-expect (#9053) (dalaoshu)no-restricted-imports: improve diagnostics (#8113) (Alexander S.)no-global-assign look into globals config (#8963) (Sysix)is_reference_to_global_variable (#8920) (dalaoshu)jsx-a11y/heading-has-content (#9089) (dalaoshu)d6d80f7 linter: Add suggestion fixer for eslint/no-iterator (#8894) (dalaoshu)
eslint/no-iterator (#8894) (dalaoshu)oxc.fixAll workspace command (#8858) (Marek Vospel)url crate (#8833) (camchenry)1a41181 linter: Implement eslint/prefer-object-spread (#8216) (tbashiyy)
eslint/prefer-object-spread (#8216) (tbashiyy)no-nested-ternary rule anymore (#8600) (dalaoshu)LintCommandInfo for CliRunResult::LintNoFilesFound (#8714) (Sysix)ignorePatterns does not work when files are provided as command arguments (#8590) (dalaoshu)oxc/no-async-await (#8721) (camchenry)Promise in typescript/array-type rule (#8702) (Rintaro Itokawa)259a47b (#8819) (Alexander S.)eslint/eqeqeq (#8798) (dalaoshu)eslint/eqeqeq (#8790) (dalaoshu)LintResult (#8712) (Sysix)all_rules output to trait (#8710) (Sysix)GraphicalReporter (#8683) (Sysix)CliRunResult::InvalidOption to outside and use more Enums for different invalid options (#8778) (Sysix)CliRunResult instead of passing ExitCode to it (#8777) (Sysix)CliRunResult::PathNotFound (#8775) (Sysix)CliRunResult to snapshot (#8780) (Sysix)79ba9b5 linter: Added support to run in Node.JS legacy versions (#8648) (Luiz Felipe Weber)
promise/prefer-await-to-then rule (#8674) (Neil Fisher)endColumn output (#8647) (Alexander S.)ref / ref mut syntax (#8643) (overlookmotel)cow_to_ascii_lowercase instead cow_to_lowercase (#8678) (Boshen)Atoms (#8641) (overlookmotel)Copy on Atom (#8596) (branchseer)findBinary to separate files (#8605) (Alexander S.)01ac773 linter: Support ignoreTypeOfTestName for jest/valid-title (#8589) (dalaoshu)
ignoreTypeOfTestName for jest/valid-title (#8589) (dalaoshu)eslint/prefer-promise-reject-errors (#8254) (tbashiyy)--init cli option (#8453) (Tapan Prakash)eslint/no-lone-blocks (#8587) (dalaoshu)no-restricted-imports support missing options (#8076) (Alexander S.)default_param_last rule to handle optional parameters (#8563) (Tapan Prakash)prefer_promise_reject_errors (#8468) (Yuichiro Yamashita)AstTypes instead of AstKinds (#8522) (overlookmotel)eslint/no-lone-blocks (#8588) (dalaoshu)prefer-each from vitest to jest + remapping (#8448) (Alexander S.)Visit::enter_node usage (#8538) (overlookmotel)Visit::enter_node usage (#8537) (overlookmotel)Span (#8297) (overlookmotel)457aa31 linter: Implement no-lone-blocks rule (#8145) (Yuichiro Yamashita)
no-lone-blocks rule (#8145) (Yuichiro Yamashita)get_identifier_reference of TSType and TSTypeName (#8273) (Dunqing)unicorn/prefer-spread and eslint/prefer-spread into own rules (#8329) (Alexander S.)LintBuilder to prep for nested configs (#8034) (camc314)0e168b8 linter: Catch more cases in const-comparisons (#8215) (Cameron)
statement_span to ModuleRecord/ImportEntry (#8195) (Alexander S.)eslint/new-cap (#8146) (Alexander S.)ignorePattern config for windows (#8214) (Alexander S.)ed75e42 semantic: [BREAKING] Make SymbolTable fields pub(crate) instead of pub (#7999) (Boshen)
pub(crate) instead of pub (#7999) (Boshen)eslint/no-extra-label (#8181) (Anson Heung)eslint/no-multi-assign (#8158) (Anson Heung)jsx-a11y/no-noninteractive-tabindex (#8167) (Tyler Earls)eslint/vars-on-top (#8157) (Yuichiro Yamashita)eslint/prefer-rest-params (#8155) (Yuichiro Yamashita)eslint/no-nested-ternary (#8150) (Yuichiro Yamashita)import/named to nursery (#8068) (Boshen)^1.93.0 (#8182) (Pavel Smirnov)no_unused_vars rule (#8170) (Yuichiro Yamashita)react/rules-of-hook by file extension (#8168) (Alexander S.)react/rules-of-hooks for vue and svelte files (#8165) (Alexander S.)typescript/ban-tslint-comment (#8094) (dalaoshu)no-restricted-imports support option patterns with group key (#8050) (Alexander S.)no-restricted-imports: support option allowImportNames (#8002) (Alexander S.)no-restricted-imports: fix option "importNames" (#7943) (Alexander S.)eslint/max-lines in diagnostics (#7962) (Dmitry Zakharov)UnresolvedReferences in allocator (#8046) (Boshen)exported_bindings_from_star_export lazily (#8062) (Boshen)RwLock<FxHashMap> instead of FxDashMap for module record data (#8061) (Boshen)flat.rs to config.rs (#8033) (camc314)ConfigStore to prep for nested configs (#8032) (camc314)with_rules and set_rule methods (#8029) (camc314)git.rs (#7990) (Boshen)Walkdir (#7989) (Boshen)Bindings to a plain FxHashMap (#8019) (Boshen)25ddb35 linter: Add the import/no_named_default rule (#7902) (Guillaume Piedigrossi)
get_element_type to resolve more element types (#7885) (dalaoshu)unicorn/no-useless-spread (#7940) (dalaoshu)no-restricted-imports (#7921) (Alexander S.)prefer-regexp-test (#7898) (Cameron)jsx-a11y/label-has-associated-control (#7881) (dalaoshu)ScopeFlags::Modifier from parent scope (#7932) (Dunqing)cargo +nightly fmt (#7877) (Boshen)Fix the previous broken release caused by https://github.com/softprops/action-gh-release/issues/555
Fix the previous broken release caused by https://github.com/softprops/action-gh-release/issues/555
38b1c2e editor: Create a command to apply all auto-fixes for the current active text editor (#7672) (Nicholas Rayburn)
typescript/no_this_alias (#7836) (Boshen)export default references a type alias binding (#7813) (Dunqing)39b9c5d linter: [BREAKING] Remove unmaintained security plugin (#7773) (Boshen)
expectTypeOf, assert and assertType in vitest/expect-expect (#7742) (Yuichiro Yamashita)eslint/yoda (#7719) (dalaoshu)serde features (#7738) (Boshen)aho-corasick (#7718) (Boshen)react-jsx-uses-vars rules to no_unused_vars (#7731) (Tyler Earls)import/namespace (#7723) (dalaoshu)fd0935c linter: Change react/rules-of-hooks category to pedantic (#7691) (Boshen)
react/rules-of-hooks category to pedantic (#7691) (Boshen).js to .ts when resolving with tsconfig.json (#7675) (Boshen)const-comparisons for more cases (#7628) (camc314)ExportEntry::is_type (#7676) (Boshen).oxlintignore (#7566) (dalaoshu)yoda (#7679) (camc314)no-undef (#7670) (Boshen)no-unused-expressions from TS to eslint (#7624) (camc314)BigIntLiteral::raw field (#7660) (overlookmotel)is_same_reference to is_same_expression (#7654) (camc314)get_inner_expression in const-comparisons (#7627) (camc314)ModuleRecord::not_esm to has_module_syntax (#7579) (Boshen)ModuleRecord::export_default (#7578) (Boshen)ModuleRecord::exported_bindings_duplicated because it is a syntax error (#7577) (Boshen)ModuleRecord::export_default_duplicated because it is a syntax error (#7576) (Boshen)ModuleRecord (#7568) (Boshen)Your coding agent can read these notes before it upgrades. Set up the MCP server →