apps_v1.74.0
oxc-project/oxcapps_v1.74.0Jul 14, 2026by github-actions[bot]
AI Summary
Oxlint adds options for namespace handling and auto-discovery of `.mts` config files, along with autofix logic for duplicate imports. Oxfmt updates CSS parsing and introduces `quoteProps` support.
Key Highlights
- Oxlint: Auto-discovery of `.mts` config files.
- Oxlint: New `namespaces` option for `no-inner-declarations`.
- Oxlint: Autofix logic for `import/no-duplicates`.
- Oxfmt: Support for `quoteProps` in TS enums.
New Features
- Linter: Add namespaces option to no-inner-declarations
- Linter: Auto-discover .mts config files
- Linter: Add autofix logic for import/no-duplicates
- Formatter: Support quoteProps for TS enum and methods
- Formatter: Update oxc-css-parser to 0.0.7
Full Release Notes
## Table of Contents - [Oxlint v1.74.0](#oxlint-v1.74.0) - [Oxfmt v0.59.0](#oxfmt-v0.59.0) ## Oxlint v1.74.0 ### 🚀 Features - 0433a83 linter/eslint/no-inner-declarations: Add `namespaces` option (#24044) (Boshen) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (#24357) (camc314) - 8c1d74b linter/import/no-duplicates: Add autofix logic (#24273) (Cole Ellison) ### 🐛 Bug Fixes - ac7176d linter/import/no-duplicates: Avoid duplicate commas when merging imports (#24467) (camc314) - 261aa39 linter/import/no-duplicates: Preserve type modifiers when merging imports (#24466) (camc314) - dbd08b6 linter/unicorn/prefer-string-raw: Skip fix for `TSPropertySignature` keys (#24465) (camc314) - df67932 linter: Skip suppression validation with `--type-check-only` (#24462) (Stephen Zhou) - 0b086de linter/jest/prefer-lowercase-title: False positive when `lowercaseFirstCharacterOnly` is false (#24414) (Connor Shea) - 097cb95 linter: Allow `vite-plus/test` and `@effect as Vitest source (#24196) (Liang) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (#24341) (leaysgur) - 9ba30e5 linter/oxc/bad-replace-all-arg: Add note to enhance diagnostic (#24346) (camc314) - 2ce5a33 linter: Resolve `ignorePatterns` relative to the config dir (#24339) (leaysgur) - ab90eed linter/eslint/no-loop-func: Do not error on catch variables (#24316) (Chris Opperwall) - b67f0a6 linter/eslint/no-unused-vars: Count default parameter updates as usage (#24323) (camc314) - d193f8e linter: Detect Junie agent env vars (#24277) (Jeevan Mohan Pawar) - 2aecf60 linter/eslint/no-unreachable: Handle `break` in switch stmts correctly (#24260) (camc314) ### ⚡ Performance - 2efa2f9 linter/react/jsx-handler-names: Simplify JSX handler name normalization (#24458) (camc314) - 9c4e24a linter/eslint/object-shorthand: Remove constructor regex (#24457) (camc314) - 7f80cac linter/vue/prop-name-casing: Precompile `ignoreProps` regex pattern (#24413) (connorshea) - 6272051 linter/typescript/no-require-imports: Compile allow patterns once (#24417) (connorshea) - fb1edf1 linter: Compute comment fix span only for directive comments (#24419) (connorshea) - 33805b9 linter/jsdoc/require-param: Compile checkTypesPattern regex once (#24420) (connorshea) - 8de6fca linter/jest/valid-title: Compile disallowedWords regex once (#24412) (Connor Shea) - 4a0d8dc linter/eslint/no-underscore-dangle: Avoid String clone per identifier (#24371) (Ian Macalinao) - f3ab04c linter/typescript/consistent-type-imports: Remove redundant Vec per violation (#24370) (Ian Macalinao) - 4d2d78d linter/typescript/prefer-ts-expect-error: Avoid String clone per comment (#24369) (Ian Macalinao) ## Oxfmt v0.59.0 ### 🚀 Features - 3a7fe74 formatter_css: Update oxc-css-parser to 0.0.7 (#24434) (leaysgur) - 0173cd3 formatter_css: Format Less :extend and merge props (#24358) (leaysgur) - 92f154a oxlint,oxfmt: Auto-discover `.mts` config files (#24357) (camc314) - df250df formatter: Support `quoteProps` for TS enum and methods (#24309) (leaysgur) - a9a5cd6 formatter_core: Expose `SourceText::as_str()` (#24281) (leaysgur) ### 🐛 Bug Fixes - 95262b9 formatter_css: Keep more value comments before comma (#24487) (leaysgur) - cd53d98 formatter_css: Keep value comments before comma (#24484) (leaysgur) - 27f57d8 formatter: Type alias comment idempotency (#24483) (leaysgur) - b7b82e0 formatter: Suppressed trailing semi (#24482) (leaysgur) - 162bddf formatter: Add required parens for conditional type in type parameter constraint (#24450) (leaysgur) - 2d22a91 formatter: Determine type cast target from span instead of lexical scan (#24447) (leaysgur) - 25306e9 formatter: Do not add extra parens with type cast comment (#24444) (leaysgur) - bd6edfe formatter: Break arrow signature that exactly fills the line when cond body may hug (#24440) (leaysgur) - a99ef41 formatter: Keep quotes on method signature named new (#24432) (leaysgur) - fcc28df formatter_css: Keep glued-braket-value tight (#24352) (leaysgur) - 8337835 linter: Error on `ignorePatterns` that cannot match files aoutside the config directory (#24341) (leaysgur) - b7c7e15 formatter: Add parens for import and private field in new callee chain (#24320) (leaysgur) - 0c8f6e4 formatter: Update detect_code_removal for #24309 (#24314) (leaysgur) - a85aad0 formatter: Fix member-chain and non-null parens (#24312) (leaysgur) - 1c29c73 formatter: Preserve `TSNonNullExpression` in chain expression (#24311) (leaysgur) - 8933c0e formatter: Keep comment inside of empty `switch` block (#24308) (leaysgur) - ec26af2 formatter: Preserve blank lines between JSX attrs (#24290) (leaysgur) - 70bd54d formatter: Keep arrow function body comment (#24287) (leaysgur) - 415fe1e oxfmt: Error on ignorePatterns that cannot match files outside the config directory (#24286) (leaysgur) - eeabc4a formatter_css: Bail on EOF-recovered parse errors (#24282) (leaysgur) - 42ec8de formatter: Keep comments inside surviving parens and suppressed statement terminators (#24253) (leaysgur) - 1343779 formatter: Keep comment inline for empty statements (#24249) (leaysgur) - b996579 formatter: Print ; before trailing comments part 2 (#24246) (leaysgur) - 4f86e8c formatter: Print `;` before trailing comments (#24244) (leaysgur) - 01252e4 formatter: Add or remove parens for `let` declaration (#24215) (leaysgur) ### ⚡ Performance - eeb1913 formatter_core: Avoid per-call `Vec` work-stack in soft-line removal (#23775) (Marius Schulz) - a2f255b formatter: Use `SmallVec` for `MemberChain` collections (#23776) (Marius Schulz) ### 📚 Documentation - 3b7fb91 formatter_css: Update AGENTS.md and examples (#24488) (leaysgur) - b52d0f5 formatter: Add TODO comment about unsound code (#24372) (overlookmotel)