💥 BREAKING CHANGES
- 94fbacb ast: [BREAKING] Only export
AstBuilderandNONEinbuildermodule (#23876) (overlookmotel) - 8de5122 ecmascript: [BREAKING] Switch to new
AstBuilder(#23834) (overlookmotel) - dc0ef38 transformer: [BREAKING] Switch to new
AstBuilder(#23831) (overlookmotel) - 88f4455 str: [BREAKING]
StrandIdentmethods take&GetAllocator(#23781) (overlookmotel) - 36009dd allocator: [BREAKING]
GetAllocator::allocatortake&self(#23676) (overlookmotel) - bd74f9d allocator: [BREAKING] Rename
AllocatorAccessortrait toGetAllocator(#23675) (overlookmotel)
🚀 Features
- 326fe25 transformer_plugins: Support
typeofdefinekeys (#23605) (Alexander Lichter) - f2091b3 ast: Unify old and new
AstBuilders (#23875) (overlookmotel) - cd1fd12 codegen: Expose
Codegen::print_stringAPI (#23785) (camc314) - 785461b ast: Add custom builder methods to AST types (#23651) (overlookmotel)
- 05d1357 ast: Add AST creation methods to AST types (#23650) (overlookmotel)
- 2580eda str: Add
Str::from_str_inandIdent::from_str_inmethods (#23767) (overlookmotel) - 6883fcf minifier: Fold write-once falsy var to false in boolean context (#23540) (Dunqing)
- fcbf993 allocator: Add
Vec::from_value_inmethod (#23718) (overlookmotel) - 989ddb7 allocator: Add
Vec::from_box_inmethod (#23717) (overlookmotel) - 9d1aa7f allocator: Improve
PartialEqforVec(#23716) (overlookmotel)
🐛 Bug Fixes
- beac5d2 parser: Fix clippy warnings (#23943) (overlookmotel)
- dcc9a73 minifier: Treat Object.isExtensible/isFrozen/isSealed as pure (#23916) (Dunqing)
- da0e5bf minifier: Don't reorder a closed-over TDZ read when inlining a var (#23771) (Dunqing)
- 0b3021f allocator: Remove
Vec::from_box_in(#23873) (overlookmotel) - 0ab64ec ast: Silence deprecation warnings within files defining deprecated
AstBuildermethods (#23889) (overlookmotel) - 8c07cad all: Enable
disable_old_builderCargo feature foroxc_astcrate in tests (#23888) (overlookmotel) - 3800f01 ast: Legacy
AstBuildermethods takeselfnot&self(#23891) (overlookmotel) - 869ac20 semantic/cfg: Connect for update exit to loop test (#23791) (camc314)
- d3e92d5 semantic/cfg: Connect while branches from condition exit (#23790) (camc314)
- 025045d ast:
ExportNamedDeclarationplain builder methods return boxed nodes (#23783) (overlookmotel) - 7537c58 ast: Fix name of
AstBuildermethod forExpression::V8IntrinsicExpression(#23766) (overlookmotel) - 3f574f5 traverse: Fix unsoundness in
Traversewalk functions (#23745) (overlookmotel) - 585760f parser: String in AST reference arena (#23721) (overlookmotel)
- 7231d55 allocator: Fix unsound lifetime extension in
Box::new_in(#23685) (overlookmotel)
⚡ Performance
- d5c916a semantic: Flatten hoisting_variables to avoid per-scope map allocation (#23927) (Lawrence Lin)
- e71609d minifier: Bail member-expr folding before the side-effect walk (#23924) (Lawrence Lin)
- e1f89ab minifier: Reduce string allocations folding addition (#23846) (overlookmotel)
- 9f6ee3b isolated-declarations: Pool scope maps to avoid per-scope alloc/rehash (#23761) (Boshen)
- 0b07c4c semantic: Avoid heap alloc for catch-clause binding ids (#23911) (Lawrence Lin)
- c5eef8b regular_expression: Skip capturing-group pre-parse when pattern has no
((#23908) (Lawrence Lin) - b4f5b4b isolated_declarations: Remove redundant clone of formal parameter pattern (#23912) (Lawrence Lin)
- 53d083f isolated_declarations: Use
TakeInnotCloneIn(#23847) (overlookmotel) - 3ea9304 react_compiler: Use faster API to arena allocate strings (#23849) (overlookmotel)
- a6d8e45 parser: Avoid span lookup for arrow expression body (#23788) (camc314)
- e1886a0 transformer, minifier: Use
static_ident!macro to create staticIdents (#23727) (overlookmotel) - 5527bef transformer/object-rest-spread: Reduce iteration (#23720) (overlookmotel)
- 680ffbc transformer: Allocate AST nodes in arena directly (#23711) (overlookmotel)
- 1c63c66 parser: Allocate AST nodes in arena directly (#23712) (overlookmotel)
- 3855f0c minifier: Allocate AST nodes in arena directly (#23710) (overlookmotel)
- d025887 isolated_declarations: Allocate AST nodes in arena directly (#23709) (overlookmotel)
- 10b96c6 parser: Remove string search from parsing JSX element name (#23713) (overlookmotel)
📚 Documentation
- 3d61dea all: Correct capitalization in comments (#23887) (overlookmotel)
- aa1ad74 ast: Add
#[deprecated]to legacyAstBuildermethods (#23877) (overlookmotel) - a4676db ast: Correct doc comment for
NONE(#23765) (overlookmotel) - 419ec80 syntax: Fix typo in doc comment (#23674) (overlookmotel)
🛡️ Security
- 3cdd18f deps: Update npm packages (#23690) (renovate[bot])