release(apps): oxlint v1.44.0 && oxfmt v0.29.0#19222
Conversation
Oxfmt Ecosystem CI
|
There was a problem hiding this comment.
Pull request overview
Updates release documentation for the oxlint v1.44.0 and oxfmt v0.29.0 releases by adding new entries across app/crate/npm package changelogs.
Changes:
- Add release sections for oxlint 1.44.0 (2026-02-10) in app/crate/npm changelogs.
- Add release sections for oxfmt 0.29.0 (2026-02-10) in app/crate/npm changelogs.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| npm/oxlint/CHANGELOG.md | Adds oxlint 1.44.0 release notes (currently duplicated in-file). |
| npm/oxfmt/CHANGELOG.md | Adds oxfmt 0.29.0 release notes (currently duplicated in-file). |
| crates/oxc_linter/CHANGELOG.md | Adds linter 1.44.0 release notes (currently duplicated in-file). |
| crates/oxc_formatter/CHANGELOG.md | Adds formatter 0.29.0 release notes (currently duplicated in-file). |
| apps/oxlint/CHANGELOG.md | Adds oxlint app 1.44.0 release notes (currently duplicated in-file). |
| apps/oxfmt/CHANGELOG.md | Adds oxfmt app 0.29.0 release notes (currently duplicated in-file, plus a typo). |
|
|
||
| ## [0.29.0] - 2026-02-10 | ||
|
|
||
| ### 💥 BREAKING CHANGES | ||
|
|
||
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | ||
|
|
||
| ### 🚀 Features | ||
|
|
||
| - 91e67f3 oxfmt/lsp: Do not refer `.gitignore` (#19206) (leaysgur) | ||
| - 23c0753 oxfmt: Better Tailwind CSS intergration (#19000) (Dunqing) | ||
| - 87a920d ci: Add riscv64 and s390x napi targets for oxlint and oxfmt (#19039) (Boshen) | ||
| - 8536dce oxfmt: Support glob for CLI paths (#18976) (leaysgur) | ||
| - 6ee2d59 oxfmt: Use `oxc_formatter` in js-in-xxx part (#18373) (leaysgur) | ||
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) | ||
|
|
||
| ### 🐛 Bug Fixes | ||
|
|
||
| - 119348b oxfmt: Resolve relative -> absolute path for other usages (#19207) (leaysgur) | ||
| - 5f4cf30 oxfmt: Fix relative -> absolute path resolution with refactoring (#19202) (leaysgur) | ||
| - dc335d1 oxfmt: Temporarily disable the override for js-in-xxx (not ready yet) (#19043) (leaysgur) | ||
| - 5ea5bda oxfmt: Handle `isSingleJsxExpressionStatementInMarkdown()` check for js-in-md (#19042) (leaysgur) | ||
| - 9b205b3 formatter: Fallback to formatting when package.json sorting fails (#19097) (Boshen) |
There was a problem hiding this comment.
## [0.29.0] - 2026-02-10 is duplicated in this file (the full release notes appear twice). Please keep a single 0.29.0 entry and remove the repeated block.
| ## [0.29.0] - 2026-02-10 | |
| ### 💥 BREAKING CHANGES | |
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | |
| ### 🚀 Features | |
| - 91e67f3 oxfmt/lsp: Do not refer `.gitignore` (#19206) (leaysgur) | |
| - 23c0753 oxfmt: Better Tailwind CSS intergration (#19000) (Dunqing) | |
| - 87a920d ci: Add riscv64 and s390x napi targets for oxlint and oxfmt (#19039) (Boshen) | |
| - 8536dce oxfmt: Support glob for CLI paths (#18976) (leaysgur) | |
| - 6ee2d59 oxfmt: Use `oxc_formatter` in js-in-xxx part (#18373) (leaysgur) | |
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) | |
| ### 🐛 Bug Fixes | |
| - 119348b oxfmt: Resolve relative -> absolute path for other usages (#19207) (leaysgur) | |
| - 5f4cf30 oxfmt: Fix relative -> absolute path resolution with refactoring (#19202) (leaysgur) | |
| - dc335d1 oxfmt: Temporarily disable the override for js-in-xxx (not ready yet) (#19043) (leaysgur) | |
| - 5ea5bda oxfmt: Handle `isSingleJsxExpressionStatementInMarkdown()` check for js-in-md (#19042) (leaysgur) | |
| - 9b205b3 formatter: Fallback to formatting when package.json sorting fails (#19097) (Boshen) |
| - 23c0753 oxfmt: Better Tailwind CSS intergration (#19000) (Dunqing) | ||
| - 87a920d ci: Add riscv64 and s390x napi targets for oxlint and oxfmt (#19039) (Boshen) |
There was a problem hiding this comment.
Typo in changelog entry: "intergration" should be "integration" (and ensure the remaining 0.29.0 entry uses the corrected spelling after deduping the release notes).
| ## [1.44.0] - 2026-02-10 | ||
|
|
||
| ### 🚀 Features | ||
|
|
||
| - ee2925b oxlint/lsp: Enable JS plugins (#18834) (overlookmotel) | ||
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) |
There was a problem hiding this comment.
## [1.44.0] - 2026-02-10 appears twice in this changelog, which will duplicate the release notes. Please keep a single 1.44.0 section and merge the added Bug Fixes/Documentation items into it (removing the second header and repeated content).
| ## [0.29.0] - 2026-02-10 | ||
|
|
||
| ### 💥 BREAKING CHANGES | ||
|
|
||
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | ||
|
|
||
| ### 🚀 Features | ||
|
|
||
| - 6ee2d59 oxfmt: Use `oxc_formatter` in js-in-xxx part (#18373) (leaysgur) | ||
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) | ||
|
|
There was a problem hiding this comment.
This changelog contains two ## [0.29.0] - 2026-02-10 sections. Please consolidate into a single 0.29.0 entry (including Features + Bug Fixes) and remove the duplicated header/content.
| ## [0.29.0] - 2026-02-10 | |
| ### 💥 BREAKING CHANGES | |
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | |
| ### 🚀 Features | |
| - 6ee2d59 oxfmt: Use `oxc_formatter` in js-in-xxx part (#18373) (leaysgur) | |
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) |
| ## [1.44.0] - 2026-02-10 | ||
|
|
||
| ### 🚀 Features | ||
|
|
||
| - aef2af5 linter/unicorn: Add fixer for `unicorn/relative-url-style` rule (#19186) (Mikhail Baev) | ||
| - 80eba6f linter/max-params: Support `countThis` option (#19175) (camc314) | ||
| - e19bc45 linter/no-new-func: Improve rule diagnostic with note and actionable help message (#19132) (Sean Gallen) | ||
| - 27c241b linter/plugins: `RuleTester` test fixes (#19091) (overlookmotel) | ||
| - 7318275 linter/new-cap: Tighten diagnostic spans and add help text (#19131) (camchenry) | ||
| - ac2b16b linter: Improve `no-misleading-character-class` diagnostic spans (#19109) (Sysix) | ||
| - 7be8613 linter: Move `no-misleading-chracter-class` to `correctness` (#19006) (Sysix) | ||
| - ee2925b oxlint/lsp: Enable JS plugins (#18834) (overlookmotel) | ||
| - 533013d linter/unicorn: Implement suggestion for `unicorn/prefer-dom-node-dataset` (#19051) (Mikhail Baev) | ||
| - 384abae linter/oxc/no-async-endpoint-handlers: Improve diagnostic message (#19001) (camc314) | ||
| - d35ece3 linter/array-callback-return: Improve diagnostic hints for some cases (#18993) (camc314) | ||
| - dd0f754 linter/array-callback-return: Improve diagnostic message for `forEach` case (#18992) (camc314) | ||
| - e2d28fe linter/plugins: Implement suggestions (#18963) (overlookmotel) | ||
| - a398152 linter: Promote the `eslint/no-iterator` rule to correctness, which makes it a default rule (#18915) (connorshea) | ||
| - 3184f36 linter: Ban relative js plugin specifiers in js extends config (#18944) (camc314) |
There was a problem hiding this comment.
## [1.44.0] - 2026-02-10 and its sections are duplicated (the file lists a full 1.44.0 block, then repeats the same header again). Please remove the duplicate 1.44.0 header/content and keep only one consolidated release entry.
| ## [1.44.0] - 2026-02-10 | |
| ### 🚀 Features | |
| - aef2af5 linter/unicorn: Add fixer for `unicorn/relative-url-style` rule (#19186) (Mikhail Baev) | |
| - 80eba6f linter/max-params: Support `countThis` option (#19175) (camc314) | |
| - e19bc45 linter/no-new-func: Improve rule diagnostic with note and actionable help message (#19132) (Sean Gallen) | |
| - 27c241b linter/plugins: `RuleTester` test fixes (#19091) (overlookmotel) | |
| - 7318275 linter/new-cap: Tighten diagnostic spans and add help text (#19131) (camchenry) | |
| - ac2b16b linter: Improve `no-misleading-character-class` diagnostic spans (#19109) (Sysix) | |
| - 7be8613 linter: Move `no-misleading-chracter-class` to `correctness` (#19006) (Sysix) | |
| - ee2925b oxlint/lsp: Enable JS plugins (#18834) (overlookmotel) | |
| - 533013d linter/unicorn: Implement suggestion for `unicorn/prefer-dom-node-dataset` (#19051) (Mikhail Baev) | |
| - 384abae linter/oxc/no-async-endpoint-handlers: Improve diagnostic message (#19001) (camc314) | |
| - d35ece3 linter/array-callback-return: Improve diagnostic hints for some cases (#18993) (camc314) | |
| - dd0f754 linter/array-callback-return: Improve diagnostic message for `forEach` case (#18992) (camc314) | |
| - e2d28fe linter/plugins: Implement suggestions (#18963) (overlookmotel) | |
| - a398152 linter: Promote the `eslint/no-iterator` rule to correctness, which makes it a default rule (#18915) (connorshea) | |
| - 3184f36 linter: Ban relative js plugin specifiers in js extends config (#18944) (camc314) |
| ## [0.29.0] - 2026-02-10 | ||
|
|
||
| ### 💥 BREAKING CHANGES | ||
|
|
||
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | ||
|
|
||
| ### 🐛 Bug Fixes | ||
|
|
||
| - 5243307 formatter: Preserve numeric separators in number literals (#19015) (Dunqing) | ||
| - b79c065 formatter: Preserve comment between callee and optional chaining operator (#19020) (Dunqing) | ||
| - 01d1be1 formatter: Remove unnecessary parentheses for single-member union types (#19018) (Dunqing) | ||
| - f5c7e75 formatter: Preserve parentheses around await with private field access (#19014) (Dunqing) | ||
| - 5a75785 formatter: Preserve parentheses around nested sequence expressions (#19013) (Dunqing) | ||
| - 0ef11bb formatter: Add space before type annotation with leading comment (#19012) (Dunqing) | ||
| - cc232e1 formatter: Keep spread with callback on same line (#18999) (Dunqing) | ||
| - d53f5c4 formatter: Require string first arg in test calls (#18935) (Dunqing) | ||
| - 57917ee parser: Parse decorators on rest parameters (#18938) (Boshen) | ||
| - 2db8c05 formatter: Avoid breaking generic call assignments (#18933) (Dunqing) | ||
| - 1e023e1 formatter: Preserve trailing comma in mts/cts arrow generics (#18928) (Dunqing) | ||
| - 7c4e558 formatter/detect_code_removal: Do not count `TemplateLiteral` content (#18848) (leaysgur) | ||
|
|
There was a problem hiding this comment.
## [0.29.0] - 2026-02-10 (and the full breaking changes/bug fixes list) is present twice in this changelog. Please drop the duplicated 0.29.0 section so the release notes appear only once.
| ## [0.29.0] - 2026-02-10 | |
| ### 💥 BREAKING CHANGES | |
| - 856a01f formatter/sort_imports: [**BREAKING**] Replace prefix match with glob pattern in `customGroups.elementNamePattern` (#19066) (leaysgur) | |
| ### 🐛 Bug Fixes | |
| - 5243307 formatter: Preserve numeric separators in number literals (#19015) (Dunqing) | |
| - b79c065 formatter: Preserve comment between callee and optional chaining operator (#19020) (Dunqing) | |
| - 01d1be1 formatter: Remove unnecessary parentheses for single-member union types (#19018) (Dunqing) | |
| - f5c7e75 formatter: Preserve parentheses around await with private field access (#19014) (Dunqing) | |
| - 5a75785 formatter: Preserve parentheses around nested sequence expressions (#19013) (Dunqing) | |
| - 0ef11bb formatter: Add space before type annotation with leading comment (#19012) (Dunqing) | |
| - cc232e1 formatter: Keep spread with callback on same line (#18999) (Dunqing) | |
| - d53f5c4 formatter: Require string first arg in test calls (#18935) (Dunqing) | |
| - 57917ee parser: Parse decorators on rest parameters (#18938) (Boshen) | |
| - 2db8c05 formatter: Avoid breaking generic call assignments (#18933) (Dunqing) | |
| - 1e023e1 formatter: Preserve trailing comma in mts/cts arrow generics (#18928) (Dunqing) | |
| - 7c4e558 formatter/detect_code_removal: Do not count `TemplateLiteral` content (#18848) (leaysgur) |
| ## [1.44.0] - 2026-02-10 | ||
|
|
||
| ### 🚀 Features | ||
|
|
||
| - e3dc5f6 linter/plugins: `RuleTester` test suggestions (#19104) (overlookmotel) | ||
| - 6054249 linter/plugins: Add `recursive` option to `RuleTester` (#19093) (overlookmotel) | ||
| - 27c241b linter/plugins: `RuleTester` test fixes (#19091) (overlookmotel) | ||
| - 7be8613 linter: Move `no-misleading-chracter-class` to `correctness` (#19006) (Sysix) | ||
| - 87a920d ci: Add riscv64 and s390x napi targets for oxlint and oxfmt (#19039) (Boshen) | ||
| - ee2925b oxlint/lsp: Enable JS plugins (#18834) (overlookmotel) | ||
| - e2d28fe linter/plugins: Implement suggestions (#18963) (overlookmotel) | ||
| - a398152 linter: Promote the `eslint/no-iterator` rule to correctness, which makes it a default rule (#18915) (connorshea) | ||
| - bb1eb97 linter: Improve diagnostic message for circular configs (#18947) (camc314) | ||
| - 3184f36 linter: Ban relative js plugin specifiers in js extends config (#18944) (camc314) | ||
| - 749972f linter: Validate dynamic config extends shape (#18943) (camc314) | ||
| - b270739 linter: Support extends in oxlint.config.ts (#18942) (camc314) | ||
| - 9fd3bd6 linter/plugins: Add `@oxlint/plugins` NPM package (#18824) (overlookmotel) | ||
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) | ||
| - b23395a linter: Enforce exporting an object with `defineConfig` (#18858) (camc314) | ||
|
|
There was a problem hiding this comment.
This changelog repeats the ## [1.44.0] - 2026-02-10 section (a full 1.44.0 entry is present, then the same version header starts again). Please consolidate into a single 1.44.0 release block and remove the duplicate header/content.
| ## [1.44.0] - 2026-02-10 | |
| ### 🚀 Features | |
| - e3dc5f6 linter/plugins: `RuleTester` test suggestions (#19104) (overlookmotel) | |
| - 6054249 linter/plugins: Add `recursive` option to `RuleTester` (#19093) (overlookmotel) | |
| - 27c241b linter/plugins: `RuleTester` test fixes (#19091) (overlookmotel) | |
| - 7be8613 linter: Move `no-misleading-chracter-class` to `correctness` (#19006) (Sysix) | |
| - 87a920d ci: Add riscv64 and s390x napi targets for oxlint and oxfmt (#19039) (Boshen) | |
| - ee2925b oxlint/lsp: Enable JS plugins (#18834) (overlookmotel) | |
| - e2d28fe linter/plugins: Implement suggestions (#18963) (overlookmotel) | |
| - a398152 linter: Promote the `eslint/no-iterator` rule to correctness, which makes it a default rule (#18915) (connorshea) | |
| - bb1eb97 linter: Improve diagnostic message for circular configs (#18947) (camc314) | |
| - 3184f36 linter: Ban relative js plugin specifiers in js extends config (#18944) (camc314) | |
| - 749972f linter: Validate dynamic config extends shape (#18943) (camc314) | |
| - b270739 linter: Support extends in oxlint.config.ts (#18942) (camc314) | |
| - 9fd3bd6 linter/plugins: Add `@oxlint/plugins` NPM package (#18824) (overlookmotel) | |
| - 9788a96 oxlint,oxfmt: Add more native builds (#18853) (Boshen) | |
| - b23395a linter: Enforce exporting an object with `defineConfig` (#18858) (camc314) |
Oxlint
🚀 Features
unicorn/relative-url-stylerule (feat(linter/unicorn): add fixer forunicorn/relative-url-stylerule #19186) (Mikhail Baev)countThisoption (feat(linter/max-params): supportcountThisoption #19175) (camc314)RuleTestertest suggestions (feat(linter/plugins):RuleTestertest suggestions #19104) (overlookmotel)recursiveoption toRuleTester(feat(linter/plugins): addrecursiveoption toRuleTester#19093) (overlookmotel)RuleTestertest fixes (feat(linter/plugins):RuleTestertest fixes #19091) (overlookmotel)no-misleading-character-classdiagnostic spans (feat(linter): improveno-misleading-character-classdiagnostic spans #19109) (Sysix)no-misleading-chracter-classtocorrectness(feat(linter): moveno-misleading-chracter-classtocorrectness#19006) (Sysix)unicorn/prefer-dom-node-dataset(feat(linter/unicorn): implement suggestion forunicorn/prefer-dom-node-dataset#19051) (Mikhail Baev)forEachcase (feat(linter/array-callback-return): improve diagnostic message forforEachcase #18992) (camc314)eslint/no-iteratorrule to correctness, which makes it a default rule (feat(linter): Promote theeslint/no-iteratorrule to correctness, which makes it a default rule #18915) (connorshea)unicorn/prefer-reflect-apply(feat(linter): implement suggestion forunicorn/prefer-reflect-apply#18932) (Mikhail Baev)typescript/consistent-type-assertions(feat(linter): implementtypescript/consistent-type-assertions#18869) (Bazyli Brzóska)@oxlint/pluginsNPM package (feat(linter/plugins): add@oxlint/pluginsNPM package #18824) (overlookmotel)prefer-expect-type-ofrule (feat(linter/vitest): Implementsprefer-expect-type-ofrule #17957) (Said Atrahouch)unicorn/relative-url-stylerule (feat(linter/unicorn): implementunicorn/relative-url-stylerule #18857) (Mikhail Baev)defineConfig(feat(linter): enforce exporting an object withdefineConfig#18858) (camc314)🐛 Bug Fixes
context.report(node, ...)calls (fix(linter/plugins): support legacycontext.report(node, ...)calls #19193) (camc314)Effect.forEachcalls (fix(linter/no-array-for-each): skipEffect.forEachcalls #19127) (camc314)RuleTesterconsider adjacent fixes as overlapping in ESLint compat mode (fix(linter/plugins):RuleTesterconsider adjacent fixes as overlapping in ESLint compat mode #19094) (overlookmotel)no-misleading-character-class: do not skip reporting on first invalid sequence of the checking group (fix(linter):no-misleading-character-class: do not skip reporting on first invalid sequence of the checking group #19111) (Sysix)no-misleading-character-class: split sequences on allCharacterSet(fix(linter):no-misleading-character-class: split sequences on allCharacterSet#19107) (Sysix)check-tag-namesfor@in email addresses and npm scopes (fix(linter/jsdoc): false positive incheck-tag-namesfor@in email addresses and npm scopes #19021) (Boshen)arguments(fix(linter/prefer-at): skip autofix forarguments#18991) (camc314)popoverrelated props (fix(linter/react/no-unknown-property): add missingpopoverrelated props #18953) (Christoph Nakazawa)./prefix in overrides. (fix(linter): normalize relative paths with./prefix in overrides. #18954) (connorshea)afterhook always runs last in rule converted for ESLint (fix(linter/plugins): ensureafterhook always runs last in rule converted for ESLint #18904) (overlookmotel)ExternalPlugin.config_dirto fix js plugins loading (fix(linter/dynamic-config): setExternalPlugin.config_dirto fix js plugins loading #18854) (camc314)⚡ Performance
Vecwhen compilingPossibleFixes(perf(linter): avoid allocatingVecwhen compilingPossibleFixes#19074) (overlookmotel)📚 Documentation
RuleTesterconfig (docs(linter/plugins): correct and expand JSDoc comment forRuleTesterconfig #19156) (overlookmotel)import/max-dependenciesrule. (docs(linter): Improve docs forimport/max-dependenciesrule. #19119) (connorshea)jsx-a11y/no-redundant-rolesrule. (docs(linter): Rewrite the docs for thejsx-a11y/no-redundant-rolesrule. #19117) (connorshea)import/no-nodejs-modules. (docs(linter): Fix invalid directive in example code forimport/no-nodejs-modules. #19115) (connorshea)DiagnosticReport(docs(linter/plugins): improve JSDoc comment forDiagnosticReport#19103) (overlookmotel)config.generated.ts(docs(linter): regenerateconfig.generated.ts#18897) (overlookmotel)Oxfmt
💥 BREAKING CHANGES
customGroups.elementNamePattern(feat(formatter/sort_imports)!: Replace prefix match with glob pattern incustomGroups.elementNamePattern#19066) (leaysgur)🚀 Features
.gitignore(feat(oxfmt/lsp): Do not refer.gitignore#19206) (leaysgur)oxc_formatterin js-in-xxx part (feat(oxfmt): Useoxc_formatterin js-in-xxx part #18373) (leaysgur)🐛 Bug Fixes
isSingleJsxExpressionStatementInMarkdown()check for js-in-md (fix(oxfmt): HandleisSingleJsxExpressionStatementInMarkdown()check for js-in-md #19042) (leaysgur)babel-tsfor now (fix(oxfmt): Do not overridebabel-tsfor now #19030) (leaysgur)TemplateLiteralcontent (fix(formatter/detect_code_removal): Do not countTemplateLiteralcontent #18848) (leaysgur)⚡ Performance