Skip to content

feat(linter/jsdoc): implement no-blank-blocks rule - #25207

Merged
camc314 merged 3 commits into
oxc-project:mainfrom
baevm:jsdoc/no-blank-blocks
Aug 5, 2026
Merged

feat(linter/jsdoc): implement no-blank-blocks rule#25207
camc314 merged 3 commits into
oxc-project:mainfrom
baevm:jsdoc/no-blank-blocks

Conversation

@baevm

@baevm baevm commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

this PR implements jsdoc/no-blank-blocks rule, issue #1170

@baevm

baevm commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 18e0b2f42b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs Outdated
Comment thread crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs
@codspeed-hq

codspeed-hq Bot commented Aug 2, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

✅ 5 untouched benchmarks
⏩ 71 skipped benchmarks1


Comparing baevm:jsdoc/no-blank-blocks (f1d1b01) with main (9a423f2)2

Open in CodSpeed

Footnotes

  1. 71 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on main (9c8c5e5) during the generation of this report, so 9a423f2 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@baevm
baevm marked this pull request as ready for review August 2, 2026 18:52
@baevm
baevm requested a review from camc314 as a code owner August 2, 2026 18:52
Copilot AI review requested due to automatic review settings August 2, 2026 18:52

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds the jsdoc/no-blank-blocks rule to Oxc’s JSDoc linter plugin, including its configuration schema and generated bindings so the rule can be enabled/configured from oxlint.

Changes:

  • Implement jsdoc/no-blank-blocks as a run_once rule with an optional auto-fixer (enableFixer).
  • Add/update rule registration and generated metadata (rules enum, runner impls, timing snapshot).
  • Extend oxlint configuration schema + generated TypeScript config types for the new rule.

Reviewed changes

Copilot reviewed 6 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tasks/track_linter_timings/linter_timings.snap Adds timing entry for the new JSDoc rule.
npm/oxlint/configuration_schema.json Adds jsdoc/no-blank-blocks rule schema and NoBlankBlocks config definition.
crates/oxc_linter/src/snapshots/jsdoc_no_blank_blocks.snap Adds snapshot output for the new rule’s tests.
crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs Implements the rule logic, fixer span expansion, and inline tests.
crates/oxc_linter/src/rules.rs Exposes the new jsdoc::no_blank_blocks module.
crates/oxc_linter/src/generated/rules_enum.rs Registers the rule in the generated rules enum + metadata hooks.
crates/oxc_linter/src/generated/rule_runner_impls.rs Adds the generated runner implementation (RunOnce).
apps/oxlint/src-js/package/config.generated.ts Adds generated TS config typing for jsdoc/no-blank-blocks.
Suppressed comments (1)

crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs:122

  • The fixer expansion removes the next whitespace character after the comment, but is_whitespace() includes newlines. If a blank JSDoc appears inline before a line break (e.g. foo();/** */\nbar();), this will delete the newline and join statements/tokens, potentially changing semantics.
    if let Some(next) = source_text[span.end as usize..].chars().next()
        && next.is_whitespace()
    {
        span.end += u32::try_from(next.len_utf8()).unwrap_or_default();
    }
Comment thread crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs
Comment thread crates/oxc_linter/src/rules/jsdoc/no_blank_blocks.rs Outdated
@camc314 camc314 added the A-linter Area - Linter label Aug 2, 2026
@baevm
baevm force-pushed the jsdoc/no-blank-blocks branch from 13cd38d to f1d1b01 Compare August 3, 2026 14:07
@camc314
camc314 merged commit ccb8fe8 into oxc-project:main Aug 5, 2026
30 checks passed
@camc314 camc314 self-assigned this Aug 5, 2026
graphite-app Bot pushed a commit that referenced this pull request Aug 10, 2026
# Oxlint
### 💥 BREAKING CHANGES

