crates_v0.137.0

oxc-project/oxccrates_v0.137.0Jun 18, 2026by github-actions[bot]

AI Summary

This release focuses on breaking changes to the ESTree configuration and performance optimizations in the parser and minifier. It also adds a new `CodeBuffer::as_str` method and improves React compiler integration.

Key Highlights

  • ESTree config changes: use methods instead of consts
  • React compiler integration improvements (keeping imports)
  • Performance optimizations: slot sort and monomorphization reduction
  • Add `CodeBuffer::as_str` method

Breaking Changes

  • Make whether to include TS fields a runtime option
  • `ESTree` config use methods not consts

New Features

  • Add `CodeBuffer::as_str` method
  • Add friendly error for adjacent JSX elements
  • Treeshake pure typed arrays and Set/Map array literals
  • Inline const value for read-only vars

Full Release Notes

### 💥 BREAKING CHANGES

- 7a76cd3 estree: [**BREAKING**] Make whether to include TS fields a runtime option (#23574) (overlookmotel)
- e7b6b68 estree: [**BREAKING**] `ESTree` config use methods not consts (#23573) (overlookmotel)

### 🚀 Features

- 556cc6d data_structures: Add `CodeBuffer::as_str` method (#23571) (overlookmotel)
- 38c4b06 parser: Add friendly error for adjacent JSX elements (#23378) (sapphi-red)
- 53509a8 minifier: Treeshake pure typed arrays and Set/Map array literals (#23469) (Dunqing)
- 09762d9 minifier: Inline const value for read-only vars (#22593) (Dunqing)

### 🐛 Bug Fixes

- 20375f9 react_compiler: Keep imports referenced only by a computed key (#23586) (Boshen)
- 31bfd9b minifier: Keep Object introspection calls on a possible Proxy (#23483) (Dunqing)
- 837a395 parser: Treat a line comment after ':' as leading, not trailing (#23515) (Dunqing)
- e409fe0 minifier: Keep `new Map`/`WeakSet`/`WeakMap` with a string argument (#23470) (Dunqing)
- ae02b4e ci/parser: Use `minimal` for vitest reporter (#23457) (camc314)

### ⚡ Performance

- cf24329 mangler: Compile slot sort once instead of per CAPACITY (#23577) (Boshen)
- 4058a6a parser: Reduce code bloat from verify_modifiers monomorphization (#23576) (Boshen)
- 053b0c1 estree: Remove pointless `mem::take` (#23572) (overlookmotel)
- dfb52b6 transformer: Pre-size statement vecs in TS enum & namespace lowering (#23516) (Yunfei He)
- 970e09a minifier: Compute template-literal inline checks in a single pass (#23467) (Yunfei He)
- 3170c0e semantic,mangler,minifier: Fix `Semantic::stats` node count and reuse stats in mangler builds (#23352) (Boshen)
- d1fa6e0 minifier: Evaluate ternary branches once in minimize_conditional_expression (#23479) (Yunfei He)
- 3fa8051 transformer: Pre-size JSX props vec to attribute count (#23466) (Yunfei He)
- 488b382 react_compiler: Borrow binding names in prefilter instead of allocating (#23471) (Yunfei He)
- bcb3894 minifier: Incremental scoping refresh, delete LiveUsageCollector (#23197) (Dunqing)

### 📚 Documentation

- f68641e data_structures: Improve docs on safety contract (#23575) (overlookmotel)