🚀 Features
- 260425f semantic/examples: Include unresolved references (#24214) (camc314)
- 2d9b0b3 minifier: Fold boolean-literal ternary branches in value contexts (#24110) (Dunqing)
- 61fbf10 ast: Implement
ReplaceWithon all AST types (#24013) (overlookmotel) - 7db7a29 allocator: Add
ReplaceWithtrait (#24012) (overlookmotel) - 4eb074e mangler: Add
reservedoption for names that must not be mangled (#24041) (Dunqing) - 2e62012 data_structures: Add
StringExttrait (#24006) (overlookmotel) - 60e7160 minifier: Drop side-effect-free IIFEs whose result is unused (#23967) (Dunqing)
- 26dd9e2 ast: Add method to widen inherited enum ref to parent ref (#23961) (overlookmotel)
🐛 Bug Fixes
- df62046 transformer: Preserve decorated class read bindings (#24231) (camc314)
- ce5f40f transformer: Declare temp for renamed anonymous class (#24230) (camc314)
- 09bd638 transformer: Scope anonymous decorated class bindings correctly (#24229) (camc314)
- 4b7fa9c transformer: Preserve namespace strict mode flags (#24227) (camc314)
- d8ead84 transformer: Correct scoping flags for lowered enums (#24225) (camc314)
- e8b50ee transformer: Clean up semantics for stripped TypeScript syntax (#24180) (camc314)
- d966d0b react_compiler: Remove clippy allows (#24168) (Boshen)
- 854ef8d react_compiler: Compile generic functions instead of over-bailing on type-param hoisting (#24158) (Boshen)
- 093586c react_compiler: Align memoization cache-slot allocation with Babel (#24157) (Boshen)
- 09c8f59 react_compiler: Normalize snapshot fixture paths (#24142) (camc314)
- f13df97 react_compiler: Drop stray empty statement from catch bindings (#24133) (Boshen)
- cb2a505 react_compiler: Codegen destructuring reassignment targets (#24131) (Boshen)
- b82c394 react_compiler: Propagate codegen invariants instead of emitting empty bodies (#24128) (Boshen)
- 5771982 react_compiler: Render unchanged programs as source in fixture snapshots (#24129) (Boshen)
- 4b16e1a transformer/async-to-generator: Preserve direct eval scope flags (#24136) (camc314)
- 4e9194f react_compiler: Lower
delete obj.propto Property/ComputedDelete (#24123) (Boshen) - 0b25582 ast: Type binding node
typeAnnotationasTSTypeAnnotation | null(#23113) (Boshen) - 018c0e5 transformer: Hoist lowered async declarations (#22770) (camc314)
- 652fbaf mangler: Keep names of destructured exported bindings (#24036) (Dunqing)
- e274415 minifier: Don't drop global calls that throw despite pure arguments (#23917) (Dunqing)
- 59abb30 minifier: Only merge string literals in
try_fold_addwhen the inner operator is+(#23622) (Jerry Zhao)
⚡ Performance
- c5ca77b transformer: Avoid cloning refresh options (#24191) (camc314)
- bf1a151 react_compiler: Compile out debug printers (#24184) (Boshen)
- abb44a0 transformer: Build fixed object-rest arguments (#24190) (camc314)
- a4db731 isolated_declarations: Use
ReplaceWithinstead ofTakeIn(#24016) (overlookmotel) - ff10855 transformer: Use
ReplaceWithinstead ofTakeIn(#24015) (overlookmotel) - bd49aff ecmascript: Avoid heap-allocating Math.min/max/imul operands (#23941) (Lawrence Lin)
- e4b708b react_compiler: Skip compiled files before prefilters (#24171) (Boshen)
- c59f2fe rust: Return impl ExactSizeIterator from slice-backed accessors (#24144) (Boshen)
- 5d6d04a codegen: SWAR-skip boring byte runs in sourcemap line/column scan (#24023) (Boshen)
- a55e0be traverse: Reduce string operations in
get_var_name_from_node(#24007) (overlookmotel) - e6d48e1 transformer/nullish_coalescing: Move cold path into separate function (#23989) (overlookmotel)
- c4e35b5 transformer/object_rest_spread: Pre-allocate capacity in
Vec(#23988) (overlookmotel) - 527b8e5 transformer/decorators: Narrow type earlier (#23987) (overlookmotel)
📚 Documentation
- 1589f54 semantic: Update docs for
Scoping::set_symbol_name(#24223) (camc314) - 30d17f5 allocator: Clarify docs for
TakeIn::take_in_box(#24093) (overlookmotel) - 675e6a8 ast: Correct doc comment for
PrivateFieldExpression(#24008) (overlookmotel) - e4c30e6 minifier: Explain what
dcemode means (#23994) (Dunqing) - 37cbf88 ast_macros: Document fields of
StructDetails(#23959) (overlookmotel) - 4de3e54 ast: Correct doc comment (#23948) (overlookmotel)