Oxc Release Notes

Last updated: Feb 20, 2026

  • Feb 19, 2026
    • Date parsed from source:
      Feb 19, 2026
    • First seen by Releasebot:
      Feb 20, 2026
    Oxc logo

    Oxc

    oxlint_v1.49.0: release(apps): oxlint v1.49.0 && oxfmt v0.34.0 (#19553)

    Oxlint release brings breaking changes, new lint rules and TypeScript checks, plus bug fixes and performance improvements. It also marks oxfmt updates with new features and fixes for formatting tasks.

    Oxlint

    BREAKING CHANGES

    • 4315594 oxlint: [BREAKING] Deprecate "always" and "as-needed" options of the radix rule (#19408) (Sysix)
    • d4c7af3 linter: [BREAKING] Remove allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing option (#19451) (camc314)

    Features

    • 82ca5c3 linter: Add typescript/dot-notation rule (#19442) (camc314)
    • 6db0811 linter: Implement eslint-plugin-vitest/no-importing-vitest-globals (#18694) (Said Atrahouch)
    • c7fe8ae linter: Implement eslint-plugin-vitest/prefer-import-in-mock (#17966) (Said Atrahouch)
    • 0abb39a linter: Implement eslint-vitest-jest-plugin/prefer-mock-return-shorthand (#18002) (Said Atrahouch)
    • 2b95537 linter: Implement n/no-path-concat rule (#19502) (Mikhail Baev)
    • 735d0e4 linter: Implement typescript/no-useless-default-assignment (#19488) (camc314)
    • 31c3a93 linter: Add typescript/no-unnecessary-type-parameters rule (#19450) (camc314)
    • c948090 linter: Add typescript/consistent-return rule (#19449) (camc314)
    • 9f87df0 linter: Add typescript/prefer-string-starts-ends-with rule (#19448) (camc314)
    • 04536be linter: Add typescript/prefer-regexp-exec rule (#19447) (camc314)
    • 56a7feb linter: Add typescript/prefer-readonly rule (#19446) (camc314)
    • a1cea63 linter: Add typescript/no-unnecessary-qualifier rule (#19445) (camc314)
    • e3144d2 linter: Add typescript/prefer-find rule (#19444) (camc314)
    • 13c7408 linter: Add typescript/prefer-readonly-parameter-types rule (#19443) (camc314)
    • 9b17d44 linter: Add typescript/strict-void-return rule (#19441) (camc314)
    • ed821b4 linter: Add typescript/consistent-type-exports rule (#19440) (camc314)

    Bug Fixes

    • daad7bc linter/array-callback-return: Check allowVoid option (#19506) (Said Atrahouch)
    • 638cf94 linter: Add help text to eslint rule diagnostics (#19508) (Kyle Tse)
    • 79fc6d7 linter: Move no-use-before-define to eslint plugin (#19438) (camc314)
    • c832a9f linter: Add onScrollEnd and onScrollEndCapture to react/no-unknown-property. (#19536) (connorshea)
    • 999a0db linter: Add help text to symbol-description diagnostics (#19538) (Anthony Amaro)
    • f064482 linter: Add help text to eslint rule diagnostics (#19539) (Anthony Amaro)
    • fd11073 linter/react/no-unknown-property: Add missing fetchPriority prop (#19525) (Joรฃo Pedro Schmitz)
    • a9bb604 linter/no-shadow: Align initializer shadow handling with typescript-eslint (#19462) (camc314)
    • 32e6eb9 linter: Handle typed arrays/array buffers in prefer-spread rule. (#19478) (connorshea)
    • e309f84 linter: Handle additional cases in typescript/consistent-generic-constructors rule. (#19477) (connorshea)
    • 71db91a linter/array-callback-return: Check fromAsync, update test cases (#19483) (Said Atrahouch)
    • 2a12d74 linter: Handle optional chaining in no-array-method-this-argument rule. (#19476) (connorshea)
    • f65310b linter: Handle optional chaining in prefer-object-from-entries rule. (#19475) (connorshea)
    • 840acf4 linter: Handle optional chain in no-unnecessary-array-flat-depth rule. (#19471) (connorshea)
    • 85a19e9 linter: Skip string literal imports in consistent-assert rule. (#19474) (connorshea)

    Performance

    • 6155ac4 linter/constructor-super: Use node_id over nodes loop (#19489) (camc314)
    • a02496d linter/consistent-index-object-style: Resolve circular type refs semantically (#19490) (camc314)

    Oxfmt

    Features

    • 652c346 oxfmt/lsp: Support untitled:// schema (#19287) (Sysix)

    Bug Fixes

    • 6c61b70 oxfmt: Fix outdated sortImports.groups doc comments (#19513) (leaysgur)

    Co-authored-by: camc314 [email protected]

    Original source Report a problem
  • Feb 19, 2026
    • Date parsed from source:
      Feb 19, 2026
    • First seen by Releasebot:
      Feb 20, 2026
    Oxc logo

    Oxc

    oxfmt_v0.34.0: release(apps): oxlint v1.49.0 && oxfmt v0.34.0 (#19553)

    Oxlint unveils breaking changes and a wave of new lint rules for TypeScript, along with plugin support and performance fixes. Oxfmt also ships updates including new features and bug fixes that improve formatting and speed. This is a real released update with visible product changes.

    Oxlint

    BREAKING CHANGES

    • 4315594 oxlint: [BREAKING] Deprecate "always" and "as-needed" options of the radix rule (#19408) (Sysix)
    • d4c7af3 linter: [BREAKING] Remove allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing option (#19451) (camc314)

    Features

    • 82ca5c3 linter: Add typescript/dot-notation rule (#19442) (camc314)
    • 6db0811 linter: Implement eslint-plugin-vitest/no-importing-vitest-globals (#18694) (Said Atrahouch)
    • c7fe8ae linter: Implement eslint-plugin-vitest/prefer-import-in-mock (#17966) (Said Atrahouch)
    • 0abb39a linter: Implement eslint-vitest-jest-plugin/prefer-mock-return-shorthand (#18002) (Said Atrahouch)
    • 2b95537 linter: Implement n/no-path-concat rule (#19502) (Mikhail Baev)
    • 735d0e4 linter: Implement typescript/no-useless-default-assignment (#19488) (camc314)
    • 31c3a93 linter: Add typescript/no-unnecessary-type-parameters rule (#19450) (camc314)
    • c948090 linter: Add typescript/consistent-return rule (#19449) (camc314)
    • 9f87df0 linter: Add typescript/prefer-string-starts-ends-with rule (#19448) (camc314)
    • 04536be linter: Add typescript/prefer-regexp-exec rule (#19447) (camc314)
    • 56a7feb linter: Add typescript/prefer-readonly rule (#19446) (camc314)
    • a1cea63 linter: Add typescript/no-unnecessary-qualifier rule (#19445) (camc314)
    • e3144d2 linter: Add typescript/prefer-find rule (#19444) (camc314)
    • 13c7408 linter: Add typescript/prefer-readonly-parameter-types rule (#19443) (camc314)
    • 9b17d44 linter: Add typescript/strict-void-return rule (#19441) (camc314)
    • ed821b4 linter: Add typescript/consistent-type-exports rule (#19440) (camc314)

    Bug Fixes

    • daad7bc linter/array-callback-return: Check allowVoid option (#19506) (Said Atrahouch)
    • 638cf94 linter: Add help text to eslint rule diagnostics (#19508) (Kyle Tse)
    • 79fc6d7 linter: Move no-use-before-define to eslint plugin (#19438) (camc314)
    • c832a9f linter: Add onScrollEnd and onScrollEndCapture to react/no-unknown-property. (#19536) (connorshea)
    • 999a0db linter: Add help text to symbol-description diagnostics (#19538) (Anthony Amaro)
    • f064482 linter: Add help text to eslint rule diagnostics (#19539) (Anthony Amaro)
    • fd11073 linter/react/no-unknown-property: Add missing fetchPriority prop (#19525) (Joรฃo Pedro Schmitz)
    • a9bb604 linter/no-shadow: Align initializer shadow handling with typescript-eslint (#19462) (camc314)
    • 32e6eb9 linter: Handle typed arrays/array buffers in prefer-spread rule. (#19478) (connorshea)
    • e309f84 linter: Handle additional cases in typescript/consistent-generic-constructors rule. (#19477) (connorshea)
    • 71db91a linter/array-callback-return: Check fromAsync, update test cases (#19483) (Said Atrahouch)
    • 2a12d74 linter: Handle optional chaining in no-array-method-this-argument rule. (#19476) (connorshea)
    • f65310b linter: Handle optional chaining in prefer-object-from-entries rule. (#19475) (connorshea)
    • 840acf4 linter: Handle optional chain in no-unnecessary-array-flat-depth rule. (#19471) (connorshea)
    • 85a19e9 linter: Skip string literal imports in consistent-assert rule. (#19474) (connorshea)

    Performance

    • 6155ac4 linter/constructor-super: Use node_id over nodes loop (#19489) (camc314)
    • a02496d linter/consistent-index-object-style: Resolve circular type refs semantically (#19490) (camc314)

    Oxfmt

    Features
    • 652c346 oxfmt/lsp: Support untitled:// schema (#19287) (Sysix)
    Bug Fixes
    • 6c61b70 oxfmt: Fix outdated sortImports.groups doc comments (#19513) (leaysgur)

    Co-authored-by: camc314 [email protected]

    Original source Report a problem
  • All of your release notes in one feed

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

  • Feb 19, 2026
    • Date parsed from source:
      Feb 19, 2026
    • First seen by Releasebot:
      Feb 20, 2026
    Oxc logo

    Oxc

    oxlint v1.49.0 & oxfmt v0.34.0

    Oxlint v1.49.0 brings breaking changes plus a new set of lint rules and TypeScript improvements, alongside bug fixes. Oxfmt v0.34.0 adds formatting updates and a notable LSP/schema enhancement with fixes.

    Table of Contents

    • Oxlint v1.49.0
    • Oxfmt v0.34.0
    • Oxlint v1.49.0

    ๐Ÿ”ฅ BREAKING CHANGES

    • 4315594 oxlint: [BREAKING] Deprecate "always" and "as-needed" options of the radix rule (#19408) (Sysix)
    • d4c7af3 linter: [BREAKING] Remove allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing option (#19451) (camc314)

    ๐Ÿš€ Features

    • 82ca5c3 linter: Add typescript/dot-notation rule (#19442) (camc314)
    • 6db0811 linter: Implement eslint-plugin-vitest/no-importing-vitest-globals (#18694) (Said Atrahouch)
    • c7fe8ae linter: Implement eslint-plugin-vitest/prefer-import-in-mock (#17966) (Said Atrahouch)
    • 0abb39a linter: Implement eslint-vitest-jest-plugin/prefer-mock-return-shorthand (#18002) (Said Atrahouch)
    • 2b95537 linter: Implement n/no-path-concat rule (#19502) (Mikhail Baev)
    • 735d0e4 linter: Implement typescript/no-useless-default-assignment (#19488) (camc314)
    • 31c3a93 linter: Add typescript/no-unnecessary-type-parameters rule (#19450) (camc314)
    • c948090 linter: Add typescript/consistent-return rule (#19449) (camc314)
    • 9f87df0 linter: Add typescript/prefer-string-starts-ends-with rule (#19448) (camc314)
    • 04536be linter: Add typescript/prefer-regexp-exec rule (#19447) (camc314)
    • 56a7feb linter: Add typescript/prefer-readonly rule (#19446) (camc314)
    • a1cea63 linter: Add typescript/no-unnecessary-qualifier rule (#19445) (camc314)
    • e3144d2 linter: Add typescript/prefer-find rule (#19444) (camc314)
    • 13c7408 linter: Add typescript/prefer-readonly-parameter-types rule (#19443) (camc314)
    • 9b17d44 linter: Add typescript/strict-void-return rule (#19441) (camc314)
    • ed821b4 linter: Add typescript/consistent-type-exports rule (#19440) (camc314)

    ๐Ÿ› Bug Fixes

    • daad7bc linter/array-callback-return: Check allowVoid option (#19506) (Said Atrahouch)
    • 638cf94 linter: Add help text to eslint rule diagnostics (#19508) (Kyle Tse)
    • 79fc6d7 linter: Move no-use-before-define to eslint plugin (#19438) (camc314)
    • c832a9f linter: Add onScrollEnd and onScrollEndCapture to react/no-unknown-property. (#19536) (connorshea)
    • 999a0db linter: Add help text to symbol-description diagnostics (#19538) (Anthony Amaro)
    • f064482 linter: Add help text to eslint rule diagnostics (#19539) (Anthony Amaro)
    • fd11073 linter/react/no-unknown-property: Add missing fetchPriority prop (#19525) (Joรฃo Pedro Schmitz)
    • a9bb604 linter/no-shadow: Align initializer shadow handling with typescript-eslint (#19462) (camc314)
    • 32e6eb9 linter: Handle typed arrays/array buffers in prefer-spread rule. (#19478) (connorshea)
    • e309f84 linter: Handle additional cases in typescript/consistent-generic-constructors rule. (#19477) (connorshea)
    • 71db91a linter/array-callback-return: Check fromAsync, update test cases (#19483) (Said Atrahouch)
    • 2a12d74 linter: Handle optional chaining in no-array-method-this-argument rule. (#19476) (connorshea)
    • f65310b linter: Handle optional chaining in prefer-object-from-entries rule. (#19475) (connorshea)
    • 840acf4 linter: Handle optional chain in no-unnecessary-array-flat-depth rule. (#19471) (connorshea)
    • 85a19e9 linter: Skip string literal imports in consistent-assert rule. (#19474) (connorshea)

    โšก Performance

    • 6155ac4 linter/constructor-super: Use node_id over nodes loop (#19489) (camc314)
    • a02496d linter/consistent-index-object-style: Resolve circular type refs semantically (#19490) (camc314)

    Oxfmt v0.34.0

    ๐Ÿš€ Features

    • 652c346 oxfmt/lsp: Support untitled:// schema (#19287) (Sysix)

    ๐Ÿ› Bug Fixes

    • 6c61b70 oxfmt: Fix outdated sortImports.groups doc comments (#19513) (leaysgur)
    Original source Report a problem
  • Feb 16, 2026
    • Date parsed from source:
      Feb 16, 2026
    • First seen by Releasebot:
      Feb 16, 2026
    Oxc logo

    Oxc

    oxlint_v1.48.0: release(apps): oxlint v1.48.0 && oxfmt v0.33.0 (#19430)

    A sweeping release brings breaking changes and sweeping lint upgrades for Oxlint, adding dynamic configs, TypeScript rule support, and new fixers, plus broad bug fixes and improved docs. Oxfmt follows with its own breaking changes and new formatting features.

    Oxlint

    ๐Ÿ’ฅ BREAKING CHANGES

    • 7711821 oxlint: [BREAKING] no-shadow-restricted-names report
    • globalThis by default (#19407) (Sysix)

    ๐Ÿš€ Features

    • ce1baa0 linter: Implement eslint/no-shadow (#18979) (Vรญctor Fernรกndez)
    • 7a333c1 linter: Support dynamic configs via CLI arguments (#19384) (camc314)
    • 1bf569b linter: Implement typescript/unified-signatures (#19375) (camc314)
    • 6562a9b linter: Implement typescript/parameter-properties (#19374) (camc314)
    • 94d8d74 linter: Implement typescript/no-use-before-define (#19373) (camc314)
    • 80b002a linter: Implement fixer for unicorn/no-instanceof-builtins (#19371) (camc314)
    • 5c3784b linter: Implement eslint/no-unmodified-loop-condition (#19341) (Vincent R)
    • cc00a59 linter/const-comparisons: Improve diagnostics when mixing logical/comparison operators (#19370) (camc314)
    • ea2c401 linter: Add support for no constructed context values (#18067) (Jovi De Croock)
    • f2440eb linter: Mark eslint/no-return-assign as having no fixer (#19327) (camc314)
    • 8588670 linter/unicorn: Implement suggestion for unicorn/no-await-in-promise-methods rule (#19359) (Mikhail Baev)
    • f0af965 linter: Move jsx-a11y/no-static-element-interactions rule out of the nursery. (#19355) (connorshea)
    • be0ce50 linter/tsgolint: Add support for labeled ranges in tsgolint diagnostics (#19201) (camchenry)
    • b5bc900 linter: Implement fixer for unicorn/no-new-buffer (#19326) (camc314)
    • 1612932 linter: Add typescript/no-unnecessary-condition (#19130) (camc314)
    • 37dc6c5 linter: Implement fixer for unicorn/prefer-includes (#19323) (camc314)

    ๐Ÿ› Bug Fixes

    • c2b1870 linter: Enforce config options for react/forbid-dom-props rule. (#19387) (connorshea)
    • 3d24e44 linter: Honor no-empty-function allow getters/setters for object literals (#19393) (camc314)
    • bbced8d linter: Enforce config options for eslint/no-empty-function rule, improve docs. (#19390) (connorshea)
    • 6bc8aec linter: Fix the behavior of import/extensions rule for a file that has multiple extensions. (#18919) (connorshea)
    • c62a295 linter/img-redundant-alt: Enforce whole-word matching for redundant alt text (#19367) (camc314)
    • 98956fe linter/describe-function-title: Skip autofix for type-only imports (#19329) (camc314)
    • d96d26d linter/plugins: Provide parser.version (#19364) (overlookmotel)
    • 81f0039 linter_codegen: Compute rule IDs relative to previous rule (#19350) (camchenry)
    • b7ef0a8 linter/consistent-indexed-object-style: Avoid unsafe Record conversions for mapped types (#19320) (camc314)

    ๐Ÿ“š Documentation

    • 3a6059f linter: Improve docs for eslint/require-await rule. (#19361) (connorshea)
    • b069269 linter/plugins: Add comment about deprecated ScopeManager methods (#19363) (overlookmotel)
    • 2d8aaf9 linter: Disable formatting for eslint/no-unsafe-negation examples. (#19347) (connorshea)
    • fb87806 linter: Ensure that we do not auto-format the docs for unicorn/number-literal-case rule. (#19346) (connorshea)
    • 8d3ae27 linter/typescript: Skip docs for deprecated type aware rule options (#19324) (camc314)

    Oxfmt

    ๐Ÿ’ฅ BREAKING CHANGES

    • 00135b5 formatter/sort_imports: [BREAKING] Change default groups order (#19427) (leaysgur)
    • 9c34f72 formatter/sort_imports: [BREAKING] Report invalid group name with renaming side-effect > side_effect (#19416) (leaysgur)

    ๐Ÿš€ Features

    • 4baebef formatter/sort_imports: Support { newlinesBetween: bool } inside groups (#19358) (leaysgur)
    • d1c2fb6 formatter/sort_imports: Support customGroups attributes(selector and modifiers) (#19356) (leaysgur)

    ๐Ÿ› Bug Fixes

    • f084ea6 oxfmt: Explicitly pass process.env for the forked process (#19380) (Long Ho)
    • 2bc7a14 formatter: Arrow function body incorrectly broken when return type has comment (#19368) (Dunqing)
    • 90ec3d2 oxfmt: Update tailwind plugin which fixes crash on non-js file (#19353) (leaysgur)
    • e9c5b1e formatter: Treat PrivateFieldExpression as simple call argument (#19348) (Dunqing)
    • 80643d5 formatter: Match Prettier union indentation with leading comments (#19271) (Dunqing)

    โšก Performance

    • c169c77 syntax: Optimize is_identifier_name_patched (#19386) (sapphi-red)
    Original source Report a problem
  • Feb 16, 2026
    • Date parsed from source:
      Feb 16, 2026
    • First seen by Releasebot:
      Feb 16, 2026
    Oxc logo

    Oxc

    oxfmt_v0.33.0: release(apps): oxlint v1.48.0 && oxfmt v0.33.0 (#19430)

    Oxlint and Oxfmt release a major update with breaking changes, new lint rules and dynamic Config support, plus bug fixes and docs improvements across linting and formatting tooling. It signals shipped product changes and broader tool enhancements.

    Oxlint

    BREAKING CHANGES

    • 7711821 oxlint: [BREAKING] no-shadow-restricted-names report
      globalThis by default (#19407) (Sysix)

    Features

    • ce1baa0 linter: Implement eslint/no-shadow (#18979) (Vรญctor Fernรกndez)
    • 7a333c1 linter: Support dynamic configs via CLI arguments (#19384)
      (camc314)
    • 1bf569b linter: Implement typescript/unified-signatures (#19375)
      (camc314)
    • 6562a9b linter: Implement typescript/parameter-properties (#19374)
      (camc314)
    • 94d8d74 linter: Implement typescript/no-use-before-define (#19373)
      (camc314)
    • 80b002a linter: Implement fixer for unicorn/no-instanceof-builtins
      (#19371) (camc314)
    • 5c3784b linter: Implement eslint/no-unmodified-loop-condition (#19341)
      (Vincent R)
    • cc00a59 linter/const-comparisons: Improve diagnostics when mixing
      logical/comparison operators (#19370) (camc314)
    • ea2c401 linter: Add support for no constructed context values (#18067)
      (Jovi De Croock)
    • f2440eb linter: Mark eslint/no-return-assign as having no fixer
      (#19327) (camc314)
    • 8588670 linter/unicorn: Implement suggestion for
      unicorn/no-await-in-promise-methods rule (#19359) (Mikhail Baev)
    • f0af965 linter: Move jsx-a11y/no-static-element-interactions rule
      out of the nursery. (#19355) (connorshea)
    • be0ce50 linter/tsgolint: Add support for labeled ranges in tsgolint
      diagnostics (#19201) (camchenry)
    • b5bc900 linter: Implement fixer for unicorn/no-new-buffer (#19326)
      (camc314)
    • 1612932 linter: Add typescript/no-unnecessary-condition (#19130)
      (camc314)
    • 37dc6c5 linter: Implement fixer for unicorn/prefer-includes (#19323)
      (camc314)

    Bug Fixes

    • c2b1870 linter: Enforce config options for react/forbid-dom-props
      rule. (#19387) (connorshea)
    • 3d24e44 linter: Honor no-empty-function allow getters/setters for
      object literals (#19393) (camc314)
    • bbced8d linter: Enforce config options for eslint/no-empty-function
      rule, improve docs. (#19390) (connorshea)
    • 6bc8aec linter: Fix the behavior of import/extensions rule for a
      file that has multiple extensions. (#18919) (connorshea)
    • c62a295 linter/img-redundant-alt: Enforce whole-word matching for
      redundant alt text (#19367) (camc314)
    • 98956fe linter/describe-function-title: Skip autofix for type-only
      imports (#19329) (camc314)
    • d96d26d linter/plugins: Provide parser.version (#19364)
      (overlookmotel)
    • 81f0039 linter_codegen: Compute rule IDs relative to previous rule
      (#19350) (camchenry)
    • b7ef0a8 linter/consistent-indexed-object-style: Avoid unsafe Record
      conversions for mapped types (#19320) (camc314)

    Documentation

    • 3a6059f linter: Improve docs for eslint/require-await rule. (#19361)
      (connorshea)
    • b069269 linter/plugins: Add comment about deprecated ScopeManager
      methods (#19363) (overlookmotel)
    • 2d8aaf9 linter: Disable formatting for eslint/no-unsafe-negation
      examples. (#19347) (connorshea)
    • fb87806 linter: Ensure that we do not auto-format the docs for
      unicorn/number-literal-case rule. (#19346) (connorshea)
    • 8d3ae27 linter/typescript: Skip docs for deprecated type aware rule
      options (#19324) (camc314)

    Oxfmt

    BREAKING CHANGES

    • 00135b5 formatter/sort_imports: [BREAKING] Change default groups
      order (#19427) (leaysgur)
    • 9c34f72 formatter/sort_imports: [BREAKING] Report invalid group
      name with renaming side-effect > side_effect (#19416) (leaysgur)

    Features

    • 4baebef formatter/sort_imports: Support { newlinesBetween: bool }
      inside groups (#19358) (leaysgur)
    • d1c2fb6 formatter/sort_imports: Support customGroups
      attributes(selector and modifiers) (#19356) (leaysgur)

    Bug Fixes

    • f084ea6 oxfmt: Explicitly pass process.env for the forked process
      (#19380) (Long Ho)
    • 2bc7a14 formatter: Arrow function body incorrectly broken when return
      type has comment (#19368) (Dunqing)
    • 90ec3d2 oxfmt: Update tailwind plugin which fixes crash on non-js file
      (#19353) (leaysgur)
    • e9c5b1e formatter: Treat PrivateFieldExpression as simple call
      argument (#19348) (Dunqing)
    • 80643d5 formatter: Match Prettier union indentation with leading
      comments (#19271) (Dunqing)

    Performance

    • c169c77 syntax: Optimize is_identifier_name_patched (#19386)
      (sapphi-red)
    Original source Report a problem
  • Feb 16, 2026
    • Date parsed from source:
      Feb 16, 2026
    • First seen by Releasebot:
      Feb 16, 2026
    Oxc logo

    Oxc

    oxc crates_v0.114.0

    New product updates roll out across semantic and transformer layers adding AST node_id support, fixes for JSX pragma and sourcemaps, plus performance tweaks and docs. This release improves stability, correctness, and parsing of AST structures.

    Features

    • 429d876 semantic: Assign ast node ids during semantic build (#19263) (Boshen)
    • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)

    Bug Fixes

    • bfb15a3 semantic: Make multi_index_vec clone panic-safe (#19299) (Boshen)
    • 41c50a5 transformer: Ignore invalid JSX pragma identifiers (#19296) (Boshen)
    • deed3d8 transformer: Remove unnecessary trailing expression in object rest spread assignment (#19259) (Boshen)
    • 5bdaacc transformer: Propagate source spans for sourcemap correctness (#19258) (Boshen)
    • 3e0e5ba isolated-declarations: Align readonly class array initializer diagnostics with tsc (#19218) (camc314)

    Performance

    • c169c77 syntax: Optimize is_identifier_name_patched (#19386) (sapphi-red)
    • aa1e1a8 allocator: Inline BitSet accessors (#19331) (Boshen)
    • 5b90d46 semantic: Improve SoA with multi index vec (#19138) (Boshen)
    • 99ce2a6 isolated_declarations: Mark all diagnostic functions as #[cold] (#19279) (camc314)
    • dd0220f transformer: Remove TS-only nodes earlier in enter_statements (#19166) (Dunqing)
    • e5baf60 isolated-declarations: Replace hash collections with index-based Vec (#19221) (Dunqing)

    Documentation

    • 569aa61 rust: Add missing rustdocs and remove missing_docs lint attrs (#19306) (Boshen)
    Original source Report a problem
  • Feb 16, 2026
    • Date parsed from source:
      Feb 16, 2026
    • First seen by Releasebot:
      Feb 16, 2026
    Oxc logo

    Oxc

    oxlint v1.48.0 & oxfmt v0.33.0

    Oxlint and Oxfmt roll out major updates with breaking changes and fresh features. Oxlint adds dynamic CLI configs and TS enhancements with new fixers, while Oxfmt overhauls import sorting and groups, plus reliability fixes for smoother formatting workflows.

    Oxlint v1.48.0

    BREAKING CHANGES

    • 7711821 oxlint: [BREAKING] no-shadow-restricted-names report globalThis by default (#19407) (Sysix)

    Features

    • ce1baa0 linter: Implement eslint/no-shadow (#18979) (Vรญctor Fernรกndez)
    • 7a333c1 linter: Support dynamic configs via CLI arguments (#19384) (camc314)
    • 1bf569b linter: Implement typescript/unified-signatures (#19375) (camc314)
    • 6562a9b linter: Implement typescript/parameter-properties (#19374) (camc314)
    • 94d8d74 linter: Implement typescript/no-use-before-define (#19373) (camc314)
    • 80b002a linter: Implement fixer for unicorn/no-instanceof-builtins (#19371) (camc314)
    • 5c3784b linter: Implement eslint/no-unmodified-loop-condition (#19341) (Vincent R)
    • cc00a59 linter/const-comparisons: Improve diagnostics when mixing logical/comparison operators (#19370) (camc314)
    • ea2c401 linter: Add support for no constructed context values (#18067) (Jovi De Croock)
    • f2440eb linter: Mark eslint/no-return-assign as having no fixer (#19327) (camc314)
    • 8588670 linter/unicorn: Implement suggestion for unicorn/no-await-in-promise-methods rule (#19359) (Mikhail Baev)
    • f0af965 linter: Move jsx-a11y/no-static-element-interactions rule out of the nursery. (#19355) (connorshea)
    • be0ce50 linter/tsgolint: Add support for labeled ranges in tsgolint diagnostics (#19201) (camchenry)
    • b5bc900 linter: Implement fixer for unicorn/no-new-buffer (#19326) (camc314)
    • 1612932 linter: Add typescript/no-unnecessary-condition (#19130) (camc314)
    • 37dc6c5 linter: Implement fixer for unicorn/prefer-includes (#19323) (camc314)

    Bug Fixes

    • db7da3b linter: Add a few new DOM props for react/no-unknown-property. (#19414) (connorshea)
    • c2b1870 linter: Enforce config options for react/forbid-dom-props rule. (#19387) (connorshea)
    • 3d24e44 linter: Honor no-empty-function allow getters/setters for object literals (#19393) (camc314)
    • bbced8d linter: Enforce config options for eslint/no-empty-function rule, improve docs. (#19390) (connorshea)
    • 6bc8aec linter: Fix the behavior of import/extensions rule for a file that has multiple extensions. (#18919) (connorshea)
    • c62a295 linter/img-redundant-alt: Enforce whole-word matching for redundant alt text (#19367) (camc314)
    • 98956fe linter/describe-function-title: Skip autofix for type-only imports (#19329) (camc314)
    • d96d26d linter/plugins: Provide parser.version (#19364) (overlookmotel)
    • 81f0039 linter_codegen: Compute rule IDs relative to previous rule (#19350) (camchenry)
    • b7ef0a8 linter/consistent-indexed-object-style: Avoid unsafe Record conversions for mapped types (#19320) (camc314)

    Documentation

    • 3a6059f linter: Improve docs for eslint/require-await rule. (#19361) (connorshea)
    • b069269 linter/plugins: Add comment about deprecated ScopeManager methods (#19363) (overlookmotel)
    • 2d8aaf9 linter: Disable formatting for eslint/no-unsafe-negation examples. (#19347) (connorshea)
    • fb87806 linter: Ensure that we do not auto-format the docs for unicorn/number-literal-case rule. (#19346) (connorshea)
    • 8d3ae27 linter/typescript: Skip docs for deprecated type aware rule options (#19324) (camc314)

    Oxfmt v0.33.0

    Oxfmt v0.33.0

    BREAKING CHANGES

    • 00135b5 formatter/sort_imports: [BREAKING] Change default groups order (#19427) (leaysgur)
    • 9c34f72 formatter/sort_imports: [BREAKING] Report invalid group name with renaming side-effect > side_effect (#19416) (leaysgur)

    Features

    • 4baebef formatter/sort_imports: Support { newlinesBetween: bool } inside groups (#19358) (leaysgur)
    • d1c2fb6 formatter/sort_imports: Support customGroups attributes(selector and modifiers) (#19356) (leaysgur)

    Bug Fixes

    • 47d6a3e formatter: Revert #19399 (#19433) (leaysgur)
    • f084ea6 oxfmt: Explicitly pass process.env for the forked process (#19380) (Long Ho)
    • 2bc7a14 formatter: Arrow function body incorrectly broken when return type has comment (#19368) (Dunqing)
    • 90ec3d2 oxfmt: Update tailwind plugin which fixes crash on non-js file (#19353) (leaysgur)
    • e9c5b1e formatter: Treat PrivateFieldExpression as simple call argument (#19348) (Dunqing)
    • 80643d5 formatter: Match Prettier union indentation with leading comments (#19271) (Dunqing)

    Performance

    • c169c77 syntax: Optimize is_identifier_name_patched (#19386) (sapphi-red)
    Original source Report a problem
  • Feb 12, 2026
    • Date parsed from source:
      Feb 12, 2026
    • First seen by Releasebot:
      Feb 12, 2026
    Oxc logo

    Oxc

    oxlint_v1.47.0: release(apps): oxlint v1.47.0 && oxfmt v0.32.0 (#19315)

    Oxlint and Oxfmt introduce AST node_id across all nodes, new fixers for unicorn rules, and a suite of lint fixes and performance tweaks. Highlights include blocking stdio in Oxlint and smarter import/dependency handling for faster, more accurate analysis.

    Oxlint

    ๐Ÿš€ Features

    • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)
    • 2879fc5 linter: Implement fixer for unicorn/prefer-math-trunc (#19275) (camc314)
    • a204eda linter: Implement fixer for unicorn/no-typeof-undefined (#19274) (camc314)
    • ab46d9c linter: Implement typescript/class-literal-property-style (#19252) (Vincent R)
    • 1a61f58 linter: Implement typescript/no-invalid-void-type (#19242) (Vincent R)

    ๐Ÿ› Bug Fixes

    • 45adda2 oxlint/lsp: Use blocking stdio in Oxlint (#19292) (overlookmotel)
    • 05bc855 linter/import: Count unique module sources in max-dependencies (#19270) (camc314)
    • 8566b44 linter: Check for preceeding token in math trunc fixer (#19277) (camc314)
    • f16f2b6 linter/import-no-cycle: Avoid traversal-order false negatives with type-only edges (#19267) (camc314)
    • d4937e7 linter: Recognize module-scoped callback refs as stable in exhaustive-deps (#19220) (Sreetam Das)
    • 140c9bd linter: Detect fallthrough from default when it is not the last case (#19261) (Boshen)
    • 740a009 linter: Accept digits after 'use' in hook names (#19254) (Sreetam Das)
    • 31b562f linter: Update import/no-named-as-default to allow named import if equivalent to the default import (#19100) (connorshea)
    • 79c82cc linter: Avoid applying object-level docs to nested object methods in require-param (#19231) (camc314)

    โšก Performance

    • 5670291 linter/class-literal-property-style: Avoid unneeded string allocations (#19262) (camc314)

    Oxfmt

    ๐Ÿš€ Features

    • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)

    ๐Ÿ› Bug Fixes

    • 1957908 formatter: Avoid unnecessary parentheses for string literal in labeled statement (#19272) (Dunqing)

    Co-authored-by: camc314 [email protected]

    Original source Report a problem
  • Feb 12, 2026
    • Date parsed from source:
      Feb 12, 2026
    • First seen by Releasebot:
      Feb 12, 2026
    Oxc logo

    Oxc

    oxfmt_v0.32.0: release(apps): oxlint v1.47.0 && oxfmt v0.32.0 (#19315)

    Oxlint and Oxfmt introduce a new AST node_id field, new lint fixers and TypeScript rule updates, plus assorted bug fixes and performance tweaks across linting and formatting.

    Oxlint

    ๐Ÿš€ Features

    • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)
    • 2879fc5 linter: Implement fixer for unicorn/prefer-math-trunc (#19275) (camc314)
    • a204eda linter: Implement fixer for unicorn/no-typeof-undefined (#19274) (camc314)
    • ab46d9c linter: Implement typescript/class-literal-property-style (#19252) (Vincent R)
    • 1a61f58 linter: Implement typescript/no-invalid-void-type (#19242) (Vincent R)

    ๐Ÿ› Bug Fixes

    • 45adda2 oxlint/lsp: Use blocking stdio in Oxlint (#19292) (overlookmotel)
    • 05bc855 linter/import: Count unique module sources in max-dependencies (#19270) (camc314)
    • 8566b44 linter: Check for preceeding token in math trunc fixer (#19277) (camc314)
    • f16f2b6 linter/import-no-cycle: Avoid traversal-order false negatives with type-only edges (#19267) (camc314)
    • d4937e7 linter: Recognize module-scoped callback refs as stable in exhaustive-deps (#19220) (Sreetam Das)
    • 140c9bd linter: Detect fallthrough from default when it is not the last case (#19261) (Boshen)
    • 740a009 linter: Accept digits after 'use' in hook names (#19254) (Sreetam Das)
    • 31b562f linter: Update import/no-named-as-default to allow named import if equivalent to the default import (#19100) (connorshea)
    • 79c82cc linter: Avoid applying object-level docs to nested object methods in require-param (#19231) (camc314)

    โšก Performance

    • 5670291 linter/class-literal-property-style: Avoid unneeded string allocations (#19262) (camc314)

    Oxfmt

    ๐Ÿš€ Features

    • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)

    ๐Ÿ› Bug Fixes

    • 1957908 formatter: Avoid unnecessary parentheses for string literal in labeled statement (#19272) (Dunqing)

    Co-authored-by: camc314 [email protected]

    Original source Report a problem
  • Feb 12, 2026
    • Date parsed from source:
      Feb 12, 2026
    • First seen by Releasebot:
      Feb 12, 2026
    Oxc logo

    Oxc

    apps_v1.47.0: release(apps): oxlint v1.47.0 && oxfmt v0.32.0 (#19315)

    Oxlint and Oxfmt introduce an AST node_id field for all nodes and deploy new fixers for unicorn rules. The release also adds TypeScript lint rules, runtime bug fixes, and performance improvements.

    Oxlint

    ๐Ÿš€ Features

    ebb80b3 ast: Add node_id field to all AST struct nodes (#18138)
    (Boshen)
    2879fc5 linter: Implement fixer for unicorn/prefer-math-trunc (#19275)
    (camc314)
    a204eda linter: Implement fixer for unicorn/no-typeof-undefined
    (#19274) (camc314)
    ab46d9c linter: Implement typescript/class-literal-property-style
    (#19252) (Vincent R)
    1a61f58 linter: Implement typescript/no-invalid-void-type (#19242)
    (Vincent R)

    ๐Ÿ› Bug Fixes

    45adda2 oxlint/lsp: Use blocking stdio in Oxlint (#19292)
    (overlookmotel)
    05bc855 linter/import: Count unique module sources in max-dependencies
    (#19270) (camc314)
    8566b44 linter: Check for preceeding token in math trunc fixer
    (#19277) (camc314)
    f16f2b6 linter/import-no-cycle: Avoid traversal-order false negatives
    with type-only edges (#19267) (camc314)
    d4937e7 linter: Recognize module-scoped callback refs as stable in
    exhaustive-deps (#19220) (Sreetam Das)
    140c9bd linter: Detect fallthrough from default when it is not the
    last case (#19261) (Boshen)
    740a009 linter: Accept digits after 'use' in hook names (#19254)
    (Sreetam Das)
    31b562f linter: Update import/no-named-as-default to allow named
    import if equivalent to the default import (#19100) (connorshea)
    79c82cc linter: Avoid applying object-level docs to nested object
    methods in require-param (#19231) (camc314)

    โšก Performance

    5670291 linter/class-literal-property-style: Avoid unneeded string
    allocations (#19262) (camc314)

    Oxfmt

    ๐Ÿš€ Features

    ebb80b3 ast: Add node_id field to all AST struct nodes (#18138)
    (Boshen)

    ๐Ÿ› Bug Fixes

    1957908 formatter: Avoid unnecessary parentheses for string literal in
    labeled statement (#19272) (Dunqing)
    Co-authored-by: camc314 [email protected]

    Original source Report a problem

Related vendors