crates_v0.153.0

oxc-project/oxccrates_v0.153.0Oct 5, 2026by github-actions[bot]

Upgrading?

AI Summary

Focuses on minification optimization, merging imports/exports, and supporting modern language features like explicit resource management.

Key Highlights

  • Merged import and export statements against the same module
  • Implemented bitwise binary expression minimization
  • Added support for explicit resource management (using declarations)
  • Fixed parser errors regarding abstract private fields and TypeScript modifiers

New Features

  • Fold undefined argument in non delegating yield
  • Merge import statements against the same module
  • Merge import and export statements against the same module
  • Minimize bitwise binary expressions
  • Merge statements after terminating if block branches

Full Release Notes

### 🚀 Features

- 61003c7 minifier: Fold undefined argument in non delegating yield (#27324) (Armano)
- 07833c0 ast: Tie `debug_name` return lifetime to the underlying AST node (#27295) (sadan)
- adb1139 minifier: Merge import statements against the same module (#25534) (翠)
- cc82598 minifier: Merge import and export statements against the same module (#25533) (翠)
- 1c352ce minifier: Minimize bitwise binary expressions (#27107) (Armano)
- d1a0bcc minifier: Merge statements after terminating if block branches (#26667) (Armano)
- 7a95376 minifier: Merge adjucent if stmt with the same content (#26445) (Armano)

### 🐛 Bug Fixes

- 6a7d48b parser: Report abstract private field error on modifier (#27314) (camc314)
- 2ff6fb5 parser: Include generator marker in overload diagnostic span (#27313) (camc314)
- 4359a66 parser: Reject TypeScript class modifiers in JavaScript (#27312) (camc314)
- 565d75d minifier: Correct indopedency when processing nested sequences (#27273) (Armano)
- d0b9372 parser: Remove type-dependent tuple rest diagnostics (#27234) (camc314)
- 3d61a59 parser: Validate TypeScript type member separators (#27222) (camc314)
- b2793fa parser: Reject module syntax in script (#27220) (leaysgur)
- 5914a24 parser: Report `TS1243` for abstract async methods (#27192) (camc314)
- c6c6e5e parser: Report `TS1242` for interfaces with `abstract` modifier (#27191) (camc314)
- dd0bbb9 parser: Avoid duplicate index signature modifier diagnostic (#27190) (camc314)
- 8f61129 regex: Decode escaped capturing group names (#27156) (camc314)
- da1fed2 minifier: Fold conditional expressions with long sequences (#27083) (Armano)
- 0c601f4 isolated-declarations: Allow adding undefined to keyof parameter types (#27173) (Dunqing)
- 4896287 isolated-declarations: Support readonly parameter types (#27009) (sama Pyb)
- 72d62a1 transformer/explicit-resource-management: Transform classic for loop using declarations (#27148) (camc314)
- 4cf9ae2 minifier: Preserve sibling declarations in arguments copy rewrite (#27140) (camc314)
- 24b7015 transformer/explicit-resource-management: Lower using in catch and finally (#27142) (camc314)

### ⚡ Performance

- 99e3c15 minifier: Small performance improvement when merging imports (#27238) (Armano)
- d37d1db codegen: Pre-allocate sourcemap builder vectors (#27230) (codspeed)
- 466ef10 minifier: Update expressions in place in `merge_import_export` (#27226) (Armano)
- 028ffb8 minifier: Update nodes in place in `wrap_to_avoid_ambiguous_else` (#27194) (Armano)
- 6fcd135 minifier: Avoid conversion from ident to str when for substitute symbols (#27209) (Armano)
- 0b9799d minifier: Reduce usage of minimize_conditional (#26028) (Armano)
- 3ca3ded minifier: Short-circuit IfStatement termination on alternate (#25198) (Armano)

### 📚 Documentation

- 335ce79 agents: Scope verification for local and stacked work (#27299) (Dunqing)

Related Repositories