- a33788e ast: [**BREAKING**] Group class heritage into `ClassHeritage` (#25360) (camc314)
- 5c5cdcd ast: [**BREAKING**] Narrow `TSInterfaceHeritage::expression` to TSTypeName (#24360) (camc314)
- 6be314f ast: [**BREAKING**] Remove duplicated `VariableDeclarator::kind` (#25319) (camc314)
- 44fd320 ast: [**BREAKING**] Split TS external modules & Namespace Declarations (#25284) (camc314)

### 🚀 Features

- ccb8fe8 linter/jsdoc: Implement `no-blank-blocks` rule (#25207) (Mikhail Baev)
- d4a897c linter/eslint: Implement `one-var` rule (#24470) (Cole Ellison)
- 5ab9340 linter/jsx-a11y/anchor-has-content: Add options to match eslint (#24571) (Cole Ellison)

### 🐛 Bug Fixes

- b746e00 linter/eslint/no-implicit-coercion: Preserve template coercion whitespace (#25470) (camc314)
- a92c541 linter: Preserve source text for JS plugin ignore fixes (#25280) (Norcleeh)
- 675c840 linter/eslint/prefer-promise-reject-errors: Handle parenthesized calls (#25378) (camc314)
- 1703739 linter/unicorn/new-for-builtins: Ignore optional chains (#25411) (tanakalucky)
- 95ece63 linter/unicorn/prefer-code-point: Downgrade the auto-fix to dangerous (#25412) (leemr)
- c451a0e linter/vitest: Validate `consistent-test-filename` regex patterns (#25408) (Mikhail Baev)
- 937825c react_compiler: Disable exhaustive memo validation by default (#25417) (Boshen)
- f0f7dae linter/eslint/no-unused-vars: Report invalid regex options (#25380) (Cameron)
- 44e73fd linter/unicorn/prefer-array-flat: Fix `concat.apply` suggestions (#25373) (Cameron)
- 6846a9a linter/react/rules-of-hooks: Detect constructor callbacks (#25377) (camc314)
- b247a9d linter/unicorn/new-for-builtins: Support `Float16Array` (#25382) (tanakalucky)
- 19109cd linter/unicorn/error-message: Support `SuppressedError` messages (#25375) (camc314)
- 9c13f5e linter: Assert token lookup invariants (#25368) (camc314)
- bc35f83 linter/eslint/no-unused-vars: Bound catch parameter lookup (#25367) (camc314)
- c159fb9 linter/unicorn/switch-case-braces: Bound token lookup (#25363) (camc314)
- 03b2eb2 linter/unicorn/no-static-only-class: Bound token lookup (#25361) (camc314)
- 0afc59e linter/unicorn/empty-brace-spaces: Bound token lookup (#25353) (camc314)
- 2963d98 linter/eslint/no-unreachable-loop: Do not report loops whose body has a finally block (#25335) (Todor Andonov)
- 589e5fb linter/eslint/no-param-reassign: Validate `ignorePropertyModificationsForRegex` property (#25346) (Mikhail Baev)
- aae5d8b linter/eslint/no-throw-literal: False positive on variable declared without initializer (#25275) (cjnoname)
- 6b1c479 oxlint: Normalize customized rule names (#25316) (camc314)
- d494eb5 linter/unicorn/consistent-existence-index-check: Bound token lookup (#25325) (camc314)
- 4266037 linter/typescript/prefer-namespace-keyword: Bound token lookup (#25322) (camc314)
- 4745b4e linter/typescript/no-namespace: Bound token lookup (#25321) (camc314)
- 648a481 linter/eslint/one-var: Avoid joining exported declarations (#25314) (camc314)
- 9573937 linter/typescript: Validate `ban-ts-comment` description_format (#25320) (Mikhail Baev)
- ebf7d18 linter/typescript/consistent-type-definitions: Bound token lookup (#25281) (camc314)
- 1501ccf linter/typescript/consistent-generic-constructors: Bound token lookup (#25258) (camc314)

### ⚡ Performance

- 8f784f3 linter: Reduce rule config dispatch size (#25461) (Boshen)
- 2de4ec2 linter: Reduce visitor code size (#25441) (Boshen)
- 6fb7f47 linter/unicorn/prefer-export-from: Narrow `ExportFromDeclaration` lookup (#25381) (camc314)
- e3f6263 linter/unicorn/prefer-default-parameters: Avoid reference allocation  (#25379) (camc314)
- d863473 linter/vue/max-props: Narrow AST dispatch (#25372) (camc314)
- 273d867 linter: Avoid diagnostic sorting after applying fixes (#25079) (Sysix)
- 4ec9189 oxlint/lsp: Avoid second lock for getting/removing unused directives (#25350) (Sysix)
- 6c0d01b oxlint/lsp: Preallocate fix-content vec (#25351) (Sysix)
- 3a94055 linter: Avoid per-call heap allocations in jest and unicorn helpers (#25210) (Connor Shea)
- 4abff11 linter: Avoid redundant message work in the agent reporter (#25315) (Connor Shea)
- 6bb5421 linter: Hoist `current_dir` out of the stylish reporter loop (#25313) (Connor Shea)
- 9a7c323 linter: Compute diagnostic `Info` once per diagnostic in junit reporter (#25312) (Connor Shea)
- 1cf7dde oxlint: Render JSON report into a single buffer (#25295) (connorshea)
- 8492cfd linter/typescript/ban-ts-comment: Bail early with substring guard (#25301) (Jacob Asper)
- 7607f04 linter/typescript/ban-tslint-comment: Replace regex with manual parser (#25299) (Jacob Asper)
# Oxfmt
### 💥 BREAKING CHANGES

- a33788e ast: [**BREAKING**] Group class heritage into `ClassHeritage` (#25360) (camc314)
- 5c5cdcd ast: [**BREAKING**] Narrow `TSInterfaceHeritage::expression` to TSTypeName (#24360) (camc314)
- 6be314f ast: [**BREAKING**] Remove duplicated `VariableDeclarator::kind` (#25319) (camc314)
- 44fd320 ast: [**BREAKING**] Split TS external modules & Namespace Declarations (#25284) (camc314)

### 🚀 Features

- fd02a89 oxfmt: Dispatch yaml-in-css(frontmatter) to `oxc_formatter_yaml` (#25336) (leaysgur)
- ab12665 formatter_core: Add `hardlineWithoutBreakParent` equivalent IR (#25273) (leaysgur)

### 🐛 Bug Fixes

- 95dc917 oxfmt: Drop IR Space at line start for js-in-xxx (#25460) (leaysgur)
- b63eccc formatter: Keep comments after TS this_param (#25459) (leaysgur)
- ab52a59 formatter: Format xxx-in-js inside JSDoc js fence (#25414) (leaysgur)
- 1a2c64a formatter,oxfmt: Apply effective print width for JSDoc fence (#25413) (leaysgur)
- 2eaede9 formatter_core: Unify leading-BOM handlings (#25340) (leaysgur)
- ef1d04b formatter: Break mapped type brackets (#25297) (leaysgur)
- 4e6f3f1 formatter: Break index signature brackets (#25296) (leaysgur)
- e23dccf formatter_css: Bump oxc-css-parser to accept unknown at-rule with interpolated (#25277) (leaysgur)
- c29b587 formatter_core: Measure decided-flat fill separator as flat during group re-measure (#25276) (leaysgur)
- f3c6953 formatter_yaml: Don't rewrite overflowing key to implicit (#25274) (leaysgur)

### ⚡ Performance

- c9d1a5b oxfmt: Spawn tinypool lazily (#25298) (leaysgur)

### 📚 Documentation

- 6eae5c9 formatter,oxfmt: Record embed-layer decisions in place (#25422) (leaysgur)
- 51224a7 formatter_yaml: Pin EOF blank lines divergence (#25269) (leaysgur)
renovate Bot added a commit to cigaleapp/beamup that referenced this pull request Aug 17, 2026
##### [v1.78.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1780---2026-08-10)

##### 🚀 Features

- [`ccb8fe8`](https://github.com/oxc-project/oxc/commit/ccb8fe8) linter/jsdoc: Implement `no-blank-blocks` rule ([#25207](https://github.com/oxc-project/oxc/issues/25207)) (Mikhail Baev)
- [`d4a897c`](https://github.com/oxc-project/oxc/commit/d4a897c) linter/eslint: Implement `one-var` rule ([#24470](https://github.com/oxc-project/oxc/issues/24470)) (Cole Ellison)
- [`5ab9340`](https://github.com/oxc-project/oxc/commit/5ab9340) linter/jsx-a11y/anchor-has-content: Add options to match eslint ([#24571](https://github.com/oxc-project/oxc/issues/24571)) (Cole Ellison)

##### 🐛 Bug Fixes

- [`9573937`](https://github.com/oxc-project/oxc/commit/9573937) linter/typescript: Validate `ban-ts-comment` description\_format ([#25320](https://github.com/oxc-project/oxc/issues/25320)) (Mikhail Baev)
##### [v1.77.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1770---2026-08-03)

##### 🐛 Bug Fixes

- [`5c0fa61`](https://github.com/oxc-project/oxc/commit/5c0fa61) linter/eslint/no-warning-comments: Unify config structs and remove manual options docs ([#25151](https://github.com/oxc-project/oxc/issues/25151)) (Mikhail Baev)

##### 📚 Documentation

- [`9dc7756`](https://github.com/oxc-project/oxc/commit/9dc7756) linter/typescript/no-unnecessary-condition: Clarify options ([#25110](https://github.com/oxc-project/oxc/issues/25110)) (camc314)
##### [v1.76.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1760---2026-07-27)

##### 🚀 Features

- [`8d31dfa`](https://github.com/oxc-project/oxc/commit/8d31dfa) linter: Verify eslint/no-restricted-globals config schema ([#24598](https://github.com/oxc-project/oxc/issues/24598)) (vigneshwar)
- [`7069621`](https://github.com/oxc-project/oxc/commit/7069621) linter: Verify jest/vitest prefer-lowercase-title config schema ([#24724](https://github.com/oxc-project/oxc/issues/24724)) (Bartok)
- [`016cf2a`](https://github.com/oxc-project/oxc/commit/016cf2a) linter/oxc: Add bad-match-all-arg rule ([#24900](https://github.com/oxc-project/oxc/issues/24900)) (camc314)
- [`cdc941e`](https://github.com/oxc-project/oxc/commit/cdc941e) linter/n: Implement `exports-style` rule ([#24087](https://github.com/oxc-project/oxc/issues/24087)) (Mikhail Baev)
- [`1ad6f6c`](https://github.com/oxc-project/oxc/commit/1ad6f6c) linter/eslint: Implement `id-denylist` rule ([#24632](https://github.com/oxc-project/oxc/issues/24632)) (Mikhail Baev)

##### 📚 Documentation

- [`3ff2e0e`](https://github.com/oxc-project/oxc/commit/3ff2e0e) linter: Clarify config extends types ([#24936](https://github.com/oxc-project/oxc/issues/24936)) (Boshen)
##### [v1.75.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1750---2026-07-20)

##### 🚀 Features

- [`dd18383`](https://github.com/oxc-project/oxc/commit/dd18383) linter/node: Implement no-top-level-await rule ([#24634](https://github.com/oxc-project/oxc/issues/24634)) (Connor Shea)
- [`16a65f2`](https://github.com/oxc-project/oxc/commit/16a65f2) linter/react: Implement function-component-definition rule ([#24471](https://github.com/oxc-project/oxc/issues/24471)) (Cole Ellison)
- [`7f1f585`](https://github.com/oxc-project/oxc/commit/7f1f585) linter: Reuse `jest/padding-around-test-blocks` for `vitest/padding-around-test-blocks` ([#24519](https://github.com/oxc-project/oxc/issues/24519)) (Mikhail Baev)
- [`99978a8`](https://github.com/oxc-project/oxc/commit/99978a8) linter/import/consistent-type-specifier-style: Support `prefer-top-level-if-only-type-imports` option ([#24502](https://github.com/oxc-project/oxc/issues/24502)) (camc314)

##### 🐛 Bug Fixes

- [`8694167`](https://github.com/oxc-project/oxc/commit/8694167) linter/eslint/prefer-destructuring: Handle typed declarations ([#24616](https://github.com/oxc-project/oxc/issues/24616)) (camc314)
##### [v1.74.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1740---2026-07-13)

##### 🚀 Features

- [`0433a83`](https://github.com/oxc-project/oxc/commit/0433a83) linter/eslint/no-inner-declarations: Add `namespaces` option ([#24044](https://github.com/oxc-project/oxc/issues/24044)) (Boshen)

##### 🐛 Bug Fixes

- [`8337835`](https://github.com/oxc-project/oxc/commit/8337835) linter: Error on `ignorePatterns` that cannot match files aoutside the config directory ([#24341](https://github.com/oxc-project/oxc/issues/24341)) (leaysgur)
- [`2ce5a33`](https://github.com/oxc-project/oxc/commit/2ce5a33) linter: Resolve `ignorePatterns` relative to the config dir ([#24339](https://github.com/oxc-project/oxc/issues/24339)) (leaysgur)

##### ⚡ Performance

- [`7f80cac`](https://github.com/oxc-project/oxc/commit/7f80cac) linter/vue/prop-name-casing: Precompile `ignoreProps` regex pattern ([#24413](https://github.com/oxc-project/oxc/issues/24413)) (connorshea)
- [`6272051`](https://github.com/oxc-project/oxc/commit/6272051) linter/typescript/no-require-imports: Compile allow patterns once ([#24417](https://github.com/oxc-project/oxc/issues/24417)) (connorshea)
- [`33805b9`](https://github.com/oxc-project/oxc/commit/33805b9) linter/jsdoc/require-param: Compile checkTypesPattern regex once ([#24420](https://github.com/oxc-project/oxc/issues/24420)) (connorshea)
##### [v1.73.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1730---2026-07-06)

##### 🚀 Features

- [`a2c97f3`](https://github.com/oxc-project/oxc/commit/a2c97f3) linter/unicorn: Implement `explicit-timer-delay` rule ([#23612](https://github.com/oxc-project/oxc/issues/23612)) (Mikhail Baev)
- [`85735cb`](https://github.com/oxc-project/oxc/commit/85735cb) linter/unicorn: Implement `no-confusing-array-with` rule ([#23638](https://github.com/oxc-project/oxc/issues/23638)) (Shekhu☺️)
- [`cb4fbb9`](https://github.com/oxc-project/oxc/commit/cb4fbb9) linter/eslint: Implement no-unreachable-loop rule ([#23975](https://github.com/oxc-project/oxc/issues/23975)) (Todor Andonov)
- [`dc32112`](https://github.com/oxc-project/oxc/commit/dc32112) linter/eslint/no-constant-binary-expression: Check relational comparisons ([#24088](https://github.com/oxc-project/oxc/issues/24088)) (camc314)
- [`d963967`](https://github.com/oxc-project/oxc/commit/d963967) linter/unicorn/no-array-sort: Add `allowAfterSpread` option ([#24043](https://github.com/oxc-project/oxc/issues/24043)) (Boshen)
- [`0a75682`](https://github.com/oxc-project/oxc/commit/0a75682) linter: Add per-rule timings for type-aware linting ([#22488](https://github.com/oxc-project/oxc/issues/22488)) (camchenry)
- [`743e222`](https://github.com/oxc-project/oxc/commit/743e222) linter/react: Add `disallowedValues` option for `forbid-dom-props` rule ([#23970](https://github.com/oxc-project/oxc/issues/23970)) (Mikhail Baev)

##### 🐛 Bug Fixes

- [`bdb51c7`](https://github.com/oxc-project/oxc/commit/bdb51c7) linter/jest/prefer-ending-with-an-expect: Validate config patterns ([#24122](https://github.com/oxc-project/oxc/issues/24122)) (camc314)
- [`45d607d`](https://github.com/oxc-project/oxc/commit/45d607d) linter/react/forbid-component-props: Make allow/disallow lists optional in schema ([#24024](https://github.com/oxc-project/oxc/issues/24024)) (Boshen)
##### [v1.72.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1720---2026-06-29)

##### 🚀 Features

- [`1c8f50c`](https://github.com/oxc-project/oxc/commit/1c8f50c) linter: Add schema for `eslint/no-restricted-import` ([#23642](https://github.com/oxc-project/oxc/issues/23642)) (Sysix)

##### 🐛 Bug Fixes

- [`742be36`](https://github.com/oxc-project/oxc/commit/742be36) refactor/node/handle-callback-err: Reject invalid regex config ([#23740](https://github.com/oxc-project/oxc/issues/23740)) (camc314)
##### [v1.71.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1710---2026-06-22)

##### 🚀 Features

- [`0dc2405`](https://github.com/oxc-project/oxc/commit/0dc2405) linter: Add schema for `eslint/no-restricted-properties` ([#23619](https://github.com/oxc-project/oxc/issues/23619)) (Sysix)
- [`b638d0e`](https://github.com/oxc-project/oxc/commit/b638d0e) linter: Add schema for `node/callback-return` ([#23615](https://github.com/oxc-project/oxc/issues/23615)) (Sysix)
- [`eb8bedc`](https://github.com/oxc-project/oxc/commit/eb8bedc) linter: Add schema for `import/extensions` ([#23557](https://github.com/oxc-project/oxc/issues/23557)) (WaterWhisperer)
- [`46f3625`](https://github.com/oxc-project/oxc/commit/46f3625) linter: Implement node/no-sync rule ([#23589](https://github.com/oxc-project/oxc/issues/23589)) (fujitani sora)
- [`b01739a`](https://github.com/oxc-project/oxc/commit/b01739a) linter: Add schema for `unicorn/numeric-separators-style` ([#23554](https://github.com/oxc-project/oxc/issues/23554)) (Mikhail Baev)
- [`68afd2a`](https://github.com/oxc-project/oxc/commit/68afd2a) linter/node: Implement `no-mixed-requires` rule ([#23539](https://github.com/oxc-project/oxc/issues/23539)) (fujitani sora)
- [`a421215`](https://github.com/oxc-project/oxc/commit/a421215) linter: Add schema for `eslint/prefer-destructuring` ([#23410](https://github.com/oxc-project/oxc/issues/23410)) (WaterWhisperer)
- [`84438be`](https://github.com/oxc-project/oxc/commit/84438be) linter/jsdoc: Added missing options to `require-param-description` ([#23416](https://github.com/oxc-project/oxc/issues/23416)) (kapobajza)
- [`51910df`](https://github.com/oxc-project/oxc/commit/51910df) linter/jsdoc: Add missing options to `require-param-type` rule ([#23418](https://github.com/oxc-project/oxc/issues/23418)) (kapobajza)
- [`e90925f`](https://github.com/oxc-project/oxc/commit/e90925f) linter/unicorn: Implement prefer-number-coercion rule ([#23497](https://github.com/oxc-project/oxc/issues/23497)) (Shekhu☺️)
- [`dd1c866`](https://github.com/oxc-project/oxc/commit/dd1c866) linter/vue: Implement no-async-in-computed-properties rule ([#23493](https://github.com/oxc-project/oxc/issues/23493)) (bab)
- [`b02444e`](https://github.com/oxc-project/oxc/commit/b02444e) linter: Add schema for `react/jsx-no-script-url` ([#23475](https://github.com/oxc-project/oxc/issues/23475)) (WaterWhisperer)
- [`a8dce46`](https://github.com/oxc-project/oxc/commit/a8dce46) linter/unicorn: Implement `max-nested-calls` rule ([#23461](https://github.com/oxc-project/oxc/issues/23461)) (arieleli01212)

##### 🐛 Bug Fixes

- [`a303c23`](https://github.com/oxc-project/oxc/commit/a303c23) linter/jsx-a11y: Align `anchor-is-valid` config with upstream ([#23446](https://github.com/oxc-project/oxc/issues/23446)) (camc314)

##### 📚 Documentation

- [`b50bf4d`](https://github.com/oxc-project/oxc/commit/b50bf4d) linter: Remove manually written options doc for `eslint/arrow-body-style` ([#23490](https://github.com/oxc-project/oxc/issues/23490)) (Mikhail Baev)
##### [v1.70.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1700---2026-06-15)

##### 🚀 Features

- [`2e8bda4`](https://github.com/oxc-project/oxc/commit/2e8bda4) linter/vue: Implement no-dupe-keys rule ([#23350](https://github.com/oxc-project/oxc/issues/23350)) (bab)
- [`1490a0a`](https://github.com/oxc-project/oxc/commit/1490a0a) linter/react: Implement react-compiler rule ([#23202](https://github.com/oxc-project/oxc/issues/23202)) (Boshen)
- [`dd560ae`](https://github.com/oxc-project/oxc/commit/dd560ae) linter/unicorn: Implement `no-array-fill-with-reference-type` rule ([#23397](https://github.com/oxc-project/oxc/issues/23397)) (Mikhail Baev)
- [`af36c2f`](https://github.com/oxc-project/oxc/commit/af36c2f) linter: Add schema for `react/jsx-curly-brace-presence` ([#23400](https://github.com/oxc-project/oxc/issues/23400)) (WaterWhisperer)
- [`47d34a3`](https://github.com/oxc-project/oxc/commit/47d34a3) linter: Add schema for `react/jsx-handler-names` ([#23393](https://github.com/oxc-project/oxc/issues/23393)) (WaterWhisperer)
- [`f4250d0`](https://github.com/oxc-project/oxc/commit/f4250d0) linter: Add schema for `unicorn/import-style` ([#23386](https://github.com/oxc-project/oxc/issues/23386)) (WaterWhisperer)
- [`30c74ce`](https://github.com/oxc-project/oxc/commit/30c74ce) linter: Add schema for `jsx_a11y/no-noninteractive-element-to-interactive-role` ([#23384](https://github.com/oxc-project/oxc/issues/23384)) (Sysix)
- [`cfbe8dc`](https://github.com/oxc-project/oxc/commit/cfbe8dc) linter: Add schema for `jsx_a11y/no-interactive-element-to-noninteractive-role` ([#23382](https://github.com/oxc-project/oxc/issues/23382)) (WaterWhisperer)
- [`d15b7ff`](https://github.com/oxc-project/oxc/commit/d15b7ff) linter: Add schema for `typescript/no-restricted-types` ([#23381](https://github.com/oxc-project/oxc/issues/23381)) (WaterWhisperer)
- [`028a811`](https://github.com/oxc-project/oxc/commit/028a811) linter: Add schema for `jsx-a11y/media-has-caption` ([#23377](https://github.com/oxc-project/oxc/issues/23377)) (Sysix)
- [`b3b1038`](https://github.com/oxc-project/oxc/commit/b3b1038) linter: Add schema for `jsx-a11y/label-has-associated-control` ([#23376](https://github.com/oxc-project/oxc/issues/23376)) (Sysix)
- [`7ada6b2`](https://github.com/oxc-project/oxc/commit/7ada6b2) linter: Add schema for `jsx_a11y/no-distracting-elements` ([#23379](https://github.com/oxc-project/oxc/issues/23379)) (WaterWhisperer)
- [`ee3dd49`](https://github.com/oxc-project/oxc/commit/ee3dd49) linter: Add schema for `jsx-a11y/img-redundant-alt` ([#23374](https://github.com/oxc-project/oxc/issues/23374)) (Sysix)
- [`df5f8dd`](https://github.com/oxc-project/oxc/commit/df5f8dd) linter: Add short descriptions to most lint rules. ([#23365](https://github.com/oxc-project/oxc/issues/23365)) (Connor Shea)
- [`e3fd735`](https://github.com/oxc-project/oxc/commit/e3fd735) linter: Add schema for `jsx_a11y/alt-text` ([#23369](https://github.com/oxc-project/oxc/issues/23369)) (Sysix)
- [`0f2fff4`](https://github.com/oxc-project/oxc/commit/0f2fff4) linter: Add schema for `react/exhaustive-deps` ([#23372](https://github.com/oxc-project/oxc/issues/23372)) (Mikhail Baev)
- [`e3e4e10`](https://github.com/oxc-project/oxc/commit/e3e4e10) linter: Add schema for `react_perf/jsx-no-new-object-as-prop` ([#23368](https://github.com/oxc-project/oxc/issues/23368)) (Mikhail Baev)
- [`9366d44`](https://github.com/oxc-project/oxc/commit/9366d44) linter: Add schema for `unicorn/prefer-at` ([#23366](https://github.com/oxc-project/oxc/issues/23366)) (WaterWhisperer)
- [`f57b55d`](https://github.com/oxc-project/oxc/commit/f57b55d) linter: Add schema for `typescript/array-type` ([#23355](https://github.com/oxc-project/oxc/issues/23355)) (Sysix)
- [`0dcf912`](https://github.com/oxc-project/oxc/commit/0dcf912) linter: Add schema for `typescript/ban-ts-comment` ([#23354](https://github.com/oxc-project/oxc/issues/23354)) (Sysix)
- [`51fa83e`](https://github.com/oxc-project/oxc/commit/51fa83e) linter: Add schema for `react/no-did-update-set-state` ([#23357](https://github.com/oxc-project/oxc/issues/23357)) (Mikhail Baev)
- [`59db0bd`](https://github.com/oxc-project/oxc/commit/59db0bd) linter: Add schema for `consistent-generic-constructors` ([#23353](https://github.com/oxc-project/oxc/issues/23353)) (Sysix)
- [`c4775c0`](https://github.com/oxc-project/oxc/commit/c4775c0) linter: Add schema for `typescript/consistent-type-assertions` ([#23349](https://github.com/oxc-project/oxc/issues/23349)) (Sysix)
- [`6e516f7`](https://github.com/oxc-project/oxc/commit/6e516f7) linter: Add schema for `typescript/consistent-type-imports` ([#23348](https://github.com/oxc-project/oxc/issues/23348)) (Sysix)
- [`012134d`](https://github.com/oxc-project/oxc/commit/012134d) linter: Add schema for `react/jsx-no-target-blank` ([#23345](https://github.com/oxc-project/oxc/issues/23345)) (WaterWhisperer)
- [`0806aae`](https://github.com/oxc-project/oxc/commit/0806aae) linter: Add schema for `jsx_a11y/no-noninteractive-tabindex` ([#23337](https://github.com/oxc-project/oxc/issues/23337)) (Mikhail Baev)
- [`0708b5a`](https://github.com/oxc-project/oxc/commit/0708b5a) linter: Add schema for `react/jsx-filename-extension` ([#23315](https://github.com/oxc-project/oxc/issues/23315)) (Mikhail Baev)
- [`150bce1`](https://github.com/oxc-project/oxc/commit/150bce1) linter: Add schema for `typescript/no-empty-object-type` ([#23309](https://github.com/oxc-project/oxc/issues/23309)) (Sysix)
- [`f9e36f1`](https://github.com/oxc-project/oxc/commit/f9e36f1) linter: Add schema for `typescript/no-duplicate-type-constituents` ([#23308](https://github.com/oxc-project/oxc/issues/23308)) (Sysix)
- [`937accf`](https://github.com/oxc-project/oxc/commit/937accf) linter: Add schema for `typescript/no-invalid-void-type` ([#23307](https://github.com/oxc-project/oxc/issues/23307)) (Sysix)
- [`3e042b9`](https://github.com/oxc-project/oxc/commit/3e042b9) linter: Add schema for `typescript/no-misused-promises` ([#23306](https://github.com/oxc-project/oxc/issues/23306)) (Sysix)
- [`da212d1`](https://github.com/oxc-project/oxc/commit/da212d1) linter: Add schema for `typescript/no-unnecessary-condition` ([#23305](https://github.com/oxc-project/oxc/issues/23305)) (Sysix)
- [`f8f0d38`](https://github.com/oxc-project/oxc/commit/f8f0d38) linter: Add schema for `typescript/parameter-properties` ([#23304](https://github.com/oxc-project/oxc/issues/23304)) (Sysix)
- [`2275fc7`](https://github.com/oxc-project/oxc/commit/2275fc7) linter: Add schema for `typescript/prefer-nullish-coalescing` ([#23302](https://github.com/oxc-project/oxc/issues/23302)) (Sysix)
- [`d353858`](https://github.com/oxc-project/oxc/commit/d353858) linter: Add schema for `typescript/prefer-string-starts-ends-with` ([#23301](https://github.com/oxc-project/oxc/issues/23301)) (Sysix)
- [`03060f5`](https://github.com/oxc-project/oxc/commit/03060f5) linter: Add schema for `typescript/triple-slash-reference` ([#23300](https://github.com/oxc-project/oxc/issues/23300)) (Sysix)
- [`6619cee`](https://github.com/oxc-project/oxc/commit/6619cee) linter: Add schema for `promise/param-names` ([#23298](https://github.com/oxc-project/oxc/issues/23298)) (Sysix)
- [`8bf108e`](https://github.com/oxc-project/oxc/commit/8bf108e) linter: Add schema for `promise/catch-or-return` ([#23297](https://github.com/oxc-project/oxc/issues/23297)) (Sysix)
- [`48158d0`](https://github.com/oxc-project/oxc/commit/48158d0) linter: Add schema for `vitest/consistent-each-for` ([#23294](https://github.com/oxc-project/oxc/issues/23294)) (Sysix)
- [`7e74c98`](https://github.com/oxc-project/oxc/commit/7e74c98) linter: Add schema for `vitest/consistent-test-filename` ([#23293](https://github.com/oxc-project/oxc/issues/23293)) (Sysix)
- [`ff94d4a`](https://github.com/oxc-project/oxc/commit/ff94d4a) linter: Add schema for `vitest/consistent-vitest-vi` ([#23292](https://github.com/oxc-project/oxc/issues/23292)) (Sysix)
- [`2409a10`](https://github.com/oxc-project/oxc/commit/2409a10) linter: Add schema for `vitest/prefer-import-in-mock` ([#23291](https://github.com/oxc-project/oxc/issues/23291)) (Sysix)
- [`3d782b7`](https://github.com/oxc-project/oxc/commit/3d782b7) linter: Add schema for `react/no-unstable-nested-components` ([#23287](https://github.com/oxc-project/oxc/issues/23287)) (Mikhail Baev)
- [`0a0bc2f`](https://github.com/oxc-project/oxc/commit/0a0bc2f) linter/jsx-a11y: Add `allowedRedundantRoles` option to `no-redundant-roles` ([#22820](https://github.com/oxc-project/oxc/issues/22820)) (bab)
- [`80758a5`](https://github.com/oxc-project/oxc/commit/80758a5) linter/vue: Implement no-side-effects-in-computed-properties rule ([#23282](https://github.com/oxc-project/oxc/issues/23282)) (bab)
- [`e3869ac`](https://github.com/oxc-project/oxc/commit/e3869ac) linter: Add schema for `react/no-object-type-as-default-prop` ([#23279](https://github.com/oxc-project/oxc/issues/23279)) (Mikhail Baev)
- [`4480609`](https://github.com/oxc-project/oxc/commit/4480609) linter: Add schema for `react/jsx-props-no-spreading` ([#23276](https://github.com/oxc-project/oxc/issues/23276)) (Mikhail Baev)
- [`08d68a5`](https://github.com/oxc-project/oxc/commit/08d68a5) linter/react: Implement `jsx-no-literals` rule ([#23145](https://github.com/oxc-project/oxc/issues/23145)) (kapobajza)
- [`9a2788b`](https://github.com/oxc-project/oxc/commit/9a2788b) linter/unicorn: Implement `prefer-export-from` rule ([#22935](https://github.com/oxc-project/oxc/issues/22935)) (AliceLanniste)
- [`bdb723c`](https://github.com/oxc-project/oxc/commit/bdb723c) linter/unicorn: Implement prefer-single-call rule ([#23235](https://github.com/oxc-project/oxc/issues/23235)) (Yuzhe Shi)
- [`31543ed`](https://github.com/oxc-project/oxc/commit/31543ed) linter: Add schema for `vue/define-props-destructuring` ([#23252](https://github.com/oxc-project/oxc/issues/23252)) (Sysix)
- [`21b6c3d`](https://github.com/oxc-project/oxc/commit/21b6c3d) linter: Add schema for `oxc/no-async-endpoint-handlers` ([#23251](https://github.com/oxc-project/oxc/issues/23251)) (Sysix)
- [`e77ff81`](https://github.com/oxc-project/oxc/commit/e77ff81) linter: Add schema for `unicorn/prefer-object-from-entries` ([#23249](https://github.com/oxc-project/oxc/issues/23249)) (Mikhail Baev)
- [`bcac2d6`](https://github.com/oxc-project/oxc/commit/bcac2d6) linter: Add schema for `jest/vitest/no-restricted-matchers` ([#23247](https://github.com/oxc-project/oxc/issues/23247)) (Sysix)
- [`539f036`](https://github.com/oxc-project/oxc/commit/539f036) linter: Add schema for `jest/vitest/no-restricted-*-methods` ([#23246](https://github.com/oxc-project/oxc/issues/23246)) (Sysix)
- [`dd1b927`](https://github.com/oxc-project/oxc/commit/dd1b927) linter/vue: Implement require-default-prop rule ([#22951](https://github.com/oxc-project/oxc/issues/22951)) (bab)
- [`3f018e7`](https://github.com/oxc-project/oxc/commit/3f018e7) linter: Add schema for `unicorn/no-instanceof-builtins` ([#23225](https://github.com/oxc-project/oxc/issues/23225)) (Mikhail Baev)
- [`e0d0f78`](https://github.com/oxc-project/oxc/commit/e0d0f78) linter: Verify promise/no-callback-in-promise schema ([#23141](https://github.com/oxc-project/oxc/issues/23141)) (beanscg)
- [`123d4f4`](https://github.com/oxc-project/oxc/commit/123d4f4) linter: Add schema for `jest/vitest/valid-expect` ([#23185](https://github.com/oxc-project/oxc/issues/23185)) (Sysix)
- [`46c8a21`](https://github.com/oxc-project/oxc/commit/46c8a21) linter: Add schema for `jest/vitest/require-top-level-describe` ([#23184](https://github.com/oxc-project/oxc/issues/23184)) (Sysix)
- [`41465cf`](https://github.com/oxc-project/oxc/commit/41465cf) linter: Add schema for `jest/vitest/prefer-snapshot-hint` ([#23183](https://github.com/oxc-project/oxc/issues/23183)) (Sysix)
- [`d068b9b`](https://github.com/oxc-project/oxc/commit/d068b9b) linter: Add schema for `jest/vitest/prefer-expect-assertions` ([#23181](https://github.com/oxc-project/oxc/issues/23181)) (Sysix)
- [`064a1ee`](https://github.com/oxc-project/oxc/commit/064a1ee) linter: Add schema for `jest/prefer-ending-with-an-expect` ([#23180](https://github.com/oxc-project/oxc/issues/23180)) (Sysix)
- [`d046797`](https://github.com/oxc-project/oxc/commit/d046797) linter: Add schema for `jest/vitest/no-standalone-expect` ([#23179](https://github.com/oxc-project/oxc/issues/23179)) (Sysix)
- [`137b9a6`](https://github.com/oxc-project/oxc/commit/137b9a6) linter: Add schema for `jest/vitest/no-large-snapshots` ([#23178](https://github.com/oxc-project/oxc/issues/23178)) (Sysix)
- [`0f3e4a5`](https://github.com/oxc-project/oxc/commit/0f3e4a5) linter: Add schema for `jest/vitest/no-hooks` ([#23177](https://github.com/oxc-project/oxc/issues/23177)) (Sysix)
- [`cd0b384`](https://github.com/oxc-project/oxc/commit/cd0b384) linter: Add schema for `unicorn/explicit-length-check` ([#23155](https://github.com/oxc-project/oxc/issues/23155)) (Mikhail Baev)
- [`01b74c4`](https://github.com/oxc-project/oxc/commit/01b74c4) linter: Add schema for `jest/no-deprecated-functions` ([#23136](https://github.com/oxc-project/oxc/issues/23136)) (Sysix)
- [`9d6a387`](https://github.com/oxc-project/oxc/commit/9d6a387) linter: Add schema for `unicorn/catch-error-name` ([#23137](https://github.com/oxc-project/oxc/issues/23137)) (Mikhail Baev)
- [`0da8efa`](https://github.com/oxc-project/oxc/commit/0da8efa) linter: Add schema for `jest/vitest/max-nested-describe` ([#23131](https://github.com/oxc-project/oxc/issues/23131)) (Sysix)
- [`d71c9fd`](https://github.com/oxc-project/oxc/commit/d71c9fd) linter: Add schema for `eslint/no-use-before-define` ([#23129](https://github.com/oxc-project/oxc/issues/23129)) (Sysix)

##### 🐛 Bug Fixes

- [`26ddac6`](https://github.com/oxc-project/oxc/commit/26ddac6) linter: Avoid config schema generation for `jsx_a11y/no-noninteractive-element-interactions` ([#23385](https://github.com/oxc-project/oxc/issues/23385)) (Sysix)
- [`40556ad`](https://github.com/oxc-project/oxc/commit/40556ad) linter: Parse `jsx-a11y/control-has-associated-label` config with `DefaultRuleConfig` ([#23373](https://github.com/oxc-project/oxc/issues/23373)) (Sysix)
- [`71e9648`](https://github.com/oxc-project/oxc/commit/71e9648) linter: Expose no-noninteractive-element-interactions schema ([#23283](https://github.com/oxc-project/oxc/issues/23283)) (camc314)
- [`6c86d1c`](https://github.com/oxc-project/oxc/commit/6c86d1c) linter/react-perf: Correct nativeAllowList all schema ([#23229](https://github.com/oxc-project/oxc/issues/23229)) (camc314)
- [`4dd52de`](https://github.com/oxc-project/oxc/commit/4dd52de) linter/react-perf: Re-generate stale snapshots ([#23228](https://github.com/oxc-project/oxc/issues/23228)) (camc314)
- [`8f3db61`](https://github.com/oxc-project/oxc/commit/8f3db61) linter: Allow options for `eslint/capitalized-comments` ([#23139](https://github.com/oxc-project/oxc/issues/23139)) (Sysix)

##### ⚡ Performance

- [`f09707e`](https://github.com/oxc-project/oxc/commit/f09707e) linter: `jest/no-deprecated-functions` store config version as `usize` ([#23138](https://github.com/oxc-project/oxc/issues/23138)) (Sysix)

##### 📚 Documentation

- [`f682e25`](https://github.com/oxc-project/oxc/commit/f682e25) linter: Remove manually written options doc for `eslint/prefer-arrow-callback` ([#23438](https://github.com/oxc-project/oxc/issues/23438)) (Mikhail Baev)
- [`64c942c`](https://github.com/oxc-project/oxc/commit/64c942c) linter: Remove manually written options doc for `eslint/no-sequences` ([#23420](https://github.com/oxc-project/oxc/issues/23420)) (Mikhail Baev)
- [`14abf32`](https://github.com/oxc-project/oxc/commit/14abf32) linter/react-perf: Use autogenerated docs ([#23227](https://github.com/oxc-project/oxc/issues/23227)) (camc314)
##### [v1.69.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1690---2026-06-08)

##### 🚀 Features

- [`e805174`](https://github.com/oxc-project/oxc/commit/e805174) linter: Add schema for `jest/vitest/max-expects` ([#23105](https://github.com/oxc-project/oxc/issues/23105)) (Sysix)
- [`7850577`](https://github.com/oxc-project/oxc/commit/7850577) linter: Add schema for `jest/vitest/expect-expect` ([#23104](https://github.com/oxc-project/oxc/issues/23104)) (Sysix)
- [`75f641a`](https://github.com/oxc-project/oxc/commit/75f641a) linter: Add schema for `jest/vitest/consistent-test-it` ([#23103](https://github.com/oxc-project/oxc/issues/23103)) (Sysix)
- [`5125f89`](https://github.com/oxc-project/oxc/commit/5125f89) linter/unicorn: Support no-null `checkArguments` option ([#23098](https://github.com/oxc-project/oxc/issues/23098)) (camc314)
- [`b8b9797`](https://github.com/oxc-project/oxc/commit/b8b9797) linter: Add schema for `import-max-dependencies` ([#23096](https://github.com/oxc-project/oxc/issues/23096)) (Sysix)
- [`65cb47a`](https://github.com/oxc-project/oxc/commit/65cb47a) linter/eslint: Support no-unused-expressions `ignoreDirectives` option ([#23097](https://github.com/oxc-project/oxc/issues/23097)) (camc314)
- [`f6c36d5`](https://github.com/oxc-project/oxc/commit/f6c36d5) linter: Add schema for `import/prefer-default-export` ([#23091](https://github.com/oxc-project/oxc/issues/23091)) (Sysix)
- [`0d4a5d1`](https://github.com/oxc-project/oxc/commit/0d4a5d1) linter: Add schema for `eslint/sort-vars` ([#23090](https://github.com/oxc-project/oxc/issues/23090)) (Sysix)
- [`fdb5bf5`](https://github.com/oxc-project/oxc/commit/fdb5bf5) linter: Add schema for `eslint/radix` ([#23082](https://github.com/oxc-project/oxc/issues/23082)) (Sysix)
- [`05b4dcf`](https://github.com/oxc-project/oxc/commit/05b4dcf) linter: Add schema for `eslint/prefer-const` ([#23081](https://github.com/oxc-project/oxc/issues/23081)) (Sysix)
- [`5a06c4d`](https://github.com/oxc-project/oxc/commit/5a06c4d) linter/vue: Implement next-tick-style rule ([#23041](https://github.com/oxc-project/oxc/issues/23041)) (Alex Peshkov)
- [`e38a36a`](https://github.com/oxc-project/oxc/commit/e38a36a) linter: Add schema for `eslint/operator-assignment` ([#23080](https://github.com/oxc-project/oxc/issues/23080)) (Sysix)
- [`907cee7`](https://github.com/oxc-project/oxc/commit/907cee7) linter: Add schema for `eslint/no-warning-comments` ([#23075](https://github.com/oxc-project/oxc/issues/23075)) (Sysix)
- [`9470bb2`](https://github.com/oxc-project/oxc/commit/9470bb2) linter: Add schema for `eslint/no-unused-vars` ([#23073](https://github.com/oxc-project/oxc/issues/23073)) (Sysix)
- [`234b5cf`](https://github.com/oxc-project/oxc/commit/234b5cf) linter: Add schema for `eslint/no-shadow` ([#23072](https://github.com/oxc-project/oxc/issues/23072)) (Sysix)
- [`de0dd8b`](https://github.com/oxc-project/oxc/commit/de0dd8b) linter: Add schema for `eslint/no-restricted-exports` ([#23020](https://github.com/oxc-project/oxc/issues/23020)) (Sysix)
- [`faa3e0d`](https://github.com/oxc-project/oxc/commit/faa3e0d) linter: Add schema for `eslint/no-param-reassign` ([#23018](https://github.com/oxc-project/oxc/issues/23018)) (Sysix)
- [`dbc9c27`](https://github.com/oxc-project/oxc/commit/dbc9c27) linter: Add schema for `eslint/no-magic-numbers` ([#23017](https://github.com/oxc-project/oxc/issues/23017)) (Sysix)
- [`38d3569`](https://github.com/oxc-project/oxc/commit/38d3569) linter: Add schema for `eslint/no-inner-declarations` ([#23016](https://github.com/oxc-project/oxc/issues/23016)) (Sysix)
- [`008fa41`](https://github.com/oxc-project/oxc/commit/008fa41) linter: Add schema for `eslint/no-constant-condition` ([#22991](https://github.com/oxc-project/oxc/issues/22991)) (Sysix)
- [`ca44623`](https://github.com/oxc-project/oxc/commit/ca44623) linter: Add schema for `eslint/no-empty-function` ([#22988](https://github.com/oxc-project/oxc/issues/22988)) (Sysix)
- [`43eb04d`](https://github.com/oxc-project/oxc/commit/43eb04d) linter: Add schema for `eslint/id-match` ([#22987](https://github.com/oxc-project/oxc/issues/22987)) (Sysix)
- [`a800f27`](https://github.com/oxc-project/oxc/commit/a800f27) linter: Add schema for `eslint/capitalized-comments` ([#22984](https://github.com/oxc-project/oxc/issues/22984)) (Sysix)
- [`96e2d32`](https://github.com/oxc-project/oxc/commit/96e2d32) linter: Add schema for `eslint/id-length` ([#22963](https://github.com/oxc-project/oxc/issues/22963)) (Sysix)
- [`545493f`](https://github.com/oxc-project/oxc/commit/545493f) linter: Add schema for `eslint/complexity` ([#22960](https://github.com/oxc-project/oxc/issues/22960)) (Sysix)
- [`5f0b558`](https://github.com/oxc-project/oxc/commit/5f0b558) linter: Add schema for `eslint/class-methods-use-this` ([#22959](https://github.com/oxc-project/oxc/issues/22959)) (Sysix)
- [`719b720`](https://github.com/oxc-project/oxc/commit/719b720) linter: Add schema for simple rule configurations ([#22948](https://github.com/oxc-project/oxc/issues/22948)) (Sysix)
- [`fd00966`](https://github.com/oxc-project/oxc/commit/fd00966) linter: Add right schema for `eslint/max-*` rules ([#22923](https://github.com/oxc-project/oxc/issues/22923)) (Sysix)
- [`1226d78`](https://github.com/oxc-project/oxc/commit/1226d78) linter: Fill schema with rule configurations ([#22907](https://github.com/oxc-project/oxc/issues/22907)) (Sysix)
- [`8f423c1`](https://github.com/oxc-project/oxc/commit/8f423c1) linter/vue: Implement `require-direct-export` rule ([#17623](https://github.com/oxc-project/oxc/issues/17623)) (yefan)
- [`78e915b`](https://github.com/oxc-project/oxc/commit/78e915b) linter/vue: Implement no-reserved-props rule ([#22914](https://github.com/oxc-project/oxc/issues/22914)) (bab)
- [`0f200a9`](https://github.com/oxc-project/oxc/commit/0f200a9) linter/vue: Implement require-prop-types rule ([#22083](https://github.com/oxc-project/oxc/issues/22083)) (Alex Peshkov)
- [`5da9da9`](https://github.com/oxc-project/oxc/commit/5da9da9) linter/vue: Implement no-reserved-keys rule ([#21780](https://github.com/oxc-project/oxc/issues/21780)) (bab)
- [`75e14a8`](https://github.com/oxc-project/oxc/commit/75e14a8) linter/vue: Implement prop-name-casing rule ([#22892](https://github.com/oxc-project/oxc/issues/22892)) (bab)

##### 🐛 Bug Fixes

- [`0383e61`](https://github.com/oxc-project/oxc/commit/0383e61) linter: Fix schema for rules without a config ([#22946](https://github.com/oxc-project/oxc/issues/22946)) (Sysix)

##### 📚 Documentation

- [`dadafe3`](https://github.com/oxc-project/oxc/commit/dadafe3) oxlint, oxfmt: Mention migrate skills in npm READMEs ([#22965](https://github.com/oxc-project/oxc/issues/22965)) (Boshen)
##### [v1.68.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1680---2026-06-01)

##### 🚀 Features

- [`e4b1f46`](https://github.com/oxc-project/oxc/commit/e4b1f46) linter/typescript: Implement `method-signature-style` rule ([#22679](https://github.com/oxc-project/oxc/issues/22679)) (Mikhail Baev)
- [`bc462ca`](https://github.com/oxc-project/oxc/commit/bc462ca) linter/vue: Implement no-reserved-component-names rule ([#22741](https://github.com/oxc-project/oxc/issues/22741)) (bab)
- [`ef9e751`](https://github.com/oxc-project/oxc/commit/ef9e751) linter/vue: Implement component-definition-name-casing rule ([#22818](https://github.com/oxc-project/oxc/issues/22818)) (bab)
- [`d67f51a`](https://github.com/oxc-project/oxc/commit/d67f51a) linter/vue: Implement require-prop-type-constructor rule ([#22708](https://github.com/oxc-project/oxc/issues/22708)) (bab)
- [`8422e8b`](https://github.com/oxc-project/oxc/commit/8422e8b) linter/jsdoc: Implement `require-yields-description` rule ([#22805](https://github.com/oxc-project/oxc/issues/22805)) (Mikhail Baev)
- [`fe93f97`](https://github.com/oxc-project/oxc/commit/fe93f97) linter/eslint: Implement `prefer-named-capture-group` rule ([#22759](https://github.com/oxc-project/oxc/issues/22759)) (Sebastian Poxhofer)
##### [v1.67.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1670---2026-05-26)

##### 🚀 Features

- [`b84941e`](https://github.com/oxc-project/oxc/commit/b84941e) linter/vue: Implement no-expose-after-await rule ([#22675](https://github.com/oxc-project/oxc/issues/22675)) (bab)
- [`98b98c1`](https://github.com/oxc-project/oxc/commit/98b98c1) linter/vue: Implement no-computed-properties-in-data rule ([#22674](https://github.com/oxc-project/oxc/issues/22674)) (bab)
- [`2d4c919`](https://github.com/oxc-project/oxc/commit/2d4c919) oxlint: Support `vite-plus/resolveConfig` for vite.config.ts ([#22456](https://github.com/oxc-project/oxc/issues/22456)) (leaysgur)
- [`2a60012`](https://github.com/oxc-project/oxc/commit/2a60012) linter/vue: Implement require-render-return rule ([#22613](https://github.com/oxc-project/oxc/issues/22613)) (bab)
- [`9f227fd`](https://github.com/oxc-project/oxc/commit/9f227fd) linter/vue: Implement no-deprecated-props-default-this rule ([#21892](https://github.com/oxc-project/oxc/issues/21892)) (bab)
- [`87f065e`](https://github.com/oxc-project/oxc/commit/87f065e) linter/vue: Implement return-in-emits-validator rule ([#21935](https://github.com/oxc-project/oxc/issues/21935)) (bab)
- [`ea0380c`](https://github.com/oxc-project/oxc/commit/ea0380c) linter/unicorn: Implement `import-style` rule ([#22173](https://github.com/oxc-project/oxc/issues/22173)) (Hao Chen)
- [`dde40fe`](https://github.com/oxc-project/oxc/commit/dde40fe) linter/vue: Implement no-watch-after-await rule ([#22006](https://github.com/oxc-project/oxc/issues/22006)) (bab)
- [`a735eb0`](https://github.com/oxc-project/oxc/commit/a735eb0) linter/vue: Implement valid-next-tick rule ([#22531](https://github.com/oxc-project/oxc/issues/22531)) (bab)
- [`6dc615d`](https://github.com/oxc-project/oxc/commit/6dc615d) linter/vue: Implement no-shared-component-data rule ([#21842](https://github.com/oxc-project/oxc/issues/21842)) (bab)
- [`a656418`](https://github.com/oxc-project/oxc/commit/a656418) linter/vue: Implement valid-define-options rule ([#22107](https://github.com/oxc-project/oxc/issues/22107)) (bab)
- [`bb6f1b2`](https://github.com/oxc-project/oxc/commit/bb6f1b2) linter/vue: Implement require-slots-as-functions rule ([#22244](https://github.com/oxc-project/oxc/issues/22244)) (bab)
- [`5fa4774`](https://github.com/oxc-project/oxc/commit/5fa4774) linter/n: Implement `callback-return` rule ([#22470](https://github.com/oxc-project/oxc/issues/22470)) (Mikhail Baev)
##### [v1.66.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1660---2026-05-18)

##### 🚀 Features

- [`0440b0f`](https://github.com/oxc-project/oxc/commit/0440b0f) linter/eslint: Implement `id-match` rule ([#22379](https://github.com/oxc-project/oxc/issues/22379)) (Vladislav Sayapin)
- [`65bf119`](https://github.com/oxc-project/oxc/commit/65bf119) linter: Implement react no-object-type-as-default-prop ([#22481](https://github.com/oxc-project/oxc/issues/22481)) (uhyo)
- [`2a6ddce`](https://github.com/oxc-project/oxc/commit/2a6ddce) linter/eslint: Implement `no-implied-eval` rule ([#22391](https://github.com/oxc-project/oxc/issues/22391)) (Vladislav Sayapin)
- [`625758a`](https://github.com/oxc-project/oxc/commit/625758a) linter/vitest: Implement padding-around-after-all-blocks rule ([#21788](https://github.com/oxc-project/oxc/issues/21788)) (kapobajza)
- [`37680b0`](https://github.com/oxc-project/oxc/commit/37680b0) linter: Implement react no-unstable-nested-components ([#22248](https://github.com/oxc-project/oxc/issues/22248)) (Jovi De Croock)
- [`d8d9c74`](https://github.com/oxc-project/oxc/commit/d8d9c74) linter: Implement import/newline-after-import rule ([#19142](https://github.com/oxc-project/oxc/issues/19142)) (Ryuya Yanagi)
##### [v1.65.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1650---2026-05-15)

##### 🚀 Features

- [`5478fb5`](https://github.com/oxc-project/oxc/commit/5478fb5) linter/jsdoc: Implement `require-throws-description` rule ([#22386](https://github.com/oxc-project/oxc/issues/22386)) (Mikhail Baev)
- [`c73225e`](https://github.com/oxc-project/oxc/commit/c73225e) linter/eslint: Implement `prefer-arrow-callback` rule ([#22312](https://github.com/oxc-project/oxc/issues/22312)) (박천(Cheon Park))
- [`de82b59`](https://github.com/oxc-project/oxc/commit/de82b59) linter: Add support for `eslint-plugin-jsx-a11y-x` ([#22356](https://github.com/oxc-project/oxc/issues/22356)) (mehm8128)
- [`f44b6c8`](https://github.com/oxc-project/oxc/commit/f44b6c8) linter: Fill schemas `DummyRuleMap` with built-in rules ([#22288](https://github.com/oxc-project/oxc/issues/22288)) (Sysix)
##### [v1.64.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1640---2026-05-11)

##### 🚀 Features

- [`fbb8f22`](https://github.com/oxc-project/oxc/commit/fbb8f22) linter: Support `ignores` in overrides ([#22148](https://github.com/oxc-project/oxc/issues/22148)) (camc314)

##### 🐛 Bug Fixes

- [`25b7017`](https://github.com/oxc-project/oxc/commit/25b7017) linter: Undocument override `ignores` option ([#22213](https://github.com/oxc-project/oxc/issues/22213)) (camc314)
##### [v1.63.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1630---2026-05-05)

##### 📚 Documentation

- [`cacbc4a`](https://github.com/oxc-project/oxc/commit/cacbc4a) linter: Fix jest settings docs. ([#22127](https://github.com/oxc-project/oxc/issues/22127)) (connorshea)
##### [v1.62.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1620---2026-04-27)

##### 🚀 Features

- [`348f46c`](https://github.com/oxc-project/oxc/commit/348f46c) linter: Add `respectEslintDisableDirectives` option ([#21384](https://github.com/oxc-project/oxc/issues/21384)) (Christian Vuerings)

##### 🐛 Bug Fixes

- [`8c425db`](https://github.com/oxc-project/oxc/commit/8c425db) linter: Allow string for jest version in config schema ([#21649](https://github.com/oxc-project/oxc/issues/21649)) (camc314)
##### [v1.61.1](https://github.com/oxc-project/oxc/compare/oxlint_v1.61.0...7a75f0d0555ee8e5012874eeb3f06f7272804e37)

##### [v1.61.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1610---2026-04-20)

##### 🚀 Features

- [`38d8090`](https://github.com/oxc-project/oxc/commit/38d8090) linter/jest: Implemented jest `version` settings in config file. ([#21522](https://github.com/oxc-project/oxc/issues/21522)) (Said Atrahouch)
##### [v1.60.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1600---2026-04-13)

##### 📚 Documentation

- [`cfd8a4f`](https://github.com/oxc-project/oxc/commit/cfd8a4f) linter: Don't rely on old eslint doc for available globals ([#21334](https://github.com/oxc-project/oxc/issues/21334)) (Nicolas Le Cam)
##### [v1.59.0]()

##### [v1.58.0]()

##### [v1.57.0]()

##### [v1.56.0]()

##### [v1.55.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1550---2026-03-12)

##### 🐛 Bug Fixes

- [`bc20217`](https://github.com/oxc-project/oxc/commit/bc20217) oxlint,oxfmt: Omit useless `| null` for `Option<T>` field from schema ([#20273](https://github.com/oxc-project/oxc/issues/20273)) (leaysgur)

##### 📚 Documentation

- [`f339f10`](https://github.com/oxc-project/oxc/commit/f339f10) linter/plugins: Promote JS plugins to alpha status ([#20281](https://github.com/oxc-project/oxc/issues/20281)) (overlookmotel)
##### [v1.54.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1540---2026-03-12)

##### 📚 Documentation

- [`0c7da4f`](https://github.com/oxc-project/oxc/commit/0c7da4f) linter: Fix extra closing brace in example config. ([#20253](https://github.com/oxc-project/oxc/issues/20253)) (connorshea)
##### [v1.53.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.52.0...oxlint_v1.53.0)

##### [v1.52.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1520---2026-03-09)

##### 🚀 Features

- [`61bf388`](https://github.com/oxc-project/oxc/commit/61bf388) linter: Add `options.reportUnusedDisableDirectives` to config file ([#19799](https://github.com/oxc-project/oxc/issues/19799)) (Peter Wagenet)
- [`2919313`](https://github.com/oxc-project/oxc/commit/2919313) linter: Introduce denyWarnings config options ([#19926](https://github.com/oxc-project/oxc/issues/19926)) (camc314)
- [`a607119`](https://github.com/oxc-project/oxc/commit/a607119) linter: Introduce maxWarnings config option ([#19777](https://github.com/oxc-project/oxc/issues/19777)) (camc314)

##### 📚 Documentation

- [`6c0e0b5`](https://github.com/oxc-project/oxc/commit/6c0e0b5) linter: Add oxlint.config.ts to the config docs. ([#19941](https://github.com/oxc-project/oxc/issues/19941)) (connorshea)
- [`160e423`](https://github.com/oxc-project/oxc/commit/160e423) linter: Add a note that the typeAware and typeCheck options require oxlint-tsgolint ([#19940](https://github.com/oxc-project/oxc/issues/19940)) (connorshea)
##### [v1.51.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1510---2026-03-02)

##### 🚀 Features

- [`f34f6fa`](https://github.com/oxc-project/oxc/commit/f34f6fa) linter: Introduce typeCheck config option ([#19764](https://github.com/oxc-project/oxc/issues/19764)) (camc314)
- [`694be7d`](https://github.com/oxc-project/oxc/commit/694be7d) linter: Introduce typeAware as config options ([#19614](https://github.com/oxc-project/oxc/issues/19614)) (camc314)

##### 🐛 Bug Fixes

- [`04e6223`](https://github.com/oxc-project/oxc/commit/04e6223) npm: Add `preferUnplugged` for Yarn PnP compatibility ([#19829](https://github.com/oxc-project/oxc/issues/19829)) (Boshen)

##### 📚 Documentation

- [`2fa936f`](https://github.com/oxc-project/oxc/commit/2fa936f) README.md: Map npm package links to npmx.dev ([#19666](https://github.com/oxc-project/oxc/issues/19666)) (Boshen)
##### [v1.50.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.49.0...oxlint_v1.50.0)

##### [v1.49.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.48.0...oxlint_v1.49.0)

##### [v1.48.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.47.0...oxlint_v1.48.0)

##### [v1.47.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.46.0...oxlint_v1.47.0)

##### [v1.45.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1450---2026-02-10)

##### 🐛 Bug Fixes

- [`1b2f354`](https://github.com/oxc-project/oxc/commit/1b2f354) ci: Add missing riscv64/s390x napi targets for oxfmt and oxlint ([#19217](https://github.com/oxc-project/oxc/issues/19217)) (Cameron)
##### [v1.43.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.42.0...oxlint_v1.43.0)

##### [v1.42.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1420---2026-01-26)

##### 🚀 Features

- [`15d69dc`](https://github.com/oxc-project/oxc/commit/15d69dc) linter: Implement react/display-name rule ([#18426](https://github.com/oxc-project/oxc/issues/18426)) (camchenry)

##### 📚 Documentation

- [`8ccd853`](https://github.com/oxc-project/oxc/commit/8ccd853) npm: Update package homepage URLs and add keywords ([#18509](https://github.com/oxc-project/oxc/issues/18509)) (Boshen)
##### [v1.41.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1410---2026-01-19)

##### 📚 Documentation

- [`8a294d5`](https://github.com/oxc-project/oxc/commit/8a294d5) oxfmt, oxlint: Update logo ([#18242](https://github.com/oxc-project/oxc/issues/18242)) (Dunqing)
##### [v1.40.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.39.0...oxlint_v1.40.0)

##### [v1.39.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.38.0...oxlint_v1.39.0)

##### [v1.38.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.37.0...oxlint_v1.38.0)

##### [v1.37.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1370---2026-01-05)

##### 💥 BREAKING CHANGES

- [`f7da875`](https://github.com/oxc-project/oxc/commit/f7da875) oxlint: \[**BREAKING**] Remove oxc\_language\_server binary ([#17457](https://github.com/oxc-project/oxc/issues/17457)) (Boshen)

##### 📚 Documentation

- [`7e5fc90`](https://github.com/oxc-project/oxc/commit/7e5fc90) linter: Update list of plugins that are reserved. ([#17516](https://github.com/oxc-project/oxc/issues/17516)) (connorshea)
##### [v1.36.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.35.0...oxlint_v1.36.0)

##### [v1.35.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1350---2025-12-22)

##### 🚀 Features

- [`9e624c9`](https://github.com/oxc-project/oxc/commit/9e624c9) linter/react: Add `version` to `ReactPluginSettings` ([#17169](https://github.com/oxc-project/oxc/issues/17169)) (camc314)
##### [v1.34.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1340---2025-12-19)

##### 🚀 Features

- [`a0f74a0`](https://github.com/oxc-project/oxc/commit/a0f74a0) linter/config: Allow aliasing plugin names to allow names the same as builtin plugins ([#15569](https://github.com/oxc-project/oxc/issues/15569)) (Cameron)

##### 🐛 Bug Fixes

- [`005ec25`](https://github.com/oxc-project/oxc/commit/005ec25) linter: Permit `$schema` `.oxlintrc.json` struct ([#17060](https://github.com/oxc-project/oxc/issues/17060)) (Copilot)
- [`d446c43`](https://github.com/oxc-project/oxc/commit/d446c43) linter: Prevent extra fields from being present on oxlint config file ([#16874](https://github.com/oxc-project/oxc/issues/16874)) (connorshea)
##### [v1.33.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.32.0...oxlint_v1.33.0)

##### [v1.32.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.31.0...oxlint_v1.32.0)

##### [v1.31.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.30.0...oxlint_v1.31.0)

##### [v1.30.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1300---2025-11-24)

##### 🚀 Features

- [`595867a`](https://github.com/oxc-project/oxc/commit/595867a) oxlint: Generate markdownDescription fields for oxlint JSON schema. ([#15959](https://github.com/oxc-project/oxc/issues/15959)) (connorshea)
##### [v1.29.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1290---2025-11-17)

##### 🚀 Features

- [`84de1ca`](https://github.com/oxc-project/oxc/commit/84de1ca) oxlint,oxfmt: Allow comments and also commas for vscode-json-ls ([#15612](https://github.com/oxc-project/oxc/issues/15612)) (leaysgur)
##### [v1.28.0](https://github.com/oxc-project/oxc/compare/oxlint_v1.27.0...oxlint_v1.28.0)

##### [v1.27.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.27.0)

### Oxlint v1.27.0

##### 🚀 Features

- [`222a8f0`](https://github.com/oxc-project/oxc/commit/222a8f0) linter/plugins: Implement `SourceCode#isSpaceBetween` ([#15498](https://github.com/oxc-project/oxc/issues/15498)) (overlookmotel)
- [`2f9735d`](https://github.com/oxc-project/oxc/commit/2f9735d) linter/plugins: Implement `context.languageOptions` ([#15486](https://github.com/oxc-project/oxc/issues/15486)) (overlookmotel)
- [`bc731ff`](https://github.com/oxc-project/oxc/commit/bc731ff) linter/plugins: Stub out all `Context` APIs ([#15479](https://github.com/oxc-project/oxc/issues/15479)) (overlookmotel)
- [`5822cb4`](https://github.com/oxc-project/oxc/commit/5822cb4) linter/plugins: Add `extend` method to `FILE_CONTEXT` ([#15477](https://github.com/oxc-project/oxc/issues/15477)) (overlookmotel)
- [`7b1e6f3`](https://github.com/oxc-project/oxc/commit/7b1e6f3) apps: Add pure rust binaries and release to github ([#15469](https://github.com/oxc-project/oxc/issues/15469)) (Boshen)
- [`2a89b43`](https://github.com/oxc-project/oxc/commit/2a89b43) linter: Introduce debug assertions after fixes to assert validity ([#15389](https://github.com/oxc-project/oxc/issues/15389)) (camc314)
- [`ad3c45a`](https://github.com/oxc-project/oxc/commit/ad3c45a) editor: Add `oxc.path.node` option ([#15040](https://github.com/oxc-project/oxc/issues/15040)) (Sysix)

##### 🐛 Bug Fixes

- [`6f3cd77`](https://github.com/oxc-project/oxc/commit/6f3cd77) linter/no-var: Incorrect warning for blocks ([#15504](https://github.com/oxc-project/oxc/issues/15504)) (Hamir Mahal)
- [`6957fb9`](https://github.com/oxc-project/oxc/commit/6957fb9) linter/plugins: Do not allow access to `Context#id` in `createOnce` ([#15489](https://github.com/oxc-project/oxc/issues/15489)) (overlookmotel)
- [`7409630`](https://github.com/oxc-project/oxc/commit/7409630) linter/plugins: Allow access to `cwd` in `createOnce` in ESLint interop mode ([#15488](https://github.com/oxc-project/oxc/issues/15488)) (overlookmotel)
- [`732205e`](https://github.com/oxc-project/oxc/commit/732205e) parser: Reject `using` / `await using` in a switch `case` / `default` clause ([#15225](https://github.com/oxc-project/oxc/issues/15225)) (sapphi-red)
- [`a17ca32`](https://github.com/oxc-project/oxc/commit/a17ca32) linter/plugins: Replace `Context` class ([#15448](https://github.com/oxc-project/oxc/issues/15448)) (overlookmotel)
- [`ecf2f7b`](https://github.com/oxc-project/oxc/commit/ecf2f7b) language\_server: Fail gracefully when tsgolint executable not found ([#15436](https://github.com/oxc-project/oxc/issues/15436)) (camc314)
- [`3c8d3a7`](https://github.com/oxc-project/oxc/commit/3c8d3a7) lang-server: Improve logging in failure case for tsgolint ([#15299](https://github.com/oxc-project/oxc/issues/15299)) (camc314)
- [`ef71410`](https://github.com/oxc-project/oxc/commit/ef71410) linter: Use jsx if source type is JS in fix debug assertion ([#15434](https://github.com/oxc-project/oxc/issues/15434)) (camc314)
- [`e32bbf6`](https://github.com/oxc-project/oxc/commit/e32bbf6) linter/no-var: Handle TypeScript declare keyword in fixer ([#15426](https://github.com/oxc-project/oxc/issues/15426)) (camc314)
- [`6565dbe`](https://github.com/oxc-project/oxc/commit/6565dbe) linter/switch-case-braces: Skip comments when searching for `:` token ([#15425](https://github.com/oxc-project/oxc/issues/15425)) (camc314)
- [`85bd19a`](https://github.com/oxc-project/oxc/commit/85bd19a) linter/prefer-class-fields: Insert value after type annotation in fixer ([#15423](https://github.com/oxc-project/oxc/issues/15423)) (camc314)
- [`fde753e`](https://github.com/oxc-project/oxc/commit/fde753e) linter/plugins: Block access to `context.settings` in `createOnce` ([#15394](https://github.com/oxc-project/oxc/issues/15394)) (overlookmotel)
- [`ddd9f9f`](https://github.com/oxc-project/oxc/commit/ddd9f9f) linter/forward-ref-uses-ref: Dont suggest removing wrapper in invalid positions ([#15388](https://github.com/oxc-project/oxc/issues/15388)) (camc314)
- [`dac2a9c`](https://github.com/oxc-project/oxc/commit/dac2a9c) linter/no-template-curly-in-string: Remove fixer ([#15387](https://github.com/oxc-project/oxc/issues/15387)) (camc314)
- [`989b8e3`](https://github.com/oxc-project/oxc/commit/989b8e3) linter/no-var: Only fix to `const` if the var has an initializer ([#15385](https://github.com/oxc-project/oxc/issues/15385)) (camc314)
- [`cc403f5`](https://github.com/oxc-project/oxc/commit/cc403f5) linter/plugins: Return empty object for unimplemented parserServices ([#15364](https://github.com/oxc-project/oxc/issues/15364)) (magic-akari)

##### ⚡ Performance

- [`25d577e`](https://github.com/oxc-project/oxc/commit/25d577e) language\_server: Start tools in parallel ([#15500](https://github.com/oxc-project/oxc/issues/15500)) (Sysix)
- [`3c57291`](https://github.com/oxc-project/oxc/commit/3c57291) linter/plugins: Optimize loops ([#15449](https://github.com/oxc-project/oxc/issues/15449)) (overlookmotel)
- [`3166233`](https://github.com/oxc-project/oxc/commit/3166233) linter/plugins: Remove `Arc`s ([#15431](https://github.com/oxc-project/oxc/issues/15431)) (overlookmotel)
- [`9de1322`](https://github.com/oxc-project/oxc/commit/9de1322) linter/plugins: Lazily deserialize settings JSON ([#15395](https://github.com/oxc-project/oxc/issues/15395)) (overlookmotel)
- [`3049ec2`](https://github.com/oxc-project/oxc/commit/3049ec2) linter/plugins: Optimize `deepFreezeSettings` ([#15392](https://github.com/oxc-project/oxc/issues/15392)) (overlookmotel)
- [`444ebfd`](https://github.com/oxc-project/oxc/commit/444ebfd) linter/plugins: Use single object for `parserServices` ([#15378](https://github.com/oxc-project/oxc/issues/15378)) (overlookmotel)

##### 📚 Documentation

- [`97d2104`](https://github.com/oxc-project/oxc/commit/97d2104) linter: Update comment in lint.rs about default value for tsconfig path ([#15530](https://github.com/oxc-project/oxc/issues/15530)) (Connor Shea)
- [`2c6bd9e`](https://github.com/oxc-project/oxc/commit/2c6bd9e) linter: Always refer as "ES2015" instead of "ES6" ([#15411](https://github.com/oxc-project/oxc/issues/15411)) (sapphi-red)
- [`a0c5203`](https://github.com/oxc-project/oxc/commit/a0c5203) linter/import/named: Update "ES7" comment in examples ([#15410](https://github.com/oxc-project/oxc/issues/15410)) (sapphi-red)
- [`3dc24b5`](https://github.com/oxc-project/oxc/commit/3dc24b5) linter,minifier: Always refer as "ES Modules" instead of "ES6 Modules" ([#15409](https://github.com/oxc-project/oxc/issues/15409)) (sapphi-red)
- [`2ad77fb`](https://github.com/oxc-project/oxc/commit/2ad77fb) linter/no-this-before-super: Correct "Why is this bad?" section ([#15408](https://github.com/oxc-project/oxc/issues/15408)) (sapphi-red)
- [`57f0ce1`](https://github.com/oxc-project/oxc/commit/57f0ce1) linter: Add backquotes where appropriate ([#15407](https://github.com/oxc-project/oxc/issues/15407)) (sapphi-red)

### Oxfmt v0.12.0

##### 🚀 Features

- [`3251000`](https://github.com/oxc-project/oxc/commit/3251000) oxfmt: Use `prettier` directly and bundle `prettier` ([#15544](https://github.com/oxc-project/oxc/issues/15544)) (Dunqing)
- [`7b1e6f3`](https://github.com/oxc-project/oxc/commit/7b1e6f3) apps: Add pure rust binaries and release to github ([#15469](https://github.com/oxc-project/oxc/issues/15469)) (Boshen)
- [`33ad374`](https://github.com/oxc-project/oxc/commit/33ad374) oxfmt: Disable embedded formatting by default for alpha ([#15402](https://github.com/oxc-project/oxc/issues/15402)) (leaysgur)
- [`5708126`](https://github.com/oxc-project/oxc/commit/5708126) formatter/sort\_imports: Add `options.newlinesBetween` ([#15369](https://github.com/oxc-project/oxc/issues/15369)) (leaysgur)
- [`2dfc3bd`](https://github.com/oxc-project/oxc/commit/2dfc3bd) formatter: Remove `Tag::StartVerbatim` and `Tag::EndVerbatim` ([#15370](https://github.com/oxc-project/oxc/issues/15370)) (Dunqing)
- [`88c7530`](https://github.com/oxc-project/oxc/commit/88c7530) formatter: Remove `FormatElement::LocatedTokenText` ([#15367](https://github.com/oxc-project/oxc/issues/15367)) (Dunqing)

##### 🐛 Bug Fixes

- [`d32d22e`](https://github.com/oxc-project/oxc/commit/d32d22e) formatter: Correct `FormatElement` size check ([#15461](https://github.com/oxc-project/oxc/issues/15461)) (Dunqing)
- [`b0f43f9`](https://github.com/oxc-project/oxc/commit/b0f43f9) formatter: Test call difference ([#15356](https://github.com/oxc-project/oxc/issues/15356)) (Dunqing)
- [`01f20f3`](https://github.com/oxc-project/oxc/commit/01f20f3) formatter: Incorrect comment checking logic for grouping argument ([#15354](https://github.com/oxc-project/oxc/issues/15354)) (Dunqing)

##### ⚡ Performance

- [`f4b75b6`](https://github.com/oxc-project/oxc/commit/f4b75b6) formatter: Pre-allocate enough space for the FormatElement buffer ([#15422](https://github.com/oxc-project/oxc/issues/15422)) (Dunqing)
- [`5a61189`](https://github.com/oxc-project/oxc/commit/5a61189) formatter: Avoid unnecessary allocation for `BinaryLikeExpression` ([#15467](https://github.com/oxc-project/oxc/issues/15467)) (Dunqing)
- [`064f835`](https://github.com/oxc-project/oxc/commit/064f835) formatter: Optimize printing call arguments ([#15464](https://github.com/oxc-project/oxc/issues/15464)) (Dunqing)
- [`29f35b2`](https://github.com/oxc-project/oxc/commit/29f35b2) formatter: Reuse previous indent stack in `FitsMeasurer` ([#15416](https://github.com/oxc-project/oxc/issues/15416)) (Dunqing)
- [`a6808a0`](https://github.com/oxc-project/oxc/commit/a6808a0) oxfmt: Use `AllocatorPool` to reuse allocator between threads ([#15412](https://github.com/oxc-project/oxc/issues/15412)) (leaysgur)
- [`2515045`](https://github.com/oxc-project/oxc/commit/2515045) formatter: Use CodeBuffer's built-in print\_indent to print indentation ([#15406](https://github.com/oxc-project/oxc/issues/15406)) (Dunqing)
- [`681607b`](https://github.com/oxc-project/oxc/commit/681607b) formatter: Check the `Text` to see whether it has multiple lines based on its width ([#15405](https://github.com/oxc-project/oxc/issues/15405)) (Dunqing)
- [`b92deb4`](https://github.com/oxc-project/oxc/commit/b92deb4) formatter: Replace String buffer with byte-oriented CodeBuffer ([#14752](https://github.com/oxc-project/oxc/issues/14752)) (Boshen)
- [`963b87f`](https://github.com/oxc-project/oxc/commit/963b87f) formatter: Add `text_without_whitespace` for text that can never have whitespace ([#15403](https://github.com/oxc-project/oxc/issues/15403)) (Dunqing)
- [`f30ce4b`](https://github.com/oxc-project/oxc/commit/f30ce4b) formatter: Optimize formatting literal string ([#15380](https://github.com/oxc-project/oxc/issues/15380)) (Dunqing)
- [`8f25a0e`](https://github.com/oxc-project/oxc/commit/8f25a0e) formatter: Memorize text width for `FormatElement::Text` ([#15372](https://github.com/oxc-project/oxc/issues/15372)) (Dunqing)
- [`f913543`](https://github.com/oxc-project/oxc/commit/f913543) formatter: Avoid allocation for `SyntaxTokenCowSlice` ([#15366](https://github.com/oxc-project/oxc/issues/15366)) (Dunqing)
- [`98c9234`](https://github.com/oxc-project/oxc/commit/98c9234) formatter: Optimize `FormatElement::Token` printing ([#15365](https://github.com/oxc-project/oxc/issues/15365)) (Dunqing)
##### [v1.26.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1260---2025-11-05)

##### 🚀 Features

- [`26f24d5`](https://github.com/oxc-project/oxc/commit/26f24d5) linter: Permit comments in `.oxlintrc.json` via json schema file ([#15249](https://github.com/oxc-project/oxc/issues/15249)) (Martin Leduc)

##### 🐛 Bug Fixes

- [`d6996d0`](https://github.com/oxc-project/oxc/commit/d6996d0) linter: Fix JSON schema to deny additional properties for categories enum. ([#15257](https://github.com/oxc-project/oxc/issues/15257)) (Connor Shea)
- [`9304f9f`](https://github.com/oxc-project/oxc/commit/9304f9f) linter: Fix JSON schema to deny additional properties for plugins enum. ([#15259](https://github.com/oxc-project/oxc/issues/15259)) (Connor Shea)

##### 📚 Documentation

- [`84ef5ab`](https://github.com/oxc-project/oxc/commit/84ef5ab) linter: Avoid linebreaks for markdown links and update plugins docs in the configuration schema. ([#15246](https://github.com/oxc-project/oxc/issues/15246)) (Connor Shea)
##### [v1.25.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1250---2025-10-30)

##### 🚀 Features

- [`bd74603`](https://github.com/oxc-project/oxc/commit/bd74603) linter: Add support for vitest/valid-title rule ([#12085](https://github.com/oxc-project/oxc/issues/12085)) (Tyler Earls)
##### [v1.24.0](https://github.com/oxc-project/oxc/blob/HEAD/npm/oxlint/CHANGELOG.md#1240---2025-10-22)

##### 🐛 Bug Fixes

- [`28e76ec`](https://github.com/oxc-project/oxc/commit/28e76ec) oxlint: Resolving JS plugin failing when `extends` is used ([#14556](https://github.com/oxc-project/oxc/issues/14556)) (camc314)
##### [v1.23.0](https://github.com/oxc-project/oxc/releases/tag/oxlint_v1.23.0)

#### \[1.23.0] - 2025-10-13

##### 🚀 Features

- [`452d128`](https://github.com/oxc-project/oxc/commit/452d128) linter: Node/no\_process\_env ([#14536](https://github.com/oxc-project/oxc/issues/14536)) (Kenneth Skovhus)
- [`a9e1261`](https://github.com/oxc-project/oxc/commit/a9e1261) linter: Implement react-refresh/only-export-components ([#14122](https://github.com/oxc-project/oxc/issues/14122)) (Rintaro Itokawa)
- [`a8d542b`](https://github.com/oxc-project/oxc/commit/a8d542b) linter/no-duplicate-imports: Support `allowSeparateTypeImports` option ([#14527](https://github.com/oxc-project/oxc/issues/14527)) (camc314)
- [`75a529c`](https://github.com/oxc-project/oxc/commit/75a529c) linter: Add run info about what functions rules implement ([#13839](https://github.com/oxc-project/oxc/issues/13839)) (camchenry)
- [`4fbdef2`](https://github.com/oxc-project/oxc/commit/4fbdef2) language\_server: Support `fmt.configPath` configuration ([#14502](https://github.com/oxc-project/oxc/issues/14502)) (Sysix)
- [`4d3ce2e`](https://github.com/oxc-project/oxc/commit/4d3ce2e) language\_server: Autodetect root `.oxfmtrc.json` ([#14466](https://github.com/oxc-project/oxc/issues/14466)) (Sysix)

##### 🐛 Bug Fixes

- [`fb4a20d`](https://github.com/oxc-project/oxc/commit/fb4a20d) language\_server: Add whitespace for `// oxlint-disable-next-line` fix ([#14356](https://github.com/oxc-project/oxc/issues/14356)) (Sysix)
- [`6fce7f4`](https://github.com/oxc-project/oxc/commit/6fce7f4) oxlint/changelog: Remove duplicate changelog entries ([#14528](https://github.com/oxc-project/oxc/issues/14528)) (camc314)
- [`74e52f3`](https://github.com/oxc-project/oxc/commit/74e52f3) linter/plugins: Resolve JS plugins with ESM condition names ([#14541](https://github.com/oxc-project/oxc/issues/14541)) (magic-akari)
- [`9965676`](https://github.com/oxc-project/oxc/commit/9965676) linter/exhaustive-deps: Ignore empty strings passed to `additionalHooks` option ([#14464](https://github.com/oxc-project/oxc/issues/14464)) (Redas)
- [`d0a8e3e`](https://github.com/oxc-project/oxc/commit/d0a8e3e) linter: `vue/no_required_prop_with_default` called `Option::unwrap()` on a `None` value ([#14491](https://github.com/oxc-project/oxc/issues/14491)) (Sysix)
- [`1192ea2`](https://github.com/oxc-project/oxc/commit/1192ea2) linter: Correct `nextjs/no-typos` path handling ([#14480](https://github.com/oxc-project/oxc/issues/14480)) (shulaoda)
- [`2796b16`](https://github.com/oxc-project/oxc/commit/2796b16) tsgolint: Pipe tsgolints stderr ([#14477](https://github.com/oxc-project/oxc/issues/14477)) (camc314)

##### 🚜 Refactor

- [`6440cde`](https://github.com/oxc-project/oxc/commit/6440cde) linter: Remove lifetime of `Message` ([#14481](https://github.com/oxc-project/oxc/issues/14481)) (Sysix)
- [`f599bef`](https://github.com/oxc-project/oxc/commit/f599bef) language\_server: Move `Message` to `DiagnosticReport` transformation to one place ([#14447](https://github.com/oxc-project/oxc/issues/14447)) (Sysix)
- [`4f301de`](https://github.com/oxc-project/oxc/commit/4f301de) napi/parser, linter/plugins: Improve formatting of …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-linter Area - Linter

3 participants