feat(linter/jsdoc): implement no-blank-blocks rule - #25207
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 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".
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
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-blocksas arun_oncerule 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();
}
13cd38d to
f1d1b01
Compare
# 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)
##### [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 …
this PR implements
jsdoc/no-blank-blocksrule, issue #1170