Linting and Formatting Release Notes
Release notes for code linting, formatting and type-checking tools
Products (5)
Latest Linting and Formatting Updates
- Jun 1, 2026
- Date parsed from source:Jun 1, 2026
- First seen by Releasebot:Jun 1, 2026
oxlint_v1.68.0: release(apps): oxlint v1.68.0 && oxfmt v0.53.0 (#22883)
Oxc releases new Oxlint rules for TypeScript, Vue, JSDoc, ESLint, and promise handling, plus fixes for parser and linter behavior. Oxfmt also adds JSON formatting support and improves comment handling and whitespace-only file skips.
Oxlint
š Features
e4b1f46 linter/typescript: Implement method-signature-style rule (#22679) (Mikhail Baev)
bc462ca linter/vue: Implement no-reserved-component-names rule (#22741) (bab)
ef9e751 linter/vue: Implement component-definition-name-casing rule (#22818) (bab)
d67f51a linter/vue: Implement require-prop-type-constructor rule (#22708) (bab)
1444f82 linter/promise/spec-only: Add Promise.try to Promise static methods (#22812) (Ben Saufley)
8422e8b linter/jsdoc: Implement require-yields-description rule (#22805) (Mikhail Baev)
fe93f97 linter/eslint: Implement prefer-named-capture-group rule (#22759) (Sebastian Poxhofer)
1a7798b linter: Add suggestion for unicorn/no-new-array (#22682) (Sysix)
š Bug Fixes
760a9f9 linter: Report errors when writing to the filesystem (#22881) (camc314)
e5a2748 linter: Avoid no-unreachable false positive after conditional loop (#22869) (camc314)
39d92d6 linter/arrow-body-style: Preserve comments within function (#22854) (Sysix)
3d13e29 parser: Reject declare in an already-ambient context (TS1038) (#22850) (Boshen)
5152854 parser: Reject statements in ambient contexts (TS1036) (#22849) (Boshen)
2eafea6 parser: Reject function implementations in ambient contexts (TS1183) (#22845) (Boshen)
c645615 parser: Reject incompatible class member modifiers (#22843) (Boshen)
4a1ca4a linter/export: Detect duplicate explicit exports (#22798) (camc314)
0a9a735 linter/no-loop-func: Allow safe let closures (#22811) (camc314)
1599f11 linter: Align lsp extends default plugins (#22788) (camc314)
db32ec9 linter/no-accumulating-spread: Use loop as primary span (#22800) (camc314)
33ec6b4 linter/consistent-test-it: Avoid adjacent describe leakage (#22796) (camc314)
2606069 linter/no-array-sort: Unwrap parenthesized sort args (#22794) (camc314)
9f2f709 linter/no-array-sort: Skip non compare fn sort arguments (#22752) (Gaurav Dubey)
27268a0 linter/no-else-return: Preserve statement boundary in fixer (#22687) (camc314)
d9cb6d8 linter/no-empty-function: Allow functions callbacks with allow: functions (#22764) (camc314)
a40a314 linter/no-shadow-restricted-names: Ignore enum members (#22762) (camc314)
82366d9 linter/no-cond-assign: Align ternary handling (#22761) (camc314)
š Documentation
5e113ba linter: Add license notices for ported ESLint plugins (#22768) (Boshen)
Oxfmt
š Features
d75cbbf oxfmt: Format parser:json files by oxc_formatter_json (#22709) (leaysgur)
49db054 formatter_json: Implement oxc_formatter_json (json variant only) (#22641) (leaysgur)
9c71f2e ast, codegen, formatter: Add WithClauseKeyword::as_str helper and use it (#22791) (camc314)
š Bug Fixes
d3cdd62 oxfmt: Skip formatting for whitespace-only file (#22780) (leaysgur)
23f0cc8 formatter: Don't move comments inside variable declaration in for in loop (#22776) (leaysgur)
f200c40 formatter: Don't move comments inside variable declaration in for of loop (#22773) (Leonabcd123)
š Documentation
845f393 oxfmt,formatter,formatter_json,formatter_core: Add/update AGENTS.md (#22873) (leaysgur)
Original source - Jun 1, 2026
- Date parsed from source:Jun 1, 2026
- First seen by Releasebot:Jun 1, 2026
oxfmt_v0.53.0: release(apps): oxlint v1.68.0 && oxfmt v0.53.0 (#22883)
Oxc adds new lint rules, parser fixes, and formatter updates across Oxlint and Oxfmt, including Vue, TypeScript, JSDoc, Promise, and JSON support, plus bug fixes and documentation improvements.
Oxlint
š Features
e4b1f46 linter/typescript: Implement method-signature-style rule (#22679) (Mikhail Baev)
bc462ca linter/vue: Implement no-reserved-component-names rule (#22741) (bab)
ef9e751 linter/vue: Implement component-definition-name-casing rule (#22818) (bab)
d67f51a linter/vue: Implement require-prop-type-constructor rule (#22708) (bab)
1444f82 linter/promise/spec-only: Add Promise.try to Promise static methods (#22812) (Ben Saufley)
8422e8b linter/jsdoc: Implement require-yields-description rule (#22805) (Mikhail Baev)
fe93f97 linter/eslint: Implement prefer-named-capture-group rule (#22759) (Sebastian Poxhofer)
1a7798b linter: Add suggestion for unicorn/no-new-array (#22682) (Sysix)
š Bug Fixes
760a9f9 linter: Report errors when writing to the filesystem (#22881) (camc314)
e5a2748 linter: Avoid no-unreachable false positive after conditional loop (#22869) (camc314)
39d92d6 linter/arrow-body-style: Preserve comments within function (#22854) (Sysix)
3d13e29 parser: Reject declare in an already-ambient context (TS1038) (#22850) (Boshen)
5152854 parser: Reject statements in ambient contexts (TS1036) (#22849) (Boshen)
2eafea6 parser: Reject function implementations in ambient contexts (TS1183) (#22845) (Boshen)
c645615 parser: Reject incompatible class member modifiers (#22843) (Boshen)
4a1ca4a linter/export: Detect duplicate explicit exports (#22798) (camc314)
0a9a735 linter/no-loop-func: Allow safe let closures (#22811) (camc314)
1599f11 linter: Align lsp extends default plugins (#22788) (camc314)
db32ec9 linter/no-accumulating-spread: Use loop as primary span (#22800) (camc314)
33ec6b4 linter/consistent-test-it: Avoid adjacent describe leakage (#22796) (camc314)
2606069 linter/no-array-sort: Unwrap parenthesized sort args (#22794) (camc314)
9f2f709 linter/no-array-sort: Skip non compare fn sort arguments (#22752) (Gaurav Dubey)
27268a0 linter/no-else-return: Preserve statement boundary in fixer (#22687) (camc314)
d9cb6d8 linter/no-empty-function: Allow functions callbacks with allow: functions (#22764) (camc314)
a40a314 linter/no-shadow-restricted-names: Ignore enum members (#22762) (camc314)
82366d9 linter/no-cond-assign: Align ternary handling (#22761) (camc314)
š Documentation
5e113ba linter: Add license notices for ported ESLint plugins (#22768) (Boshen)
Oxfmt
š Features
d75cbbf oxfmt: Format parser:json files by oxc_formatter_json (#22709) (leaysgur)
49db054 formatter_json: Implement oxc_formatter_json (json variant only) (#22641) (leaysgur)
9c71f2e ast, codegen, formatter: Add WithClauseKeyword::as_str helper and use it (#22791) (camc314)
š Bug Fixes
d3cdd62 oxfmt: Skip formatting for whitespace-only file (#22780) (leaysgur)
23f0cc8 formatter: Don't move comments inside variable declaration in for in loop (#22776) (leaysgur)
f200c40 formatter: Don't move comments inside variable declaration in for of loop (#22773) (Leonabcd123)
š Documentation
845f393 oxfmt,formatter,formatter_json,formatter_core: Add/update AGENTS.md (#22873) (leaysgur)
Original source All of your release notes in one feed
Join Releasebot and get updates from Oxc and hundreds of other software products.
- Jun 1, 2026
- Date parsed from source:Jun 1, 2026
- First seen by Releasebot:Jun 1, 2026
oxc crates_v0.134.0
Oxc adds parser and TypeScript diagnostics improvements, tightening support for accessors, ambient contexts, namespaces, and invalid declarations. This release also improves code generation and formatter helpers, with parser and semantic performance optimizations for faster handling.
š Features
81b86eb parser: Report TS1095 for setter with return type (#22889) (camc314)
0899485 parser: Report TS1051 for optional setter parameter (#22887) (camc314)
139b531 parser: Emit TS1094 for accessor type parameters (#22885) (camc314)
9c71f2e ast, codegen, formatter: Add WithClauseKeyword::as_str helper and use it (#22791) (camc314)
š Bug Fixes
070eb9e isolated-declarations: Omit public accessor modifier (#22880) (camc314)
a3ae099 isolated-declarations: Omit definite assertion from private declarations (#22878) (camc314)
7914807 codegen: Map call-chain punctuation for correct V8 stack columns (#22789) (Dunqing)
cf5769c parser: Reject TypeScript declarations in single-statement context (#22827) (Boshen)
c360fb6 parser: Reject generators in ambient contexts and overload signatures (TS1221/TS1222) (#22848) (Boshen)
cc60d8d parser: Reject invalid index signature parameter types (TS1268/TS1337) (#22852) (Boshen)
3d13e29 parser: Reject declare in an already-ambient context (TS1038) (#22850) (Boshen)
5152854 parser: Reject statements in ambient contexts (TS1036) (#22849) (Boshen)
4f9afc5 parser: Reject export as namespace inside a namespace body (TS1316) (#22846) (Boshen)
2eafea6 parser: Reject function implementations in ambient contexts (TS1183) (#22845) (Boshen)
c645615 parser: Reject incompatible class member modifiers (#22843) (Boshen)
276b78b parser: Reject module-referencing imports/exports in a namespace body (#22836) (Boshen)
842ed1c parser: Parse class implements with implements as the class name (#22801) (Boshen)
ā” Performance
7e3a567 parser: Reuse cached token kind in delimited-list loops (#22841) (Boshen)
9e741c2 parser: Use peek_token instead of lookahead on the modifier path (#22842) (Boshen)
9e496a7 semantic: Defer declare lookup for empty accessors (#22810) (camc314)
Original source - Jun 1, 2026
- Date parsed from source:Jun 1, 2026
- First seen by Releasebot:Jun 1, 2026
oxlint v1.68.0 & oxfmt v0.53.0
Oxc releases Oxlint v1.68.0 and Oxfmt v0.53.0 with new TypeScript, Vue, JSDoc, ESLint, and promise lint rules, plus JSON formatting support and a batch of parser, linter, and formatter bug fixes.
Table of Contents
- Oxlint v1.68.0
- Oxfmt v0.53.0
- Oxlint v1.68.0
Oxlint v1.68.0
š Features
81b86eb parser: Report TS1095 for setter with return type (#22889) (camc314)
3f05c5e linter: Expose override::exclude_files option (#22884) (camc314)
e4b1f46 linter/typescript: Implement method-signature-style rule (#22679) (Mikhail Baev)
bc462ca linter/vue: Implement no-reserved-component-names rule (#22741) (bab)
ef9e751 linter/vue: Implement component-definition-name-casing rule (#22818) (bab)
d67f51e linter/vue: Implement require-prop-type-constructor rule (#22708) (bab)
1444f82 linter/promise/spec-only: Add Promise.try to Promise static methods (#22812) (Ben Saufley)
8422e8b linter/jsdoc: Implement require-yields-description rule (#22805) (Mikhail Baev)
fe93f97 linter/eslint: Implement prefer-named-capture-group rule (#22759) (Sebastian Poxhofer)
1a7798b linter: Add suggestion for unicorn/no-new-array (#22682) (Sysix)
š Bug Fixes
4957c71 linter/arrow-body-style: False positive with non-zero directive count (#22888) (camc314)
760a9f9 linter: Report errors when writing to the filesystem (#22881) (camc314)
e5a2748 linter: Avoid no-unreachable false positive after conditional loop (#22869) (camc314)
39d92d6 linter/arrow-body-style: Preserve comments within function (#22854) (Sysix)
3d13e29 parser: Reject declare in an already-ambient context (TS1038) (#22850) (Boshen)
5152854 parser: Reject statements in ambient contexts (TS1036) (#22849) (Boshen)
2eafea6 parser: Reject function implementations in ambient contexts (TS1183) (#22845) (Boshen)
c645615 parser: Reject incompatible class member modifiers (#22843) (Boshen)
4a1ca4a linter/export: Detect duplicate explicit exports (#22798) (camc314)
0a9a735 linter/no-loop-func: Allow safe let closures (#22811) (camc314)
1599f11 linter: Align lsp extends default plugins (#22788) (camc314)
db32ec9 linter/no-accumulating-spread: Use loop as primary span (#22800) (camc314)
33ec6b4 linter/consistent-test-it: Avoid adjacent describe leakage (#22796) (camc314)
2606069 linter/no-array-sort: Unwrap parenthesized sort args (#22794) (camc314)
9f2f709 linter/no-array-sort: Skip non compare fn sort arguments (#22752) (Gaurav Dubey)
27268a0 linter/no-else-return: Preserve statement boundary in fixer (#22687) (camc314)
d9cb6d8 linter/no-empty-function: Allow functions callbacks with allow: functions (#22764) (camc314)
a40a314 linter/no-shadow-restricted-names: Ignore enum members (#22762) (camc314)
82366d9 linter/no-cond-assign: Align ternary handling (#22761) (camc314)
š Documentation
5e113ba linter: Add license notices for ported ESLint plugins (#22768) (Boshen)
Oxfmt v0.53.0
š Features
d75cbbf oxfmt: Format parser:json files by oxc_formatter_json (#22709) (leaysgur)
49db054 formatter_json: Implement oxc_formatter_json (json variant only) (#22641) (leaysgur)
9c71f2e ast, codegen, formatter: Add WithClauseKeyword::as_str helper and use it (#22791) (camc314)
š Bug Fixes
d3cdd62 oxfmt: Skip formatting for whitespace-only file (#22780) (leaysgur)
23f0cc8 formatter: Don't move comments inside variable declaration in for in loop (#22776) (leaysgur)
f200c40 formatter: Don't move comments inside variable declaration in for of loop (#22773) (Leonabcd123)
š Documentation
845f393 oxfmt,formatter,formatter_json,formatter_core: Add/update AGENTS.md (#22873) (leaysgur)
Original source - Jun 1, 2026
- Date parsed from source:Jun 1, 2026
- First seen by Releasebot:Jun 1, 2026
v8.60.1
typescript-eslint releases 8.60.1 with ESLint plugin fixes for ts-comment line terminators and no-shadow handling.
8.60.1 (2026-06-01)
𩹠Fixes
- eslint-plugin: respect ECMAScript line terminators in ts-comment rules (#12352)
- eslint-plugin: [no-shadow] correct rule to match ESLint v10 handling (#12182)
ā¤ļø Thank You
- lumir
- Nevette Bailey @nevette-bailey
See GitHub Releases for more information.
You can read about our versioning strategy and releases on our website.
Original source - May 29, 2026
- Date parsed from source:May 29, 2026
- First seen by Releasebot:May 31, 2026
ESLint v10.4.1 released
Eslint ships v10.4.1, a patch release that fixes several bugs, improves rule and type behavior, and updates documentation and ecosystem testing around the core linting experience.
We just pushed ESLint v10.4.1, which is a patch release upgrade of ESLint. This release fixes several bugs found in the previous release.
Bug Fixes
- e557467 fix: update @eslint/plugin-kit version to 0.7.2 (#20930) (Francesco Trotta)
- d4ce898 fix: propagate failures from delegated commands (#20917) (Minh Vu)
- f4f3507 fix: prefer-arrow-callback invalid autofix with newline after async (#20916) (kuldeep kumar)
- c5bc78b fix: false positive for reference in finally block (#20655) (Tanuj Kanti)
- 27538c0 fix: add missing CodePath and CodePathSegment types (#20853) (Pixel998)
Documentation
- 61b0add docs: remove deprecated rule from related rules of max-params (#20921) (Tanuj Kanti)
- 305d5b9 docs: remove deprecated rules from related rules section (#20911) (Tanuj Kanti)
- 49b0202 docs: fix display: none of ad (#20901) (Tanuj Kanti)
- 9067f94 docs: switch build to Node.js 24 (#20893) (Milos Djermanovic)
- c91b041 docs: Update README (GitHub Actions Bot)
- e349265 docs: clarify semver strings in rule deprecation objects (#20885) (Milos Djermanovic)
Chores
- b0e466b test: add data property to invalid tests cases for rules (#20924) (Tanuj Kanti)
- f78838b test: add CodePath type coverage (#20904) (Pixel998)
- 1daa4bd chore: update eslint-plugin-eslint-comments test data to latest commit (#20922) (Francesco Trotta)
- 002942c ci: declare contents:read on update-readme workflow (#20919) (Arpit Jain)
- 64bca24 chore: update ecosystem plugins (#20912) (ESLint Bot)
- 6d7c832 chore: ignore fflate updates in renovate (#20908) (Pixel998)
- b2c8638 ci: bump pnpm/action-setup from 6.0.7 to 6.0.8 (#20889) (dependabot[bot])
- a9b8d7f chore: increase maxBuffer for ecosystem tests (#20881) (sethamus)
- b702ead chore: update ecosystem update PR settings (#20884) (Pixel998)
- 507f60e chore: update ecosystem plugins (#20882) (ESLint Bot)
- 92f5c5b test: add unit test for message-count (#20878) (kuldeep kumar)
- df32108 chore: add @eslint/markdown and typescript-eslint ecosystem tests (#20837) (sethamus)
- 327f91d chore: use includeIgnoreFile internally (#20876) (Kirk Waiblinger)
- f0dc4bd chore: pin [email protected] (#20877) (Milos Djermanovic)
- 0f4bd25 ci: run Discord alert for ecosystem test failures (#20873) (Copilot)
- May 26, 2026
- Date parsed from source:May 26, 2026
- First seen by Releasebot:May 27, 2026
oxlint_v1.67.0: release(apps): oxlint v1.67.0 && oxfmt v0.52.0 (#22735)
Oxc releases Oxlint and Oxfmt updates with new Vue, Unicorn, N, and regex lint rules, support for vite-plus resolveConfig, LSP bug fixes, and performance improvements across linting and formatting.
Oxlint
š Features
10da26b linter: no-misleading-character-class add suggestions for regex literal (#22681) (Sysix)
b84941e linter/vue: Implement no-expose-after-await rule (#22675) (bab)
98b98c1 linter/vue: Implement no-computed-properties-in-data rule (#22674) (bab)
868e2e8 linter: Add suggestion for no-misleading-character-class (#22631) (Sysix)
2d4c919 oxlint: Support vite-plus/resolveConfig for vite.config.ts (#22456) (leaysgur)
2a60012 linter/vue: Implement require-render-return rule (#22613) (bab)
9f227fd linter/vue: Implement no-deprecated-props-default-this rule (#21892) (bab)
9cd28b3 linter: Add debug option to print files to be linted (#22546) (camchenry)
87f065e linter/vue: Implement return-in-emits-validator rule (#21935) (bab)
ea0380e linter/unicorn: Implement import-style rule (#22173) (Hao Chen)
dde40fe linter/vue: Implement no-watch-after-await rule (#22006) (bab)
a735eb0 linter/vue: Implement valid-next-tick rule (#22531) (bab)
6dc615d linter/vue: Implement no-shared-component-data rule (#21842) (bab)
a656418 linter/vue: Implement valid-define-options rule (#22107) (bab)
bb6f1b2 linter/vue: Implement require-slots-as-functions rule (#22244) (bab)
5fa4774 linter/n: Implement callback-return rule (#22470) (Mikhail Baev)
š Bug Fixes
52bd016 linter: Respect allow unused disable directives in LSP (#22715) (camc314)
fa7c463 semantic: Correct TS enum member symbol spans (#22689) (camc314)
ed445ba linter: Respect flags overrides for RegExp(/regex/i, "u") (#22678) (Sysix)
26b9396 semantic: Resolve parameter decorators outside parameter scope (#22623) (camc314)
203952d linter: no-misleading-character-class fix is_unicode_code_point_escape check (#22655) (Sysix)
2f64d3d linter: no-misleading-character-class own diagnostic for surrogate pairs without u flag (#22654) (Sysix)
0c6ebc2 linter/eslint/no-lone-blocks: Do not flag empty loops (#22649) (Mikhail Baev)
2a7562e linter/no-focused-tests: Mark fixer as a suggestion (#22645) (camc314)
dbe644f linter: Respect args none for unused rest parameters (#22627) (camc314)
d0211b0 linter: Allow undefined in DummyRuleMap index (#22626) (camc314)
36fc0ec oxlint/lsp: "ignore this" actions merge with existing directive (#22604) (Sysix)
f7f370e linter/vitest/prefer-expect-type-of: Recommend toBeTypeOf instead of expectTypeOf (#22612) (Mikhail Baev)
77063e5 linter/consistent-indexed-object-style: Preserve interface modifiers in fixes (#22579) (camc314)
4f33aa7 linter: Treat TSGlobalDeclaration as ambient in has_ambient_typescript_ancestor (#22577) (camc314)
ā” Performance
c22938d linter/no-async-endpoint-handlers: Populate node types (#22601) (camc314)
607486e linter/no-negated-condition: Populate node types (#22602) (camc314)
4dcaa59 linter/consistent-type-imports: Populate node types (#22600) (camc314)
5bd3b25 linter/no-unused-vars: Avoid cloned ancestor iterator (#22598) (camc314)
97fe9ba linter/no-extra-non-null-assertion: Reduce node matches (#22588) (camc314)
ae98296 linter/consistent-indexed-object-style: Populate node types (#22578) (camc314)
Oxfmt
š Features
16b8058 oxfmt: Support vite-plus/resolveConfig for vite.config.ts (#22454) (leaysgur)
š Bug Fixes
5a26479 formatter: Preserve import phases (#22692) (Cameron)
ā” Performance
78cf83f formatter: Pre-size output buffer using source text length (#22594) (Dunqing)
Co-authored-by: Dunqing [email protected]
Original source - May 26, 2026
- Date parsed from source:May 26, 2026
- First seen by Releasebot:May 27, 2026
oxfmt_v0.52.0: release(apps): oxlint v1.67.0 && oxfmt v0.52.0 (#22735)
Oxc releases Oxlint and Oxfmt updates with new Vue, unicorn, n, and regex lint rules, better Vite config support, LSP and fixer bug fixes, and performance improvements across linting and formatting.
Oxlint
š Features
10da26b linter: no-misleading-character-class add suggestions for regex literal (#22681) (Sysix)
b84941e linter/vue: Implement no-expose-after-await rule (#22675) (bab)
98b98c1 linter/vue: Implement no-computed-properties-in-data rule (#22674) (bab)
868e2e8 linter: Add suggestion for no-misleading-character-class (#22631) (Sysix)
2d4c919 oxlint: Support vite-plus/resolveConfig for vite.config.ts (#22456) (leaysgur)
2a60012 linter/vue: Implement require-render-return rule (#22613) (bab)
9f227fd linter/vue: Implement no-deprecated-props-default-this rule (#21892) (bab)
9cd28b3 linter: Add debug option to print files to be linted (#22546) (camchenry)
87f065e linter/vue: Implement return-in-emits-validator rule (#21935) (bab)
ea0380e linter/unicorn: Implement import-style rule (#22173) (Hao Chen)
dde40fe linter/vue: Implement no-watch-after-await rule (#22006) (bab)
a735eb0 linter/vue: Implement valid-next-tick rule (#22531) (bab)
6dc615d linter/vue: Implement no-shared-component-data rule (#21842) (bab)
a656418 linter/vue: Implement valid-define-options rule (#22107) (bab)
bb6f1b2 linter/vue: Implement require-slots-as-functions rule (#22244) (bab)
5fa4774 linter/n: Implement callback-return rule (#22470) (Mikhail Baev)š Bug Fixes
52bd016 linter: Respect allow unused disable directives in LSP (#22715) (camc314)
fa7c463 semantic: Correct TS enum member symbol spans (#22689) (camc314)
ed445ba linter: Respect flags overrides for RegExp(/regex/i, "u") (#22678) (Sysix)
26b9396 semantic: Resolve parameter decorators outside parameter scope (#22623) (camc314)
203952d linter: no-misleading-character-class fix is_unicode_code_point_escape check (#22655) (Sysix)
2f64d3d linter: no-misleading-character-class own diagnostic for surrogate pairs without u flag (#22654) (Sysix)
0c6ebc2 linter/eslint/no-lone-blocks: Do not flag empty loops (#22649) (Mikhail Baev)
2a7562e linter/no-focused-tests: Mark fixer as a suggestion (#22645) (camc314)
dbe644f linter: Respect args none for unused rest parameters (#22627) (camc314)
d0211b0 linter: Allow undefined in DummyRuleMap index (#22626) (camc314)
36fc0ec oxlint/lsp: "ignore this" actions merge with existing directive (#22604) (Sysix)
f7f370e linter/vitest/prefer-expect-type-of: Recommend toBeTypeOf instead of expectTypeOf (#22612) (Mikhail Baev)
77063e5 linter/consistent-indexed-object-style: Preserve interface modifiers in fixes (#22579) (camc314)
4f33aa7 linter: Treat TSGlobalDeclaration as ambient in has_ambient_typescript_ancestor (#22577) (camc314)ā” Performance
c22938d linter/no-async-endpoint-handlers: Populate node types (#22601) (camc314)
607486e linter/no-negated-condition: Populate node types (#22602) (camc314)
4dcaa59 linter/consistent-type-imports: Populate node types (#22600) (camc314)
5bd3b25 linter/no-unused-vars: Avoid cloned ancestor iterator (#22598) (camc314)
97fe9ba linter/no-extra-non-null-assertion: Reduce node matches (#22588) (camc314)
ae98296 linter/consistent-indexed-object-style: Populate node types (#22578) (camc314)Oxfmt
š Features
16b8058 oxfmt: Support vite-plus/resolveConfig for vite.config.ts (#22454) (leaysgur)
š Bug Fixes
5a26479 formatter: Preserve import phases (#22692) (Cameron)
ā” Performance
78cf83f formatter: Pre-size output buffer using source text length (#22594) (Dunqing)
Co-authored-by: Dunqing [email protected]
Original source - May 26, 2026
- Date parsed from source:May 26, 2026
- First seen by Releasebot:May 27, 2026
oxlint v1.67.0 & oxfmt v0.52.0
Oxc releases Oxlint v1.67.0 and Oxfmt v0.52.0 with new Vue and linting rules, better Vite config support, smarter fixes, and performance improvements across linting and formatting.
Table of Contents
- Oxlint v1.67.0
- Oxfmt v0.52.0
- Oxlint v1.67.0
š Features
10da26b linter: no-misleading-character-class add suggestions for regex literal (#22681) (Sysix)
b84941e linter/vue: Implement no-expose-after-await rule (#22675) (bab)
98b98c1 linter/vue: Implement no-computed-properties-in-data rule (#22674) (bab)
868e2e8 linter: Add suggestion for no-misleading-character-class (#22631) (Sysix)
2d4c919 oxlint: Support vite-plus/resolveConfig for vite.config.ts (#22456) (leaysgur)
2a60012 linter/vue: Implement require-render-return rule (#22613) (bab)
9f227fd linter/vue: Implement no-deprecated-props-default-this rule (#21892) (bab)
9cd28b3 linter: Add debug option to print files to be linted (#22546) (camchenry)
87f065e linter/vue: Implement return-in-emits-validator rule (#21935) (bab)
ea0380c linter/unicorn: Implement import-style rule (#22173) (Hao Chen)
dde40fe linter/vue: Implement no-watch-after-await rule (#22006) (bab)
a735eb0 linter/vue: Implement valid-next-tick rule (#22531) (bab)
6dc615d linter/vue: Implement no-shared-component-data rule (#21842) (bab)
a656418 linter/vue: Implement valid-define-options rule (#22107) (bab)
bb6f1b2 linter/vue: Implement require-slots-as-functions rule (#22244) (bab)
5fa4774 linter/n: Implement callback-return rule (#22470) (Mikhail Baev)š Bug Fixes
52bd016 linter: Respect allow unused disable directives in LSP (#22715) (camc314)
fa7c463 semantic: Correct TS enum member symbol spans (#22689) (camc314)
ed445ba linter: Respect flags overrides for RegExp(/regex/i, "u") (#22678) (Sysix)
26b9396 semantic: Resolve parameter decorators outside parameter scope (#22623) (camc314)
203952d linter: no-misleading-character-class fix is_unicode_code_point_escape check (#22655) (Sysix)
2f64d3d linter: no-misleading-character-class own diagnostic for surrogate pairs without u flag (#22654) (Sysix)
0c6ebc2 linter/eslint/no-lone-blocks: Do not flag empty loops (#22649) (Mikhail Baev)
2a7562e linter/no-focused-tests: Mark fixer as a suggestion (#22645) (camc314)
dbe644f linter: Respect args none for unused rest parameters (#22627) (camc314)
d0211b0 linter: Allow undefined in DummyRuleMap index (#22626) (camc314)
36fc0ec oxlint/lsp: "ignore this" actions merge with existing directive (#22604) (Sysix)
f7f370e linter/vitest/prefer-expect-type-of: Recommend toBeTypeOf instead of expectTypeOf (#22612) (Mikhail Baev)
77063e5 linter/consistent-indexed-object-style: Preserve interface modifiers in fixes (#22579) (camc314)
4f33aa7 linter: Treat TSGlobalDeclaration as ambient in has_ambient_typescript_ancestor (#22577) (camc314)ā” Performance
c22938d linter/no-async-endpoint-handlers: Populate node types (#22601) (camc314)
607486e linter/no-negated-condition: Populate node types (#22602) (camc314)
4dcaa59 linter/consistent-type-imports: Populate node types (#22600) (camc314)
5bd3b25 linter/no-unused-vars: Avoid cloned ancestor iterator (#22598) (camc314)
97fe9ba linter/no-extra-non-null-assertion: Reduce node matches (#22588) (camc314)
ae98296 linter/consistent-indexed-object-style: Populate node types (#22578) (camc314)Oxfmt v0.52.0
š Features
16b8058 oxfmt: Support vite-plus/resolveConfig for vite.config.ts (#22454) (leaysgur)
š Bug Fixes
5a26479 formatter: Preserve import phases (#22692) (Cameron)
ā” Performance
78cf83f formatter: Pre-size output buffer using source text length (#22594) (Dunqing)
Original source - May 26, 2026
- Date parsed from source:May 26, 2026
- First seen by Releasebot:May 26, 2026
oxc crates_v0.133.0
Oxc releases a broad update with new minify legalComments support, clearer parser and decorator handling, targeted bug fixes across minifier, codegen, semantic, and private methods, plus performance wins in parsing and semantic checks.
Features
e857b0c napi/minify: Expose legalComments option and result (#20370) (Boshen)
661132d parser: More friendly error messages for rest assignment target and rest binding element (#22719) (sapphi-red)
ee659b6 transformer/legacy-decorator: Add strictNullChecks option for nullable-union design:type (#22266) (Kyle Cannon)
Bug Fixes
e1d064e transformer/class-properties: Reparent lifted private method helpers (#22716) (Cameron)
4ac0fca minifier: Preserve 0 && (module.exports = { ... }) cjs-module-lexer hint (#22729) (Dunqing)
40ff611 minifier: Mark peephole loop changed when dropping dead-after-throw statement (#22722) (Dunqing)
2f7b210 codegen: Emit pife-arrow/function leading comments inside the wrap (#22720) (Dunqing)
e184f74 parser: Improve invalid import property access diagnostic (#22693) (camc314)
7baed9c transformer/private-method: Clear inherited strict flags (#22508) (camc314)
a9ad27e parser: Keep annotation comments leading without preceding newline (#22711) (Dunqing)
9ea4d64 minifier: Re-evaluate pure/no-side-effects flags after peephole inlining (#22595) (Dunqing)
07afbb6 minifier: Drop empty-body IIFE wrapper when called with arguments (#22589) (Dunqing)
fa7c463 semantic: Correct TS enum member symbol spans (#22689) (camc314)
26b9396 semantic: Resolve parameter decorators outside parameter scope (#22623) (camc314)
b284045 parser: Switch to module goal eagerly on export (#22684) (Boshen)
dfa931d semantic: Propagate unresolved auto-increment enum value instead of defaulting to 0 (#22646) (Dunqing)
69a6ba6 transformer/legacy-decorator: Emit Array for ReadonlyArray in decorator metadata (#22265) (Kyle Cannon)
e421ef0 transformer/legacy-decorator: Return runtime binding for design:type (#22640) (Dunqing)
d61e1d7 codegen: Preserve verbatim text of pure/no-side-effects comments (#22525) (Dunqing)
702b14e minifier: Preserve IIFE structure in DCE-only mode (#22547) (Dunqing)
917da24 parser: Apply PURE comment through member-access chains (#22566) (Dunqing)
a069b1c codegen: Preserve quotes for cjs-module-lexer equality strings (#22551) (Dunqing)
Performance
2f623b0 semantic: Skip unresolved checks for re-exports (#22660) (camc314)
0d9553d semantic: Early-exit check_object_expression for objects with <2 properties (#22668) (Dunqing)
d721ad9 semantic: Use direct grandparent lookup for TS type parameters (#22658) (camc314)
0aff288 semantic: Reorder numeric literal strict mode checks (#22657) (camc314)
4d5ddb1 semantic: Reorder binding identifier checks (#22656) (camc314)
e32acd8 semantic: Reorder identifier ambient binding check (#22653) (camc314)
09fe178 semantic: Reorder ident reference strict mode check (#22652) (camc314)
4b6add2 semantic: Avoid duplicate ident clone for bindings (#22663) (camc314)
82f9662 parser: Check identifier kind before context flag (#22662) (camc314)
d7cd951 parser: Fast path identifier parsing and inline operator helpers (#22650) (Boshen)
7b84314 semantic: Use direct byte access for numeric leading-zero check (#22642) (camc314)
0345a31 semantic: Pre-size class elements hash map (#22618) (camc314)
04d3065 minifier: Drop per-call buffers in try_fold_concat (#22596) (Dunqing)
4f289f1 semantic: Resolve_references_for_current_scope without a temp Vec (#22599) (Dunqing)
e862c15 semantic: Avoid heap alloc for var hoist scope ids (#22603) (Dunqing)
8ff8674 semantic: Early return if excess is 0 in Stats::increase_by (#22616) (camc314)
7a4120e semantic: Pre-reserve unresolved_references using Stats::references (#22580) (Dunqing)
Original source