crates_v0.148.0

feyninc/chonkiecrates_v0.148.0Sep 1, 2026by github-actions[bot]

AI Summary

Focuses on minification optimizations and parser enhancements, introducing a breaking change to allocator internals and adding features like dropping false conditions in minifiers and attaching all comments to nodes.

Key Highlights

  • Breaking change: `Allocator::cursor_ptr` and `data_end_ptr` are now private.
  • Minifier optimizations: Dropping false conditions and inverting boolean literals.
  • Parser enhancement: All comments are now attached to nodes.
  • Bug fixes for semantic analysis, regex handling, and JSX diagnostics.

Breaking Changes

  • Make `Allocator::cursor_ptr` and `data_end_ptr` private

New Features

  • Drop cases whose condition is statically false in minifier.
  • Attach all comments to nodes.
  • Invert `!0` and `!1` in place for boolean context to `1` and `0`.
  • Expand fold leading assignments into the var decl.

Full Release Notes

### 💥 BREAKING CHANGES

- a31567a allocator: [**BREAKING**] Make `Allocator::cursor_ptr` and `data_end_ptr` private (#26081) (overlookmotel)

### 🚀 Features

- 115955d minifier: Drop cases whose condition is statically false (#26172) (Armano)
- 784e9fa minifier: Invert `!0` and `!1` in place for boolean context to `1` and `0` (#26050) (Armano)
- 1e902cc minifier: Expand fold leading assignments into the var decl (#26142) (Armano)
- 3ed4f6a minifier: Expand de morgan's optimization to allow move of `!` (#25930) (Armano)
- 5672585 parser: Attach all comments to nodes (#25944) (camc314)

### 🐛 Bug Fixes

- a3d33dd semantic: Skip body bindings in type parameters and `this` param (#26169) (Dunqing)
- 4adfb4c semantic: Validate chained continue labels (#26157) (camc314)
- b874f48 ecmascript: `Math.round` only exact half ties (#26150) (camc314)
- a625378 minifier: Coerce omitted `indexOf` search argument (#26149) (camc314)
- dc7398b ecmascript: Trim trailing whitespace in string to number (#26148) (camc314)
- 243b685 transformer/object-rest: Lower multiple declarators correctly (#26147) (camc314)
- dc09a3a parser: Avoid panic on escaped string export names (#26146) (camc314)
- e412cf2 linter: Clamp invalid JS plugin locations (#26144) (camc314)
- c3dedc9 semantic: Skip function body bindings in parameters (#26099) (Dunqing)
- e74de61 transform-react: Match Babel diagnostic reporting (#26128) (Boshen)
- d5163d0 parser: Correctly classify unapplied pure annotations (#26084) (camc314)
- 8531b9b linter/plugins: Alter method for obtaining mutable `Program` when sending AST to JS plugins (#26077) (overlookmotel)
- 9b51658 regular_expression: Allow oversized decimal escape for Annex B (#26070) (leaysgur)
- c8de4df regular_expression: Reject oversized backreferences (#26055) (camc314)

### ⚡ Performance

- ac4785a diagnostics: Use fixed ANSI styles (#26130) (Boshen)
- 07a0793 packages/codegen: Flatten output in chunks (#26109) (overlookmotel)
- 487427a packages/codegen: Faster string flattening (#26108) (overlookmotel)
- 7785583 packages/codegen: Ensure indent strings are flattened (#26107) (overlookmotel)
- 0dd4db3 packages/codegen: Store mapping positions in an `Int32Array` (#26085) (overlookmotel)