Suositut: Tiedot päivitetty 27. lokakuuta 2026

Kategoriat

Internet1 356
Viestintä321
Ääni ja video898
Grafiikka ja suunnittelu539
Toimisto ja tuottavuus1 124
Kehitystyökalut3 134
Tekoälytyökalut529
Tietoturva ja yksityisyys385
Järjestelmätyökalut3 114
Pelit523
Opiskelu ja tiede239
Verkko ja IT284

oxfmt: vanhemmat versiot ja versiohistoria

Oxfmt is a high-performance formatter for the JavaScript ecosystem.

oxfmt-ohjelmasta on luettelossa 36 versiota, ensimmäinen 2. helmikuuta 2026 ja uusin 0.69.0. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.

2026: 36 36 26
VersioPäivämääräKokoTiedostot
0.69.0Uusin 21. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- 809090c oxlint,oxfmt: Find all vite.config.* variants (#26755) (leaysgur)
- 4356dc2 formatter_markdown: Keep frontmatter verbatim (#26779) (leaysgur)
- 7717813 formatter_markdown: Implement markdown formatter (#26434) (leaysgur)
- 6c8a862 formatter: Glue fbt component and text (#26616) (leaysgur)

🐛 Bug Fixes
- 68ed6a2 formatter_markdown: Fix real-world missmatches (#26785) (leaysgur)
- 68ce610 formatter: Keep after-operator comments in place (#26725) (leaysgur)
- f91ad92 formatter: Let union place leading comments at as|satisfies (#26674) (leaysgur)
- ea164c0 formatter: Fix block comment with RHS assignment and typecast-ed arrow body (#26672) (leaysgur)
- 406ff1f formatter: Preserve redundant parens for TSTypeAliasDeclaration with suppress comment (#26671) (leaysgur)

📚 Documentation
- e012542 formatter_core: Add note for blanked front matter (#26786) (leaysgur)
- 11ff089 formatter_markdown: Follow updated DIVERGENCES policy (#26776) (leaysgur)
- 8fa3617 oxfmt: Unify DIVERGENCES reference and drop notes (#26750) (leaysgur)
- d8a716c formatter_css: Unify DIVERGENCES reference (#26749) (leaysgur)
- 095a97c formatter: Unify DIVERGENCES reference (#26748) (leaysgur)
- 97dc427 formatter_graphql: Unify DIVERGENCES reference (#26747) (leaysgur)
- 09ecfa7 formatter_yaml: Unify DIVERGENCES reference (#26746) (leaysgur)
- 0c16983 formatter_core: Clean up FORMATTER_POLICY (#26745) (leaysgur)
0.68.0 14. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- 586f27a formatter_core: Add prefix_align builder and Tag::(Start|End)Prefix (#26520) (leaysgur)
- dc45cc3 formatter_test: Test Prettier dynamic snippet tests (#26469) (leaysgur)

🐛 Bug Fixes
- d7e0c82 formatter: Keep an enum member's trailing suppress comment (#26549) (leaysgur)
- d2fe01e formatter: Unify suppress comment behavior (#26547) (leaysgur)
- d35d89f oxfmt: Skip shutdown delay on fixed Node 24 releases (#26518) (Pablo García)
- aef8b4a formatter_css: Handle less-test-suites failures (#26513) (leaysgur)
- 9dbddca formatter: Keep group flat for own-line comment in JSX (#26475) (leaysgur)
- d226e6f formatter_yaml: Bump oxc-yaml-parser to 0.0.6 (#26472) (leaysgur)
- 8b41fc0 formatter_yaml: Clamp tab_width: 0 to 1 to keep semantics (#26471) (leaysgur)
- dea2ba0 formatter_core: Do not panic with align(0) (#26468) (leaysgur)
- bf1d3f6 formatter: Check this_param for simple parameters test (#26474) (leaysgur)
- 33cdc84 formatter: Keep cast-target assignment and commented parameter patterns (#26429) (leaysgur)
- 876fbe3 oxfmt: Expand Fill parts in tsx-in-vue (#26427) (leaysgur)

📚 Documentation
- 66fda4f formatter: Update AGENTS.md comment handling (#26551) (leaysgur)
- 41abcba formatter: Note why jsx-test-suite snippets stay off (#26515) (leaysgur)
0.67.0 7. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
💥 BREAKING CHANGES
- 66744f0 parser: [BREAKING] Rename panicked to fatal_error in ParserReturn (#26382) (overlookmotel)
- 2c9a947 parser: [BREAKING] Reduce MAX_LEN to 256 bytes below u32::MAX (#26352) (overlookmotel)

🚀 Features
- 68e12ab formatter_css: Follow the oxc-css-parser's acceptance line (#26337) (leaysgur)

🐛 Bug Fixes
- f7acdc0 formatter: Treat a JSDoc cast target as opaque in chain layouts (#26375) (leaysgur)
- 104061b formatter: Keep JSDoc cast parens with a comment inside them (#26374) (leaysgur)
- 3d00a76 formatter_css: Keep comment inside important and simple-vars colon (#26370) (leaysgur)
- 172ddb6 formatter_css: Keep a same-line line comment on its line (#26321) (leaysgur)
- cafaf32 formatter_css: Never drop comments inside an at-rule prelude (#26320) (leaysgur)
- 534a0fe formatter_css: Keep a line comment on its comma's line (#26319) (leaysgur)
- 99cfd75 formatter_css: Hide raw comment printing API, use strcut instead (#26316) (leaysgur)
- 2028896 formatter_css: Preserve comments around SCSS/Less variable values (#26276) (leaysgur)
- 6752abc formatter_css: Keep leading comments before (#26272) (leaysgur)
- 3b054de formatter_graphql: Align comment printing after open { (#26271) (leaysgur)
- b3c287a formatter_css: Fix SCSS bracket list printing (#26270) (leaysgur)
- bac770a formatter_css: Preserve comment in SCSS paren comma list (#26269) (leaysgur)
- c7b57ef formatter_css: Print SCSS map consisntent with and without comment (#26268) (leaysgur)
- 063e2b6 formatter_css: Preserve trailing comma in single-item scss lists (#26245) (leaysgur)
- 5f9580d oxfmt: Bump prettier-plugin-tailwindcss (#26273) (leaysgur)

⚡ Performance
- 1cad286 oxfmt: Match editorconfig once per file (#26239) (Yuji Sugiura)
- 260c5eb oxfmt: Match overrides once per file (#26238) (leaysgur)
- 61565bc oxfmt: Share resolved FormatConfig via Arc instead of cloning per file (#26237) (leaysgur)

📚 Documentation
- 32084d4 formatter_core: Clarify printer hard_line compression (#26312) (leaysgur)
- 4fabdcc formatter,formatter_css,formatter_graphql,formatter_yaml: Update DIVERGENCES.md (#26267) (leaysgur)
- 26a1fa4 formatter_core: Refine FORMATTER_POLICY (#26266) (leaysgur)

🛡️ Security
- 9a612d5 deps: Update npm packages (#26178) (renovate[bot])
0.66.0 1. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- 1fb37b6 formatter/css: Format declaration-shaped raw-prelude rules (postcss nested config blocks) (#26194) (leaysgur)

🐛 Bug Fixes
- 9f81002 formatter: Re-add suppressed statement terminators per options.semi (#26220) (leaysgur)
- 769ffd5 formatter: Print suppressed typecast parens (#26218) (leaysgur)
- 5ff57f8 formatter/sort-imports: Handle custom side effect groups (#26217) (leaysgur)
- 2f4d759 formatter: Do not skip cast comment lookup (#26216) (leaysgur)
- 1213e12 formatter: Preserve comment for statement terminators and binary casts (#26213) (leaysgur)
- 57e8e22 formatter_css: Space a folded sign after a call in Less operations (#26134) (leaysgur)
- e4298fb formatter/jsdoc: Follow CommonMark for interrupting lists and guard wrapping from creating them (#26098) (leaysgur)
- a1e21c2 formatter: Apply head body policy everywhere (#26074) (leaysgur)
- 676b7e1 formatter: Keep comments in their for-head slot, before an empty-statement body and do-while (#26073) (leaysgur)
- 3bbcea6 formatter: Keep comments between a head and its body out of the braces across all constructs (#26071) (leaysgur)
- 57537a2 formatter: Place comments between a head and open paren (#26058) (leaysgur)
- e2d53e7 formatter: Place comments between a statement head and its body (#26043) (leaysgur)
- 662556c formatter: Print the idempotent placement for comments in dropped parens (#26041) (leaysgur)
- faf11d9 formatter_yaml: Keep trailing whitespace in block scalars (#26072) (leaysgur)

⚡ Performance
- ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)

📚 Documentation
- b879608 formatter,formatter_graphql,formatter_yaml: Annotate own-line comment inlining as known policy violation (#26131) (leaysgur)
- 181953b oxfmt,formatter_core,formatter,formatter_yaml,formatter_css,formatter_graphql: Extract DIVERGENCES.md out from AGENTS.md (#26121) (leaysgur)
- a67cb9d formatter,formatter_core: Document comment moving policy (#26075) (leaysgur)
- fc175b0 formatter_core: Clarify idempotency test infra (#26069) (leaysgur)
0.65.0 24. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
Bug Fixes
- bf37dd5 formatter: Preserve class decorators before export when the statement is suppressed (#26034) (leaysgur)
0.64.0 18. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
Features
- c07fe7c oxfmt: Support experimentalOperatorPosition (#25643) (leaysgur)
- 2adb8fb formatter: Implement operatorPosition option (#25581) (leaysgur)

Bug Fixes
- 44231fb formatter: Fix comment and indent issues around unions (#25665) (leaysgur)
- 2465e87 formatter: Keep comments in place when dropping EmptyStatement (#25730) (leaysgur)
- 7e4f3b7 formatter: Print JSDocUnknownType (#25729) (leaysgur)
- 5238d9e formatter: Keep nested awaited-paren member chain grouped in call arguments (#25646) (leaysgur)
- a38f7b3 oxlint,oxfmt: Apply .gitignore only to walk targets, not explicitly named files (#25531) (leaysgur)
- 5c0a5ff formatter_css: Fill own-line block comments inside space-separated values (#25578) (leaysgur)
- 53debfa formatter_css: Keep trailing comma and indent after comment-preceded last map value (#25577) (leaysgur)
- 1a83a8d oxfmt: Mirror printer line suppression and restore dedent-to-root (#25573) (leaysgur)
- 7f350d1 formatter: Keep unary comment and print only needed parens (#25526) (leaysgur)
- f405789 formatter_yaml: Consistent chomped eos behavior (#25523) (leaysgur)
- a243311 formatter_yaml: Bump oxc-yaml-parser for contentless block scalar (#25519) (leaysgur)
- 40d38a0 formatter_css: Keep multi value function args intact after leading comment (#25518) (leaysgur)

Documentation
- 223e785 oxfmt/conformance: Update notes on conformance (#25757) (Yuji Sugiura)
- 673dc6d oxfmt: Move some docs from AGENTS.md to code comment (#25649) (leaysgur)
- fed6681 oxfmt: Skip expanding overrides options (#25572) (leaysgur)
0.63.0 10. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
BREAKING CHANGES
- a33788e ast: [BREAKING] Group class heritage into ClassHeritage (#25360) (camc314)
- 5c5cdcd ast: [BREAKING] Narrow TSInterfaceHeritage::expression to TSTypeName (#24360) (camc314)
- 6be314f ast: [BREAKING] Remove duplicated VariableDeclarator::kind (#25319) (camc314)
- 44fd320 ast: [BREAKING] Split TS external modules & Namespace Declarations (#25284) (camc314)

Features
- fd02a89 oxfmt: Dispatch yaml-in-css(frontmatter) to oxc_formatter_yaml (#25336) (leaysgur)
- ab12665 formatter_core: Add hardlineWithoutBreakParent equivalent IR (#25273) (leaysgur)

Bug Fixes
- 95dc917 oxfmt: Drop IR Space at line start for js-in-xxx (#25460) (leaysgur)
- b63eccc formatter: Keep comments after TS this_param (#25459) (leaysgur)
- ab52a59 formatter: Format xxx-in-js inside JSDoc js fence (#25414) (leaysgur)
- 1a2c64a formatter,oxfmt: Apply effective print width for JSDoc fence (#25413) (leaysgur)
- 2eaede9 formatter_core: Unify leading-BOM handlings (#25340) (leaysgur)
- ef1d04b formatter: Break mapped type brackets (#25297) (leaysgur)
- 4e6f3f1 formatter: Break index signature brackets (#25296) (leaysgur)
- e23dccf formatter_css: Bump oxc-css-parser to accept unknown at-rule with interpolated (#25277) (leaysgur)
- c29b587 formatter_core: Measure decided-flat fill separator as flat during group re-measure (#25276) (leaysgur)
- f3c6953 formatter_yaml: Don't rewrite overflowing key to implicit (#25274) (leaysgur)

Performance
- c9d1a5b oxfmt: Spawn tinypool lazily (#25298) (leaysgur)

Documentation
- 6eae5c9 formatter,oxfmt: Record embed-layer decisions in place (#25422) (leaysgur)
- 51224a7 formatter_yaml: Pin EOF blank lines divergence (#25269) (leaysgur)
0.62.0 3. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
BREAKING CHANGES
- 067da8c ast: [BREAKING] Store single parameter in TSIndexSignature::parameter (#25154) (camc314)
- a0c7788 ast: [BREAKING] Change TSIndexSignatureName::name to Ident (#25150) (camc314)
- 1bdedd1 ast: [BREAKING] Introduce ExportDeclaration, ExportFromDeclaration (#25095) (camc314)
- c917f20 ast: [BREAKING] Introduce ArrowFunctionBody enum (#24987) (camc314)
- 0c16cb5 oxfmt: [BREAKING] Format parser:yaml files by oxc_formatter_yaml (#24890) (leaysgur)

Features
- 1b57f78 oxfmt: Support tsx-in-vue (#25063) (leaysgur)
- be7f6da oxfmt: Colorize diff file list in check mode (#25061) (leaysgur)

Bug Fixes
- 68146bd formatter_css: Preserve glued plugin words in grid values (#25225) (leaysgur)
- 20f68e7 oxlint,oxfmt: Respect .gitignore for walk targets and explicit paths (#25133) (leaysgur)
- a9e76e9 oxfmt: Rework tsx-in-vue support (#25106) (leaysgur)
- dd28596 formatter_css: Bump oxc-css-parser for substituted at-rule preludes (#25104) (leaysgur)
- ca1ba71 formatter: Hug arrows with type-reference return annotations (#25044) (Pitiș Radu)
- f56009a oxfmt: Correct prose about comment width in fits measurement (#25054) (leaysgur)
- 22fdda4 oxfmt/conformance: Fix typo (#25053) (leaysgur)
- ee344bd formatter_yaml: Break long keys off a block scalar header (#25014) (leaysgur)
- d5e3476 formatter_yaml: Let ancestor collection values claim end comments after block scalars (#24897) (leaysgur)
- ec05297 formatter_yaml: Align sequence container end comments to the dash width (#24891) (leaysgur)
- e6e584b oxfmt: Type jsdoc. enum options (#25008) (leaysgur)

Performance
- b91d5a8 formatter_css,formatter_graphql,formatter_yaml,formatter_json: Pre alloc IR buffers (#25234) (leaysgur)

Documentation
- eaa7c69 formatter_core: Extract FORMATTER_POLICY (#25233) (leaysgur)
- a1842e2 formatter_json: Fix outdated separeted.rs comments (#25144) (leaysgur)
- 193e16f formatter/jsdoc: Correct str_width attribution (#25142) (leaysgur)
0.61.0 27. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- eabfe01 oxfmt/lsp: Support oxc.fmt.disableNestedConfig (#24965) (leaysgur)
- 2357a10 formatter_yaml: Implement YAML formatter (#24534) (leaysgur)

🐛 Bug Fixes
- 761a882 formatter_css: Keep leading + in An+B to enable idempotency check (#24973) (leaysgur)
- e037709 formatter: Stop preserving indent for embedded template exprs (#24972) (leaysgur)
- ae1a39b formatter_css: Align wrapped selector-arg indent (#24971) (leaysgur)
- 143fd1f formatter: Align quoted new signature (#24883) (leaysgur)
- 07ff12f formatter_yaml: Fix indent, blank, and spacing issues (#24837) (leaysgur)
- d076b40 formatter: Check calee chain is_simple (#24871) (leaysgur)
- fb34196 formatter_css: Keep non-ASCII strings with quotes (#24870) (leaysgur)
- 9213560 config: Preserve defineConfig field JSDoc (#24326) (周星星同学)
- 31783e9 formatter_css: Print nested SCSS map with consistent indent (#24789) (leaysgur)
- 8eb9eca formatter/jsdoc: Respect singleQuote option in @import (#24787) (leaysgur)
- 6f05ac4 formatter: Fix template literal formatting (#24786) (leaysgur)

⚡ Performance
- bb73b23 formatter_core: Bound the thread-local scratch cache (#24793) (leaysgur)
- a5f7b15 formatter: Stage assignment-like left hand side on the heap (#24613) (leaysgur)
- 94de05f formatter: Accumulate JSX child-list builders on the heap (#24585) (leaysgur)
- 7810e8a formatter_core: Share one thread-cached scratch vector across staging buffers (#24583) (leaysgur)
- c191f51 formatter_core: Stage IR buffers on the heap to reduce arena memory (#24582) (leaysgur)

📚 Documentation
- 69126a0 formatter_css,fomatter_graphql,formatter_yaml: Update AGENTS.md (#24821) (leaysgur)
0.60.0 21. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
BREAKING CHANGES
- 54cc121 ast: [BREAKING] Split MetaProperty into ImportMeta and NewTarget (#24557) (camc314)

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)
0.59.0 14. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
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)
0.58.0 6. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- 4f4313e formatter_css: Update oxc-css-parser 0.0.5 (#24120) (leaysgur)
- 0ccd8a1 formatter_graphql: Update oxc-graphql-parser 0.0.5 (#24106) (leaysgur)
- 89ec3d9 formatter_core: Add literal line and root indention primitives (#24051) (leaysgur)
- 213a96b formatter_core: Add no-expand-parent for multiline text (#24050) (leaysgur)
- 0e5bcc9 formatter_graphql: Update oxc-graphql-parser 0.0.4 (#24039) (leaysgur)
- e0b35a1 formatter_css: Update oxc-css-parser@0.0.3 (#23974) (leaysgur)

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

⚡ Performance
- 468e1e3 formatter_core: Make printer queues cursor-based (#24098) (Boshen)
- c59f2fe rust: Return impl ExactSizeIterator from slice-backed accessors (#24144) (Boshen)
- c292fb2 formatter: Inline fits element dispatcher (#23982) (camc314)
0.57.0 29. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
BREAKING CHANGES
- 259e0cd oxfmt,formatter_graphql: [BREAKING] Support draft syntax with removing prettier fallback (#23326) (leaysgur)
- accbc49 oxfmt: [BREAKING] Format parser:css,less,scss files + css-in-js by oxc_formatter_css (#23321) (leaysgur)

🚀 Features
- dffa4b3 formatter_css: Implement oxc_formatter_css (#23320) (leaysgur)
- 01de9ec oxfmt: Format parser:graphql files by oxc_formatter_graphql (#23318) (leaysgur)
- 4e66212 formatter_graphql: Implement oxc_formatter_graphql (#23317) (leaysgur)

🐛 Bug Fixes
- 67325ae formatter_css: Handle frontmatter language (#23819) (leaysgur)
- 3f355e5 formatter_graphql: Improve major prettier diffs (#23419) (leaysgur)
- 48e2d78 formatter_css: Improve major prettier diffs (#23327) (leaysgur)
- 8c07cad all: Enable disable_old_builder Cargo feature for oxc_ast crate in tests (#23888) (overlookmotel)
- f7d1f50 oxlint, oxfmt: Enable disable_old_builder Cargo feature for oxc_ast crate (#23886) (overlookmotel)
- d86f60b lsp: Normalize user config path to watch pattern (#23723) (Sysix)

⚡ Performance
- 4ddcba0 formatter_core: Add printable-ASCII fast path to TextWidth (#23913) (Lawrence Lin)

📚 Documentation
- b4d0dc9 oxfmt,formatter,formatter_css,formatter_core: Update AGENTS.md (#23814) (leaysgur)
0.56.0 22. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
💥 BREAKING CHANGES
- 36009dd allocator: [BREAKING] GetAllocator::allocator take &self (#23676) (overlookmotel)

🐛 Bug Fixes
- f21ed2c formatter_json: Normalize CRLF for suppressed text (#23702) (leaysgur)
- 7cd1737 formatter: Normalize CRLF for suppressed text (#23701) (leaysgur)
- a36e444 formatter: Member chain panic when tail is merged with comment in dev build (#23698) (leaysgur)
- 600d306 formatter: Preserve parens with default export and type cast (#23697) (leaysgur)
- 61290f2 formatter: Single-member intersection/union type with comment formatting (#21915) (Leonabcd123)
- 5a1b0b4 formatter: Parenthesize a type assertion used as the base of ** (#23633) (Jerry Zhao)
- 91827e2 formatter: Use Ordering::reverse() with order: desc for idempotency (#23543) (leaysgur)
- 8fa7394 formatter_json: Handle wrapped error span (#23472) (leaysgur)
- 37a34a1 oxfmt/lsp: Avoid newlines line ending changes (#23463) (Sysix)

⚡ Performance
- 80f1697 formatter: Avoid arena copy for already-lowercase bigint literals (#23534) (Yunfei He)
- 1a40b71 formatter: Avoid arena copy for borrowed numeric-literal text (#23512) (Yunfei He)
- 12e4451 formatter: Avoid arena copy for borrowed string-literal text (#23465) (Yunfei He)
0.55.0 15. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP32-bittinen ZIP
Muutosloki
🚀 Features
- 0c6fb23 oxfmt: Format parser:json-stringify files by oxc_formatter_json (#23194) (leaysgur)
- 8cc82c4 formatter_json: Implement json-stringify variant (#23192) (leaysgur)

🐛 Bug Fixes
- 956309a lsp: Use protocol line breaks for positions (#23329) (konh)
- 769de65 oxfmt: Handle compound json extensions (#23198) (leaysgur)
- b0b5d39 formatter_json: Support JSON5/JSON6 value in json/jsonc/json5 (#23193) (leaysgur)

📚 Documentation
- 4986613 formatter_json: Update AGENTS.md (#23199) (leaysgur)
0.54.0 8. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Features
- 3da77e0 oxfmt: Format parser:json5 files by oxc_formatter_json (#22990) (leaysgur)
- c786f0d oxfmt: Format parser:jsonc files by oxc_formatter_json (#22913) (leaysgur)
- 27a6db8 formatter_json: Implement jsonc variant (#22912) (leaysgur)

Bug Fixes
- 2aedd52 oxfmt: Avoid JS promise rejects for all TSFN call sites (#23107) (leaysgur)
- 01e0871 formatter,formatter_json: Handle PS/LS as line terminator (#22978) (leaysgur)
- 23902d9 formatter_json: Handle CR only line breaks (#22977) (leaysgur)
- 136b72b formatter_json: Use line_suffix for line comment outside array (#22931) (leaysgur)
- 44e40fa formatter_json: Expand line comment inside array (#22911) (leaysgur)
- 2c86896 formatter_json: Avoid example binary name collision (#22904) (camc314)

Documentation
- cc69d8d formatter_json: Update AGENTS.md (#22981) (leaysgur)
- 0490721 formatter_json: Update AGENTS.md (#22976) (leaysgur)
- dadafe3 oxlint, oxfmt: Mention migrate skills in npm READMEs (#22965) (Boshen)
- f88961a oxfmt: Annotate each config option with supported languages (#22953) (leaysgur)
- 7e514bf formatter_json: Update AGENTS.md (#22930) (leaysgur)
0.53.0 1. kesäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
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)
0.52.0 26. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
🚀 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)
0.51.0 19. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Bug Fixes
- 8ee946f formatter/sort_imports: Use label to classify lines (leaysgur)
- 8c1da44 formatter: Normalize destructuring keys in DCR (camc314)
0.50.0 15. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
💥 BREAKING CHANGES
- 21bb5d1 oxfmt: [BREAKING] Avoid config pre-scan (#22258) (leaysgur)

🐛 Bug Fixes
- 441d724 oxfmt: Fix "race probe" logic with unit tests (#22378) (leaysgur)
- e49ee26 formatter: Respect singleQuote for jsdoc import() type paths (#22353) (Colin Lienard)
- 43b9978 formatter/sort_imports: Treat subpath imports as internal (#22440) (leaysgur)
- 7c5cfa0 formatter: Handle jsx trailing comment with parens (#22370) (leaysgur)
- ac5f120 formatter: Fix erroneous formatting inside a template literal with parentheses (#22262) (Jovi De Croock)
- 3c53a95 formatter/sort_imports: Handle ignore comment as boundary (#22369) (leaysgur)
- 4dd83dd oxfmt: Send expandedStates variants as shared refs (#22366) (leaysgur)
- 055cc61 formatter: Expand JSX logical chain with leading line comment (#22346) (leaysgur)
- 8046222 formatter: Preserve type alias comment break (#22261) (Jovi De Croock)

⚡ Performance
- 123c493 oxfmt: Reduce more syscalls (#22380) (leaysgur)
0.49.0 11. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
💥 BREAKING CHANGES
- 5c6c390 oxfmt: [BREAKING] Respect more git ignore options, align with Oxlint (#22210) (leaysgur)

🚀 Features
- 6e8e818 oxfmt: Experimental .svelte support (#21700) (leaysgur)

🐛 Bug Fixes
- e2a20b6 formatter: Add space after commas in import attributes (#22274) (Leonabcd123)

⚡ Performance
- b756682 oxfmt: Optimize nested config prescan (#22232) (Jovi De Croock)
- f14e81e formatter/sort_imports: Skip sort for single import runs (#22204) (leaysgur)
- 32255b1 formatter: Process ImportDeclarations in a run (#22079) (overlookmotel)

📚 Documentation
- 4da6f4c formatter: Correct comment (#22217) (overlookmotel)
- ef3507d formatter/sort_imports: Refresh docs (#22203) (leaysgur)
0.48.0 5. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Bug Fixes
- ef0db6b formatter: Sequence expression in arrow function body collapses onto one line (#21183) (Justin Mecham)
- 5d5d808 formatter: Preserve blank line after directive with trailing comment (#21153) (Justin Mecham)

Performance
- 2fd907d formatter: Sort imports during IR construction (#22065) (overlookmotel)

Security
- 82dbbec deps: Update npm packages (major) (#21558) (renovate[bot])
0.47.0 27. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
BREAKING CHANGES
- 502e804 ast: [BREAKING] Reduce size of TSTypePredicateName (#21711) (overlookmotel)
- 5651539 ast: [BREAKING] Reduce size of JSXExpression (#21710) (overlookmotel)
- c44e280 ast: [BREAKING] Reduce size of ArrayExpressionElement (#21709) (overlookmotel)

Features
- e37cfc4 oxfmt/lsp: Format files outside workspace folders (#21481) (Sysix)
- 3bc54a9 oxfmt: Respect nested config for --stdin-filepath (#21627) (leaysgur)
- 144f27a oxfmt: Respect ignore settings for --stdin-filepath (#21625) (leaysgur)
- 81c7ae4 oxfmt/lsp: Add vite plus version to server info (#21586) (Sysix)

Bug Fixes
- 477435b formatter/sort_imports: Keep leading blank line when decreasing group transitions (#21835) (leaysgur)
- 38d1e82 oxfmt/lsp: Format non file:// URIs without a authority (#21647) (Sysix)
- 5eb8e2b formatter/sort_imports: Preserve blank lines around ignored side-effect imports (#21692) (leaysgur)
- 0dce3c6 oxfmt: Handle invalid overrides config without panic (#21661) (Yuji Sugiura)
- 9f82ed4 formatter: Escape backticks in JSDoc inline code spans (#21577) (bab)

Performance
- db6c603 oxfmt/lsp: Avoid clones on lsp options deserializion (#21749) (Sysix)
- 6a96c76 formatter: Avoid heap alloc for jsdoc delimiter (#21597) (leaysgur)
0.46.0 20. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.61.0
- Oxfmt v0.46.0

Oxlint v1.61.0

💥 BREAKING CHANGES
- 24fb7eb allocator: [BREAKING] Rename Box and Vec methods (#21395) (overlookmotel)

🚀 Features
- 38d8090 linter/jest: Implemented jest version settings in config file. (#21522) (Said Atrahouch)
- 7dbbb99 linter/eslint: Implement suggestion for no-case-declarations rule (#21508) (Mikhail Baev)
- 9b4d9f6 linter/prefer-template: Implement autofix (#21502) (François)
- daa64ed linter/no-empty-pattern: Add allowObjectPatternsAsParameters option (#21474) (camc314)
- cf2d281 linter/typescript: Implement explicit-member-accessibility (#21447) (Hunter Tunnicliff)
- d48de6f linter/unicorn: Add help messages to 3 rule diagnostics (#21459) (Mukunda Rao Katta)
- cffdc2e linter: Backfill rule version metadata (#21391) (Old Autumn)

🐛 Bug Fixes
- 96ede2c linter/no-useless-assignment: Preserve conditional self-reads (#21582) (camc314)
- 1e69b91 linter/no-useless-assignment: Improve diagnostic spans (#21581) (camc314)
- f272594 linter/plugins: Align RuleMeta.replacedBy type with ESLint (#21544) (bab)
- 4d57851 linter/eslint: Enhance no-empty-function rule to support async and generator functions in VariableDeclarator (#21542) (Mikhail Baev)
- 00fc136 codegen: Preserve coverage comments before object properties (#21312) (bab)
- a56b7b9 oxlint: Dont enable gitlab formatter by default (#21501) (camc314)
- 9c9b6a2 linter/array-callback-return: Ignore non-exit CFG dead ends (#21497) (camc314)
- 61088e0 linter/unicorn: Handle computed property access in prefer-dom-node-remove rule (#21470) (Mikhail Baev)
- eab5934 linter: Report an error on unsupported extends values (#21406) (John Costa)
- 3289ba0 linter/valid-expect-in-promise: Check a jest fn to be test instead of describe (#21422) (Said Atrahouch)
- 4417fe3 linter/prefer-ending-with-an-expect: Ignore vi.mock factory callbacks (#21414) (Cédric Exbrayat)
- a904883 linter/consistent-type-imports: Ignore vue/svelte/astro files (#21415) (bab)
- 2498fe6 linter/no-unused-vars: Allow segments of dotted namespace declarations (#21416) (bab)
- 44b5b35 linter: Preserve vitest-compatible jest rules when applying overrides (#21389) (Cameron)
- 7bd8331 linter/prefer-ending-with-an-expect: Add missing version docs (#21390) (Said Atrahouch)
- 43d8f0d linter/no-useless-assignment: Ignore writes read by closures (#21380) (camc314)

📚 Documentation
- c1eeae3 linter: Add version to rule.json (#21547) (camchenry)
- 0ec6ab2 linter: Improve the vitest/no-importing-vitest-globals rule documentation. (#21557) (connorshea)

Oxfmt v0.46.0

💥 BREAKING CHANGES
- 24fb7eb allocator: [BREAKING] Rename Box and Vec methods (#21395) (overlookmotel)

🚀 Features
- 5aa7fe1 oxfmt: Add --disable-nested-config CLI flag (#21514) (leaysgur)
- b5cb8d1 oxfmt: Update prettier to 3.8.3 (#21451) (leaysgur)
- 16713d5 oxfmt/cli: Support per-directory config (#21103) (leaysgur)
- 952de06 oxfmt/lsp: Support per-directory config (#21081) (leaysgur)

🐛 Bug Fixes
- a501a53 formatter: Handle comments after pipe in single-member union types (#21487) (John Costa)
- 6f49fad oxfmt: Respect nested config.ignorePatterns (#21489) (leaysgur)
- 7c98d52 oxfmt: Do not panic on finding invalid nested config (#21461) (leaysgur)
- 41bb2d5 formatter: Preserve more intrinsic parens (#21449) (leaysgur)
- f894750 formatter: Preserve parens around intrinsic in type alias annotation (#21410) (Dunqing)

⚡ Performance
- df27b48 oxfmt: Skip ancestors check when no nested config found (#21517) (leaysgur)
- 5e1522a oxfmt: Do not occupy the rayon thread solely for handover (#21408) (leaysgur)
0.45.0 13. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.60.0
- Oxfmt v0.45.0

Oxlint v1.60.0

💥 BREAKING CHANGES
- 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#21246) (overlookmotel)
- c4aedfa str: [BREAKING] Add static_ident! macro (#21245) (overlookmotel)
- 7354f3c linter: [BREAKING] Error on no matched files (#21144) (camc314)

🚀 Features
- 94a32b9 linter/jest: Share common pattern expect functions (#21376) (Said Atrahouch)
- bab5c31 linter/jest: Implement prefer-ending-with-an-expect rule (#21372) (Said Atrahouch)
- 91f2c79 linter/eslint-jest-plugin: Implemented prefer-importing-jest-globals rule (#21303) (Said Atrahouch)
- a02f32c linter: Add release version for existing rules (#21363) (camchenry)
- b9e93da linter: Allow tagging rules with release version (#21362) (camchenry)
- f99ecda oxlint: Gate vite.config.ts recognition behind VP_VERSION env var (#21298) (leaysgur)
- cf459d3 linter: Implement suggestion for no-empty-function rule (#21347) (Mikhail Baev)
- 7213d61 linter: Adding pending suggestions fix to valid_expect rules. (#21249) (Said Atrahouch)
- ae45312 linter: Introduce --type-check-only flag (#21184) (camc314)
- 1ce8b90 linter: Implemented valid-expect-in-promise vitest and jest rule (#21170) (Said Atrahouch)
- 39f7fda linter: Add auto-fix to unicorn/prefer-default-parameters (#21166) (yefan)
- 15574bc linter/unicorn: Implement consistent-template-literal-escape (#21126) (AliceLanniste)
- c5c8c03 linter/prefer-readonly-parameter-types: Move rule from nursery to pedantic (#21114) (camc314)
- 1893be1 linter/no-useless-default-assignment: Move rule from nursery to correctness (#21113) (camc314)
- 5462ff9 linter/strict-void-return: Move rule from nursery to pedantic (#21115) (camc314)
- c2989bd linter/no-unnecessary-type-parameters: Move rule from nursery to suspicious (#21112) (camc314)
- 79d339a linter/no-unnecessary-qualifier: Move rule from nursery to style (#21111) (camc314)

🐛 Bug Fixes
- b577efc linter/unicorn: Handle optional chaining in prefer-array-flat and no-invalid-remove-event-listener (#21299) (Mikhail Baev)
- 5e55735 oxlint/lsp: Skip .git directories in LSP walkers (#21316) (camc314)
- ec7f6ed oxlint, oxfmt: Apply check_for_writer_error to .flush() (#21343) (Craig Morrison)
- a17a08a linter/no-useless-assignment: Handle continue edges in loop analysis (#21358) (camc314)
- a0eac12 linter/array-type: Move match to first stmt (#21357) (camc314)
- 1b3abc3 linter: Exclude boundary tokens from JSXText whitespace check in isSpaceBetweenTokens (#21313) (bab)
- ecbcf5e linter: More info to summary output for GitHub formatter (#21330) (Théo LUDWIG)
- a0a8c62 linter/no-fallthrough: Check from start of switch case for empty lines (#21324) (Josh Cartmell)
- 36f0bc4 linter/no-cycle: Report all cyclic dependencies inside a file (#21259) (camc314)
- 3f80536 linter: Ignore regex flags other than g/u/v in prefer-string-replace-all (#21203) (bab)
- f21d3aa linter/unicorn: Report on optional in require-number-to-fixed-digits-argument rule (#21207) (Mikhail Baev)
- af8e122 linter: Render each config error as a separate diagnostic (#21120) (bab)
- a950f55 linter/unicorn: Do not report on optionals in no-single-promise-in-promise-methods (#21157) (Mikhail Baev)
- 472f8ee linter: Mark complete comment for unused disable directives + lsp fix (#21092) (copilot-swe-agent)
- edd0865 linter/no-array-index-key: False positive when index is inside an expression within a template literal (#21123) (bab)
- 7e8d520 linter/unicorn: Report on optional foo?.postMessage in require-post-message-target-origin rule (#21104) (Mikhail Baev)

⚡ Performance
- addcd02 napi/parser, linter/plugins: Raw transfer deserializer for Vecs use shift instead of multiply where possible (#21142) (overlookmotel)
- 3068ded napi/parser, linter/plugins: Shift before add when calculating positions in raw transfer deserializer (#21141) (overlookmotel)
- eb400b8 napi/parser, linter/plugins: Remove uint32 buffer view (#21140) (overlookmotel)
- 7a8661
0.44.0 7. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.59.0
- Oxfmt v0.44.0

Oxlint v1.59.0

💥 BREAKING CHANGES
- 22ce6af oxlint/lsp: [BREAKING] Show/fix safe suggestions by default (#19816) (Sysix)

🚀 Features
- 7a7b7b8 oxlint/lsp: Add source.fixAllDangerous.oxc code action kind (#20526) (bab)
- 9cfe57e linter/unicorn: Implement prefer-import-meta-properties rule (#20662) (Irfan - ئىرفان)
- 1edb391 linter/eslint: Implement no-restricted-exports rule (#20592) (Nicolas Le Cam)
- 0f12bcd linter/react: Implement hook-use-state rule (#20986) (Khaled Labeb)
- 1513a9f oxlint/lsp: Show note field for lsp diagnostic (#20983) (Sysix)
- 7fdf722 linter/unicorn: Implement no-useless-iterator-to-array rule (#20945) (Mikhail Baev)
- 39c8f2c linter/jest: Implement padding-around-after-all-blocks (#21034) (Sapphire)
- ac39e51 linter/eslint-vitest-plugin: Prefer importing vitest globals (#20960) (Said Atrahouch)
- 0b84de1 oxlint: Support allow option for prefer-promise-reject-errors (#20934) (camc314)
- 23db851 linter/consistent-return: Move rule from nursery to suspicious (#20920) (camc314)
- 9a27e32 linter/no-unnecessary-type-conversion: Move rule from nursery to suspicious (#20919) (camc314)
- 1ca7b58 linter/dot-notation: Move rule from nursery to style (#20918) (camc314)
- 73ba81a linter/consistent-type-exports: Move rule from nursery to style (#20917) (camc314)
- b9199b1 linter/unicorn: Implement switch-case-break-position (#20872) (Mikhail Baev)
- 3435ff8 linter: Implements prefer-snapshot-hint rule in Jest and Vitest (#20870) (Said Atrahouch)
- 98510d2 linter: Implement react/prefer-function-component (#19652) (Connor Shea)
- 871f9d9 linter: Implement no-useless-assignment (#15466) (Zhaoting Zhou)
- 0f01fbd linter: Implement eslint/object-shorthand (#17688) (yue)

🐛 Bug Fixes
- 8be4de7 linter/unicorn: Do not report on optionals in prefer-array-flat-map (#21082) (Mikhail Baev)
- dd2df87 npm: Export package.json for oxlint and oxfmt (#20784) (kazuya kawaguchi)
- 9bc77dd linter/no-unused-private-class-members: False positive with await expr (#21067) (camc314)
- 60a57cd linter/const-comparisons: Detect equality contradictions (#21065) (camc314)
- 2bb2be2 linter/no-array-index-key: False positive when index is passed as function argument (#21012) (bab)
- 6492953 linter/no-this-in-sfc: Only flag this used as member expression object (#20961) (bab)
- 9446dcc oxlint/lsp: Skip node_modules in oxlint config walker (#21004) (copilot-swe-agent)
- af89923 linter/no-namespace: Support glob pattern matching against basename (#21031) (bab)
- 64a1a7e oxlint: Don't search for nested config outside base config (#21051) (Sysix)
- 3b953bc linter/button-has-type: Ignore document.createElement calls (#21008) (Said Atrahouch)
- 8c36070 linter/unicorn: Add support for Array.from() for prefer-set-size rule (#21016) (Mikhail Baev)
- c1a48f0 linter: Detect vitest import from vite-plus/test (#20976) (Said Atrahouch)
- 5c32fd1 lsp: Prevent corrupted autofix output from overlapping text edits (#19793) (Peter Wagenet)
- ca79960 linter/no-array-index-key: Move span to key property (#20947) (camc314)
- 2098274 linter: Add suggestion for jest/prefer-equality-matcher (#20925) (eryue0220)
- 6eb77ec linter: Allow default-import barrels in import/named (#20757) (Bazyli Brzóska)
- 9c218ef linter/eslint-vitest-plugin: Remove pending fix status for require-local-test-context-for-concurrent-snapshot (#20890) (Said Atrahouch)

⚡ Performance
- fb52383 napi/parser, linter/plugins: Clear buffers and source texts earlier (#21025) (overlookmotel)
- 3b7dec4 napi/parser, linter/plugins: Use utf8Slice for decoding UTF-8 strings (#21022) (overlookmotel)
- 012c924 napi/parser, linter/plugins: Speed up decoding strings in raw transfer (#21021) (overlookmotel)
- 55e1e9b napi/parser, linter/plugins: Initialize vars as 0 (#21020) (overlookmotel)
- c25ef02 napi/parser, linter/plugins: Simplify branch condition in deserializeStr (#21019) (overlookmotel)
- 9f494c3 napi/parser, linter/plugins: Raw transfer use String.f
0.43.0 31. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.58.0
- Oxfmt v0.43.0

Oxlint v1.58.0

💥 BREAKING CHANGES
- c0ebbce linter: [BREAKING] Report error on unknown builtin rule (#20464) (camc314)

🚀 Features
- 04f85e5 linter/no-unused-vars: Add safe-fix option for import fixes (#20839) (Marcell Toth)
- 32a3706 linter/eslint-vitest-plugin: Implements require-test-timeout rule (#20806) (Said Atrahouch)
- ae03653 linter: Implement suggestion for eslint/no-useless-computed-key rule (#20805) (Mikhail Baev)
- 6624513 linter/prefer-string-starts-ends-with: Move rule from nursery to style (#20797) (camc314)
- 58941f8 linter/prefer-readonly: Move rule from nursery to style (#20796) (camc314)
- 8837ffd linter/prefer-regexp-exec: Move rule from nursery to style (#20795) (camc314)
- 7e88871 linter/prefer-find: Move rule out of nursery (#20794) (camc314)
- ca6e5bc linter/vitest: Implement prefer-called-exactly-once-with (#17562) (Said Atrahouch)
- e80c0bf linter/eslint-plugin-vitest: Implement require-mock-type-parameters (#20785) (Said Atrahouch)
- cec8b8f linter/vitest: Implement require-awaited-expect-poll rule (#20702) (Said Atrahouch)
- d8e9d01 linter/eslint-plugin-vitest: Set prefer-to-have-been-called-times compatible with jest (#20703) (Said Atrahouch)
- caf8231 linter: Enhance import plugin diagnostics with help messages (#20766) (离谱)
- f44adfa linter: Improve the oxlint config generated by --init. (#20632) (connorshea)
- 43f4827 linter: Add help text to jest and promise diagnostics (#20640) (kszongic)
- 16516de linter: Enhance types for DummyRule (#20751) (camc314)
- 27374e8 linter: Add hint about node version when ts config fail to import (#20570) (camc314)
- 8e34150 linter/eslint-plugin-vitest: Sync rule with JS implementation (#20679) (Said Atrahouch)

🐛 Bug Fixes
- df057d5 linter/no-noninteractive-tabindex: Add missing composite widget … (#20860) (bab)
- bb34073 linter: Mark vitest/valid-title as a compatible jest rules (#20463) (Nicolas Le Cam)
- bd2c76b linter: Handle shadowed locals in no-restricted-globals (#20811) (Ulrich Stark)
- 62e39be linter: Sort nested object keys in fix of eslint/sort-keys in one pass (#20838) (Ulrich Stark)
- 3ef37da oxlint/lsp: Error on unknown command (#20841) (Sysix)
- ab1070d oxlint/cli: Skip parsing base config again for nested config search (#20809) (Sysix)
- 2be3728 oxlint/lsp: Skip parsing base config again for nested config search (#20808) (Sysix)
- 6171217 oxlint: Respect NO_COLOR env for format=stylish (#20804) (Sysix)
- d89ae8f linter/plugins: Patch WeakMap to emulate WeakMaps keyed by sourceCode (#20799) (overlookmotel)
- c610666 linter/no-shadow: Respect env settings when builtinGlobals is enabled (#20429) (vvnikita74)
- 6bb502f linter/no-invalid-void-type: Allow void generic args in heritage clauses (#20780) (camc314)
- 365bb7d linter: Skip typed nested literals in explicit-module-boundary-types (#20776) (camc314)
- 0aa1ff0 linter/plugins: Ensure after hook is always called in ESLint compat mode (#20721) (overlookmotel)
- 31145a9 linter/plugins: Fire after hook after CFG events in ESLint compat (#20720) (overlookmotel)
- c09a5ab diagnostics: Skip minified fallback for single-line reporters (#20716) (camc314)
- e4dc9a1 linter: Isolate --init config writes from parallel tests (#20717) (camc314)
- 7e394ec linter: Clarify empty replacement fixer help text (#20698) (camc314)
- d15a99c linter/jsx-curly-brace-presence: Flag empty string literals (#20690) (camc314)

📚 Documentation
- c722495 linter: Update JS Plugins + LS references (#20843) (camc314)
- e1f9748 linter/jsdoc/require-property: Fix typo (#20792) (Benjaming61001)
- be3dcc1 linter: Add note about node version + custom TS plugin (#19381) (camc314)

Oxfmt v0.43.0

🚀 Features
- 6ef440a oxfmt: Support bool for object style options (#20853) (leaysgur)
- 23050fa oxfmt: Support markdown-in-js substitution (#20683) (leaysgur)
- 4087295 oxfmt: Support angular-in-js substitution (#20676) (leaysgur)
0.42.0 24. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.57.0
- Oxfmt v0.42.0

Oxlint v1.57.0

🚀 Features
- 2244984 linter: Implement vitest/prefer-strict-boolean-matchers rule (#20603) (Mikhail Baev)
- c5f0ed3 linter/array-callback-return: Use CFG for analysis (#20498) (camc314)
- f9a63ca linter: Implement unicorn/custom-error-definition rule (#20520) (Mikhail Baev)

🐛 Bug Fixes
- 5e893d7 jsdoc: Parse tags after interval notation in descriptions (#20046) (camc314)
- 532c921 linter/plugins: Include loc when call JSON.stringify on Tokens and Comments (#20512) (overlookmotel)
- c3d9e91 linter/plugins: Fix memory leak in tokens and comments (#20477) (overlookmotel)
- 525c398 linter: Detect no-cycle with auto-discovered tsconfig paths (#20566) (camc314)
- 9519380 linter/no-noninteractive-tabindex: Handle numeric tabIndex values on non-interactive elements (#20538) (camc314)
- 04c84bb linter: Fix cloning on Windows by reducing the size of a problematic snapshot filename. (#20511) (connorshea)
- 65a7c3c linter/hex-escape: False positive for String.raw (#20497) (camc314)
- d3cdc82 linter/escape-case: False positive for String.raw (#20496) (camc314)
- 50d59e9 linter/explicit-function-return-type: False negative with HOF detection (#20495) (camc314)
- d78c55d linter/no-unused-vars: Handle loop-carried self-reassignments (#20457) (camc314)
- 6a307d1 linter/explicit-module-boundary-types: Fix false positives for satisfies-wrapped members (#20439) (camc314)
- 0c57312 tsgolint: Use primary span for the disable directive (#20436) (camc314)
- 4791b2e linter: Add summary output to GitHub formatter (#20404) (Hideyasu-Ozawa)

⚡ Performance
- 30891bd linter/plugins: Share empty Uint32Array across multiple places (#20509) (overlookmotel)
- 336f7f7 linter/plugins: Faster conversion of span to Location (#20507) (overlookmotel)
- a187333 linter/plugins: Reuse descriptor objects for Object.defineProperty calls (#20505) (overlookmotel)
- 5984a66 linter/plugins: Recycle Location objects (#20491) (overlookmotel)
- 8729614 linter/plugins: Reduce operations in binary search (#20490) (overlookmotel)
- 9cfc312 linter/plugins: Reduce allocations for tokens and comments with accessed loc (#20480) (overlookmotel)
- 9c7a267 linter/plugins: Reduce allocations for regex tokens (#20479) (overlookmotel)
- 4ee80ac linter/plugins: Remove bounds checks on regex tokens (#20478) (overlookmotel)
- 4a22f60 linter/plugins: Remove regex from getCommentsBefore + getCommentsAfter (#20475) (overlookmotel)
- 9a622c7 linter/plugins: Lazy deserialize tokens and comments (#20474) (overlookmotel)
- c6ea0a0 ast: Place NodeId field after Span in structs (#20584) (overlookmotel)
- d176ecc napi/parser, oxlint/plugins: Shorten deserializer for WithClause (#20575) (overlookmotel)
- 57b2e82 linter/no-required-prop-with-default: Restructure so lintgen works (#20537) (camc314)
- 9ddfb42 linter/no-const-assign: Use BindingPattern::get_symbol_ids (#20533) (camc314)

📚 Documentation
- f064f80 linter/plugins: Correct comment about offset to line-column conversion (#20506) (overlookmotel)
- 4047e71 linter/plugins: Improve docs for conformance tests (#20528) (overlookmotel)
- 6022ddb linter: Add note about options to react/jsx_key (#20484) (connorshea)
- 5c104ff linter/curly: Fix incorrect examples code (#20421) (KUAI)

Oxfmt v0.42.0

🚀 Features
- 416865a formatter,oxfmt: Add doc comments for JsdocConfig (#20644) (leaysgur)
- 4fec907 formatter: Add JSDoc comment formatting support (#19828) (Dunqing)
- c21c5a7 oxfmt: Support html-in-js substitution (#20193) (leaysgur)
- c5aeae4 formatter,oxfmt: Support /* LANG */ comment for gql|html-in-js (#20224) (leaysgur)

🐛 Bug Fixes
- 399e629 formatter: Align more trailing comment cases with prettier (#20636) (#20643) (Andreas Lubbe)
- 909fb4d formatter: Remove unnecessary parens around TSConstructorType in arrow function return type (#20573) (bab)
- 828b56a oxfmt: Re-export all nested types (#20636) (leaysgur)
- c1b461b oxfmt/lsp: Revert #19977, prefer file extension over langua
0.41.0 16. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.56.0
- Oxfmt v0.41.0
Oxlint v1.56.0
🚀 Features
- c95951f linter/plugins: Implement sourceCode.markVariableAsUsed (#20357) (overlookmotel)
- 7a2a7d0 linter: Implement n/handle-callback-err rule (#19616) (Mikhail Baev)
🐛 Bug Fixes
- 89ce30b oxlint,oxfmt: Redirect JS stdout to stderr for LSP (#20321) (leaysgur)
- f8fbd6e linter/plugins: Remove hashbang property from AST (#20365) (overlookmotel)
- 6eb5b01 linter/prefer-await-to-then: Ignore Promise static methods (#20347) (camc314)
- a4b61f7 linter: Remove defineConfig check (#20308) (camc314)
- 3ad7f53 linter/explicit-module-boundary-types: False positive with satisfies expr (#20309) (camc314)
- f547401 linter/no-unused-private-class-members: Treat switch discriminants as read (#20307) (camc314)
- 1c07b3b diagnostics: Handle WouldBlock in stdout writes to prevent panic (#20295) (Boshen)
⚡ Performance
- e4f7248 linter: Remove unnecessary clone of owned String in drain loop (#20388) (Boshen)
- 4a67f1d linter: Eliminate Vec allocation in disable directive matching (#20387) (Boshen)
- 618a598 linter/plugins: Add fast path for files with no comments (#20366) (overlookmotel)
- b0125c5 linter/plugins: Deserialize comments without AST (#20364) (overlookmotel)
- 9cd612f linter/plugins: Recycle comment objects (#20362) (overlookmotel)
- bf442f8 linter/plugins: Cheaper Token creation (#20360) (overlookmotel)
- 5474d0a semantic: V8-style walk-up reference resolution (#20292) (Boshen)
- 7946eba linter/plugins: Avoid arguments spread and temp array when merging (#20318) (overlookmotel)
- fc7cf8a linter/plugins: Pre-define less CFG merger functions (#20317) (overlookmotel)
- 3b9eb28 linter/plugins: Streamline getting/creating visit fn mergers (#20319) (overlookmotel)
- f04e850 linter/plugins: Inline binary search functions into call sites (#20312) (overlookmotel)
- fe24afe linter/plugins: Apply replace globals TSDown plugin to JS files (#20305) (overlookmotel)
- 77cdacc linter/plugins: Use array buffer views for tokens (#20301) (overlookmotel)
- 910c941 linter/plugins: Reorder branches in getTokenByRangeStart (#20296) (overlookmotel)
- af7674c linter/tokens: Avoid extra token value allocation (#20013) (camc314)
📚 Documentation
- 24490b5 linter: Improve formatting for 80ish rules' docs. (#20411) (connorshea)
- 3383523 linter: Improve --tsconfig flag docs (#20342) (camc314)
Oxfmt v0.41.0
🚀 Features
- d22c443 oxfmt: Export OxfmtConfig type (#20275) (leaysgur)
- a11ecff oxfmt/lsp: Respect angular language id as .component.html file (#20242) (Sysix)
🐛 Bug Fixes
- 89ce30b oxlint,oxfmt: Redirect JS stdout to stderr for LSP (#20321) (leaysgur)
- ce65099 formatter: Preserve parentheses around as expression before private field access (#20419) (bab)
- f908742 oxfmt: Revert #20326 partially (#20413) (leaysgur)
- 4ef93ea formatter: Honor trailing ignore comments after list separators (#19925) (Andreas Lubbe)
- 68fb0d0 oxfmt: Skip vite.config.ts which fails to import (#20326) (leaysgur)
- 88ee826 oxfmt: Handle literalline for script-in-vue (#20130) (leaysgur)
- 1c07b3b diagnostics: Handle WouldBlock in stdout writes to prevent panic (#20295) (Boshen)
0.40.0 12. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.55.0
- Oxfmt v0.40.0
Oxlint v1.55.0
🐛 Bug Fixes
- 6b46ce8 oxlint: Ignore inherited root-only options in nested configs (#20291) (camc314)
- bc20217 oxlint,oxfmt: Omit useless | null for Option<T> field from schema (#20273) (leaysgur)
- f26e6ab linter: Make generate-plugin-eslint script work on windows (#20246) (camc314)
📚 Documentation
- e4aa5b5 parser/napi, linter/plugins: Add JSDoc comments to raw transfer constants (#20286) (overlookmotel)
- f339f10 linter/plugins: Promote JS plugins to alpha status (#20281) (overlookmotel)
Oxfmt v0.40.0
🐛 Bug Fixes
- 96f761f oxfmt: Ensure stdin blocking mode is set for non-TTY environments (#20289) (camc314)
- bc20217 oxlint,oxfmt: Omit useless | null for Option<T> field from schema (#20273) (leaysgur)
0.39.0 12. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.54.0
- Oxfmt v0.39.0
Oxlint v1.54.0
🐛 Bug Fixes
- 4ea67de oxlint,oxfmt: Skip vite.config.ts exports defineConfig(fn) (#20260) (leaysgur)
- cc89dbf oxlint: Skip vite.config.ts w/o .lint field in auto-discovery (#20255) (leaysgur)
- 89b7ca9 linter/no-duplicate-imports: Only check aggregated exports (#20178) (kennytm)
- 691f556 linter/explicit-module-boundary-types: Ignore constructor callbacks (#20221) (camc314)
⚡ Performance
- d160dca linter/plugins: Reduce array lookups in visitor compilation (#20249) (overlookmotel)
📚 Documentation
- 0c7da4f linter: Fix extra closing brace in example config. (#20253) (connorshea)
- 13606c3 linter/plugins: Update conformance README (#20234) (overlookmotel)
Oxfmt v0.39.0
🐛 Bug Fixes
- 4ea67de oxlint,oxfmt: Skip vite.config.ts exports defineConfig(fn) (#20260) (leaysgur)
- 11a2b45 oxfmt: Skip vite.config.ts w/o .fmt field in auto-discovery (#20254) (leaysgur)
0.36.0 2. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.51.0
- Oxfmt v0.36.0
Oxlint v1.51.0
🚀 Features
- 2e0e1d0 linter/no-unused-vars: Add experimental fix mode controls (off|suggestion|fix) (#19774) (camc314)
- f34f6fa linter: Introduce typeCheck config option (#19764) (camc314)
- 694be7d linter: Introduce typeAware as config options (#19614) (camc314)
- 655c38f semantic: Add "did you mean?" suggestions to undefined name errors (#19102) (copilot-swe-agent)
- e97a57e linter/id-length: Use serde to deserialize rule options (#19636) (camc314)
- c4a3677 parser: Report error for initializer in ambient context (#19187) (camc314)
- 346045a linter/id-length: Add checkGeneric option (#19634) (camc314)
🐛 Bug Fixes
- 1b7a937 linter: Correct double-comparisons fix with swapped operands (#19846) (camc314)
- c308857 linter/consistent_type_imports: Add missing help and notes to diagnostics (#19827) (Daniel Osmond)
- 7682e5a linter/plugins: Decode escapes in identifier tokens (#19838) (overlookmotel)
- f368fcd linter/consistent_type_assertions: Add missing with_help and with_note to diagnostics (#19826) (Daniel Osmond)
- 04e6223 npm: Add preferUnplugged for Yarn PnP compatibility (#19829) (Boshen)
- 86d5037 linter: Add help text to no-extend-native, no-useless-backreference (#19733) (Anthony Amaro)
- 50e8eff linter: Add .with_help() to operator-assignment, no-nonoctal-decimal-escape (#19732) (Anthony Amaro)
- 1417bdc linter/no-wrapper-object-types: Add help messages to missing diagnostics (#19771) (Daniel Osmond)
- 0838477 linter/ban_ts_comment: Add help and notes to missing diagnostics (#19781) (Daniel Osmond)
- e8c77cf linter/adjacent_overload_signatures: Add missing diagnostics (#19780) (Daniel Osmond)
- 28834ac linter/ban_types: Add missing help and note to diagnostics (#19782) (Daniel Osmond)
- fd938d3 linter/prefer-enum-initializers: Add help messages to missing diagnostics (#19772) (Daniel Osmond)
- eb928ee linter/no-dynamic-delete: Add help messages to missing diagnostics (#19768) (Daniel Osmond)
- a985666 linter/no-empty-interface: Add help messages to missing diagnostics (#19769) (Daniel Osmond)
- 2dc0ceb linter/no-extra-non-null-assertion: Add help messages to missing diagnostics (#19770) (Daniel Osmond)
- 95d5d66 linter/no-dupe-keys: Handle __proto__ proto setters in (#19762) (camc314)
- 24ff0db linter/exhaustive-deps: False positive for member expressions in IIFEs (#19751) (Dennis Chen)
- 7243a58 linter/no-use-before-define: Honor ignoreTypeReferences when value and type name collisions (#19747) (Dimava)
- eefd818 linter/explicit-module-boundary-types: Add help messages to missing diagnostics (#19736) (Daniel Osmond)
- 0440e9a linter: Add help text to no_control_regex, no_fallthrough, no_param_reassign (#19655) (Anthony Amaro)
- e84cb2f react/display-name: Handle merged type+value context symbols (#19608) (camc314)
- ce7e253 linter/prefer-object-from-entries: Require exact path match in unicorn helper (#19687) (camc314)
- f5694ce estree/tokens: Reverse field order of regex object in tokens (#19679) (overlookmotel)
- b2b7a55 estree/tokens: Generate tokens for files with BOM (#19535) (overlookmotel)
- 0722721 linter/jsx-curly-brace-presence: False positive with prop & mixed quotes (#19674) (camc314)
- 3496acd linter: Enhance diagnostic help messages for eslint rules (#19653) (Anthony Amaro)
- e384e94 linter: Enhance help diagnostic messages for more eslint rules (#19658) (Anthony Amaro)
- a4d5b34 linter: Avoid non-promise catch false positives (#19574) (camc314)
- 5706f38 linter: unicorn/no-array-callback-reference skip Effect.* array-like methods name. (#19633) (Said Atrahouch)
⚡ Performance
- 05ccf9f linter/plugins: Transfer tokens via raw transfer (#19893) (overlookmotel)
- 4b0611a estree/tokens: Introduce ESTreeTokenConfig trait (#19842) (overlookmotel)
- ec88f6a estree/tokens: Serialize tokens while visiting AST (#19726) (overlookmotel)
- d4dcf26 linter/plugins: Remove typescript from bundle (#19531) (overlookmotel)
- 6a6513c linter/plugins: Use Ox
0.35.0 23. helmikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.50.0
- Oxfmt v0.35.0
Oxlint v1.50.0
🚀 Features
- 46177dd linter: Implement unicorn/prefer-module (#19603) (camc314)
- 42f78bb linter: Implement unicorn/prefer-ternary (#19605) (camc314)
🐛 Bug Fixes
- 43df857 react/exhaustive-deps: Normalize .current callback deps (#19610) (camc314)
- 574f48f linter/no-throw-literal: Close warning block (#19612) (camc314)
- 79fe3b4 linter/prefer-mock-return-shorthand: Avoid unsafe autofixes for call-like returns (#19581) (camc314)
- 85045e8 linter: Check protected members in explicit-module-boundary-types (#19594) (camc314)
- e38115e linter: Catch missing return type on exported arrow/function expressions (#19587) (Peter Wagenet)
- 419d3fd linter: Fix false negatives in typescript/no-require-imports (#19589) (Peter Wagenet)
- 7958b56 linter: Fix syntax error reporting in some output formatters. (#19590) (connorshea)
- 024f51c linter: Add help text to more eslint diagnostics (#19591) (Anthony Amaro)
- a8489a1 linter: Warning eslint/no-throw-literal rule to be deprecated, better use typescript/only-throw-error (#19593) (Said Atrahouch)
- 50fc70d linter/type-aware: Use correct span for disable directives (#19576) (camc314)
- 421a99c linter: Add help guidance to eslint diagnostic messages (#19562) (Anthony Amaro)
- e81364a linter: Add help text to eslint rule diagnostics (#19560) (Anthony Amaro)
- 89b58d0 linter: Add help text to more eslint rule diagnostics (#19561) (Anthony Amaro)
- 74f7833 linter/jest/prefer-mock-return-shorthand: Preserve typed arrow returns (#19556) (camc314)
- bdd6f34 linter: Restrict prefer-import-in-mock to mock calls (#19555) (camc314)
📚 Documentation
- a331993 linter: Improve docs for eslint/radix rule. (#19611) (connorshea)
🛡️ Security
- c67f9dc linter: Update ajv version. (#19613) (connorshea)
Oxfmt v0.35.0
🚀 Features
- 984dc07 oxfmt: Strip "experimental"SortXxx prefix (#19567) (leaysgur)
🐛 Bug Fixes
- d7b63a4 oxfmt: Update API types for sortPackageJsonOptions (#19569) (leaysgur)
0.34.0 19. helmikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.49.0
- Oxfmt v0.34.0
Oxlint v1.49.0
💥 BREAKING CHANGES
- 4315594 oxlint: [BREAKING] Deprecate "always" and "as-needed" options of the radix rule (#19408) (Sysix)
- d4c7af3 linter: [BREAKING] Remove allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing option (#19451) (camc314)
🚀 Features
- 82ca5c3 linter: Add typescript/dot-notation rule (#19442) (camc314)
- 6db0811 linter: Implement eslint-plugin-vitest/no-importing-vitest-globals (#18694) (Said Atrahouch)
- c7fe8ae linter: Implement eslint-plugin-vitest/prefer-import-in-mock (#17966) (Said Atrahouch)
- 0abb39a linter: Implement eslint-vitest-jest-plugin/prefer-mock-return-shorthand (#18002) (Said Atrahouch)
- 2b95537 linter: Implement n/no-path-concat rule (#19502) (Mikhail Baev)
- 735d0e4 linter: Implement typescript/no-useless-default-assignment (#19488) (camc314)
- 31c3a93 linter: Add typescript/no-unnecessary-type-parameters rule (#19450) (camc314)
- c948090 linter: Add typescript/consistent-return rule (#19449) (camc314)
- 9f87df0 linter: Add typescript/prefer-string-starts-ends-with rule (#19448) (camc314)
- 04536be linter: Add typescript/prefer-regexp-exec rule (#19447) (camc314)
- 56a7feb linter: Add typescript/prefer-readonly rule (#19446) (camc314)
- a1cea63 linter: Add typescript/no-unnecessary-qualifier rule (#19445) (camc314)
- e3144d2 linter: Add typescript/prefer-find rule (#19444) (camc314)
- 13c7408 linter: Add typescript/prefer-readonly-parameter-types rule (#19443) (camc314)
- 9b17d44 linter: Add typescript/strict-void-return rule (#19441) (camc314)
- ed821b4 linter: Add typescript/consistent-type-exports rule (#19440) (camc314)
🐛 Bug Fixes
- daad7bc linter/array-callback-return: Check allowVoid option (#19506) (Said Atrahouch)
- 638cf94 linter: Add help text to eslint rule diagnostics (#19508) (Kyle Tse)
- 79fc6d7 linter: Move no-use-before-define to eslint plugin (#19438) (camc314)
- c832a9f linter: Add onScrollEnd and onScrollEndCapture to react/no-unknown-property. (#19536) (connorshea)
- 999a0db linter: Add help text to symbol-description diagnostics (#19538) (Anthony Amaro)
- f064482 linter: Add help text to eslint rule diagnostics (#19539) (Anthony Amaro)
- fd11073 linter/react/no-unknown-property: Add missing fetchPriority prop (#19525) (João Pedro Schmitz)
- a9bb604 linter/no-shadow: Align initializer shadow handling with typescript-eslint (#19462) (camc314)
- 32e6eb9 linter: Handle typed arrays/array buffers in prefer-spread rule. (#19478) (connorshea)
- e309f84 linter: Handle additional cases in typescript/consistent-generic-constructors rule. (#19477) (connorshea)
- 71db91a linter/array-callback-return: Check fromAsync, update test cases (#19483) (Said Atrahouch)
- 2a12d74 linter: Handle optional chaining in no-array-method-this-argument rule. (#19476) (connorshea)
- f65310b linter: Handle optional chaining in prefer-object-from-entries rule. (#19475) (connorshea)
- 840acf4 linter: Handle optional chain in no-unnecessary-array-flat-depth rule. (#19471) (connorshea)
- 85a19e9 linter: Skip string literal imports in consistent-assert rule. (#19474) (connorshea)
⚡ Performance
- 6155ac4 linter/constructor-super: Use node_id over nodes loop (#19489) (camc314)
- a02496d linter/consistent-index-object-style: Resolve circular type refs semantically (#19490) (camc314)
Oxfmt v0.34.0
🚀 Features
- 652c346 oxfmt/lsp: Support untitled:// schema (#19287) (Sysix)
🐛 Bug Fixes
- 6c61b70 oxfmt: Fix outdated sortImports.groups doc comments (#19513) (leaysgur)
0.33.0 16. helmikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Table of Contents
- Oxlint v1.48.0
- Oxfmt v0.33.0
Oxlint v1.48.0
💥 BREAKING CHANGES
- 7711821 oxlint: [BREAKING] no-shadow-restricted-names report globalThis by default (#19407) (Sysix)
🚀 Features
- ce1baa0 linter: Implement eslint/no-shadow (#18979) (Víctor Fernández)
- 7a333c1 linter: Support dynamic configs via CLI arguments (#19384) (camc314)
- 1bf569b linter: Implement typescript/unified-signatures (#19375) (camc314)
- 6562a9b linter: Implement typescript/parameter-properties (#19374) (camc314)
- 94d8d74 linter: Implement typescript/no-use-before-define (#19373) (camc314)
- 80b002a linter: Implement fixer for unicorn/no-instanceof-builtins (#19371) (camc314)
- 5c3784b linter: Implement eslint/no-unmodified-loop-condition (#19341) (Vincent R)
- cc00a59 linter/const-comparisons: Improve diagnostics when mixing logical/comparison operators (#19370) (camc314)
- ea2c401 linter: Add support for no constructed context values (#18067) (Jovi De Croock)
- f2440eb linter: Mark eslint/no-return-assign as having no fixer (#19327) (camc314)
- 8588670 linter/unicorn: Implement suggestion for unicorn/no-await-in-promise-methods rule (#19359) (Mikhail Baev)
- f0af965 linter: Move jsx-a11y/no-static-element-interactions rule out of the nursery. (#19355) (connorshea)
- be0ce50 linter/tsgolint: Add support for labeled ranges in tsgolint diagnostics (#19201) (camchenry)
- b5bc900 linter: Implement fixer for unicorn/no-new-buffer (#19326) (camc314)
- 1612932 linter: Add typescript/no-unnecessary-condition (#19130) (camc314)
- 37dc6c5 linter: Implement fixer for unicorn/prefer-includes (#19323) (camc314)
🐛 Bug Fixes
- db7da3b linter: Add a few new DOM props for react/no-unknown-property. (#19414) (connorshea)
- c2b1870 linter: Enforce config options for react/forbid-dom-props rule. (#19387) (connorshea)
- 3d24e44 linter: Honor no-empty-function allow getters/setters for object literals (#19393) (camc314)
- bbced8d linter: Enforce config options for eslint/no-empty-function rule, improve docs. (#19390) (connorshea)
- 6bc8aec linter: Fix the behavior of import/extensions rule for a file that has multiple extensions. (#18919) (connorshea)
- c62a295 linter/img-redundant-alt: Enforce whole-word matching for redundant alt text (#19367) (camc314)
- 98956fe linter/describe-function-title: Skip autofix for type-only imports (#19329) (camc314)
- d96d26d linter/plugins: Provide parser.version (#19364) (overlookmotel)
- 81f0039 linter_codegen: Compute rule IDs relative to previous rule (#19350) (camchenry)
- b7ef0a8 linter/consistent-indexed-object-style: Avoid unsafe Record conversions for mapped types (#19320) (camc314)
📚 Documentation
- 3a6059f linter: Improve docs for eslint/require-await rule. (#19361) (connorshea)
- b069269 linter/plugins: Add comment about deprecated ScopeManager methods (#19363) (overlookmotel)
- 2d8aaf9 linter: Disable formatting for eslint/no-unsafe-negation examples. (#19347) (connorshea)
- fb87806 linter: Ensure that we do not auto-format the docs for unicorn/number-literal-case rule. (#19346) (connorshea)
- 8d3ae27 linter/typescript: Skip docs for deprecated type aware rule options (#19324) (camc314)
Oxfmt v0.33.0
💥 BREAKING CHANGES
- 00135b5 formatter/sort_imports: [BREAKING] Change default groups order (#19427) (leaysgur)
- 9c34f72 formatter/sort_imports: [BREAKING] Report invalid group name with renaming side-effect > side_effect (#19416) (leaysgur)
🚀 Features
- 4baebef formatter/sort_imports: Support { newlinesBetween: bool } inside groups (#19358) (leaysgur)
- d1c2fb6 formatter/sort_imports: Support customGroups attributes(selector and modifiers) (#19356) (leaysgur)
🐛 Bug Fixes
- 47d6a3e formatter: Revert #19399 (#19433) (leaysgur)
- f084ea6 oxfmt: Explicitly pass process.env for the forked process (#19380) (Long Ho)
- 2bc7a14 formatter: Arrow function body incorrectly broken when return type has comment (#19368) (Dunqing)
- 90ec3d2 oxfmt: Update tailwind plugin which fixes crash on non-js file (#19353) (leaysgur)
0.28.0 2. helmikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
🚀 Features
- ee30de9 oxfmt: Add config migration from biome (#18638) (Luca Fischer)
🐛 Bug Fixes
- e754b18 oxfmt/migrate-prettier: Set experimentalSortPackagejson: false by default (#18831) (leaysgur)
- a83c266 formatter: Keep decorated function pattern hugged when params break (#18830) (Dunqing)
- 0c8efe1 formatter: Quote numeric property keys with quoteProps: consistent (#18803) (Dunqing)
- 9c14c3e formatter: Ignore comment does not work for sequence expressions in arrow function body (#18799) (Dunqing)
- 54984ae formatter: Handle leading comments in arrow function sequence expressions (#18798) (Dunqing)
- 61bb2b5 formatter: Correctly expand JSX returned from arrow callbacks in JSX expression containers (#18797) (Dunqing)
- 34ee194 formatter: Tailwindcss sorting doesn't work for object property keys (#18773) (Dunqing)
- 48f1e35 oxfmt: Prevent ThreadsafeFunction crash on Node.js exit (#18723) (Boshen)
- e96adca formatter: Follow Prettier's approach for for-in initializer parentheses (#18695) (Dunqing)
- 1215a6f formatter: Preserve quote for class property key in TypeScript (#18692) (Dunqing)
- 059acae formatter: Incorrect comments placement for union type in TSTypeIntersection (#18690) (Dunqing)
- c3d05c1 formatter,oxfmt: Handle CRLF with embedded formatting (#18686) (leaysgur)
- 7cb3085 formatter: Preserve comments on rest elements (#18649) (Dunqing)
- 21984dd formatter: Preserve type cast comments on rest parameters (#18648) (Dunqing)
- 2f70254 formatter: Don't add extra semicolon on suppressed class properties (#18631) (Dunqing)
- ac1ff4e oxfmt: Use empty_line IR for empty xxx-in-js line (#18623) (leaysgur)
- 8f76900 oxfmt: Dedent xxx-in-js templates before calling prettier (#18622) (leaysgur)
- 6b726ef oxfmt: Trim whitespace only xxx-in-js templates (#18621) (leaysgur)

Suosituin kategoriassa Kehittäjän apuohjelmat

Näytä kaikki
  1. WinMergeKehittäjän apuohjelmat · Thingamahoochie Software
  2. jqKehittäjän apuohjelmat · jqlang
  3. x64dbgKehittäjän apuohjelmat · x64dbg
  4. BiomeKehittäjän apuohjelmat · BiomeJS
  5. deltaKehittäjän apuohjelmat · Dan Davison
  6. ValeKehittäjän apuohjelmat · errata.ai
  7. jadxKehittäjän apuohjelmat · Skylot
  8. dnSpyKehittäjän apuohjelmat · dnSpyEx
  9. Detect It EasyKehittäjän apuohjelmat · horsicq
  10. DifftasticKehittäjän apuohjelmat · Wilfred Hughes

Lisää julkaisijalta VoidZero Inc. & Contributors

Näytä kaikki
  • oxlintKehittäjän apuohjelmat · VoidZero Inc. & Contributors

Tunnisteet

Jaa