💥 BREAKING CHANGES
- c7d229b transformer: [BREAKING] Decode JSX entities to lone surrogates (#26712) (Dunqing)
- e3c1b11 ast: [BREAKING] Preserve lone surrogates in static property names (#27095) (Dunqing)
- a0a987c ast: [BREAKING] Preserve lone surrogates in static member names (#26677) (Dunqing)
🚀 Features
- 7bb2697 minifier: Minimize array join expression (#27905) (Armano)
- 5d91db8 ast: Generate node ID setters for enums (#27500) (camc314)
- 6b5057b minifier: Add de morgan optimization for void expressions (#27375) (Armano)
🐛 Bug Fixes
- ce6a088 minifier: Fold string indices by UTF-16 code unit (#27096) (Dunqing)
- 7c47246 linter: Check module specifiers and string values that contain lone surrogates (#26717) (Dunqing)
- 782ab6e linter: Search string values without UTF-8 conversion (#26716) (Dunqing)
- a5d8184 jsdoc: Parse code spans after quotes in descriptions (#27955) (leaysgur)
- bd37e78 ecmascript: Look through sequence expressions in
to_primitive(#27837) (baltasarblanco) - d92789d minifier: Drop debugger statements in unbraced bodies (#27867) (camc314)
- 863b359 ecmascript: Correct parseFloat decimal prefix scanning (#27695) (camc314)
- a2534c6 minifier: Preserve lexical initializers in dead for loops (#27676) (camc314)
- 3543672 ecmascript: Do not fold Number.isInteger / isSafeInteger of tiny non-integers to true (#27622) (Baltasar Blanco)
- 6987a61 ecmascript: BigInt loose equality folding (unknown operands and
StringToBigInt) (#27656) (Baltasar Blanco) - 40e5644 minifier: Preserve indirect access when folding into call targets (#27082) (waltu)
- 022306f ecmascript: Do not fold
Math.cbrtof a negative number toNaN(#27621) (Baltasar Blanco)
⚡ Performance
- faa75d8 transformer: Remove redundant scratch vectors (#27922) (camc314)
- 88b5c35 minifier: Reduce code branches when evaluating roots (#27906) (Armano)
- fe1d367 codegen: Remove branches from loops printing arrays (#27840) (overlookmotel)
- 7bb6b62 codegen: Reduce hashmap lookups in
print_annotation_comment(#27845) (overlookmotel) - 31ffd08 codegen: Avoid unnecessary comment clone (#27843) (overlookmotel)
- a6456b7 codegen: Remove branch from
print_space_before_identifier(#27842) (overlookmotel) - eeff416 codegen: Simplify
print_space_before_identifier(#27841) (overlookmotel) - 5d877b8 diagnostics: Speed up zero-context span lookups (#27770) (camc314)
- 2ab6b63 packages/codegen: Remove redundant
printSpaceBeforeIdentifierandlastupdates inprintParams(#27652) (overlookmotel) - e533278 codegen: Reduce writes in
printDecorators(#27651) (overlookmotel)