หน้านี้รวบรวม oxfmt ไว้ 36 เวอร์ชัน ตั้งแต่ 2 กุมภาพันธ์ 2569 จนถึงเวอร์ชันปัจจุบัน 0.69.0 ทุกเวอร์ชันลิงก์ไปยังไฟล์ตัวติดตั้งของผู้เผยแพร่เอง
| เวอร์ชัน | วันที่ | ขนาด | ไฟล์ |
|---|---|---|---|
| 0.69.0ล่าสุด | 21 กันยายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 กันยายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 กันยายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น💥 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 กันยายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 สิงหาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่นBug Fixes
- bf37dd5 formatter: Preserve class decorators before export when the statement is suppressed (#26034) (leaysgur) |
| 0.64.0 | 18 สิงหาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 สิงหาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 สิงหาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 กรกฎาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 กรกฎาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 กรกฎาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 กรกฎาคม 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 มิถุนายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น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 มิถุนายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น💥 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 มิถุนายน 2569 | — | 64 บิต ZIPARM64 ZIP32 บิต ZIP บันทึกประจำรุ่น🚀 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 มิถุนายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มิถุนายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 พฤษภาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น🚀 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 พฤษภาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่นBug Fixes
- 8ee946f formatter/sort_imports: Use label to classify lines (leaysgur)
- 8c1da44 formatter: Normalize destructuring keys in DCR (camc314) |
| 0.50.0 | 15 พฤษภาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น💥 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 พฤษภาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น💥 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 พฤษภาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 เมษายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 เมษายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 เมษายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 เมษายน 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 มีนาคม 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 กุมภาพันธ์ 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 กุมภาพันธ์ 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 กุมภาพันธ์ 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น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 กุมภาพันธ์ 2569 | — | 64 บิต ZIPARM64 ZIP บันทึกประจำรุ่น🚀 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) |