# Oxc crates_v0.142.0 — oxc crates_v0.142.0 - Product: Oxc (https://whatsnew.fyi/product/oxc) - Vendor: Oxc - Date: 2026-07-27 - Version: crates_v0.142.0 - Original notes: https://github.com/oxc-project/oxc/releases/tag/crates_v0.142.0 - Permalink: https://whatsnew.fyi/product/oxc/releases/crates-v0.142.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **removed** — Tighten bound on AstBuild trait - **added** — Fold parenthesized boolean ternary tests in minifier - **added** — Fold sequence branches in boolean ternaries in minifier - **added** — Add VisitJsMut visitor to ast_visit - **added** — Add new IsTerminated trait and use it in exit-point optimization - **added** — Shorten integer zero comparisons in minifier - **added** — Convert switch with one case to if statement in minifier - **added** — Add static_str! macro to str crate - **added** — Emit error for type args in JS files in parser - **added** — Re-export Ident from oxc_ast crate - **added** — Re-export oxc_str types from oxc crate - **added** — Add Utf8ToUtf16::convert_program_and_comments to ast_visit - **fixed** — Optimize termination statements in labeled statements in minifier - **fixed** — Avoid longer numeric constant folds in minifier - **fixed** — Keep side effects in typeof comparisons in minifier - **fixed** — Keep side effects when compressing == true to == 1 in minifier - **fixed** — Keep side effects values in template literals in minifier - **fixed** — Keep side effects when folding Number call in minifier - **fixed** — Preserve warning bailouts in react-compiler - **fixed** — Preserve orphaned file coverage comments in codegen ###### 💥 BREAKING CHANGES - 1ac5ac7 ast: [**BREAKING**] Tighten bound on `AstBuild` trait (#24925) (overlookmotel) ###### 🚀 Features - c7c5696 minifier: Fold parenthesized boolean ternary tests (#24968) (Dunqing) - 82c5806 minifier: Fold sequence branches in boolean ternaries (#24943) (Dunqing) - cc623d9 ast_visit: Add VisitJsMut visitor (#24828) (Boshen) - b31713a minifier: Add new IsTerminated trait and use it in exit-point optimization (#24950) (Armano) - e9e0f24 minifier: Shorten integer zero comparisons (#24933) (Dunqing) - 34f5559 minifier: Convert switch with one case to if statement (#24611) (Armano) - 9107e74 str: Add `static_str!` macro (#24887) (overlookmotel) - 4d6f623 parser: Emit error for type args in JS files (#24896) (camc314) - ec08afc ast: Re-export `Ident` from `oxc_ast` crate (#24861) (overlookmotel) - 73cfdfa oxc: Re-export `oxc_str` types from `oxc` crate (#24860) (overlookmotel) - 11f5d1f ast_visit: Add `Utf8ToUtf16::convert_program_and_comments` (#24859) (overlookmotel) ###### 🐛 Bug Fixes - cb5acfb minifier: Optimize termination statements in labeled statements (#24813) (Armano) - 4618300 minifier: Avoid longer numeric constant folds (#24875) (Dunqing) - f7971f1 minifier: Keep side effects in typeof comparisons (#24940) (sapphi-red) - 4597d6f minifier: Keep side effects when compressing `== true` to `== 1` (#24939) (sapphi-red) - c3a48df minifier: Keep side effects values in template literals (#24938) (sapphi-red) - e19f183 minifier: Keep side effects when folding `Number` call (#24937) (sapphi-red) - 9d7745a react-compiler: Preserve warning bailouts (#24935) (Boshen) - 0126aba codegen: Preserve orphaned file coverage comments (#24815) (Dunqing) - 9fbbaf8 parser: Clarify return in class static blocks (#24899) (camc314) - e7d5c78 str: Fix hygiene of `format_ident!` and `format_str!` macros (#24886) (overlookmotel) - 07e9acc ecmascript: Keep side effects in parent of `toString` calls (#24846) (sapphi-red) - 16a40ad ecmascript: Detect side effects in unused arguments to `charCodeAt` (#24845) (sapphi-red) - 5b4ae54 parser: Use specific for-await diagnostic (#24856) (camc314) - ffcc33a parser: Report for-await in non-async functions (#24855) (camc314) - df230d0 minifier: Avoid reordering this in nested class keys (#24785) (Dunqing) - d24b76b minifier: Isolate derived constructor this state (#24784) (Dunqing) - 582805d parser: Parse unary conditional after satisfies (#24807) (Boshen) - 23b904f minifier: Preserve default parameter side effects (#24791) (Dunqing) - 3048594 parser: Use correct diagnostic for `await using` in bare switch case (#24798) (camc314) - e80574f estree: Handle empty spans serializing `ImportMeta` and `NewTarget` (#24775) (overlookmotel) - 4b12840 minifier: Do not fold a `-0` ternary branch to `+a` (loses the sign) (#23637) (Jerry Zhao) - 133bb35 ecmascript: Detect side effects of `foo().#bar` correctly when PropertyReadSideEffects::None (#24769) (sapphi-red) ###### ⚡ Performance - a086d91 ecmascript: Avoid number literal allocations (#24889) (Dunqing) - 98f2ecb react_compiler: Compare value set pointers before probing in state merge (#24805) (Marius Schulz) - b287f29 estree: Avoid ident hash calculations when serializing (#24774) (overlookmotel) ###### 📚 Documentation - 4d2e2bf ast: Fix incorrect return value in `common_js_require` docs (#24945) (connorshea) - b539e74 estree: Document custom serializers for `ImportMeta` and `NewTarget` (#24777) (overlookmotel)