oxc crates_v0.140.0
Immutable
release. Only release title and notes can be modified.
🚀 Features
- 5b20828 minifier: Extract sequence expression from expressions (#22003) (Armano)
- 616bfa2 minifier: Remove unreachable code after terminating statements (#24441) (Dunqing)
- ddab89a data_structures: Add
likelyandunlikelyfunctions (#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
MethodDefinitions 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
PropertyDefinitions computed fields as type references (#24233) (camc314) - 9b95632 semantic: Mark computed method keys in
TSMethodSignatures 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
unwrapfromReplaceWith(#24365) (overlookmotel) - ab22e80 transformer: Fix Rust 1.97 performance regression (#24354) (camc314)
- b47585c parser: Use
ReplaceWithinstead ofTakeIn(#24018) (overlookmotel) - b227a06 minifier: Use
ReplaceWithinstead ofTakeIn(#24017) (overlookmotel)