Oxc Release Notes

135 release notes curated from 1 source by the Releasebot Team. Last updated: May 19, 2026

Get this feed:
  • May 19, 2026
    • Date parsed from source:
      May 19, 2026
    • First seen by Releasebot:
      May 19, 2026
    Oxc logo

    Oxc

    oxlint v1.66.0 & oxfmt v0.51.0

    Oxc releases Oxlint v1.66.0 and Oxfmt v0.51.0, adding new lint rules, smarter CLI agent detection, broader bug fixes, and performance improvements, while also tightening import sorting and destructuring handling in the formatter.

    Table of Contents

    Oxlint v1.66.0

    Oxfmt v0.51.0

    Oxlint v1.66.0

    ๐Ÿš€ Features

    1ae291e linter/no-underscore-dangle: Add allowInUsingDeclarations option (#22483) (ๅดๆจๅธ†)
    0440b0f linter/eslint: Implement id-match rule (#22379) (Vladislav Sayapin)
    65bf119 linter: Implement react no-object-type-as-default-prop (#22481) (uhyo)
    2a6ddce linter/eslint: Implement no-implied-eval rule (#22391) (Vladislav Sayapin)
    d3a3c1d linter: Auto detect agents from CLI and transition to the agent output format (#22068) (Jovi De Croock)
    625758a linter/vitest: Implement padding-around-after-all-blocks rule (#21788) (kapobajza)
    37680b0 linter: Implement react no-unstable-nested-components (#22248) (Jovi De Croock)
    d8d9c74 linter: Implement import/newline-after-import rule (#19142) (Ryuya Yanagi)

    ๐Ÿ› Bug Fixes

    3f59e03 linter: Only call rayon/miette/tracing inits once (#21899) (Matiss Janis Aboltins)
    602dfd6 linter/promise/no-return-wrap: Detect Promise calls in all branches (#22474) (zennnnnnn11)
    e182aee linter: Allow dialogs and popovers for no_autofocus (#22289) (mehm8128)
    7ffb710 linter/jest/vitest: Jest/no-standalone-expect ignores additionalTestBlockFunctions option for jest/vitest hooks (#22477) (kapobajza)
    c6f2d3f linter: Add more expression support for iframe-has-title (#22460) (mehm8128)
    5747ff1 linter: Avoid enabling jest with vitest plugin (#22499) (camc314)
    863984f linter/no-find-dom-node: Run on all files (#22479) (bab)

    โšก Performance

    2afef79 linter: Optimize no-loop-func (#22491) (camchenry)
    4c9ca72 oxlint: Align walker thread count with rayon pool (#22494) (Boshen)

    ๐Ÿ“š Documentation

    f7967c7 linter/id-match: Clarify onlyDeclarations config docs (#22523) (camc314)
    1e0c97f linter: Fix closing code block in documentation for padding-around-after-all-blocks rule. (#22513) (connorshea)
    a9049fd linter: Exclude directly provide autoFocus to dialog pattern (#22510) (mehm8128)

    Oxfmt v0.51.0

    ๐Ÿ› Bug Fixes

    8ee946f formatter/sort_imports: Use label to classify lines (#22512) (leaysgur)
    8c1da44 formatter: Normalize destructuring keys in DCR (#22478) (camc314)

    Original source
  • May 18, 2026
    • Date parsed from source:
      May 18, 2026
    • First seen by Releasebot:
      May 19, 2026
    Oxc logo

    Oxc

    oxlint_v1.66.0: release(apps): oxlint v1.66.0 && oxfmt v0.51.0 (#22528)

    Oxc releases a broad Oxlint and Oxfmt update with new lint rules, CLI agent auto-detection, bug fixes, performance improvements, and documentation cleanup for a smoother developer experience.

    Oxlint

    ๐Ÿš€ Features

    1ae291e linter/no-underscore-dangle: Add allowInUsingDeclarations option (#22483) (ๅดๆจๅธ†)

    0440b0f linter/eslint: Implement id-match rule (#22379) (Vladislav Sayapin)

    65bf119 linter: Implement react no-object-type-as-default-prop (#22481) (uhyo)

    2a6ddce linter/eslint: Implement no-implied-eval rule (#22391) (Vladislav Sayapin)

    d3a3c1d linter: Auto detect agents from CLI and transition to the agent output format (#22068) (Jovi De Croock)

    625758a linter/vitest: Implement padding-around-after-all-blocks rule (#21788) (kapobajza)

    37680b0 linter: Implement react no-unstable-nested-components (#22248) (Jovi De Croock)

    d8d9c74 linter: Implement import/newline-after-import rule (#19142) (Ryuya Yanagi)

    ๐Ÿ› Bug Fixes

    3f59e03 linter: Only call rayon/miette/tracing inits once (#21899) (Matiss Janis Aboltins)

    602dfd6 linter/promise/no-return-wrap: Detect Promise calls in all branches (#22474) (zennnnnnn11)

    e182aee linter: Allow dialogs and popovers for no_autofocus (#22289) (mehm8128)

    7ffb710 linter/jest/vitest: Jest/no-standalone-expect ignores additionalTestBlockFunctions option for jest/vitest hooks (#22477) (kapobajza)

    c6f2d3f linter: Add more expression support for iframe-has-title (#22460) (mehm8128)

    5747ff1 linter: Avoid enabling jest with vitest plugin (#22499) (camc314)

    863984f linter/no-find-dom-node: Run on all files (#22479) (bab)

    โšก Performance

    2afef79 linter: Optimize no-loop-func (#22491) (camchenry)

    4c9ca72 oxlint: Align walker thread count with rayon pool (#22494) (Boshen)

    ๐Ÿ“š Documentation

    f7967c7 linter/id-match: Clarify onlyDeclarations config docs (#22523) (camc314)

    1e0c97f linter: Fix closing code block in documentation for padding-around-after-all-blocks rule. (#22513) (connorshea)

    a9049fd linter: Exclude directly provide autoFocus to dialog pattern (#22510) (mehm8128)

    Oxfmt

    ๐Ÿ› Bug Fixes

    8ee946f formatter/sort_imports: Use label to classify lines (#22512) (leaysgur)

    8c1da44 formatter: Normalize destructuring keys in DCR (#22478) (camc314)

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from Oxc and hundreds of other software products.

    Create account
  • May 18, 2026
    • Date parsed from source:
      May 18, 2026
    • First seen by Releasebot:
      May 19, 2026
    Oxc logo

    Oxc

    oxfmt_v0.51.0: release(apps): oxlint v1.66.0 && oxfmt v0.51.0 (#22528)

    Oxc releases new Oxlint rules, bug fixes, and performance improvements, including added ESLint and React rule support, smarter CLI agent detection, and formatter fixes for import sorting and destructuring.

    Oxlint

    ๐Ÿš€ Features

    1ae291e linter/no-underscore-dangle: Add allowInUsingDeclarations option (#22483) (ๅดๆจๅธ†)
    0440b0f linter/eslint: Implement id-match rule (#22379) (Vladislav Sayapin)
    65bf119 linter: Implement react no-object-type-as-default-prop (#22481) (uhyo)
    2a6ddce linter/eslint: Implement no-implied-eval rule (#22391) (Vladislav Sayapin)
    d3a3c1d linter: Auto detect agents from CLI and transition to the agent output format (#22068) (Jovi De Croock)
    625758a linter/vitest: Implement padding-around-after-all-blocks rule (#21788) (kapobajza)
    37680b0 linter: Implement react no-unstable-nested-components (#22248) (Jovi De Croock)
    d8d9c74 linter: Implement import/newline-after-import rule (#19142) (Ryuya Yanagi)

    ๐Ÿ› Bug Fixes

    3f59e03 linter: Only call rayon/miette/tracing inits once (#21899) (Matiss Janis Aboltins)
    602dfd6 linter/promise/no-return-wrap: Detect Promise calls in all branches (#22474) (zennnnnnn11)
    e182aee linter: Allow dialogs and popovers for no_autofocus (#22289) (mehm8128)
    7ffb710 linter/jest/vitest: Jest/no-standalone-expect ignores additionalTestBlockFunctions option for jest/vitest hooks (#22477) (kapobajza)
    c6f2d3f linter: Add more expression support for iframe-has-title (#22460) (mehm8128)
    5747ff1 linter: Avoid enabling jest with vitest plugin (#22499) (camc314)
    863984f linter/no-find-dom-node: Run on all files (#22479) (bab)

    โšก Performance

    2afef79 linter: Optimize no-loop-func (#22491) (camchenry)
    4c9ca72 oxlint: Align walker thread count with rayon pool (#22494) (Boshen)

    ๐Ÿ“š Documentation

    f7967c7 linter/id-match: Clarify onlyDeclarations config docs (#22523) (camc314)
    1e0c97f linter: Fix closing code block in documentation for padding-around-after-all-blocks rule. (#22513) (connorshea)
    a9049fd linter: Exclude directly provide autoFocus to dialog pattern (#22510) (mehm8128)

    Oxfmt

    ๐Ÿ› Bug Fixes

    8ee946f formatter/sort_imports: Use label to classify lines (#22512) (leaysgur)
    8c1da44 formatter: Normalize destructuring keys in DCR (#22478) (camc314)

    Original source
  • May 18, 2026
    • Date parsed from source:
      May 18, 2026
    • First seen by Releasebot:
      May 18, 2026
    Oxc logo

    Oxc

    oxc crates_v0.132.0

    Oxc ships bug fixes and performance improvements across the parser, minifier, transformer, codegen, and semantic layers, tightening identifier handling, optional chain folding, async scope handling, and live reference tracking.

    Bug Fixes

    0f26de6 ecmascript: Resolve identifier value type via tracked constants (#22234) (Alexander Lichter)

    c27a8cf minifier: Normalize { x: x } shorthand so adjacent-if merge is idempotent (#22401) (Dunqing)

    e431a0e parser: Break extends clause loop on fatal error (#22517) (Boshen)

    e9ec7c6 minifier: Fold optional chains by base nullishness (#22236) (Alexander Lichter)

    e6090e7 transformer: Keep enum IIFE when a non-inlinable value reference remains (#22501) (Dunqing)

    931b7d6 transformer: Inline const enum members through type-cast wrappers (#22500) (Dunqing)

    b9615b2 codegen: Preserve string quotes in require() calls during minification (#22475) (zennnnnnn11)

    c73c159 transformer/async-to-generator: Reparent parameter initializer scopes (#22507) (camc314)

    ecfd3ca transformer/async-to-generator: Move only parameter bindings (#22503) (camc314)

    3ce3431 transformer/explicit-resource-managment: Preserve shadowed for-head block (#22451) (camc314)

    Performance

    ce92c6c semantic: #[inline] Scoping::get_binding (#22414) (Dunqing)

    98be95c regular_expression: Track regex flags via bitflags (#22427) (Boshen)

    dbbc059 jsdoc: Skip should_attach_jsdoc when no remaining comments (#22409) (Boshen)

    217d7d8 minifier: Index SymbolValues by SymbolId (#22441) (Dunqing)

    d782b78 minifier: Use BitSet for LiveUsageCollector live references (#22425) (Boshen)

    Original source
  • May 15, 2026
    • Date parsed from source:
      May 15, 2026
    • First seen by Releasebot:
      May 16, 2026
    Oxc logo

    Oxc

    oxlint_v1.65.0: release(apps): oxlint v1.65.0 && oxfmt v0.50.0 (#22458)

    Oxc releases a broad Oxlint and Oxfmt update with new lint rules, expanded ESLint and jsx-a11y support, debug timing info, bug fixes, and performance improvements. Oxfmt also ships a breaking config change plus formatter and import-sorting fixes.

    Oxlint

    ๐Ÿš€ Features

    5478fb5 linter/jsdoc: Implement require-throws-description rule (#22386) (Mikhail Baev)

    b46d4de linter: Add --debug options and add per-rule timing info (#22282) (camchenry)

    c73225e linter/eslint: Implement prefer-arrow-callback rule (#22312) (๋ฐ•์ฒœ(Cheon Park))

    de82b59 linter: Add support for eslint-plugin-jsx-a11y-x (#22356) (mehm8128)

    b170da3 linter: Implement no-implicit-globals (#22249) (Jovi De Croock)

    f44b6c8 linter: Fill schemas DummyRuleMap with built-in rules (#22288) (Sysix)

    5cdb80d linter/jsx-a11y/: Implement no-interactive-element-to-noninteractive-role (#22332) (anarefolio)

    2749422 linter/jsx-a11y: Add no-noninteractive-element-interactions (#22337) (Pablo Tovar)

    ba2a1d3 linter/jsdoc: Implement require-throws-type rule (#22358) (Mikhail Baev)

    d90729d linter/jsx-a11y: Implement control-has-associated-label (#21985) (mehm8128)

    1d04903 linter/jsdoc: Implement require-yields-type rule (#22331) (Mikhail Baev)

    ๐Ÿ› Bug Fixes

    04c4609 linter/no-nullable-type-assertion-style: Mark as suggestion (#22450) (camc314)

    1c2b7ec linter/no-unused-vars: Handle shadowed self assignments (#22387) (camc314)

    9faa1d5 linter/no-noninteractive-tabindex: Check conditional expressions (#22435) (camc314)

    0854b3a linter/prefer-arrow-callback: Preserve TSX generic arrows in fixer (#22434) (camc314)

    410b814 linter: Supply source_type to codegen fixer (#22333) (camc314)

    3c1bb6f linter: Skip per-node dispatch for run_once-only rules in large files (#22398) (Connor Shea)

    5206cde linter/no-unused-vars: Improve type-only rest parameters diagnostic (#22385) (camc314)

    c9a22b5 linter/consistent-function-scoping: Allow imported bindings (#22384) (camc314)

    c1e966d linter: Report type-only unused parameters in no-unused-vars (#22368) (camchenry)

    4818d98 linter: Check whether path is under root before ignoring it (#20101) (Leonabcd123)

    41fcdcf linter: Fix rule count not including override rules (#19898) (Daniel Osmond)

    59b4f0e linter: Fix 'explicit-module-boundary-types' false positive with 'allowOverloadFunctions' (#22341) (camchenry)

    โšก Performance

    6d42395 linter: Narrow no-unsafe-optional-chaining dispatch (#22437) (camchenry)

    08595fb linter: Optimize no-unreachable (#22397) (camchenry)

    3b46a8d linter: Optimize no-loss-of-precision (#22395) (camchenry)

    b3e2dc9 linter: Optimize oxc/bad-array-method-on-arguments (#22393) (camchenry)

    ๐Ÿ“š Documentation

    dcbf62c linter: Remove some duplicate spaces (#22359) (camc314)

    Oxfmt

    ๐Ÿ’ฅ BREAKING CHANGES

    21bb5d1 oxfmt: [BREAKING] Avoid config pre-scan (#22258) (leaysgur)

    ๐Ÿ› Bug Fixes

    441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur)

    e49ee26 formatter: Respect singleQuote for jsdoc import() type paths (#22353) (Colin Lienard)

    43b9978 formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur)

    7c5cfa0 formatter: Handle jsx trailing comment with parens (#22370) (leaysgur)

    ac5f120 formatter: Fix erroneous formatting inside a template literal with parentheses (#22262) (Jovi De Croock)

    3c53a95 formatter/sort_imports: Handle ignore comment as boundary (#22369) (leaysgur)

    4dd83dd oxfmt: Send expandedStates variants as shared refs (#22366) (leaysgur)

    055cc61 formatter: Expand JSX logical chain with leading line comment (#22346) (leaysgur)

    8046222 formatter: Preserve type alias comment break (#22261) (Jovi De Croock)

    โšก Performance

    123c493 oxfmt: Reduce more syscalls (#22380) (leaysgur)

    Co-authored-by: overlookmotel [email protected]

    Original source
  • May 15, 2026
    • Date parsed from source:
      May 15, 2026
    • First seen by Releasebot:
      May 16, 2026
    Oxc logo

    Oxc

    oxfmt_v0.50.0: release(apps): oxlint v1.65.0 && oxfmt v0.50.0 (#22458)

    Oxc adds new linter rules, expanded ESLint and jsx-a11y support, and fresh debug timing info, while improving rule accuracy and performance. Oxfmt also ships a breaking config change alongside formatter fixes and syscall reductions.

    Oxlint

    ๐Ÿš€ Features

    5478fb5 linter/jsdoc: Implement require-throws-description rule (#22386) (Mikhail Baev)

    b46d4de linter: Add --debug options and add per-rule timing info (#22282) (camchenry)

    c73225e linter/eslint: Implement prefer-arrow-callback rule (#22312) (๋ฐ•์ฒœ(Cheon Park))

    de82b59 linter: Add support for eslint-plugin-jsx-a11y-x (#22356) (mehm8128)

    b170da3 linter: Implement no-implicit-globals (#22249) (Jovi De Croock)

    f44b6c8 linter: Fill schemas DummyRuleMap with built-in rules (#22288) (Sysix)

    5cdb80d linter/jsx-a11y/: Implement no-interactive-element-to-noninteractive-role (#22332) (anarefolio)

    2749422 linter/jsx-a11y: Add no-noninteractive-element-interactions (#22337) (Pablo Tovar)

    ba2a1d3 linter/jsdoc: Implement require-throws-type rule (#22358) (Mikhail Baev)

    d90729d linter/jsx-a11y: Implement control-has-associated-label (#21985) (mehm8128)

    1d04903 linter/jsdoc: Implement require-yields-type rule (#22331) (Mikhail Baev)

    ๐Ÿ› Bug Fixes

    04c4609 linter/no-nullable-type-assertion-style: Mark as suggestion (#22450) (camc314)

    1c2b7ec linter/no-unused-vars: Handle shadowed self assignments (#22387) (camc314)

    9faa1d5 linter/no-noninteractive-tabindex: Check conditional expressions (#22435) (camc314)

    0854b3a linter/prefer-arrow-callback: Preserve TSX generic arrows in fixer (#22434) (camc314)

    410b814 linter: Supply source_type to codegen fixer (#22433) (camc314)

    3c1bb6f linter: Skip per-node dispatch for run_once-only rules in large files (#22398) (Connor Shea)

    5206cde linter/no-unused-vars: Improve type-only rest parameters diagnostic (#22385) (camc314)

    c9a22b5 linter/consistent-function-scoping: Allow imported bindings (#22384) (camc314)

    c1e966d linter: Report type-only unused parameters in no-unused-vars (#22368) (camchenry)

    4818d98 linter: Check whether path is under root before ignoring it (#20101) (Leonabcd123)

    41fcdcf linter: Fix rule count not including override rules (#19898) (Daniel Osmond)

    59b4f0e linter: Fix 'explicit-module-boundary-types' false positive with 'allowOverloadFunctions' (#22341) (camchenry)

    โšก Performance

    6d42395 linter: Narrow no-unsafe-optional-chaining dispatch (#22437) (camchenry)

    08595fb linter: Optimize no-unreachable (#22397) (camchenry)

    3b46a8d linter: Optimize no-loss-of-precision (#22395) (camchenry)

    b3e2dc9 linter: Optimize oxc/bad-array-method-on-arguments (#22393) (camchenry)

    ๐Ÿ“š Documentation

    dcbf62c linter: Remove some duplicate spaces (#22359) (camc314)

    Oxfmt

    ๐Ÿ’ฅ BREAKING CHANGES

    21bb5d1 oxfmt: [BREAKING] Avoid config pre-scan (#22258) (leaysgur)

    ๐Ÿ› Bug Fixes

    441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur)

    e49ee26 formatter: Respect singleQuote for jsdoc import() type paths (#22353) (Colin Lienard)

    43b9978 formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur)

    7c5cfa0 formatter: Handle jsx trailing comment with parens (#22370) (leaysgur)

    ac5f120 formatter: Fix erroneous formatting inside a template literal with parentheses (#22262) (Jovi De Croock)

    3c53a95 formatter/sort_imports: Handle ignore comment as boundary (#22369) (leaysgur)

    4dd83dd oxfmt: Send expandedStates variants as shared refs (#22366) (leaysgur)

    055cc61 formatter: Expand JSX logical chain with leading line comment (#22346) (leaysgur)

    8046222 formatter: Preserve type alias comment break (#22261) (Jovi De Croock)

    โšก Performance

    123c493 oxfmt: Reduce more syscalls (#22380) (leaysgur)

    Co-authored-by: overlookmotel [email protected]

    Original source
  • May 15, 2026
    • Date parsed from source:
      May 15, 2026
    • First seen by Releasebot:
      May 16, 2026
    Oxc logo

    Oxc

    oxc crates_v0.131.0

    Oxc releases new codegen source-type support alongside bug fixes, parser and transformer correctness improvements, and performance gains across the allocator, diagnostics, minifier, and code generation paths.

    Features

    bc91a17 codegen: Expose Codegen::with_source_type method (#22432) (camc314)

    Bug Fixes

    703557c codegen: Keep exports[STR] = โ€ฆ key as plain string in minify (#22402) (Dunqing)

    5ac7e79 minifier: Drop unused-var-init pure IIFEs and preserve annotation for downstream (#22349) (Dunqing)

    4ab57eb allocator: Fixed-size allocators use VirtualAlloc on Windows (#22124) (overlookmotel)

    66d77eb allocator: Fix segfault on Linux MUSL with fixed-size allocators (#22388) (overlookmotel)

    b8fbc1f transformer/object-rest-spread: Correct scope id when moving bindings (#22419) (camc314)

    18edc2c codegen: Keep Object.defineProperty property name as plain string in minify (#22400) (Dunqing)

    dda33de transformer/explicit-resource-management: Align lexical binding scopes (#22320) (camc314)

    8e79de8 transformer: Preserve for-await statement bodies (#22361) (camc314)

    0cba210 transformer/class: Replace new.target in static blocks (#22360) (camc314)

    67ab1c9 transformer/es2018/for-await: Hoist for-await generated bindings (#22355) (camc314)

    c3ceb4a transformer/object-rest-spread: Use hoisted scope for for-of temp refs (#22347) (camc314)

    Performance

    73a9043 allocator/bitset: Avoid temp heap String allocation (#22403) (camc314)

    8b2f4f9 transformer/object-rest-spread: Collect Vec<SymbolId over Vec<BindingIdentifier> (#22418) (camc314)

    83679ea parser: Split TriviaBuilder::handle_token hot/cold paths (#22415) (Boshen)

    2c7d781 codegen: Inline identifier-name accessors (#22411) (Boshen)

    618bc76 diagnostics: Inline OxcDiagnosticInner to avoid heap allocation (#22406) (Boshen)

    0b4e158 parser: Reserve cap 2 for sequence expressions vec (#22374) (camc314)

    5f3bdd0 codegen: Add #[inline] to code, code_len (#22373) (camc314)

    Original source
  • May 15, 2026
    • Date parsed from source:
      May 15, 2026
    • First seen by Releasebot:
      May 16, 2026
    Oxc logo

    Oxc

    oxlint v1.65.0 & oxfmt v0.50.0

    Oxc ships Oxlint 1.65.0 and Oxfmt 0.50.0 with new lint rules, added ESLint and jsx-a11y support, stronger bug fixes, faster performance, and a breaking formatter change that avoids config pre-scan.

    Table of Contents

    Oxlint v1.65.0

    Oxfmt v0.50.0

    Oxlint v1.65.0

    ๐Ÿš€ Features

    5478fb5 linter/jsdoc: Implement require-throws-description rule (#22386) (Mikhail Baev)

    b46d4de linter: Add --debug options and add per-rule timing info (#22282) (camchenry)

    c73225e linter/eslint: Implement prefer-arrow-callback rule (#22312) (๋ฐ•์ฒœ(Cheon Park))

    de82b59 linter: Add support for eslint-plugin-jsx-a11y-x (#22356) (mehm8128)

    b170da3 linter: Implement no-implicit-globals (#22249) (Jovi De Croock)

    f44b6c8 linter: Fill schemas DummyRuleMap with built-in rules (#22288) (Sysix)

    5cdb80d linter/jsx-a11y/: Implement no-interactive-element-to-noninteractive-role (#22332) (anarefolio)

    2749422 linter/jsx-a11y: Add no-noninteractive-element-interactions (#22337) (Pablo Tovar)

    ba2a1d3 linter/jsdoc: Implement require-throws-type rule (#22358) (Mikhail Baev)

    d90729d linter/jsx-a11y: Implement control-has-associated-label (#21985) (mehm8128)

    1d04903 linter/jsdoc: Implement require-yields-type rule (#22331) (Mikhail Baev)

    ๐Ÿ› Bug Fixes

    04c4609 linter/no-nullable-type-assertion-style: Mark as suggestion (#22450) (camc314)

    1c2b7ec linter/no-unused-vars: Handle shadowed self assignments (#22387) (camc314)

    9faa1d5 linter/no-noninteractive-tabindex: Check conditional expressions (#22435) (camc314)

    0854b3a linter/prefer-arrow-callback: Preserve TSX generic arrows in fixer (#22434) (camc314)

    410b814 linter: Supply source_type to codegen fixer (#22433) (camc314)

    3c1bb6f linter: Skip per-node dispatch for run_once-only rules in large files (#22398) (Connor Shea)

    5206cde linter/no-unused-vars: Improve type-only rest parameters diagnostic (#22385) (camc314)

    c9a22b5 linter/consistent-function-scoping: Allow imported bindings (#22384) (camc314)

    c1e966d linter: Report type-only unused parameters in no-unused-vars (#22368) (camchenry)

    4818d98 linter: Check whether path is under root before ignoring it (#20101) (Leonabcd123)

    41fcdcf linter: Fix rule count not including override rules (#19898) (Daniel Osmond)

    59b4f0e linter: Fix 'explicit-module-boundary-types' false positive with 'allowOverloadFunctions' (#22341) (camchenry)

    โšก Performance

    6d42395 linter: Narrow no-unsafe-optional-chaining dispatch (#22437) (camchenry)

    08595fb linter: Optimize no-unreachable (#22397) (camchenry)

    3b46a8d linter: Optimize no-loss-of-precision (#22395) (camchenry)

    b3e2dc9 linter: Optimize oxc/bad-array-method-on-arguments (#22393) (camchenry)

    ๐Ÿ“š Documentation

    dcbf62c linter: Remove some duplicate spaces (#22359) (camc314)

    Oxfmt v0.50.0

    ๐Ÿ’ฅ BREAKING CHANGES

    21bb5d1 oxfmt: [BREAKING] Avoid config pre-scan (#22258) (leaysgur)

    ๐Ÿ› Bug Fixes

    441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur)

    e49ee26 formatter: Respect singleQuote for jsdoc import() type paths (#22353) (Colin Lienard)

    43b9978 formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur)

    7c5cfa0 formatter: Handle jsx trailing comment with parens (#22370) (leaysgur)

    ac5f120 formatter: Fix erroneous formatting inside a template literal with parentheses (#22262) (Jovi De Croock)

    3c53a95 formatter/sort_imports: Handle ignore comment as boundary (#22369) (leaysgur)

    4dd83dd oxfmt: Send expandedStates variants as shared refs (#22366) (leaysgur)

    055cc61 formatter: Expand JSX logical chain with leading line comment (#22346) (leaysgur)

    8046222 formatter: Preserve type alias comment break (#22261) (Jovi De Croock)

    โšก Performance

    123c493 oxfmt: Reduce more syscalls (#22380) (leaysgur)

    Original source
  • May 11, 2026
    • Date parsed from source:
      May 11, 2026
    • First seen by Releasebot:
      May 11, 2026
    Oxc logo

    Oxc

    oxlint_v1.64.0: fix(ci): pin mimalloc-safe to 0.1.58 (#22329)

    Oxc fixes its build by pinning the workspace mimalloc-safe dependency to 0.1.58 and updating Cargo.lock so libmimalloc-sys2 is downgraded to 0.1.54, unblocking the aarch64-pc-windows-msvc release job after a mimalloc regression.

    Summary

    Pins the workspace mimalloc-safe dependency to =0.1.58 and updates Cargo.lock so libmimalloc-sys2 is downgraded from 0.1.55 to 0.1.54.

    Why

    The Build Oxfmt aarch64-pc-windows-msvc release job started failing after the dependency set moved to mimalloc-safe 0.1.59 / libmimalloc-sys2 0.1.55. The failing log shows clang compiling mimalloc for aarch64-pc-windows-msvc and hitting undeclared MSVC ARM64 atomics (__ldar64 / __stlr64). The same workflow target passed on May 5 with mimalloc-safe 0.1.58 / libmimalloc-sys2 0.1.54.

    This is intended as a narrow release unblock while the upstream mimalloc-safe regression is handled separately.

    Original source
  • May 11, 2026
    • Date parsed from source:
      May 11, 2026
    • First seen by Releasebot:
      May 11, 2026
    Oxc logo

    Oxc

    oxfmt_v0.49.0: fix(ci): pin mimalloc-safe to 0.1.58 (#22329)

    Oxc fixes a release-blocking build issue by pinning the workspace mimalloc-safe dependency to 0.1.58 and updating Cargo.lock to downgrade libmimalloc-sys2, restoring the aarch64-pc-windows-msvc release job while an upstream regression is addressed separately.

    Summary

    Pins the workspace mimalloc-safe dependency to =0.1.58 and updates Cargo.lock so libmimalloc-sys2 is downgraded from 0.1.55 to 0.1.54.

    Why

    The Build Oxfmt aarch64-pc-windows-msvc release job started failing after the dependency set moved to mimalloc-safe 0.1.59 / libmimalloc-sys2 0.1.55. The failing log shows clang compiling mimalloc for aarch64-pc-windows-msvc and hitting undeclared MSVC ARM64 atomics (__ldar64 / __stlr64). The same workflow target passed on May 5 with mimalloc-safe 0.1.58 / libmimalloc-sys2 0.1.54.

    This is intended as a narrow release unblock while the upstream mimalloc-safe regression is handled separately.

    Original source
  • May 11, 2026
    • Date parsed from source:
      May 11, 2026
    • First seen by Releasebot:
      May 11, 2026
    Oxc logo

    Oxc

    oxc crates_v0.130.0

    Oxc adds TypeScript, minifier, codegen, parser, and transformer updates with safer enum evaluation, improved sourcemaps, better direct eval handling, preserved class and function names, and fixes for object rest spread, decorators, and optional chains.

    Features

    66c9b01 transformer/typescript: Debug_assert that enum_eval ran in semantic (#22252) (Dunqing)

    ffe6475 minifier: Fold Array constructor with safe spreads (#22215) (camc314)

    Bug Fixes

    d3d0b18 traverse: Handle ChainElement::TSNonNullExpression in GatherNodeParts (#22247) (leaysgur)

    4e880de transformer/object-rest-spread: Declare temp vars for computed keys (#22284) (camc314)

    a7c3e22 semantic: Clear member write target for computed keys (#22302) (camc314)

    6a8852d codegen: Emit newline after legal-comment orphan flush (#22304) (Dunqing)

    5da9fda transformer/explicit-resource-management: Preserve class names (#22306) (Dunqing)

    b5d970f transformer/explicit-resource-management: Preserve class names (#22290) (camc314)

    bc54fd4 minifier: Keep function / class names if direct eval is present in the scope (#22241) (sapphi-red)

    7a810c0 minifier: Refresh direct eval flags after DCE (#21787) (Dunqing)

    dd88726 transformer/legacy-decorator: Preserve accessor type annotation for emitDecoratorMetadata (#21966) (Dunqing)

    29a3cd7 codegen: Swap mapping/indent order for top-level decls (#22206) (Dunqing)

    73b4f40 minifier: Preserve catch binding with direct eval (#22221) (camc314)

    0e13d17 minifier: Preserve optional chain base side effects (#22219) (camc314)

    0c7c01c transformer/typescript: Inline optional-chain enum member access (#21834) (Dunqing)

    a6aff7e codegen: Emit block/array/object end mapping at close char (#22200) (Dunqing)

    a099b03 codegen: Emit call end mapping at ) position, not past it (#22199) (Dunqing)

    5753774 minifier: Cap if-return ternary collapse for firefox (#21841) (Gurupungav Narayanan)

    2493bdd codegen: Correct sourcemap end mappings for closing delimiters (#22001) (Mark Dalgleish)

    3b385e2 minifier: Bail optimizing Array with unknown arg count (#22188) (camc314)

    9fa2122 parser: Parse array computed class keys (#22159) (camc314)

    Documentation

    a4a6892 napi/parser: Correct code comment (#22278) (overlookmotel)

    9305373 oxc: Update README (#22178) (camc314)

    Original source
  • May 11, 2026
    • Date parsed from source:
      May 11, 2026
    • First seen by Releasebot:
      May 11, 2026
    Oxc logo

    Oxc

    oxlint v1.64.0 & oxfmt v0.49.0

    Oxc releases Oxlint v1.64.0 and Oxfmt v0.49.0 with breaking changes, new lint rules and LSP support, plus an experimental .svelte formatter. The update also improves bug fixes, performance, and documentation across linting and formatting.

    Table of Contents

    Oxlint v1.64.0

    Oxfmt v0.49.0

    Oxlint v1.64.0

    ๐Ÿ’ฅ BREAKING CHANGES

    00ce512 oxlint/lsp: [BREAKING] Don't fix suggestions on fixAll code actions & command (#22195) (Sysix)

    ๐Ÿš€ Features

    0eeceaf linter/no-unused-vars: Rename parameter with initializer (#22308) (camc314)

    fa0232b linter/no-unused-vars: Add param rename suggestion (#22285) (Ryota Misumi)

    ae59305 linter/promise/no-promise-in-callback: Add exemptDeclarations option (#22275) (Mikhail Baev)

    60bed4a linter: Extends no-redundant-roles and prefer-tag-over-role support roles (#22069) (mehm8128)

    545c80f linter/eslint: Implement prefer-regex-literals rule (#22192) (Mikhail Baev)

    23abd22 linter/jsx-a11y: Implement no-noninteractive-element-to-interactive-role (#21264) (Pedro Tainha)

    fbb8f22 linter: Support ignores in overrides (#22148) (camc314)

    5a4414d oxlint/lsp: Support rulesCustomization lsp option (#21858) (Sysix)

    ๐Ÿ› Bug Fixes

    0e207b5 linter: Remove bulk supressions commands from CLI help (#22328) (camc314)

    7e93bf2 linter/import/no-named-as-default: Avoid same-binding false positive (#22321) (camc314)

    610f4c7 linter/no-unused-vars: Avoid renaming captured vars (#22310) (camc314)

    6b50f23 oxlint/cli: Load root config by searching up parent directories (#22272) (Sysix)

    31a5de7 linter: Rename override ignores to excludeFiles (#22283) (camc314)

    26d5d7b linter: Add missing vitest/valid-describe-callback functionality (#22279) (camchenry)

    784530f linter: valid-title: detect String.raw strings (#22271) (Sysix)

    080d90e linter: Move no-debugger fix to suggestion (#22256) (Sysix)

    25b7017 linter: Undocument override ignores option (#22213) (camc314)

    7bb00dd linter: Fix role-has-required-aria-props (#22097) (mehm8128)

    d25279e linter/disable-directives: Improve parsing of names, descriptions (#22184) (camc314)

    a59e447 linter/disable-directives: Ignore invalid enable suffixes (#22179) (camc314)

    aafef0f ci: Disable bulk supression test on big endian (#22175) (camc314)

    281daec linter/vue/define-props-destructuring: Add only-when-assigned config opt (#22142) (camc314)

    46ab679 linter/plugins: Trim leading newline for partial sources (#20928) (bab)

    29ff6d9 linter: Update docs for no_alias_methods rule to be Vitest-specific and add toThrowError alias (#22129) (camchenry)

    โšก Performance

    9414bee linter/role-has-required-aria-props: Avoid intermediate vec (#22212) (camc314)

    3883ea3 linter/no-useless-escape: Drop unnecessary Vec collect (#22171) (connorshea)

    42c3029 linter/check-property-names: Replace split-collect-pop-join with rfind (#22172) (connorshea)

    9551d53 linter: Remove unnecessary Vec collect in CFG edge traversal (#22167) (connorshea)

    26fa2fc linter/aria-role: Remove unnecessary string allocations in run method (#22168) (connorshea)

    c9ce045 linter/getter-return: Remove unnecessary Vec collect in CFG edge traversal (#22166) (connorshea)

    72bd846 linter/no-this-in-sfc: Reorder cheap name check, avoid String allocation (#22164) (connorshea)

    ๐Ÿ“š Documentation

    4da212a linter/no-unused-vars: Add docs to rename_unused_function_parameter (#22311) (camc314)

    27c4628 linter/forbid-dom-props: Escape jsx examples in lint rule docs (#22254) (4MBL)

    3f81147 linter: Improve the react/jsx-key rule docs. (#22162) (connorshea)

    07f03cc linter/consistent-return: Add note about noImplicitReturns coverage (#22156) (camc314)

    7c1e049 oxlint/lsp: Improve autogenerated lsp docs (#22154) (Sysix)

    87b3e38 linter: Update docs to be vitest-specific for consistent-test-it (#22128) (camchenry)

    Oxfmt v0.49.0

    ๐Ÿ’ฅ BREAKING CHANGES

    5c6c390 oxfmt: [BREAKING] Respect more git ignore options, align with Oxlint (#22210) (leaysgur)

    ๐Ÿš€ Features

    6e8e818 oxfmt: Experimental .svelte support (#21700) (leaysgur)

    ๐Ÿ› Bug Fixes

    e2a20b6 formatter: Add space after commas in import attributes (#22274) (Leonabcd123)

    โšก Performance

    b756682 oxfmt: Optimize nested config prescan (#22232) (Jovi De Croock)

    f14e81e formatter/sort_imports: Skip sort for single import runs (#22204) (leaysgur)

    32255b1 formatter: Process ImportDeclarations in a run (#22079) (overlookmotel)

    ๐Ÿ“š Documentation

    4da6f4c formatter: Correct comment (#22217) (overlookmotel)

    ef3507d formatter/sort_imports: Refresh docs (#22203) (leaysgur)

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    Oxc logo

    Oxc

    oxlint_v1.63.0: release(apps): oxlint v1.63.0 && oxfmt v0.48.0 (#22109)

    Oxc releases a broad linter and formatter update with new SARIF and agent output support, fresh ESLint, Vue, Jest and Vitest rules, clearer diagnostics, bug fixes, performance improvements and updated formatter behavior.

    Oxlint

    ๐Ÿš€ Features

    1d40d60 linter: Implement SARIF formatter (#22067) (camchenry)
    c0982fe linter/eslint: Implement no-restricted-properties rule (#22080) (AJ Bienz)
    5699d53 linter: Add help text to agent formatter (#22064) (camchenry)
    fe7194d oxlint: Add agent output mode (#21955) (Jovi De Croock)
    fb2f052 linter: Suggest moving shared branch code (#22022) (camc314)
    5868335 linter/no-else-return: Improve nested if diagnostic spans (#22009) (camc314)
    8b4829b linter: Split no-negated-condition rule to unicorn & eslint (#21998) (Sysix)
    fea301a linter: Split jest/prefer-to-be into separate vitest rule (#21977) (camchenry)
    44aa0d6 linter: Split jest/prefer-strict-equal into separate vitest rule (#21976) (camchenry)
    2262b27 linter: Split jest/prefer-spy-on into separate vitest rule (#21975) (camchenry)
    fef9143 linter: Split jest/prefer-mock-return-shorthand into separate vitest rule (#21974) (camchenry)
    2bda504 linter: Split jest/prefer-mock-promise-shorthand into separate vitest rule (#21973) (camchenry)
    6ef6c7d linter: Split jest/prefer-lowercase into separate vitest rule (#21972) (camchenry)
    f4d2498 linter: Split jest/prefer-hooks-on-top into separate vitest rule (#21971) (camchenry)
    fb8e366 linter: Split jest/prefer-hooks-in-order into separate vitest rule (#21970) (camchenry)
    adcd85c linter: Split jest/prefer-expect-resolves into separate vitest rule (#21969) (camchenry)
    8ddc7ec linter: Split jest/prefer-equality-matcher into separate vitest rule (#21968) (camchenry)
    46bb1f3 linter: Split jest/prefer-each into separate vitest rule (#21967) (camchenry)
    bdbff66 linter: Implement interactive-supports-focus (#21767) (mehm8128)
    733b094 linter: Split prefer-to-have-been-called-times rule (#21898) (Said Atrahouch)
    8804425 linter/eslint: Implement logical-assignment-operators rule (#21900) (Mikhail Baev)
    296d147 linter: Split jest/prefer-comparison-matcher into separate vitest rule (#21929) (camchenry)
    38146b6 linter: Split jest/prefer-called-with into separate vitest rule (#21927) (camchenry)
    6f86175 linter/vue: Implement return-in-computed-property rule (#21909) (bab)
    dc2d0e4 linter: Split jest/no-unneeded-async-expect-function into separate vitest rule (#21878) (camchenry)
    a03fc37 linter: Split jest/no-test-return-statement into separate vitest rule (#21877) (camchenry)
    f11313e linter: Split jest/no-test-prefixes into separate vitest rule (#21876) (camchenry)
    4380812 linter: Split prefer-to-have-length rule (#21893) (Said Atrahouch)
    511bcc1 linter: Split jest require-hook rule (#21889) (Said Atrahouch)
    64a8180 linter: Split jest/prefer-snapshot-hint into a Jest rule and a Vitest rule. (#21881) (connorshea)
    ae7924a linter/vue: Implement no-deprecated-model-definition rule (#21886) (bab)
    0dfe8b3 linter: Split jest/require-to-throw-message into Jest and Vitest rules. (#21879) (connorshea)
    51229ff linter: Split jest valid-describe-callback rule (#21882) (Said Atrahouch)
    2d102fd linter: Split no-standalone-expect rule into jest and vitest (#21862) (Sysix)
    ee46a29 linter: Split no-restricted-matchers rule into jest and vitest (#21860) (Sysix)
    1f29459 linter: Split no-restricted-jest-methods rule into jest and vitest (#21859) (Sysix)
    e7f8d55 linter: Remove eslint prefixes from plugin names in diagnostics (#21806) (Connor Shea)
    89fff8b linter: Split valid-expect-in-promise/jest rule into jest and vitest rules (#21854) (Said Atrahouch)

    ๐Ÿ› Bug Fixes

    0b48848 linter/prefer-array-some: Make find rewrite a suggestion (#22103) (camc314)
    d24027e linter/prefer-array-some: Preserve find comparison fixes (#22094) (camc314)
    af2d26c linter/astro: Handle js --- after frontmatter in .astro files (#22091) (Andrew Powell)
    78d4ff0 linter/jsdoc/require-returns: Only look at the nearest jsdoc block (#22077) (camc314)
    fa88857 linter/no-map-spread: Use default codegen options for fix (#22074) (camc314)
    2047a35 linter: Treat adjacent fixes as overlapping (#22071) (camc314)
    75fc551 linter: Handle no-extra-boolean-cast edge cases (#22031) (camc314)
    e9d5284 linter/sort-keys: Don't autofix if comment could be misplaced (#22052) (Amund Eggen Svandal)
    d7230b0 linter/no-constant-condition: Handle generator yields (#22046) (camc314)
    e8dbc56 linter/array-type: Enable edge case tests (#22047) (camc314)
    d57b51f linter/no-constant-condition: Propagate config errors (#22045) (camc314)
    bdb6d95 linter/typescript: Remove duplicate rule tests (#22044) (camc314)
    0beaffc linter: Print resolved extended config (#22040) (camc314)
    192ad0e linter/react/only-export-components: Align rule with upstream cases (#22039) (camc314)
    cdf4c53 linter/only-export-components: Support tanstack router (#21937) (camc314)
    893e18f linter: Stop gitignore lookup at repo boundary (#22033) (camc314)
    7100712 linter/constructor-super: Clarify duplicate super diagnostics (#22035) (camc314)
    fce5b7c linter/constructor-super: Improve invalid super calls diagnostic (#22032) (camc314)
    b3de93c linter/rules-of-hooks: Clarify conditional diagnostics (#22030) (camc314)
    4f9f629 linter/rules-of-hooks: Clarify loop diagnostics (#22029) (camc314)
    e6f0978 linter/rules-of-hooks: Clarify async component diagnostics (#22024) (camc314)
    e262f51 linter/rules-of-hooks: Improve diagnostic for hook inside class component (#22023) (camc314)
    7b71b0d linter/no-restricted-imports: Report once per import declaration (#22021) (camc314)
    3d5ae3d linter/vitest/require-mock-type-parameters: Handle chained typed mocks (#22019) (camc314)
    959a2db linter/reporter/github: Omit empty file annotations (#22017) (camc314)
    16003a1 linter/unicorn: Remove duplicate rule tests (#22018) (camc314)
    86b7547 linter/no-unreachable: Suppress nested unreachable diagnostics (#22011) (camc314)
    1d92ae8 linter/oxc: Remove duplicate rule tests (#22013) (camc314)
    f270246 linter/branches-sharing-code: Ignore empty statements (#22012) (camc314)
    f1c25dd linter: Stabilize debug diagnostic comparison (#22010) (camc314)
    b6bc421 linter: Skip linting astro scripts with non JS script types (#21954) (camc314)
    a77547d linter: Support plugin-qualified disable directives (#21999) (camc314)
    079cfdd linter: Match disable directive rule names exactly, not by substring (#21906) (Christian Vuerings)
    11a4e67 linter: Comptibles rules need to be disabled in jest and vitest at same time (#21982) (Said Atrahouch)
    ce62f16 linter: jsx-a11y/prefer-tag-over-role detect more roles (#21933) (bab)
    024c390 linter/jest/vitest: Padding around after all blocks not working as expected (#21952) (kapobajza)
    05a8f75 linter/jest/no-standalone-expect: False positive with expect in an ObjectProperty (#21948) (Said Atrahouch)
    6a37c98 linter/no-unused-vars: Report unused re-exported imports (#21938) (camc314)
    2d5fc16 linter: jsx-a11y/media-has-caption report only once for self-closing tags (#21934) (bab)
    5adca29 linter: jsx-a11y/no-autofocus ignore false attribute values (#21918) (Sysix)
    2e5c18e linter/max-nested-describe: Reset nested describe depth (#21891) (camc314)

    โšก Performance

    a77f0f7 linter/require-returns: Avoid jsdoc tag vec allocation (#22081) (camc314)
    d9a1b32 linter/plugins: Avoid array lookups where possible in CFG visitor (#21940) (overlookmotel)
    fefefd8 linter/plugins: Replace addition with bitwise OR in CFG visitor (#21939) (overlookmotel)

    ๐Ÿ“š Documentation

    d58f594 oxlint/lsp: Auto generate docs for LSP options (#22082) (Sysix)
    9adc3b3 linter/no-misused-new: Clarify construct signatures behaviour (#22016) (camc314)
    1caf5ad linter/plugins: Reformat comments (#21873) (overlookmotel)

    Oxfmt

    ๐Ÿ› Bug Fixes

    ef0db6b formatter: Sequence expression in arrow function body collapses onto one line (#21183) (Justin Mecham)
    5d5d808 formatter: Preserve blank line after directive with trailing comment (#21153) (Justin Mecham)

    โšก Performance

    2fd907d formatter: Sort imports during IR construction (#22065) (overlookmotel)

    Co-authored-by: Boshen [email protected]
    Co-authored-by: Cameron Clark [email protected]

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    Oxc logo

    Oxc

    oxfmt_v0.48.0: release(apps): oxlint v1.63.0 && oxfmt v0.48.0 (#22109)

    Oxc releases a broad linter and formatter update with a SARIF formatter, agent output mode, new ESLint, Vitest, Vue, and accessibility rules, plus bug fixes, performance improvements, and Oxfmt fixes for cleaner formatting and import handling.

    Oxlint

    ๐Ÿš€ Features

    1d40d60 linter: Implement SARIF formatter (#22067) (camchenry)
    c0982fe linter/eslint: Implement no-restricted-properties rule (#22080) (AJ Bienz)
    5699d53 linter: Add help text to agent formatter (#22064) (camchenry)
    fe7194d oxlint: Add agent output mode (#21955) (Jovi De Croock)
    fb2f052 linter: Suggest moving shared branch code (#22022) (camc314)
    5868335 linter/no-else-return: Improve nested if diagnostic spans (#22009) (camc314)
    8b4829b linter: Split no-negated-condition rule to unicorn & eslint (#21998) (Sysix)
    fea301a linter: Split jest/prefer-to-be into separate vitest rule (#21977) (camchenry)
    44aa0d6 linter: Split jest/prefer-strict-equal into separate vitest rule (#21976) (camchenry)
    2262b27 linter: Split jest/prefer-spy-on into separate vitest rule (#21975) (camchenry)
    fef9143 linter: Split jest/prefer-mock-return-shorthand into separate vitest rule (#21974) (camchenry)
    2bda504 linter: Split jest/prefer-mock-promise-shorthand into separate vitest rule (#21973) (camchenry)
    6ef6c7d linter: Split jest/prefer-lowercase into separate vitest rule (#21972) (camchenry)
    f4d2498 linter: Split jest/prefer-hooks-on-top into separate vitest rule (#21971) (camchenry)
    fb8e366 linter: Split jest/prefer-hooks-in-order into separate vitest rule (#21970) (camchenry)
    adcd85c linter: Split jest/prefer-expect-resolves into separate vitest rule (#21969) (camchenry)
    8ddc7ec linter: Split jest/prefer-equality-matcher into separate vitest rule (#21968) (camchenry)
    46bb1f3 linter: Split jest/prefer-each into separate vitest rule (#21967) (camchenry)
    bdbff66 linter: Implement interactive-supports-focus (#21767) (mehm8128)
    733b094 linter: Split prefer-to-have-been-called-times rule (#21898) (Said Atrahouch)
    8804425 linter/eslint: Implement logical-assignment-operators rule (#21900) (Mikhail Baev)
    296d147 linter: Split jest/prefer-comparison-matcher into separate vitest rule (#21929) (camchenry)
    38146b6 linter: Split jest/prefer-called-with into separate vitest rule (#21927) (camchenry)
    6f86175 linter/vue: Implement return-in-computed-property rule (#21909) (bab)
    dc2d0e4 linter: Split jest/no-unneeded-async-expect-function into separate vitest rule (#21878) (camchenry)
    a03fc37 linter: Split jest/no-test-return-statement into separate vitest rule (#21877) (camchenry)
    f11313e linter: Split jest/no-test-prefixes into separate vitest rule (#21876) (camchenry)
    4380812 linter: Split prefer-to-have-length rule (#21893) (Said Atrahouch)
    511bcc1 linter: Split jest require-hook rule (#21889) (Said Atrahouch)
    64a8180 linter: Split jest/prefer-snapshot-hint into a Jest rule and a Vitest rule. (#21881) (connorshea)
    ae7924a linter/vue: Implement no-deprecated-model-definition rule (#21886) (bab)
    0dfe8b3 linter: Split jest/require-to-throw-message into Jest and Vitest rules. (#21879) (connorshea)
    51229ff linter: Split jest valid-describe-callback rule (#21882) (Said Atrahouch)
    2d102fd linter: Split no-standalone-expect rule into jest and vitest (#21862) (Sysix)
    ee46a29 linter: Split no-restricted-matchers rule into jest and vitest (#21860) (Sysix)
    1f29459 linter: Split no-restricted-jest-methods rule into jest and vitest (#21859) (Sysix)
    e7f8d55 linter: Remove eslint prefixes from plugin names in diagnostics (#21806) (Connor Shea)
    89fff8b linter: Split valid-expect-in-promise/jest rule into jest and vitest rules (#21854) (Said Atrahouch)

    ๐Ÿ› Bug Fixes

    0b48848 linter/prefer-array-some: Make find rewrite a suggestion (#22103) (camc314)
    d24027e linter/prefer-array-some: Preserve find comparison fixes (#22094) (camc314)
    af2d26c linter/astro: Handle js --- after frontmatter in .astro files (#22091) (Andrew Powell)
    78d4ff0 linter/jsdoc/require-returns: Only look at the nearest jsdoc block (#22077) (camc314)
    fa88857 linter/no-map-spread: Use default codegen options for fix (#22074) (camc314)
    2047a35 linter: Treat adjacent fixes as overlapping (#22071) (camc314)
    75fc551 linter: Handle no-extra-boolean-cast edge cases (#22031) (camc314)
    e9d5284 linter/sort-keys: Don't autofix if comment could be misplaced (#22052) (Amund Eggen Svandal)
    d7230b0 linter/no-constant-condition: Handle generator yields (#22046) (camc314)
    e8dbc56 linter/array-type: Enable edge case tests (#22047) (camc314)
    d57b51f linter/no-constant-condition: Propagate config errors (#22045) (camc314)
    bdb6d95 linter/typescript: Remove duplicate rule tests (#22044) (camc314)
    0beaffc linter: Print resolved extended config (#22040) (camc314)
    192ad0e linter/react/only-export-components: Align rule with upstream cases (#22039) (camc314)
    cdf4c53 linter/only-export-components: Support tanstack router (#21937) (camc314)
    893e18f linter: Stop gitignore lookup at repo boundary (#22033) (camc314)
    7100712 linter/constructor-super: Clarify duplicate super diagnostics (#22035) (camc314)
    fce5b7c linter/constructor-super: Improve invalid super calls diagnostic (#22032) (camc314)
    b3de93c linter/rules-of-hooks: Clarify conditional diagnostics (#22030) (camc314)
    4f9f629 linter/rules-of-hooks: Clarify loop diagnostics (#22029) (camc314)
    e6f0978 linter/rules-of-hooks: Clarify async component diagnostics (#22024) (camc314)
    e262f51 linter/rules-of-hooks: Improve diagnostic for hook inside class component (#22023) (camc314)
    7b71b0d linter/no-restricted-imports: Report once per import declaration (#22021) (camc314)
    3d5ae3d linter/vitest/require-mock-type-parameters: Handle chained typed mocks (#22019) (camc314)
    959a2db linter/reporter/github: Omit empty file annotations (#22017) (camc314)
    16003a1 linter/unicorn: Remove duplicate rule tests (#22018) (camc314)
    86b7547 linter/no-unreachable: Suppress nested unreachable diagnostics (#22011) (camc314)
    1d92ae8 linter/oxc: Remove duplicate rule tests (#22013) (camc314)
    f270246 linter/branches-sharing-code: Ignore empty statements (#22012) (camc314)
    f1c25dd linter: Stabilize debug diagnostic comparison (#22010) (camc314)
    b6bc421 linter: Skip linting astro scripts with non JS script types (#21954) (camc314)
    a77547d linter: Support plugin-qualified disable directives (#21999) (camc314)
    079cfdd linter: Match disable directive rule names exactly, not by substring (#21906) (Christian Vuerings)
    11a4e67 linter: Comptibles rules need to be disabled in jest and vitest at same time (#21982) (Said Atrahouch)
    ce62f16 linter: jsx-a11y/prefer-tag-over-role detect more roles (#21933) (bab)
    024c390 linter/jest/vitest: Padding around after all blocks not working as expected (#21952) (kapobajza)
    05a8f75 linter/jest/no-standalone-expect: False positive with expect in an ObjectProperty (#21948) (Said Atrahouch)
    6a37c98 linter/no-unused-vars: Report unused re-exported imports (#21938) (camc314)
    2d5fc16 linter: jsx-a11y/media-has-caption report only once for self-closing tags (#21934) (bab)
    5adca29 linter: jsx-a11y/no-autofocus ignore false attribute values (#21918) (Sysix)
    2e5c18e linter/max-nested-describe: Reset nested describe depth (#21891) (camc314)

    โšก Performance

    a77f0f7 linter/require-returns: Avoid jsdoc tag vec allocation (#22081) (camc314)
    d9a1b32 linter/plugins: Avoid array lookups where possible in CFG visitor (#21940) (overlookmotel)
    fefefd8 linter/plugins: Replace addition with bitwise OR in CFG visitor (#21939) (overlookmotel)

    ๐Ÿ“š Documentation

    d58f594 oxlint/lsp: Auto generate docs for LSP options (#22082) (Sysix)
    9adc3b3 linter/no-misused-new: Clarify construct signatures behaviour (#22016) (camc314)
    1caf5ad linter/plugins: Reformat comments (#21873) (overlookmotel)

    Oxfmt

    ๐Ÿ› Bug Fixes

    ef0db6b formatter: Sequence expression in arrow function body collapses onto one line (#21183) (Justin Mecham)
    5d5d808 formatter: Preserve blank line after directive with trailing comment (#21153) (Justin Mecham)

    โšก Performance

    2fd907d formatter: Sort imports during IR construction (#22065) (overlookmotel)

    Co-authored-by: Boshen [email protected]
    Co-authored-by: Cameron Clark [email protected]

    Original source
  • May 5, 2026
    • Date parsed from source:
      May 5, 2026
    • First seen by Releasebot:
      May 6, 2026
    Oxc logo

    Oxc

    oxc crates_v0.129.0

    Oxc releases a new update with a breaking allocator change, JSX fragment source metadata, parser and codegen fixes, TypeScript class field improvements, and performance tweaks to Arena allocation.

    BREAKING CHANGES

    0ffbe0d allocator: [BREAKING] Remove Allocator::end_ptr method (#21871) (overlookmotel)

    Features

    9593ec8 transformer/jsx: Add jsxDEV source metadata for fragments (#21932) (Ido Rosenthal)

    Bug Fixes

    81e834c parser: Prevent multiple Parser instances in binary (#22120) (overlookmotel)
    429deac napi/parser: Export visitorKeys from wasm entrypoint (#21996) (NullVoxPopuli)
    e852911 codegen: Preserve legal comments orphaned by upstream passes (#21575) (Dunqing)
    e3399ec transformer/class-properties: Preserve RHS in logical-assignment to static private field (#21950) (Dunqing)
    c59c199 transformer/typescript: Emit class fields for parameter properties (#21831) (Dunqing)
    aaabde4 parser: Attach legal comments to following token (#21670) (Dunqing)

    Performance

    0bf0cb9 allocator: Per-platform Arena::new_fixed_size implementations (#22088) (overlookmotel)

    Documentation

    62ec410 allocator: Correct doc comment for Allocator::from_raw_parts (#22093) (overlookmotel)
    3e152c6 allocator: Correct typos in comments (#22092) (overlookmotel)
    e220855 allocator: Correct doc comment for Allocator::set_cursor_ptr (#21866) (overlookmotel)

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.

Similar to Oxc with recent updates: