# Oxc crates_v0.140.0 — oxc crates_v0.140.0 - Product: Oxc (https://whatsnew.fyi/product/oxc) - Vendor: Oxc - Date: 2026-07-14 - Version: crates_v0.140.0 - Original notes: https://github.com/oxc-project/oxc/releases/tag/crates_v0.140.0 - Permalink: https://whatsnew.fyi/product/oxc/releases/crates-v0.140.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'. --- - **added** — minifier: Extract sequence expression from expressions - **added** — minifier: Remove unreachable code after terminating statements - **added** — data_structures: Add likely and unlikely functions - **added** — react_compiler: Implement enableEmitHookGuards codegen - **added** — minifier: Apply De Morgan's law to negated comparison chains in jump guards and loop tests - **added** — minifier: Drop write-only property assignments to unused local bindings by default - **added** — semantic: Record const enums in EnumData - **added** — semantic: Add Scoping::set_symbol_span - **fixed** — minifier: Keep reads of never-assigned uninitialized bindings - **fixed** — minifier: Preserve guaranteed throws from class heritage evaluation - **fixed** — semantic: Track ambient contexts in SemanticBuilder - **fixed** — transformer/decorator: Scope accessor class binding - **fixed** — semantic: Allow reserved keywords in ambient declaration types - **fixed** — track-memory-allocations: Exclude arena chunks from Sys allocs - **fixed** — transformer: Clear lowered namespace redeclarations - **fixed** — semantic: Mark declared computed MethodDefinitions as type references - **fixed** — isolated-declarations: Emit const readonly fields as types - **fixed** — minifier: Make __proto__ write tracking execution-order independent - **fixed** — transformer: Remove stale enum member bindings - **fixed** — transformer: Correct symbol flags for lowered namespaces ###### 🚀 Features - 5b20828 minifier: Extract sequence expression from expressions (#22003) (Armano) - 616bfa2 minifier: Remove unreachable code after terminating statements (#24441) (Dunqing) - ddab89a data_structures: Add `likely` and `unlikely` functions (#24368) (overlookmotel) - a3a39f9 react_compiler: Implement enableEmitHookGuards codegen (#24329) (Boshen) - b79eef7 minifier: Apply De Morgan's law to negated comparison chains in jump guards and loop tests (#24279) (Dunqing) - 34ff7b4 minifier: Drop write-only property assignments to unused local bindings by default (#24112) (Dunqing) - 1b829d8 semantic: Record const enums in EnumData (#24268) (Dunqing) - ba0944c semantic: Add `Scoping::set_symbol_span` (#24221) (camc314) ###### 🐛 Bug Fixes - edf781d minifier: Keep reads of never-assigned uninitialized bindings (#24452) (Dunqing) - 7d33363 minifier: Preserve guaranteed throws from class heritage evaluation (#24349) (Dunqing) - 058a62f semantic: Track ambient contexts in `SemanticBuilder` (#24327) (camc314) - 721eb0b transformer/decorator: Scope accessor class binding (#24330) (camc314) - 1ebdce3 semantic: Allow reserved keywords in ambient declaration types (#24325) (camc314) - 460176a track-memory-allocations: Exclude arena chunks from Sys allocs (#24292) (Dunqing) - af4922b transformer: Clear lowered namespace redeclarations (#24300) (camc314) - ffd2765 semantic: Mark declared computed `MethodDefinition`s as type references (#24296) (camc314) - f17514b isolated-declarations: Emit const readonly fields as types (#24288) (camc314) - 40f769d minifier: Make `__proto__` write tracking execution-order independent (#24280) (Dunqing) - 6371fed transformer: Remove stale enum member bindings (#24272) (camc314) - f05dfab transformer: Correct symbol flags for lowered namespaces (#24271) (Dunqing) - 84eeb55 transformer: Correct symbol flags for lowered enums (#24269) (Dunqing) - c3057da transformer: Preserve generated class binding spans (#24220) (camc314) - 8260096 transformer: Correct span for lowered namespace symbol (#24222) (camc314) - 42d00d3 semantic: Mark declared class heritage as type references (#24237) (camc314) - 588d997 semantic: Mark TS `PropertyDefinition`s computed fields as type references (#24233) (camc314) - 9b95632 semantic: Mark computed method keys in `TSMethodSignature`s as type references (#24232) (camc314) ###### ⚡ Performance - 48911ec react_compiler: Use FxHashSet for membership-only block sets (#24486) (Boshen) - 1e3e626 react_compiler: Reduce allocations in reactive-places and mutation-aliasing passes (#24476) (Boshen) - e86e0d8 react_compiler: Avoid copying the aliasing fixpoint's abstract state (#24117) (Marius Schulz) - 5b26643 transformer_plugins: Dispatch global defines by trailing name (#23666) (Boshen) - dce0f29 react_compiler: Replace all compiled functions in a single AST walk (#24403) (Boshen) - f85f0d8 ast: Delegate inherited enum variants in clone_in and estree derives (#23555) (Boshen) - 3ff0234 allocator: Remove `unwrap` from `ReplaceWith` (#24365) (overlookmotel) - ab22e80 transformer: Fix Rust 1.97 performance regression (#24354) (camc314) - b47585c parser: Use `ReplaceWith` instead of `TakeIn` (#24018) (overlookmotel) - b227a06 minifier: Use `ReplaceWith` instead of `TakeIn` (#24017) (overlookmotel)