💥 BREAKING CHANGES
- 4120da0 semantic: [BREAKING] Return borrowed JSDoc so the parse cache works (#25186) (Connor Shea)
- f0a41c8 allocator: [BREAKING] Remove
ArenaBox::danglingmethod (#25236) (overlookmotel) - 067da8c ast: [BREAKING] Store single parameter in
TSIndexSignature::parameter(#25154) (camc314) - a0c7788 ast: [BREAKING] Change
TSIndexSignatureName::nametoIdent(#25150) (camc314) - 1bdedd1 ast: [BREAKING] Introduce
ExportDeclaration,ExportFromDeclaration(#25095) (camc314) - c917f20 ast: [BREAKING] Introduce
ArrowFunctionBodyenum (#24987) (camc314) - 7e1199c ast: [BREAKING] Remove conversion to
Boxfrom AST builder methods (#25038) (overlookmotel)
🚀 Features
- 3c8312e allocator: Make
BoxSend+Syncwhen the type it contains is (#25242) (overlookmotel) - cb5bc08 ast: Derive
GetSpanforComment(#25147) (leaysgur) - 8541e18 ast_tools: Generate minifier scope collector (#25088) (camc314)
- 5acdae2 ecmascript: Skip transparent TS expressions (#25072) (camc314)
- 85d0f4d napi: Add React Compiler transform binding (#24934) (Boshen)
- 70d6ece minifier: Fold safe integer exponentiation (#25009) (Dunqing)
- 73fc747 minifier: Enable termination statement optimization for do while (#24921) (Armano)
- 5eadfdb minifier: Fold safe integer division and remainder (#24981) (Dunqing)
🐛 Bug Fixes
- 6c9ee14 minifier: Preserve if-chain idempotency and correct side effects when alternate should not be moved (#25041) (Armano)
- 8a47ff3 ecmascript: Do not treat lone-surrogate strings as constants (#25084) (Dunqing)
- 468b970 isolated-declarations: Strip re-export attributes (#25090) (camc314)
- a70035d parser: Report export imports in namespaces (#25086) (camc314)
- 5d8ccf5 react_compiler: Preserve nonfatal diagnostics (#25066) (Boshen)
- d349e4a react_compiler: Match eslint suppression gating (#25068) (Boshen)
- 0dc16ba react_compiler: Track catch block declarations (#25067) (Boshen)
- e6734a5 minifier: Fold typeof comparisons with known object strings (#25017) (Dunqing)
- 3a9d5a5 minifier: Keep
typeof foo == ['object']as-is (#24941) (sapphi-red) - 10ec276 ast: Custom AST builder methods take
IntoIn<ArenaBox>where child method does (#25033) (overlookmotel) - fbe8d31 minifier: Respect targets when folding RegExp source (#24790) (Dunqing)
⚡ Performance
- fb402b0 minifier: Stop re-deriving printed numeric spellings (#25103) (Dunqing)
- 7251e52 react_compiler: Avoid large types on stack (#25037) (overlookmotel)
- e07718f isolated_declarations: Avoid large types on stack (#25036) (overlookmotel)
- 9fb1e3e transformer: Avoid large types on stack (#25035) (overlookmotel)
- 8b80f8b parser: Avoid large types on stack (#25034) (overlookmotel)
📚 Documentation
- 2ea0aa9 ast: Correct grammar in AST builder methods doc comments (#25173) (overlookmotel)