Skip to content

Tags: viscory/oxc

Tags

oxlint_v1.75.0

Toggle oxlint_v1.75.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713)

# Oxlint
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter
defaults (oxc-project#24686) (camc314)
- 8694167 linter/eslint/prefer-destructuring: Handle typed declarations
(oxc-project#24616) (camc314)
- 477cf0f linter/eslint/no-throw-literal: Handle assigned errors
(oxc-project#24561) (Cole Ellison)
- ac9200a linter: Detect React components from returned JSX (oxc-project#24521)
(camc314)
- c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in
computed keys (oxc-project#24524) (Cole Ellison)

### ⚡ Performance

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

### 📚 Documentation

- e6f7174 linter/valid-expect: Fix correct example being identical to
incorrect one (oxc-project#24468) (mkan0141)
# Oxfmt
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 6fe866a oxfmt: Keep tailwind classes glued to template expr with
`preserveWhitespace` (oxc-project#24609) (leaysgur)
- 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580)
(leaysgur)
- 5f76998 formatter_graphql: Keep same line comments pending across
intervening tokens (oxc-project#24579) (leaysgur)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>

oxfmt_v0.60.0

Toggle oxfmt_v0.60.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713)

# Oxlint
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter
defaults (oxc-project#24686) (camc314)
- 8694167 linter/eslint/prefer-destructuring: Handle typed declarations
(oxc-project#24616) (camc314)
- 477cf0f linter/eslint/no-throw-literal: Handle assigned errors
(oxc-project#24561) (Cole Ellison)
- ac9200a linter: Detect React components from returned JSX (oxc-project#24521)
(camc314)
- c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in
computed keys (oxc-project#24524) (Cole Ellison)

### ⚡ Performance

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

### 📚 Documentation

- e6f7174 linter/valid-expect: Fix correct example being identical to
incorrect one (oxc-project#24468) (mkan0141)
# Oxfmt
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 6fe866a oxfmt: Keep tailwind classes glued to template expr with
`preserveWhitespace` (oxc-project#24609) (leaysgur)
- 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580)
(leaysgur)
- 5f76998 formatter_graphql: Keep same line comments pending across
intervening tokens (oxc-project#24579) (leaysgur)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>

crates_v0.141.0

Toggle crates_v0.141.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
release(crates): oxc v0.141.0 (oxc-project#24714)

### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

- 4c71560 parser: More friendly error for spread element in dynamic
imports (oxc-project#24705) (sapphi-red)
- 7b045cd minfier: Drop last break from last switch case (oxc-project#24673)
(Armano)
- 7d3c178 minifier: Remove unreachable recursive functions (oxc-project#24125)
(Dunqing)
- 94f99b3 ast: Allow `NONE` to be passed to AST builder methods where
`Option<ArenaVec>` is expected (oxc-project#24629) (overlookmotel)
- 77230c5 ast: Accept arrays for `ArenaVec` params of AST builder
methods (oxc-project#24621) (overlookmotel)
- f08b152 allocator: Implement `FromIn` for array to `Vec` conversion
(oxc-project#24620) (overlookmotel)
- 2338c13 track-memory-allocations: Track heap deallocs, alloc bytes,
and peak growth (oxc-project#24619) (Boshen)
- 7aa4739 syntax,transformer: Move JSX entity decoder to `oxc_syntax`
(oxc-project#24617) (camc314)
- 2b097c4 str: Export `Str` as `ArenaStr` (oxc-project#24604) (overlookmotel)
- 3acf4c1 minifier: Expand switch optimiation to remove empty cases
(oxc-project#24520) (Armano)
- 129b759 parser: Improve diagnostics for unparenthesized LHS on
exponential expr (oxc-project#24569) (camc314)
- 4d0c601 minifier: Fold arithmetic over undefined and null operands
(oxc-project#24485) (Dunqing)
- 91541dd minifier: Drop empty switch statements  (oxc-project#24527) (Armano)
- d05224d ast_visit: Generate VisitJs visitor that skips TypeScript
type-space (oxc-project#24499) (Boshen)
- 3d22307 parser: Add `ParseOptions::enable_ident_hashes` (oxc-project#24491)
(Boshen)

### 🐛 Bug Fixes

- 64c2241 minifier: Align class heritage removal with assumptions
(oxc-project#24533) (Dunqing)
- 48b59f4 parser: Span ambient generator diagnostics (oxc-project#24711) (camc314)
- e750a82 ecmascript: Fix false negative for may_have_side_effects on
dynamic property access (oxc-project#24709) (sapphi-red)
- f145d73 minifier: Guard reordered identifier reads (oxc-project#24698) (Dunqing)
- a2ef382 isolated-declarations: Reject `window.Symbol` as global symbol
reference (oxc-project#24689) (camc314)
- b1bcf72 minifier: Invalidate facts for redeclared bindings (oxc-project#24658)
(Dunqing)
- 921b834 minifier: Don't treat a conditionally-assigned var as
write-once (oxc-project#24650) (Dunqing)
- 061af1f minifier: Avoid stale pure function summaries (oxc-project#24636)
(Dunqing)
- 40c2f43 allocator: `Vec::from_array_in` do not allocate zero-length
array (oxc-project#24628) (overlookmotel)
- 70994ae codegen: Preserve comments before expression operands (oxc-project#24510)
(Dunqing)
- 7b4baff parser: Reject new import member access (oxc-project#23459) (camc314)
- 128b385 minifier: Clippy warning with no-debug-assertions (oxc-project#24547)
(camc314)
- 8421feb parser: Use first `as` span for imported name (oxc-project#24537)
(leaysgur)
- c517aa0 parser: Reject invalid accessor assertions (oxc-project#24504) (camc314)

### ⚡ Performance

- 884d9eb parser: Pre-size cover-grammar assignment target buffers
(oxc-project#24683) (Boshen)
- d3f07a0 diagnostics: Box OxcDiagnosticInner to reduce binary size
(oxc-project#24665) (Boshen)
- bcc9de0 parser: Defer diagnostic creation until parse exit (oxc-project#24663)
(Boshen)
- c35d8ab allocator: Mark `ReplaceWith` panic path cold (oxc-project#24515)
(camc314)
- ba65790 semantic, allocator: Branchless `clone_in` for semantic IDs
(oxc-project#24564) (overlookmotel)
- 747feec parser: Build AST nodes with the AST builder instead of
cloning (oxc-project#24540) (Boshen)
- ba35a0d react_compiler: Use IndexVec for dense id-keyed maps (oxc-project#24549)
(Boshen)
- b685062 react_compiler: Keep small hot-path collections inline
(oxc-project#24514) (Marius Schulz)
- a149e95 transformer: Outline rare expression exits (oxc-project#24512) (camc314)
- 7808a6e react_compiler: Make aliasing effects cheap to intern and
clone (oxc-project#24506) (Marius Schulz)
- 3a36f2a react_compiler: Store AbstractValue reasons as a u16 bitmask
(oxc-project#24480) (Boshen)
- 1c96753 react_compiler: Use FxHashMap for the lookup-only aliasing
node map (oxc-project#24490) (Boshen)

Co-authored-by: Cameron <cameron.clark@hey.com>

apps_v1.75.0

Toggle apps_v1.75.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.75.0 && oxfmt v0.60.0 (oxc-project#24713)

# Oxlint
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 0184ad6 linter/unicorn/no-useless-undefined: Preserve valid parameter
defaults (oxc-project#24686) (camc314)
- 8694167 linter/eslint/prefer-destructuring: Handle typed declarations
(oxc-project#24616) (camc314)
- 477cf0f linter/eslint/no-throw-literal: Handle assigned errors
(oxc-project#24561) (Cole Ellison)
- ac9200a linter: Detect React components from returned JSX (oxc-project#24521)
(camc314)
- c0a6522 linter/eslint/no-useless-computed-key: Allow TS syntax in
computed keys (oxc-project#24524) (Cole Ellison)

### ⚡ Performance

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

### 📚 Documentation

- e6f7174 linter/valid-expect: Fix correct example being identical to
incorrect one (oxc-project#24468) (mkan0141)
# Oxfmt
### 💥 BREAKING CHANGES

- 54cc121 ast: [**BREAKING**] Split `MetaProperty` into `ImportMeta` and
`NewTarget` (oxc-project#24557) (camc314)

### 🚀 Features

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

### 🐛 Bug Fixes

- 6fe866a oxfmt: Keep tailwind classes glued to template expr with
`preserveWhitespace` (oxc-project#24609) (leaysgur)
- 33e32d8 formatter_css: Use `line_suffix` for EOL line comment (oxc-project#24580)
(leaysgur)
- 5f76998 formatter_graphql: Keep same line comments pending across
intervening tokens (oxc-project#24579) (leaysgur)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>

oxlint_v1.74.0

Toggle oxlint_v1.74.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454)

# Oxlint
### 🚀 Features

- 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option
(oxc-project#24044) (Boshen)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole
Ellison)

### 🐛 Bug Fixes

- 0b086de linter/jest/prefer-lowercase-title: False positive when
`lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea)
- 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source
(oxc-project#24196) (Liang)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic
(oxc-project#24346) (camc314)
- 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir
(oxc-project#24339) (leaysgur)
- ab90eed linter/eslint/no-loop-func: Do not error on catch variables
(oxc-project#24316) (Chris Opperwall)
- b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates
as usage (oxc-project#24323) (camc314)
- d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan
Pawar)
- 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts
correctly (oxc-project#24260) (camc314)

### ⚡ Performance

- 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex
pattern (oxc-project#24413) (connorshea)
- 6272051 linter/typescript/no-require-imports: Compile allow patterns
once (oxc-project#24417) (connorshea)
- fb1edf1 linter: Compute comment fix span only for directive comments
(oxc-project#24419) (connorshea)
- 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex
once (oxc-project#24420) (connorshea)
- 8de6fca linter/jest/valid-title: Compile disallowedWords regex once
(oxc-project#24412) (Connor Shea)
- 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per
identifier (oxc-project#24371) (Ian Macalinao)
- f3ab04c linter/typescript/consistent-type-imports: Remove redundant
Vec per violation (oxc-project#24370) (Ian Macalinao)
- 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone
per comment (oxc-project#24369) (Ian Macalinao)
# Oxfmt
### 🚀 Features

- 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434)
(leaysgur)
- 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358)
(leaysgur)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- df250df formatter: Support `quoteProps` for TS enum and methods
(oxc-project#24309) (leaysgur)
- a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281)
(leaysgur)

### 🐛 Bug Fixes

- 162bddf formatter: Add required parens for conditional type in type
parameter constraint (oxc-project#24450) (leaysgur)
- 2d22a91 formatter: Determine type cast target from span instead of
lexical scan (oxc-project#24447) (leaysgur)
- 25306e9 formatter: Do not add extra parens with type cast comment
(oxc-project#24444) (leaysgur)
- bd6edfe formatter: Break arrow signature that exactly fills the line
when cond body may hug (oxc-project#24440) (leaysgur)
- a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432)
(leaysgur)
- fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352)
(leaysgur)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- b7c7e15 formatter: Add parens for import and private field in new
callee chain (oxc-project#24320) (leaysgur)
- 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314)
(leaysgur)
- a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312)
(leaysgur)
- 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression
(oxc-project#24311) (leaysgur)
- 8933c0e formatter: Keep comment inside of empty `switch` block
(oxc-project#24308) (leaysgur)
- ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290)
(leaysgur)
- 70bd54d formatter: Keep arrow function body comment (oxc-project#24287)
(leaysgur)
- 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside
the config directory (oxc-project#24286) (leaysgur)
- eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282)
(leaysgur)
- 42ec8de formatter: Keep comments inside surviving parens and
suppressed statement terminators (oxc-project#24253) (leaysgur)
- 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249)
(leaysgur)
- b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246)
(leaysgur)
- 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244)
(leaysgur)
- 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215)
(leaysgur)

### ⚡ Performance

- eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line
removal (oxc-project#23775) (Marius Schulz)
- a2f255b formatter: Use `SmallVec` for `MemberChain` collections
(oxc-project#23776) (Marius Schulz)

### 📚 Documentation

- b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372)
(overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>

oxfmt_v0.59.0

Toggle oxfmt_v0.59.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454)

# Oxlint
### 🚀 Features

- 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option
(oxc-project#24044) (Boshen)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole
Ellison)

### 🐛 Bug Fixes

- 0b086de linter/jest/prefer-lowercase-title: False positive when
`lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea)
- 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source
(oxc-project#24196) (Liang)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic
(oxc-project#24346) (camc314)
- 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir
(oxc-project#24339) (leaysgur)
- ab90eed linter/eslint/no-loop-func: Do not error on catch variables
(oxc-project#24316) (Chris Opperwall)
- b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates
as usage (oxc-project#24323) (camc314)
- d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan
Pawar)
- 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts
correctly (oxc-project#24260) (camc314)

### ⚡ Performance

- 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex
pattern (oxc-project#24413) (connorshea)
- 6272051 linter/typescript/no-require-imports: Compile allow patterns
once (oxc-project#24417) (connorshea)
- fb1edf1 linter: Compute comment fix span only for directive comments
(oxc-project#24419) (connorshea)
- 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex
once (oxc-project#24420) (connorshea)
- 8de6fca linter/jest/valid-title: Compile disallowedWords regex once
(oxc-project#24412) (Connor Shea)
- 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per
identifier (oxc-project#24371) (Ian Macalinao)
- f3ab04c linter/typescript/consistent-type-imports: Remove redundant
Vec per violation (oxc-project#24370) (Ian Macalinao)
- 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone
per comment (oxc-project#24369) (Ian Macalinao)
# Oxfmt
### 🚀 Features

- 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434)
(leaysgur)
- 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358)
(leaysgur)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- df250df formatter: Support `quoteProps` for TS enum and methods
(oxc-project#24309) (leaysgur)
- a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281)
(leaysgur)

### 🐛 Bug Fixes

- 162bddf formatter: Add required parens for conditional type in type
parameter constraint (oxc-project#24450) (leaysgur)
- 2d22a91 formatter: Determine type cast target from span instead of
lexical scan (oxc-project#24447) (leaysgur)
- 25306e9 formatter: Do not add extra parens with type cast comment
(oxc-project#24444) (leaysgur)
- bd6edfe formatter: Break arrow signature that exactly fills the line
when cond body may hug (oxc-project#24440) (leaysgur)
- a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432)
(leaysgur)
- fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352)
(leaysgur)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- b7c7e15 formatter: Add parens for import and private field in new
callee chain (oxc-project#24320) (leaysgur)
- 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314)
(leaysgur)
- a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312)
(leaysgur)
- 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression
(oxc-project#24311) (leaysgur)
- 8933c0e formatter: Keep comment inside of empty `switch` block
(oxc-project#24308) (leaysgur)
- ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290)
(leaysgur)
- 70bd54d formatter: Keep arrow function body comment (oxc-project#24287)
(leaysgur)
- 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside
the config directory (oxc-project#24286) (leaysgur)
- eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282)
(leaysgur)
- 42ec8de formatter: Keep comments inside surviving parens and
suppressed statement terminators (oxc-project#24253) (leaysgur)
- 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249)
(leaysgur)
- b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246)
(leaysgur)
- 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244)
(leaysgur)
- 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215)
(leaysgur)

### ⚡ Performance

- eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line
removal (oxc-project#23775) (Marius Schulz)
- a2f255b formatter: Use `SmallVec` for `MemberChain` collections
(oxc-project#23776) (Marius Schulz)

### 📚 Documentation

- b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372)
(overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>

crates_v0.140.0

Toggle crates_v0.140.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(crates): oxc v0.140.0 (oxc-project#24453)

### 🚀 Features

- 616bfa2 minifier: Remove unreachable code after terminating statements
(oxc-project#24441) (Dunqing)
- ddab89a data_structures: Add `likely` and `unlikely` functions
(oxc-project#24368) (overlookmotel)
- a3a39f9 react_compiler: Implement enableEmitHookGuards codegen
(oxc-project#24329) (Boshen)
- b79eef7 minifier: Apply De Morgan's law to negated comparison chains
in jump guards and loop tests (oxc-project#24279) (Dunqing)
- 34ff7b4 minifier: Drop write-only property assignments to unused local
bindings by default (oxc-project#24112) (Dunqing)
- 1b829d8 semantic: Record const enums in EnumData (oxc-project#24268) (Dunqing)
- ba0944c semantic: Add `Scoping::set_symbol_span` (oxc-project#24221) (camc314)

### 🐛 Bug Fixes

- 7d33363 minifier: Preserve guaranteed throws from class heritage
evaluation (oxc-project#24349) (Dunqing)
- 058a62f semantic: Track ambient contexts in `SemanticBuilder` (oxc-project#24327)
(camc314)
- 721eb0b transformer/decorator: Scope accessor class binding (oxc-project#24330)
(camc314)
- 1ebdce3 semantic: Allow reserved keywords in ambient declaration types
(oxc-project#24325) (camc314)
- 460176a track-memory-allocations: Exclude arena chunks from Sys allocs
(oxc-project#24292) (Dunqing)
- af4922b transformer: Clear lowered namespace redeclarations (oxc-project#24300)
(camc314)
- ffd2765 semantic: Mark declared computed `MethodDefinition`s as type
references (oxc-project#24296) (camc314)
- f17514b isolated-declarations: Emit const readonly fields as types
(oxc-project#24288) (camc314)
- 40f769d minifier: Make `__proto__` write tracking execution-order
independent (oxc-project#24280) (Dunqing)
- 6371fed transformer: Remove stale enum member bindings (oxc-project#24272)
(camc314)
- f05dfab transformer: Correct symbol flags for lowered namespaces
(oxc-project#24271) (Dunqing)
- 84eeb55 transformer: Correct symbol flags for lowered enums (oxc-project#24269)
(Dunqing)
- c3057da transformer: Preserve generated class binding spans (oxc-project#24220)
(camc314)
- 8260096 transformer: Correct span for lowered namespace symbol
(oxc-project#24222) (camc314)
- 42d00d3 semantic: Mark declared class heritage as type references
(oxc-project#24237) (camc314)
- 588d997 semantic: Mark TS `PropertyDefinition`s computed fields as
type references (oxc-project#24233) (camc314)
- 9b95632 semantic: Mark computed method keys in `TSMethodSignature`s as
type references (oxc-project#24232) (camc314)

### ⚡ Performance

- 5b26643 transformer_plugins: Dispatch global defines by trailing name
(oxc-project#23666) (Boshen)
- dce0f29 react_compiler: Replace all compiled functions in a single AST
walk (oxc-project#24403) (Boshen)
- f85f0d8 ast: Delegate inherited enum variants in clone_in and estree
derives (oxc-project#23555) (Boshen)
- 3ff0234 allocator: Remove `unwrap` from `ReplaceWith` (oxc-project#24365)
(overlookmotel)
- ab22e80 transformer: Fix Rust 1.97 performance regression (oxc-project#24354)
(camc314)
- b47585c parser: Use `ReplaceWith` instead of `TakeIn` (oxc-project#24018)
(overlookmotel)
- b227a06 minifier: Use `ReplaceWith` instead of `TakeIn` (oxc-project#24017)
(overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>

apps_v1.74.0

Toggle apps_v1.74.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.74.0 && oxfmt v0.59.0 (oxc-project#24454)

# Oxlint
### 🚀 Features

- 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option
(oxc-project#24044) (Boshen)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- 8c1d74b linter/import/no-duplicates: Add autofix logic (oxc-project#24273) (Cole
Ellison)

### 🐛 Bug Fixes

- 0b086de linter/jest/prefer-lowercase-title: False positive when
`lowercaseFirstCharacterOnly` is false (oxc-project#24414) (Connor Shea)
- 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source
(oxc-project#24196) (Liang)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic
(oxc-project#24346) (camc314)
- 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir
(oxc-project#24339) (leaysgur)
- ab90eed linter/eslint/no-loop-func: Do not error on catch variables
(oxc-project#24316) (Chris Opperwall)
- b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates
as usage (oxc-project#24323) (camc314)
- d193f8e linter: Detect Junie agent env vars (oxc-project#24277) (Jeevan Mohan
Pawar)
- 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts
correctly (oxc-project#24260) (camc314)

### ⚡ Performance

- 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex
pattern (oxc-project#24413) (connorshea)
- 6272051 linter/typescript/no-require-imports: Compile allow patterns
once (oxc-project#24417) (connorshea)
- fb1edf1 linter: Compute comment fix span only for directive comments
(oxc-project#24419) (connorshea)
- 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex
once (oxc-project#24420) (connorshea)
- 8de6fca linter/jest/valid-title: Compile disallowedWords regex once
(oxc-project#24412) (Connor Shea)
- 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per
identifier (oxc-project#24371) (Ian Macalinao)
- f3ab04c linter/typescript/consistent-type-imports: Remove redundant
Vec per violation (oxc-project#24370) (Ian Macalinao)
- 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone
per comment (oxc-project#24369) (Ian Macalinao)
# Oxfmt
### 🚀 Features

- 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (oxc-project#24434)
(leaysgur)
- 0173cd3 formatter_css: Format Less :extend and merge props (oxc-project#24358)
(leaysgur)
- 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (oxc-project#24357)
(camc314)
- df250df formatter: Support `quoteProps` for TS enum and methods
(oxc-project#24309) (leaysgur)
- a9a5cd6 formatter_core: Expose `SourceText::as_str()` (oxc-project#24281)
(leaysgur)

### 🐛 Bug Fixes

- 162bddf formatter: Add required parens for conditional type in type
parameter constraint (oxc-project#24450) (leaysgur)
- 2d22a91 formatter: Determine type cast target from span instead of
lexical scan (oxc-project#24447) (leaysgur)
- 25306e9 formatter: Do not add extra parens with type cast comment
(oxc-project#24444) (leaysgur)
- bd6edfe formatter: Break arrow signature that exactly fills the line
when cond body may hug (oxc-project#24440) (leaysgur)
- a99ef41 formatter: Keep quotes on method signature named new (oxc-project#24432)
(leaysgur)
- fcc28df formatter_css: Keep glued-braket-value tight (oxc-project#24352)
(leaysgur)
- 8337835 linter: Error on `ignorePatterns` that cannot match files
aoutside the config directory (oxc-project#24341) (leaysgur)
- b7c7e15 formatter: Add parens for import and private field in new
callee chain (oxc-project#24320) (leaysgur)
- 0c8f6e4 formatter: Update detect_code_removal for oxc-project#24309 (oxc-project#24314)
(leaysgur)
- a85aad0 formatter: Fix member-chain and non-null parens (oxc-project#24312)
(leaysgur)
- 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression
(oxc-project#24311) (leaysgur)
- 8933c0e formatter: Keep comment inside of empty `switch` block
(oxc-project#24308) (leaysgur)
- ec26af2 formatter: Preserve blank lines between JSX attrs (oxc-project#24290)
(leaysgur)
- 70bd54d formatter: Keep arrow function body comment (oxc-project#24287)
(leaysgur)
- 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside
the config directory (oxc-project#24286) (leaysgur)
- eeabc4a formatter_css: Bail on EOF-recovered parse errors (oxc-project#24282)
(leaysgur)
- 42ec8de formatter: Keep comments inside surviving parens and
suppressed statement terminators (oxc-project#24253) (leaysgur)
- 1343779 formatter: Keep comment inline for empty statements (oxc-project#24249)
(leaysgur)
- b996579 formatter: Print ; before trailing comments part 2 (oxc-project#24246)
(leaysgur)
- 4f86e8c formatter: Print `;` before trailing comments (oxc-project#24244)
(leaysgur)
- 01252e4 formatter: Add or remove parens for `let` declaration (oxc-project#24215)
(leaysgur)

### ⚡ Performance

- eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line
removal (oxc-project#23775) (Marius Schulz)
- a2f255b formatter: Use `SmallVec` for `MemberChain` collections
(oxc-project#23776) (Marius Schulz)

### 📚 Documentation

- b52d0f5 formatter: Add TODO comment about unsound code (oxc-project#24372)
(overlookmotel)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>

oxlint_v1.73.0

Toggle oxlint_v1.73.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.73.0 && oxfmt v0.58.0 (oxc-project#24219)

# Oxlint
### 🚀 Features

- 7db7a29 allocator: Add `ReplaceWith` trait (oxc-project#24012) (overlookmotel)
- a2c97f3 linter/unicorn: Implement `explicit-timer-delay` rule (oxc-project#23612)
(Mikhail Baev)
- 85735cb linter/unicorn: Implement `no-confusing-array-with` rule
(oxc-project#23638) (Shekhu☺️)
- cb4fbb9 linter/eslint: Implement no-unreachable-loop rule (oxc-project#23975)
(Todor Andonov)
- dc32112 linter/eslint/no-constant-binary-expression: Check relational
comparisons (oxc-project#24088) (camc314)
- 439c344 linter/jsdoc: Added missing options to `jsdoc/require-param`
rule (oxc-project#23364) (kapobajza)
- 62af717 linter/unicorn/filename-case: Add `lowercase` and
`screamingSnakeCase` (oxc-project#24045) (Boshen)
- d963967 linter/unicorn/no-array-sort: Add `allowAfterSpread` option
(oxc-project#24043) (Boshen)
- 0a75682 linter: Add per-rule timings for type-aware linting (oxc-project#22488)
(camchenry)
- 743e222 linter/react: Add `disallowedValues` option for
`forbid-dom-props` rule (oxc-project#23970) (Mikhail Baev)

### 🐛 Bug Fixes

- 7b80010 linter: Use direct binding symbol ids (oxc-project#24216) (camc314)
- 8f94b49 linter/import/no-duplicates: Don't flag a type-only import
beside a side-effect import (oxc-project#24030) (Boshen)
- d8c3fee linter/react/rules-of-hooks: Flag `useEffectEvent` escapes
(oxc-project#23764) (Rayan Salhab)
- 0a7312b linter/no-deprecated-functions: Map `require.requireActual` to
`jest.requireActual` (oxc-project#23627) (Jerry Zhao)
- d9e3ab3 linter/eslint/no-useless-return: Handle switch case
continuation (oxc-project#23984) (camc314)
- 0b25582 ast: Type binding node `typeAnnotation` as `TSTypeAnnotation |
null` (oxc-project#23113) (Boshen)
- 122d112 linter/eslint/no-restricted-imports: Flag dynamic import()
expressions (oxc-project#24029) (Boshen)
- 59b6b83 linter: Avoid `OnceLock` re-entry on cyclic `export *`
re-exports (oxc-project#23632) (Jerry Zhao)
- dd09af0 linter/import/namespace: Avoid panic on destructuring of an
unresolvable namespace re-export (oxc-project#23626) (Jerry Zhao)
- bdb51c7 linter/jest/prefer-ending-with-an-expect: Validate config
patterns (oxc-project#24122) (camc314)
- e383843 linter/unicorn/prefer-modern-dom-apis: Skip fixer for non
identifier arguments (oxc-project#23630) (Jerry Zhao)
- 0ac4c83 linter: Detect circular config extends (oxc-project#24115) (camc314)
- bae1edf linter/import/namespace: Check namespace imports after named
imports (oxc-project#24094) (camc314)
- cd8fdfe linter/eslint/no-eval: Recognize Array.from family thisArg
(oxc-project#24091) (camc314)
- 851ee43 linter/eslint/no-eval: Resolve this binding for functions
returned from an IIFE (oxc-project#23643) (Jerry Zhao)
- 002ab35 linter/unicorn: Avoid prefer-array-find rest destructuring
false positive (oxc-project#23654) (ColemanDunn)
- 01c8775 linter/unicorn/filename-case: Keep digits attached in
screamingSnakeCase (oxc-project#24056) (Boshen)
- f256941 linter: Recognize `@effect/vitest` as a vitest import source
(oxc-project#24025) (Boshen)
- 73eeb1d linter/import/extensions: Honor per-extension `never` for
explicit extensions (oxc-project#24031) (Boshen)
- d4ebe1f linter: Reject non-object oxlint config files (oxc-project#24026)
(Boshen)
- 45d607d linter/react/forbid-component-props: Make allow/disallow lists
optional in schema (oxc-project#24024) (Boshen)
- 54076ad linter/unicorn/no-array-for-each: Suggest entries loop for
index callbacks (oxc-project#24004) (camc314)
- d057736 linter/jsdoc: Avoid param root underflow (oxc-project#23945) (camc314)
- 29c76bf linter/unicorn/prefer-at: Skip object numeric-key access
(oxc-project#23909) (Gaurav Dubey)

### ⚡ Performance

- 657a8fc linter/oxc/bad-array-method-on-arguments: Only run on member
expressions instead of all identifiers (oxc-project#24164) (camchenry)
- 073d9e7 linter/eslint/prefer-rest-params: Run on functions instead of
all identifiers (oxc-project#24163) (camchenry)
- e5a4162 linter/jest/no-confusing-set-timeout: Early exit fast path
(oxc-project#24092) (camc314)
- bca7ce5 linter: Only run react-perf rules on JSX attribute nodes
(oxc-project#24083) (camchenry)
- 6881bf6 linter: Compute `apply_overrides` rule set lazily (oxc-project#23648)
(Jerry Zhao)
- 911c106 linter/eslint/no-obj-calls: Use resolved reference instead of
scope walk (oxc-project#23895) (Marius Schulz)
- dc8fd9a linter/unicorn/prefer-dom-node-text-content: Change dispatch
to run only on less common node types (oxc-project#23897) (Connor Shea)
- fdbd34d linter/eslint/no-useless-call: Fast-path static callees
(oxc-project#24077) (camc314)
- b1be114 linter/import/extensions: Skip empty config and borrow
extensions (oxc-project#24075) (camc314)
- 4781b2d linter/eslint/no-obj-calls: Use direct global matches (oxc-project#24076)
(camc314)
- e6cee89 linter: Avoid node-chain allocation for non-Jest calls
(oxc-project#23907) (Yagiz Nizipli)
- 30dc517 linter/typescript/no-restricted-types: O(1) banned-type
lookups (oxc-project#23827) (Yagiz Nizipli)

### 📚 Documentation

- 6ca9125 linter/typescript: Clarify consistent-type-imports behavior
(oxc-project#23972) (camc314)
# Oxfmt
### 🚀 Features

- 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (oxc-project#24120) (leaysgur)
- 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (oxc-project#24106)
(leaysgur)
- 89ec3d9 formatter_core: Add literal line and root indention primitives
(oxc-project#24051) (leaysgur)
- 213a96b formatter_core: Add no-expand-parent for multiline text
(oxc-project#24050) (leaysgur)
- 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (oxc-project#24039)
(leaysgur)
- e0b35a1 formatter_css: Update `oxc-css-parser@0.0.3` (oxc-project#23974)
(leaysgur)

### 🐛 Bug Fixes

- 1fe6546 formatter: Omit unneeded `;` for type members with `no-semi`
(oxc-project#24212) (leaysgur)
- 0ad7316 formatter: Print space for `ForStatement`.`update` only if
exists (oxc-project#24211) (leaysgur)
- 3abbed5 formatter: Print `;` before jsdoc type-cast parens with
no-semi (oxc-project#24208) (leaysgur)
- 9af3833 formatter_css: Make scss formatter consistent (oxc-project#24207)
(leaysgur)
- 46d7194 formatter_css: Use fill IR for `@forward` members (oxc-project#24206)
(leaysgur)
- e31038f formatter_css: Keep comment inside sass config list (oxc-project#24205)
(leaysgur)
- d3b9591 formatter: Add parens around `await/yield` with `<T>` (oxc-project#24202)
(leaysgur)
- 2121a55 oxfmt: Reuse tinypool process during the same LSP process
(oxc-project#24197) (leaysgur)
- 9bf4b4a formatter_css: Align CSS output to Prettier 3.9.1 (oxc-project#24100)
(leaysgur)
- cd2452e formatter_css: Align SCSS output to Prettier 3.9.1 (oxc-project#24097)
(leaysgur)
- 4ee8745 formatter_css: Keep selector value contain line-break without
breaking line (oxc-project#24055) (leaysgur)
- e1ece97 formatter_graphql: Break `implements` list by print-width
(oxc-project#23997) (leaysgur)
- 0a6b16c formatter_json: Preserve key and literal value for
json-stringify (oxc-project#23996) (leaysgur)
- 903ab6e formatter_css: Preserve newlines in css-in-js selector list
(oxc-project#23992) (leaysgur)
- ea5d095 oxfmt: Update `--migrate prettier` (oxc-project#23963) (leaysgur)

### ⚡ Performance

- 468e1e3 formatter_core: Make printer queues cursor-based (oxc-project#24098)
(Boshen)
- c59f2fe rust: Return impl ExactSizeIterator from slice-backed
accessors (oxc-project#24144) (Boshen)
- c292fb2 formatter: Inline fits element dispatcher (oxc-project#23982) (camc314)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>

oxfmt_v0.58.0

Toggle oxfmt_v0.58.0's commit message

Partially verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
We cannot verify signatures from co-authors, and some of the co-authors attributed to this commit require their commits to be signed.
release(apps): oxlint v1.73.0 && oxfmt v0.58.0 (oxc-project#24219)

# Oxlint
### 🚀 Features

- 7db7a29 allocator: Add `ReplaceWith` trait (oxc-project#24012) (overlookmotel)
- a2c97f3 linter/unicorn: Implement `explicit-timer-delay` rule (oxc-project#23612)
(Mikhail Baev)
- 85735cb linter/unicorn: Implement `no-confusing-array-with` rule
(oxc-project#23638) (Shekhu☺️)
- cb4fbb9 linter/eslint: Implement no-unreachable-loop rule (oxc-project#23975)
(Todor Andonov)
- dc32112 linter/eslint/no-constant-binary-expression: Check relational
comparisons (oxc-project#24088) (camc314)
- 439c344 linter/jsdoc: Added missing options to `jsdoc/require-param`
rule (oxc-project#23364) (kapobajza)
- 62af717 linter/unicorn/filename-case: Add `lowercase` and
`screamingSnakeCase` (oxc-project#24045) (Boshen)
- d963967 linter/unicorn/no-array-sort: Add `allowAfterSpread` option
(oxc-project#24043) (Boshen)
- 0a75682 linter: Add per-rule timings for type-aware linting (oxc-project#22488)
(camchenry)
- 743e222 linter/react: Add `disallowedValues` option for
`forbid-dom-props` rule (oxc-project#23970) (Mikhail Baev)

### 🐛 Bug Fixes

- 7b80010 linter: Use direct binding symbol ids (oxc-project#24216) (camc314)
- 8f94b49 linter/import/no-duplicates: Don't flag a type-only import
beside a side-effect import (oxc-project#24030) (Boshen)
- d8c3fee linter/react/rules-of-hooks: Flag `useEffectEvent` escapes
(oxc-project#23764) (Rayan Salhab)
- 0a7312b linter/no-deprecated-functions: Map `require.requireActual` to
`jest.requireActual` (oxc-project#23627) (Jerry Zhao)
- d9e3ab3 linter/eslint/no-useless-return: Handle switch case
continuation (oxc-project#23984) (camc314)
- 0b25582 ast: Type binding node `typeAnnotation` as `TSTypeAnnotation |
null` (oxc-project#23113) (Boshen)
- 122d112 linter/eslint/no-restricted-imports: Flag dynamic import()
expressions (oxc-project#24029) (Boshen)
- 59b6b83 linter: Avoid `OnceLock` re-entry on cyclic `export *`
re-exports (oxc-project#23632) (Jerry Zhao)
- dd09af0 linter/import/namespace: Avoid panic on destructuring of an
unresolvable namespace re-export (oxc-project#23626) (Jerry Zhao)
- bdb51c7 linter/jest/prefer-ending-with-an-expect: Validate config
patterns (oxc-project#24122) (camc314)
- e383843 linter/unicorn/prefer-modern-dom-apis: Skip fixer for non
identifier arguments (oxc-project#23630) (Jerry Zhao)
- 0ac4c83 linter: Detect circular config extends (oxc-project#24115) (camc314)
- bae1edf linter/import/namespace: Check namespace imports after named
imports (oxc-project#24094) (camc314)
- cd8fdfe linter/eslint/no-eval: Recognize Array.from family thisArg
(oxc-project#24091) (camc314)
- 851ee43 linter/eslint/no-eval: Resolve this binding for functions
returned from an IIFE (oxc-project#23643) (Jerry Zhao)
- 002ab35 linter/unicorn: Avoid prefer-array-find rest destructuring
false positive (oxc-project#23654) (ColemanDunn)
- 01c8775 linter/unicorn/filename-case: Keep digits attached in
screamingSnakeCase (oxc-project#24056) (Boshen)
- f256941 linter: Recognize `@effect/vitest` as a vitest import source
(oxc-project#24025) (Boshen)
- 73eeb1d linter/import/extensions: Honor per-extension `never` for
explicit extensions (oxc-project#24031) (Boshen)
- d4ebe1f linter: Reject non-object oxlint config files (oxc-project#24026)
(Boshen)
- 45d607d linter/react/forbid-component-props: Make allow/disallow lists
optional in schema (oxc-project#24024) (Boshen)
- 54076ad linter/unicorn/no-array-for-each: Suggest entries loop for
index callbacks (oxc-project#24004) (camc314)
- d057736 linter/jsdoc: Avoid param root underflow (oxc-project#23945) (camc314)
- 29c76bf linter/unicorn/prefer-at: Skip object numeric-key access
(oxc-project#23909) (Gaurav Dubey)

### ⚡ Performance

- 657a8fc linter/oxc/bad-array-method-on-arguments: Only run on member
expressions instead of all identifiers (oxc-project#24164) (camchenry)
- 073d9e7 linter/eslint/prefer-rest-params: Run on functions instead of
all identifiers (oxc-project#24163) (camchenry)
- e5a4162 linter/jest/no-confusing-set-timeout: Early exit fast path
(oxc-project#24092) (camc314)
- bca7ce5 linter: Only run react-perf rules on JSX attribute nodes
(oxc-project#24083) (camchenry)
- 6881bf6 linter: Compute `apply_overrides` rule set lazily (oxc-project#23648)
(Jerry Zhao)
- 911c106 linter/eslint/no-obj-calls: Use resolved reference instead of
scope walk (oxc-project#23895) (Marius Schulz)
- dc8fd9a linter/unicorn/prefer-dom-node-text-content: Change dispatch
to run only on less common node types (oxc-project#23897) (Connor Shea)
- fdbd34d linter/eslint/no-useless-call: Fast-path static callees
(oxc-project#24077) (camc314)
- b1be114 linter/import/extensions: Skip empty config and borrow
extensions (oxc-project#24075) (camc314)
- 4781b2d linter/eslint/no-obj-calls: Use direct global matches (oxc-project#24076)
(camc314)
- e6cee89 linter: Avoid node-chain allocation for non-Jest calls
(oxc-project#23907) (Yagiz Nizipli)
- 30dc517 linter/typescript/no-restricted-types: O(1) banned-type
lookups (oxc-project#23827) (Yagiz Nizipli)

### 📚 Documentation

- 6ca9125 linter/typescript: Clarify consistent-type-imports behavior
(oxc-project#23972) (camc314)
# Oxfmt
### 🚀 Features

- 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (oxc-project#24120) (leaysgur)
- 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (oxc-project#24106)
(leaysgur)
- 89ec3d9 formatter_core: Add literal line and root indention primitives
(oxc-project#24051) (leaysgur)
- 213a96b formatter_core: Add no-expand-parent for multiline text
(oxc-project#24050) (leaysgur)
- 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (oxc-project#24039)
(leaysgur)
- e0b35a1 formatter_css: Update `oxc-css-parser@0.0.3` (oxc-project#23974)
(leaysgur)

### 🐛 Bug Fixes

- 1fe6546 formatter: Omit unneeded `;` for type members with `no-semi`
(oxc-project#24212) (leaysgur)
- 0ad7316 formatter: Print space for `ForStatement`.`update` only if
exists (oxc-project#24211) (leaysgur)
- 3abbed5 formatter: Print `;` before jsdoc type-cast parens with
no-semi (oxc-project#24208) (leaysgur)
- 9af3833 formatter_css: Make scss formatter consistent (oxc-project#24207)
(leaysgur)
- 46d7194 formatter_css: Use fill IR for `@forward` members (oxc-project#24206)
(leaysgur)
- e31038f formatter_css: Keep comment inside sass config list (oxc-project#24205)
(leaysgur)
- d3b9591 formatter: Add parens around `await/yield` with `<T>` (oxc-project#24202)
(leaysgur)
- 2121a55 oxfmt: Reuse tinypool process during the same LSP process
(oxc-project#24197) (leaysgur)
- 9bf4b4a formatter_css: Align CSS output to Prettier 3.9.1 (oxc-project#24100)
(leaysgur)
- cd2452e formatter_css: Align SCSS output to Prettier 3.9.1 (oxc-project#24097)
(leaysgur)
- 4ee8745 formatter_css: Keep selector value contain line-break without
breaking line (oxc-project#24055) (leaysgur)
- e1ece97 formatter_graphql: Break `implements` list by print-width
(oxc-project#23997) (leaysgur)
- 0a6b16c formatter_json: Preserve key and literal value for
json-stringify (oxc-project#23996) (leaysgur)
- 903ab6e formatter_css: Preserve newlines in css-in-js selector list
(oxc-project#23992) (leaysgur)
- ea5d095 oxfmt: Update `--migrate prettier` (oxc-project#23963) (leaysgur)

### ⚡ Performance

- 468e1e3 formatter_core: Make printer queues cursor-based (oxc-project#24098)
(Boshen)
- c59f2fe rust: Return impl ExactSizeIterator from slice-backed
accessors (oxc-project#24144) (Boshen)
- c292fb2 formatter: Inline fits element dispatcher (oxc-project#23982) (camc314)

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>