apps_v1.65.0

oxc-project/oxcapps_v1.65.0May 15, 2026by github-actions[bot]

AI Summary

Oxlint adds JSDoc rules and debug options; Oxfmt alters configuration scanning behavior.

Key Highlights

  • JSDoc rules (require-throws-description, require-yields-type)
  • Debug options and per-rule timing info
  • Accessibility rules (no-interactive-element-to-noninteractive-role)

Breaking Changes

  • Oxfmt config pre-scan change

New Features

  • JSDoc rules
  • Accessibility rules
  • Debug options

Full Release Notes

## Table of Contents

- [Oxlint v1.65.0](#oxlint-v1.65.0)
- [Oxfmt v0.50.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)