apps_v1.75.0

oxc-project/oxcapps_v1.75.0Jul 21, 2026by github-actions[bot]

AI Summary

Announcing the stable release of Type-Aware Linting. Includes new React linting rules and configuration options for existing type import rules.

Key Highlights

  • Type-Aware Linting is now stable.
  • New React rule: `function-component-definition`.
  • Config support: `prefer-top-level-if-only-type-imports` option added.
  • Performance: Boxed `OxcDiagnosticInner` to reduce binary size.

New Features

  • Linter: Implement no-top-level-await rule
  • Linter: Implement function-component-definition rule
  • Linter: Reuse jest/vitest padding-around-test-blocks rule
  • Linter: Support prefer-top-level-if-only-type-imports option
  • Linter: Detect React components from returned JSX

Full Release Notes

## Table of Contents

- [Oxlint v1.75.0](#oxlint-v1.75.0)
- [Oxfmt v0.60.0](#oxfmt-v0.60.0)

## Oxlint v1.75.0

### 🏆 Highlights

- [Announcing Type-Aware Linting Stable](https://oxc.rs/blog/2026-07-22-type-aware-linting-stable)

### 🚀 Features

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

### 🐛 Bug Fixes

- e81b2ff oxlint,oxfmt: Report error for invalid glob patterns (#24744) (leaysgur)
- 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter defaults (#24686) (camc314)
- 8694167 linter/eslint/prefer-destructuring: Handle typed declarations (#24616) (camc314)
- 477cf0f linter/eslint/no-throw-literal: Handle assigned errors (#24561) (Cole Ellison)
- ac9200a linter: Detect React components from returned JSX (#24521) (camc314)
- c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in computed keys (#24524) (Cole Ellison)

### ⚡ Performance

- 346eed1 linter/unicorn/prefer-event-target: Only run on `Class` and `NewExpression` nodes (#24685) (Mikhail Baev)
- 7be5cf0 oxlint/lsp: Only invoke lint on code actions when document is not opened (#24676) (Sysix)
- d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size (#24665) (Boshen)
- 90ae040 linter/reporter/stylish: Compute diagnostic Info once per diagnostic (#24525) (connorshea)

### 📚 Documentation

- e6f7174 linter/valid-expect: Fix correct example being identical to incorrect one (#24468) (mkan0141)

## Oxfmt v0.60.0

### 🚀 Features

- 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (#24491) (Boshen)

### 🐛 Bug Fixes

- fd7cf5b formatter_css: Update oxc-css-parser to 0.0.9 (#24745) (leaysgur)
- e81b2ff oxlint,oxfmt: Report error for invalid glob patterns (#24744) (leaysgur)
- 164e70a formatter: Stabilize comment between tagged temaplte tag and quasi (#24738) (leaysgur)
- c399367 formatter_css: Update oxc-css-parser to 0.0.8 (#24725) (leaysgur)
- 6fe866a oxfmt: Keep tailwind classes glued to template expr with `preserveWhitespace` (#24609) (leaysgur)
- 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (#24580) (leaysgur)
- 5f76998 formatter_graphql: Keep same line comments pending across intervening tokens (#24579) (leaysgur)