crates_v0.154.0
oxc-project/oxccrates_v0.154.0Oct 13, 2026by github-actions[bot]
Upgrading?
AI Summary
A core library release featuring significant refactoring of the AST and parser, including the introduction of node IDs. It includes minifier improvements and extensive performance optimizations in the codegen package to reduce type reads and branches.
Key Highlights
- Refactor AST comment attachment storage
- Assign node IDs during parsing
- Minifier folding of delete expressions
- Extensive codegen performance optimizations
- Preserve parameter writes through mapped arguments
Breaking Changes
- Refactor comment attachment storage (#27512)
- Add comment attachment storage (#27393)
- Assign node IDs during parsing (#27411)
New Features
- Add folding of delete expression in minifier
Full Release Notes
### 💥 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 - 3d00bbd minifier: Add folding of delete expression (#27522) (Armano) ### 🐛 Bug Fixes - 760b60b codegen, packages/codegen: Remove extraneous space before `RestElement` in `ArrayPattern` (#27613) (overlookmotel) - 0353d37 packages/codegen: Support printing `V8IntrinsicExpression`s (#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 `BigIntLiteral` after `-` (#27378) (overlookmotel) - 5461c1a packages/codegen: Fix printing negative `BigIntLiteral` after `-` (#27377) (overlookmotel) - bebef88 packages/codegen: Fix debug assert fail printing `TSJSDocNonNullableType` (#27373) (overlookmotel) - 7e6a050 semantic: Visit `TSMethodSignature` computed method keys in enclosing scope (#27357) (camc314) ### ⚡ Performance - e1c97f8 packages/codegen: Remove all `printSpaceBeforeIdentifier` calls (#27620) (overlookmotel) - 70ecfdd packages/codegen: Skip redundant `printSpaceBeforeIdentifier` call (#27619) (overlookmotel) - 3c289f3 packages/codegen: Remove branches from loops printing arrays (#27614) (overlookmotel) - 27f5b45 packages/codegen: Remove branch printing `RestElement` in `ArrayPattern` (#27608) (overlookmotel) - adc90ed packages/codegen: Reduce branches in `printArguments` (#27607) (overlookmotel) - 262dd21 packages/codegen: Remove unnecessary `printSpaceBeforeIdentifier` calls (#27606) (overlookmotel) - 4bb9722 packages/codegen: Print `SpreadElement` arguments via `printExpression` (#27599) (overlookmotel) - 0c98dc5 packages/codegen: Reduce megamorphic `type` reads in `printParams` (#27595) (overlookmotel) - e3780b5 packages/codegen: Reduce writes in `printForOfStatement` (#27594) (overlookmotel) - 8d0ba20 packages/codegen: Reduce megamorphic `type` reads in `printForOfStatement` (#27593) (overlookmotel) - b29f35e packages/codegen: Reduce megamorphic `type` reads in `printDirectivesAndStatements` (#27592) (overlookmotel) - 256259d packages/codegen: Reduce megamorphic `type` reads in `printConditionalExpression` (#27591) (overlookmotel) - a9bd942 packages/codegen: Reduce megamorphic `type` reads in `printObjectProperty` (#27590) (overlookmotel) - 0a386ff packages/codegen: Ensure `shorthand` var is always a boolean (#27589) (overlookmotel) - 8d4c633 packages/codegen: Reduce branches in `printObjectProperty` (#27588) (overlookmotel) - b4c8c04 packages/codegen: Reduce megamorphic `type` reads in `printMemberExpression` (#27587) (overlookmotel) - ff5eae8 packages/codegen: Reduce megamorphic `type` reads (#27586) (overlookmotel) - 5487247 ast: Generate derive for `CloneIn` on `Comment` (#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 `type` reads in `binCheckAndPrepare` (#27460) (overlookmotel) - 3d2f93f packages/codegen: Reduce megamorphic property accesses for `BinaryExpression`s (#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 `MemberExpression`s (#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 `@param`s to JSDoc comments which had none (#27601) (overlookmotel) - 5ee0fc9 packages/codegen: Complete `@param` lists 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)
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one