💥 BREAKING CHANGES
- 7730e14 ast: [BREAKING] Refactor comment attachment storage (#27512) (camc314)
- c904b61 ast: [BREAKING] Add comment attachment storage (#27393) (camc314)
- b5e8eff parser: [BREAKING] Assign node IDs during parsing (#27411) (camc314)
🚀 Features
🐛 Bug Fixes
- 760b60b codegen, packages/codegen: Remove extraneous space before
RestElementinArrayPattern(#27613) (overlookmotel) - 0353d37 packages/codegen: Support printing
V8IntrinsicExpressions (#27597) (overlookmotel) - 1e4c6ee minifier: Preserve parameter writes through mapped arguments (#27494) (Dunqing)
- f8e9a50 semantic: Stop arguments resolution at ordinary functions (#26929) (camc314)
- 4b75662 transformer_plugins: Preserve optional chains through non-null assertions (#27526) (Dunqing)
- 72bf06f crates/oxc_semantic: Decline to evaluate unary ops on strings in enum initializers (#27447) (Brooooooklyn)
- c57d9c7 parser: Apply no-side-effects annotations after export (#27504) (camc314)
- 02577b1 minifier: Preserve delete semantic when folding non-finite numbers (#27466) (Armano)
- f14ead5 minifier: Eliminate unused IIFE calls with constant arguments (#27434) (Dunqing)
- aec14bc transformer: Avoid synthetic private fields for static blocks (#27300) (Kuroda Kayn)
- 558a890 semantic: Mark delete of optional members as MemberWriteTarget (#27430) (Bartok)
- f50257e codegen: Avoid extra indent before empty do-while bodies (#27407) (camc314)
- 82bfc5f codegen: Fix printing negative
BigIntLiteralafter-(#27378) (overlookmotel) - 5461c1a packages/codegen: Fix printing negative
BigIntLiteralafter-(#27377) (overlookmotel) - bebef88 packages/codegen: Fix debug assert fail printing
TSJSDocNonNullableType(#27373) (overlookmotel) - 7e6a050 semantic: Visit
TSMethodSignaturecomputed method keys in enclosing scope (#27357) (camc314)
⚡ Performance
- e1c97f8 packages/codegen: Remove all
printSpaceBeforeIdentifiercalls (#27620) (overlookmotel) - 70ecfdd packages/codegen: Skip redundant
printSpaceBeforeIdentifiercall (#27619) (overlookmotel) - 3c289f3 packages/codegen: Remove branches from loops printing arrays (#27614) (overlookmotel)
- 27f5b45 packages/codegen: Remove branch printing
RestElementinArrayPattern(#27608) (overlookmotel) - adc90ed packages/codegen: Reduce branches in
printArguments(#27607) (overlookmotel) - 262dd21 packages/codegen: Remove unnecessary
printSpaceBeforeIdentifiercalls (#27606) (overlookmotel) - 4bb9722 packages/codegen: Print
SpreadElementarguments viaprintExpression(#27599) (overlookmotel) - 0c98dc5 packages/codegen: Reduce megamorphic
typereads inprintParams(#27595) (overlookmotel) - e3780b5 packages/codegen: Reduce writes in
printForOfStatement(#27594) (overlookmotel) - 8d0ba20 packages/codegen: Reduce megamorphic
typereads inprintForOfStatement(#27593) (overlookmotel) - b29f35e packages/codegen: Reduce megamorphic
typereads inprintDirectivesAndStatements(#27592) (overlookmotel) - 256259d packages/codegen: Reduce megamorphic
typereads inprintConditionalExpression(#27591) (overlookmotel) - a9bd942 packages/codegen: Reduce megamorphic
typereads inprintObjectProperty(#27590) (overlookmotel) - 0a386ff packages/codegen: Ensure
shorthandvar is always a boolean (#27589) (overlookmotel) - 8d4c633 packages/codegen: Reduce branches in
printObjectProperty(#27588) (overlookmotel) - b4c8c04 packages/codegen: Reduce megamorphic
typereads inprintMemberExpression(#27587) (overlookmotel) - ff5eae8 packages/codegen: Reduce megamorphic
typereads (#27586) (overlookmotel) - 5487247 ast: Generate derive for
CloneInonComment(#27542) (overlookmotel) - cd1c192 minifier: Optimize unused expression removal in minimize_if (#27545) (Armano)
- 14a92ba transformer: Skip expression exit pipeline for unaffected nodes (#27492) (camc314)
- cd9a62f transformer: Skip static block dispatch for ordinary statements (#27491) (camc314)
- 135dd04 transformer: Skip ES2022 exits for non-class expressions (#27489) (camc314)
- 961f318 packages/codegen: Reduce megamorphic
typereads inbinCheckAndPrepare(#27460) (overlookmotel) - 3d2f93f packages/codegen: Reduce megamorphic property accesses for
BinaryExpressions (#27459) (overlookmotel) - 675ec5e packages/codegen: Reduce megamorphic property accesses in
printBinaryish(#27458) (overlookmotel) - b0dbfff packages/codegen: Reduce writes and branches printing functions (#27455) (overlookmotel)
- 5f3865c packages/codegen: Reduce writes for optional
MemberExpressions (#27454) (overlookmotel) - 8c57c5e linter: Share one source per file across type-aware diagnostics (#27462) (Max Schwenk)
- 19c227d minifier: Use ident when checking specific id names (#27208) (Armano)
- 180d4e7 minifier: Avoid unecessary import/export merging for cjs/scripts (#27291) (Armano)
📚 Documentation
- c993555 minifier: Align guides with current implementation (#27584) (Cameron)
- 59472c5 packages/codegen: Add
@params to JSDoc comments which had none (#27601) (overlookmotel) - 5ee0fc9 packages/codegen: Complete
@paramlists in partly documented JSDoc comments (#27600) (overlookmotel) - 12dfa25 packages/codegen: Correct doc comment for
printBinaryish(#27456) (overlookmotel) - add0443 mangler: Clarify node ID renumbering in build (#27448) (camc314)