Oxc Release Notes

Last updated: Jan 19, 2026

  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxlint v1.41.0 & oxfmt v0.26.0

    Oxlint and Oxfmt get fresh releases with key fixes and polish. Oxlint v1.41.0 boosts performance and updates rule docs, while Oxfmt v0.26.0 adds format_config override support and restores customGroups, plus a logo refresh.

    Table of Contents

    Oxlint v1.41.0
    Oxfmt v0.26.0
    Oxlint v1.41.0

    ⚔ Performance

    • 1a247f1 linter/no-redeclare: Avoid repeated PHF hashmap lookups (#18248) (overlookmotel)

    šŸ“š Documentation

    • 64459e5 linter: Update a handful of rules that were missing the "Why is this bad?" docs header. (#18263) (connorshea)
    • 8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)

    Oxfmt v0.26.0

    šŸ› Bug Fixes

    • 864b4ab oxfmt: Use format_config for external_options override (#18252) (leaysgur)
    • 90ce4b7 oxfmt: Restore customGroups handling lost (#18243) (leaysgur)

    šŸ“š Documentation

    • 8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)
    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxc crates_v0.110.0

    šŸ› Bug Fixes

    • f1e2dc0 semantic: No error in check_function_redeclaration for CommonJS files (#18231) (overlookmotel)
    • 645c3f0 transformer: Use require not import in CommonJS files (#18226) (overlookmotel)
    • ee9f6a4 mangler: Use retain instead of truncate to remove empty frequency slots (#18225) (Dunqing)

    ⚔ Performance

    • 52073d9 semantic: Use cheaper test for source type (#18235) (overlookmotel)
    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxc crates_v0.109.0

    New release combines breaking changes with a broad set of parser, bug fix, and performance improvements for JavaScript and TypeScript tooling. Highlights include CommonJS mode for .cjs/.cts, clearer errors, unambiguous module parsing, and speed optimizations across the toolchain.

    šŸ’„ BREAKING CHANGES

    • ba9c750 span: [BREAKING] Use ModuleKind::CommonJS for .cjs and .cts file extensions (#18117) (Boshen)
    • 9135b0b ast: [BREAKING] Move scope from TSEnumDeclaration to TSEnumBody (#18058) (Boshen)

    šŸš€ Features

    • 8a1cbbd parser: Add syntax errors for constructor declarations (#18220) (Boshen)
    • e2221e6 semantic: Store scope_id in Reference (#18053) (Dunqing)
    • 6e8fa80 napi/parser, napi/transform: Accept sourceType: "commonjs" (#18197) (overlookmotel)
    • 175b73a parser: Add ts error 1257 for TSTupleElement (#18146) (Sysix)
    • fa2ffe2 parser: Add ts error 1266 for TSTupleElement (#18145) (Sysix)
    • acf1aba parser: Add ts error 1265 for TSTupleElement (#18144) (Sysix)
    • 830b757 regular_expression: Add Unicode 17.0 script properties (#18140) (Boshen)
    • 92e27b4 parser: Reparse await expressions in unambiguous mode when ESM detected (#18139) (Boshen)
    • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
    • 08dad63 span: Add sourceType: 'commonjs' support (#18089) (Boshen)
    • 3f83ded traverse: Add into_state and into_state_and_scoping methods to ReusableTraverseCtx (#18010) (Cole Leavitt)
    • d1016b9 minifier: Do not flip if/else when it would produce longer result (#17556) (Armano)
    • 9c6e344 minifier: Prune empty case before trailing default (#17994) (Boshen)
    • 6b29bd1 semantic/example: Add detailed references info (#17938) (camc314)

    šŸ› Bug Fixes

    • 808b7c3 semantic: Resolve qualified names to namespaces, not shadowing type parameters (#17929) (camc314)
    • 1b199af semantic: Report TS18019 for abstract modifier with private identifier (#18173) (Boshen)
    • 37482eb parser: Respect optional TSNamedTupleMember for ts error 1266 &1257 (#18178) (Sysix)
    • 2c6966d parser: Correct precedence handling for private-in expression (#18169) (Boshen)
    • 38e4b53 minifier: Validate RegExp patterns before marking as pure (#18125) (Boshen)
    • 91126a0 parser: Reparse all statements with await identifier in unambiguous mode (#18163) (Boshen)
    • c98e5b7 parser: Parse for (using of = ...) as using declaration (#18142) (Boshen)
    • 01d7b13 oxc_minifier: Enable sourcemap feature in dev mode (#18131) (Armano)
    • fb181cc semantic: Error on using at top level in scripts (#18090) (Boshen)
    • 2aae4fc linter: Fix stack overflow in no-unreachable rule on large files (#18077) (Boshen)
    • f69b6da mangler: Reserve names from eval-containing scopes (#18037) (camc314)
    • c8f847e minifier: Preserve return value of @PURE IIFE in return statements (#18036) (camc314)
    • ee353e6 minifier: Skip inlining constant in scopes with eval (#17926) (camc314)
    • 7a0ca99 linter/plugins: Use correct ScriptKind for tokens (#17185) (Peter Wagenet)
    • 4c16ae7 codegen: Remove spaces around = in minified type parameter defaults (#17989) (Boshen)
    • a412103 parser: Improve diagnostics for double export (#17992) (Boshen)
    • 06bd17b codegen: Remove unnecessary double parentheses from satisfies expressions (#17986) (Boshen)
    • 1874765 codegen: Fix inconsistent multiline EOF comment formatting (#17983) (Boshen)
    • 2619c66 codegen: Remove leading whitespace from export statements after comments (#17982) (Boshen)
    • 4d9582d semantic: Allow arguments/eval as binding identifier names and identifier reference names in .d.ts (#17910) (Dunqing)

    ⚔ Performance

    • 91c143f mangler: Remove frequencies items if they are unused (#18183) (Dunqing)
    • 9af52c6 mangler: Turn off scope_tree_child_ids for SemanticBuilder (#18122) (Dunqing)
    • 46cd73d allocator: Add #[cold] annotations to error handling functions (#18181) (Boshen)
    • 8da684e allocator: Type-erase RawVec::finish_grow inner function (#18175) (Boshen)
    • 837edf6 transformer/typescript: Reduce scope_id() calls (#18097) (overlookmotel)
    • 8ee6f80 transformer/tagged-template: Add #[cold] hint to unlikely path (#18034) (overlookmotel)
    • 23449e0 transformer/tagged-template-transform: Improve performance (#15834) (Dunqing)

    šŸ“š Documentation

    • 17406b6 traverse: Update comment (#18079) (overlookmotel)
    • 06a96da semantic: Document with statement limitation in is_global_reference (#17996) (Boshen)
    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxlint v1.40.0 & oxfmt v0.25.0

    Oxlint and Oxfmt release with breaking changes and new features. New module parsing and CommonJS support boost compatibility, while linting and formatting get improvements and fixes.

    Table of Contents

    • Oxlint v1.40.0
    • Oxfmt v0.25.0
    • Oxlint v1.40.0

    Oxlint v1.40.0

    šŸ’„ BREAKING CHANGES

    • ba9c750 span: [BREAKING] Use ModuleKind::CommonJS for .cjs and .cts file extensions (#18117) (Boshen)
    • 3a0a190 linter/plugins: [BREAKING] Prevent access to cwd in createOnce (#18081) (overlookmotel)
    • 9135b0b ast: [BREAKING] Move scope from TSEnumDeclaration to TSEnumBody (#18058) (Boshen)

    šŸš€ Features

    • 7c86fc3 linter/plugins: Support commonjs source type in RuleTester (#18198) (overlookmotel)
    • 6e8fa80 napi/parser, napi/transform: Accept sourceType: "commonjs" (#18197) (overlookmotel)
    • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
    • 08dad63 span: Add sourceType: 'commonjs' support (#18089) (Boshen)
    • b516088 linter: Implement rule option validation/error handling for jest/no-hooks and eslint/no-return-assign rules. (#17600) (connorshea)
    • 883f472 vscode: Change icon source (#17998) (Alexander Lichter)
    • e7631dd website: Update website generation flow for JSON rules output (#17973) (connorshea)
    • 1757251 linter: Update linter JSON rule output to include extra information. (#15763) (connorshea)
    • 1f3cdcd linter/no-useless-rename: Add automatic fix (#17951) (camchenry)
    • fe1444c linter/no-unused-vars: Improve fixer for unused imports (#17941) (camc314)
    • 251f301 linter/fixer: Expose find_next_token_within in fixer (#17942) (camc314)
    • f04aa60 linter/fixer: Expose find_next_token_from in fixer (#17940) (camc314)

    šŸ› Bug Fixes

    • 4d68448 linter/plugins: report accept out of range column indexes in loc (#18199) (overlookmotel)
    • a0b3721 linter: Move typescript/prefer-optional-chain to nursery for now. (#18147) (connorshea)
    • 8a2dabc linter/plugins: Rule tester default to module source type in ESLint compat mode (#18195) (overlookmotel)
    • a7e2eb2 vscode: Resolve binary paths with node resolver (#17970) (Sysix)
    • 5f98e1a linter: Update react/jsx-max-depth to raise an error if provided invalid config options. (#18105) (connorshea)
    • c7e7008 linter: Raise errors for invalid config on eslint/prefer-promise-reject-errors rule (#18103) (connorshea)
    • 618c629 linter/rules-of-hooks: Detect hook calls inside JSX render props (#17980) (LeeKangbok)
    • 121a239 linter: Sort paths by length instead of alphabetically for depth heuristic (#18084) (Boshen)
    • 6956543 linter: Fix LSP panic from stale directive spans (#18082) (Boshen)
    • 2aae4fc linter: Fix stack overflow in no-unreachable rule on large files (#18077) (Boshen)
    • 7a0ca99 linter/plugins: Use correct ScriptKind for tokens (#17185) (Peter Wagenet)
    • 2a397f8 oxlint/lsp: Don't send workspace/diagnostic/refresh notification on watched file changes (#17885) (Sysix)
    • 8deef41 linter/prefer-destructuring: Fix rule to exclude using and await using (#17952) (camchenry)
    • dbe06d8 linter/no-promise-executor-return: Check if Promise is the global one (#17949) (camchenry)
    • ad02e03 linter/no-await-in-loop: Add support for await using (#17947) (camchenry)
    • 63e2737 linter/no-import-node-test: Mark fixer as suggestion (#17925) (camc314)

    šŸ“š Documentation

    • 4afa5c8 linter: Cleanup docs for various rules for consistency. (#18214) (connorshea)
    • c1c152b linter: Fix formatting for empty-brace-spaces rule example. (#18203) (connorshea)
    • 7028745 linter: Fix formatting of JSON examples in filename-case rule docs. (#18202) (connorshea)
    • 926b7be linter: Fix a mistake in the documentation for prefer-ts-expect-error (#18201) (connorshea)
    • d51cb6c linter/plugins: Remove outdated comments (#18194) (overlookmotel)
    • 85a846c linter: Prefer enum docs over struct field docs for no-unused-vars (#18123) (Boshen)
    • d8f5c66 vcode: Add example for editor.formatOnSave with editor.formatOnSaveMode (#18126) (Sysix)
    • 5346fc9 editor: Update the README for the vscode extension to clarify experimental setting (#18048) (Connor Shea)
    • c2173a7 linter: Minor typo fix for nextjs rules. (#18018) (connorshea)
    • 132cc48 linter: Improve prefer-spread docs. (#17976) (connorshea)

    Oxfmt v0.25.0

    šŸš€ Features

    • a95b9bb oxfmt: Support oxfmtrc overrides config (#18068) (leaysgur)
    • 984d5c1 oxfmt/sort-imports: Support options.customGroups (#17576) (nilptr)
    • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)
    • fd2c792 formatter: Support css prop, styled jsx, and member/computed styled.tags (#17990) (magic-akari)
    • 361a8f1 oxfmt: Upgrade prettier to 3.8.0 (#18024) (Dunqing)
    • 873c683 oxfmt: Add more tracing logs (#18015) (Yuji Sugiura)
    • cc3e74b oxfmt: Add Prettier specific fields in Oxfmtrc (#17981) (leaysgur)
    • 6ffe315 oxfmt: Add more Oxfmtrc fields description (#17979) (leaysgur)
    • c4c55cc formatter: Add oxfmt-ignore ignore comment support (#17916) (Dunqing)

    šŸ› Bug Fixes

    • 73fedb9 oxfmt: Apply .editorconfig root section with oxfmtrc.overrides (#18210) (leaysgur)
    • 3e141f0 formatter: Normalize ChainExpression with TSNonNullExpression to match Prettier (#18061) (Boshen)
    • 9b902b6 formatter: Use soft indent for empty objects in JSX spread attributes (#18063) (Boshen)
    • 8da749b formatter: Allow parameters to break in angular test wrappers (#18060) (Boshen)
    • 125962d formatter: Fix 4 prettier conformance tests (#18057) (Boshen)
    • 2a397f8 oxlint/lsp: Don't send workspace/diagnostic/refresh notification on watched file changes (#17885) (Sysix)
    • efacb13 oxfmt: Do not wrap with block_indent() if format_embedded fails (#17975) (leaysgur)
    • bbadb8e oxfmt/sort-imports: Hard line inside multiline import leads to i… (#17880) (nilptr)
    • 9d0f551 oxfmt: Do not panic with subdirectry and config (#17955) (leaysgur)
    • 9d96cc6 oxfmt: Use std(out/err)._handle.setBlocking(true) to handle WouldBlock error in Rust (#17950) (leaysgur)

    ⚔ Performance

    • 138637c formatter: Use VecDeque for member chain groups (#18094) (Boshen)
    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxlint_v1.41.0: release(apps): oxlint v1.41.0 && oxfmt v0.26.0 (#18264)

    Oxlint

    ⚔ Performance

    1a247f1 linter/no-redeclare: Avoid repeated PHF hashmap lookups
    (#18248) (overlookmotel)

    šŸ“š Documentation

    8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)

    Oxfmt

    šŸ› Bug Fixes

    864b4ab oxfmt: Use format_config for external_options override
    (#18252) (leaysgur)
    90ce4b7 oxfmt: Restore customGroups handling lost (#18243)
    (leaysgur)

    šŸ“š Documentation

    8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)

    Co-authored-by: overlookmotel [email protected]

    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxfmt_v0.26.0: release(apps): oxlint v1.41.0 && oxfmt v0.26.0 (#18264)

    Oxlint

    ⚔ Performance

    • 1a247f1 linter/no-redeclare: Avoid repeated PHF hashmap lookups
    • (#18248) (overlookmotel)

    šŸ“š Documentation

    • 8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)

    • Co-authored-by: overlookmotel [email protected]

    Oxfmt

    šŸ› Bug Fixes

    • 864b4ab oxfmt: Use format_config for external_options override
    • (#18252) (leaysgur)
    • 90ce4b7 oxfmt: Restore customGroups handling lost (#18243)
    • (leaysgur)

    šŸ“š Documentation

    • 8a294d5 oxfmt, oxlint: Update logo (#18242) (Dunqing)
    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxlint_v1.40.0

    release(apps): oxlint v1.40.0 && oxfmt v0.25.0 (#18223)

    Original source Report a problem
  • Jan 19, 2026
    • Parsed from source:
      Jan 19, 2026
    • Detected by Releasebot:
      Jan 19, 2026
    Oxc logo

    Oxc

    oxfmt_v0.25.0

    release(apps): oxlint v1.40.0 && oxfmt v0.25.0 (#18223)

    Original source Report a problem
  • Jan 12, 2026
    • Parsed from source:
      Jan 12, 2026
    • Detected by Releasebot:
      Jan 13, 2026
    Oxc logo

    Oxc

    oxlint v1.39.0 & oxfmt v0.24.0

    Oxlint v1.39.0 and Oxfmt v0.24.0 bring new rules, improved diagnostics, and broader language support. The releases highlight rule fixes, extension enhancements, and formatter optimizations across JS, TS, and Tailwind workflows.

    Oxlint v1.39.0

    šŸš€ Features

    • 9699a1b linter/prefer-global-this: Add suggestion (#17873) (Mikhail Baev)
    • 51c2815 linter/no-invalid-regexp: Add labels and help text to flag diagnostics (#17865) (camchenry)
    • 344d77d linter/no-ex-assign: Improve diagnostic with more detail (#17864) (camchenry)
    • 7d280e0 linter: Add fixer for unicorn/no-useless-error-capture-stack-trace rule (#17839) (Mikhail Baev)
    • af1d0e3 linter/prefer-optional-chain: Add rule (#17831) (camc314)
    • e3c4108 vscode: Add more supported languages to extension (#17812) (Alexander Lichter)
    • 4a46678 vscode: Activate extension on more languages (#17717) (Sysix)
    • b1298fc vscode: Sync formatter with supported files (#17615) (Alexander Lichter)
    • c7f0848 linte/rno-required-prop-with-default: Implement suggestion (#17747) (Minsu Lee)
    • 0e8127e linter/vue: Implement no-lifecycle-after-await (#17701) (yefan)
    • 3567304 linter/vitest: Implement consistent-each-for (#17601) (Said Atrahouch)
    • 883e156 linter: Add fixer for unicorn/no-useless-collection-argument rule (#17594) (Mikhail Baev)
    • 4eb335c linter/vitest: Implemented prefer-called-once (#17674) (Said Atrahouch)
    • 2bd2d5a linter/vitest: Implement hoisted-apis-on-top (#17658) (Said Atrahouch)
    • cfb2bcc linter/vue: Implement no-arrow-functions-in-watch (#17672) (yefan)
    • a68208a linter/eslint-plugin-vitest: Implements prefer-describe-function-title (#17677) (Said Atrahouch)
    • efa029f linter/vitest: Implement no-unneeded-async-expect-function (#17494) (Minsu Lee)

    šŸ› Bug Fixes

    • 49cf66e lsp: Fix workspace worker selection for nested and similar-named workspaces (#17853) (Copilot)
    • 84f4f3c linter: Add doc url for tsgolint diagnostics (#17879) (Sysix)
    • 76c903f linter/consistent-indexed-object-style: Skip fixing default exported interface (#17874) (Copilot)
    • 7e87d16 linter/tabindex-no-positive: Improve diagnostic phrasing (#17849) (connorshea)
    • 28f9fba vscode: Fix nested search for binaries (#17832) (Sysix)
    • 8ca2cd2 linter: Move jsx-a11y/no-static-element-interactions rule to nursery. (#17818) (connorshea)
    • dc9fdd6 linter/consistent-indexed-object-style: Re-port test cases and fix some bugs (#17802) (camc314)
    • 7bbd880 linter: Update prefer-destructuring rule metadata (#17642) (Hamir Mahal)
    • 3c45185 linter/consistent-indexed-object-style: False positive with circular reference (#17789) (heygsc)
    • bd186b4 vscode: Search for oxlint and oxfmt in every workspace directory (#17760) (Sysix)
    • 3e0dff7 linter/no-hooks: Add punctuation to diagnostic message (#17751) (camc314)
    • 6ae21f9 linter/prefer-called-once: Avoid panic on trailing comma (#17735) (Said Atrahouch)
    • 32c3901 oxlint: Do not panic on invalid no-unused-vars configuration (#17719) (Sysix)
    • 59a6228 parser: Detect TS1363 error for type-only imports with mixed default and named/namespace bindings (#17712) (Copilot)

    ⚔ Performance

    • f87a1e2 linter: Check for giving reserved plugin name before calling load_plugin on napi side (#17841) (Sysix)

    šŸ“š Documentation

    • a2b3a24 linter/no-caller: Improve docs and diagnostic for rule. (#17890) (connorshea)
    • aa48247 linter/no-unsafe-finally: Improve rule docs. (#17891) (connorshea)
    • 1b0bdee linter: Tweak docs for no-useless-constructor and hoisted-apis-on-top (#17888) (connorshea)
    • 8f24fa9 vscode: Remove mention of a built-in server (#17836) (Sysix)
    • e81a306 linter: Update the tsconfig flag mention for the import plugin. (#17778) (connorshea)

    Oxfmt v0.24.0

    šŸš€ Features

    • 539b350 formatter/sort_imports: Update NODE_BUILTINS modules (#17771) (nilptr)
    • 2e03ebf oxfmt/lsp: Use SourceFormatter to support non-JS files and napi features (#17655) (leaysgur)
    • 623f7eb oxfmt/sort_package_json: Use options.sort_scripts (#17740) (leaysgur)
    • 86c0168 oxfmt/sort_package_json: Handle oxfmtrc.sort_scripts option (#17738) (leaysgur)
    • 256636a oxfmt/lsp: Add .editorconfig to get_watcher_patterns (#17694) (leaysgur)
    • 3f3db39 oxfmt/lsp: Use ConfigResolver to align with CLI (#17654) (leaysgur)

    šŸ› Bug Fixes

    • fdd1e1e formatter: Don't wrap parenthesis for type assertion when it's an declaration of export default (#17878) (Dunqing)
    • f0813ad formatter: Incorrect type annotation check for short argument (#17877) (Dunqing)
    • 9e89389 formatter/tailwindcss: Nested class string doesn't respect singleQuote: true (#17838) (Dunqing)
    • e2f534c formatter/sort_imports: Handle alignable comment with JsLabels (#17791) (leaysgur)
    • f0cedd4 formatter/tailwindcss: Class name is broken after sorting when its contains single quotes with singleQuote: true (#17790) (Dunqing)
    • 1864142 oxfmt/tailwindcss: Bundle prettier/plugins/* (#17782) (leaysgur)
    • 3a9d43b oxfmt: Ignore explicit positional path which is ignored by directory (#17732) (leaysgur)
    • 0563217 formatter: Classes will be stripped out when both experimentalTailwindcss and experimentalSortImports are enabled (#17726) (Dunqing)

    ⚔ Performance

    • d1bc514 formatter: Optimize RegExpLiteral formatting to avoid heap allocations (#17797) (Dunqing)

    šŸ“š Documentation

    • 62b7a01 formatter: Clarify experimentalTailwindcss configuration comments (#17898) (Dunqing)
    Original source Report a problem
  • Jan 12, 2026
    • Parsed from source:
      Jan 12, 2026
    • Detected by Releasebot:
      Jan 13, 2026
    Oxc logo

    Oxc

    oxfmt_v0.24.0: release(apps): oxlint v1.39.0 && oxfmt v0.24.0 (#17921)

    Oxlint and Oxfmt unleash a broad update with new rules, improved diagnostics, and broader language support. The release also tightens performance and boosts docs and editor integration for a smoother developer experience.

    Oxlint

    šŸš€ Features

    • 9699a1b linter/prefer-global-this: Add suggestion (#17873) (Mikhail Baev)
    • 51c2815 linter/no-invalid-regexp: Add labels and help text to flag diagnostics (#17865) (camchenry)
    • 344d77d linter/no-ex-assign: Improve diagnostic with more detail (#17864) (camchenry)
    • 7d280e0 linter: Add fixer for unicorn/no-useless-error-capture-stack-trace rule (#17839) (Mikhail Baev)
    • af1d0e3 linter/prefer-optional-chain: Add rule (#17831) (camc314)
    • e3c4108 vscode: Add more supported languages to extension (#17812) (Alexander Lichter)
    • 4a46678 vscode: Activate extension on more languages (#17717) (Sysix)
    • b1298fc vscode: Sync formatter with supported files (#17615) (Alexander Lichter)
    • c7f0848 linte/rno-required-prop-with-default: Implement suggestion (#17747) (Minsu Lee)
    • 0e8127e linter/vue: Implement no-lifecycle-after-await (#17701) (yefan)
    • 3567304 linter/vitest: Implement consistent-each-for (#17601) (Said Atrahouch)
    • 883e156 linter: Add fixer for unicorn/no-useless-collection-argument rule (#17594) (Mikhail Baev)
    • 4eb335c linter/vitest: Implemented prefer-called-once (#17674) (Said Atrahouch)
    • 2bd2d5a linter/vitest: Implement hoisted-apis-on-top (#17658) (Said Atrahouch)
    • cfb2bcc linter/vue: Implement no-arrow-functions-in-watch (#17672) (yefan)
    • a68208a linter/eslint-plugin-vitest: Implements prefer-describe-function-title (#17677) (Said Atrahouch)
    • efa029f linter/vitest: Implement no-unneeded-async-expect-function (#17494) (Minsu Lee)

    šŸ› Bug Fixes

    • 49cf66e lsp: Fix workspace worker selection for nested and similar-named workspaces (#17853) (Copilot)
    • 84f4f3c linter: Add doc url for tsgolint diagnostics (#17879) (Sysix)
    • 76c903f linter/consistent-indexed-object-style: Skip fixing default exported interface (#17874) (Copilot)
    • 7e87d16 linter/tabindex-no-positive: Improve diagnostic phrasing (#17849) (connorshea)
    • 28f9fba vscode: Fix nested search for binaries (#17832) (Sysix)
    • 8ca2cd2 linter: Move jsx-a11y/no-static-element-interactions rule to nursery. (#17818) (connorshea)
    • dc9fdd6 linter/consistent-indexed-object-style: Re-port test cases and fix some bugs (#17802) (camc314)
    • 7bbd880 linter: Update prefer-destructuring rule metadata (#17642) (Hamir Mahal)
    • 3c45185 linter/consistent-indexed-object-style: False positive with circular reference (#17789) (heygsc)
    • bd186b4 vscode: Search for oxlint and oxfmt in every workspace directory (#17760) (Sysix)
    • 3e0dff7 linter/no-hooks: Add punctuation to diagnostic message (#17751) (camc314)
    • 6ae21f9 linter/prefer-called-once: Avoid panic on trailing comma (#17735) (Said Atrahouch)
    • 32c3901 oxlint: Do not panic on invalid no-unused-vars configuration (#17719) (Sysix)
    • 59a6228 parser: Detect TS1363 error for type-only imports with mixed default and named/namespace bindings (#17712) (Copilot)

    ⚔ Performance

    • f87a1e2 linter: Check for giving reserved plugin name before calling load_plugin on napi side (#17841) (Sysix)

    šŸ“š Documentation

    • a2b3a24 linter/no-caller: Improve docs and diagnostic for rule. (#17890) (connorshea)
    • aa48247 linter/no-unsafe-finally: Improve rule docs. (#17891) (connorshea)
    • 1b0bdee linter: Tweak docs for no-useless-constructor and hoisted-apis-on-top (#17888) (connorshea)
    • 8f24fa9 vscode: Remove mention of a built-in server (#17836) (Sysix)
    • e81a306 linter: Update the tsconfig flag mention for the import plugin. (#17778) (connorshea)
    • Oxfmt

    Oxfmt

    šŸš€ Features

    • 539b350 formatter/sort_imports: Update NODE_BUILTINS modules (#17771) (nilptr)
    • 2e03ebf oxfmt/lsp: Use SourceFormatter to support non-JS files and napi features (#17655) (leaysgur)
    • 623f7eb oxfmt/sort_package_json: Use options.sort_scripts (#17740) (leaysgur)
    • 86c0168 oxfmt/sort_package_json: Handle oxfmtrc.sort_scripts option (#17738) (leaysgur)
    • 256636a oxfmt/lsp: Add .editorconfig to get_watcher_patterns (#17694) (leaysgur)
    • 3f3db39 oxfmt/lsp: Use ConfigResolver to align with CLI (#17654) (leaysgur)

    šŸ› Bug Fixes

    • fdd1e1e formatter: Don't wrap parenthesis for type assertion when it's an declaration of export default (#17878) (Dunqing)
    • f0813ad formatter: Incorrect type annotation check for short argument (#17877) (Dunqing)
    • 9e89389 formatter/tailwindcss: Nested class string doesn't respect singleQuote: true (#17838) (Dunqing)
    • e2f534c formatter/sort_imports: Handle alignable comment with JsLabels (#17791) (leaysgur)
    • f0cedd4 formatter/tailwindcss: Class name is broken after sorting when its contains single quotes with singleQuote: true (#17790) (Dunqing)
    • 1864142 oxfmt/tailwindcss: Bundle prettier/plugins/* (#17782) (leaysgur)
    • 3a9d43b oxfmt: Ignore explicit positional path which is ignored by directory (#17732) (leaysgur)
    • 0563217 formatter: Classes will be stripped out when both experimentalTailwindcss and experimentalSortImports are enabled (#17726) (Dunqing)

    ⚔ Performance

    • d1bc514 formatter: Optimize RegExpLiteral formatting to avoid heap allocations (#17797) (Dunqing)

    šŸ“š Documentation

    • 62b7a01 formatter: Clarify experimentalTailwindcss configuration comments (#17898) (Dunqing)

    Co-authored-by: Boshen [email protected]

    Original source Report a problem

Related vendors