💥 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) - c5b3deb syntax: [BREAKING] Remove
CommentNodeId(#21679) (overlookmotel)
🚀 Features
- b738a39 allocator: Add
Allocator::cursor_ptrmethod (#21773) (overlookmotel) - 678767e ast: Generate node_id accessors for AST enum wrappers (#21653) (camc314)
- f091d77 minifier: Inline constant spread elements into arrays (#21095) (Armano)
🐛 Bug Fixes
- 0d608c2 minifier: Preserve raw CR in template literals (#21645) (Dunqing)
- a889ea9 minifier: Track pure functions in DCE mode (#21722) (Dunqing)
- 674dfac allocator:
Arenaretry allocation when chunk size approaches maximum (#21777) (overlookmotel) - f130cc0 allocator: Fix arithmetic overflow in
Arena::new_chunk_memory_details(#21745) (overlookmotel) - b9bf239 allocator: Fix UB in
Arena::grow_zeroed(#21739) (overlookmotel) - d2b9389 allocator: Clippy warning when building without
testingfeature (#21681) (camc314) - 503dc86 codegen: Map sourcemaps from visible output starts (#21662) (Dunqing)
- c92bd3b transformer: Use SPAN for synthesized helper calls to prevent comment misattribution (#21578) (Dunqing)
- 0d80441 codegen: Add mapping before printing
#for private ident (#21619) (camc314)
⚡ Performance
- 9fa362e napi/parser: Do not generate tokens except in tests (#21811) (overlookmotel)
- 0044392 allocator: Reduce branches when allocating new chunk (#21776) (overlookmotel)
- 7896bd0 allocator:
Allocator::used_bytesdo not use chunk iterator (#21771) (overlookmotel) - a5c562f allocator: Remove check in
Arena::new_chunk_memory_details(#21750) (overlookmotel) - 35bbe1f allocator:
Arenause unchecked size round up where guaranteed no overflow (#21743) (overlookmotel) - ffe229b allocator: Remove unnecessary check from
Arena::try_alloc_layout_slow_impl(#21732) (overlookmotel) - 72fece5 allocator: Use
NonNull::offset_from_unsignedinArena::chunk_capacity(#21731) (overlookmotel) - cab32ae ast: Add
#[inline(always)]tonode_idmethods on enums with all variants unboxed (#21707) (overlookmotel) - b179688 parser: Allocate
TriviaBuildercomments in the arena (#21512) (Boshen) - 2290f31 lexer: Fix perf of
Token::set_*methods on Rust 1.95.0 (#21659) (overlookmotel) - 1b58029 allocator: Move code into cold path in
Arena::alloc_layout(#21622) (overlookmotel) - 3cf7cef allocator: Reduce instructions on allocation hot path (#21510) (overlookmotel)
📚 Documentation
- ce65070 data_structures: Document why
as_refandas_mutonNonNullConstandNonNullMuttakeself(#21800) (overlookmotel) - 93b7dbd allocator: Improve doc comments for
ChunkFooter(#21733) (overlookmotel) - 295db8d transformer: Fix comment (#21717) (overlookmotel)
- 5c93af8 ast: Add comments explaining
#[inline(always)]tonode_idmethods on enums (#21706) (overlookmotel) - e4cea25 transform: Use the
node:namespace in the example (#19998) (루밀LuMir)