Files
oxc-project__oxc/crates/oxc_napi/CHANGELOG.md
oxc-guard[bot] 8bf69a3076 release(crates): oxc v0.138.0 (#23934)
### 💥 BREAKING CHANGES

- 94fbacb ast: [**BREAKING**] Only export `AstBuilder` and `NONE` in
`builder` module (#23876) (overlookmotel)
- 8de5122 ecmascript: [**BREAKING**] Switch to new `AstBuilder` (#23834)
(overlookmotel)
- dc0ef38 transformer: [**BREAKING**] Switch to new `AstBuilder`
(#23831) (overlookmotel)
- 88f4455 str: [**BREAKING**] `Str` and `Ident` methods take
`&GetAllocator` (#23781) (overlookmotel)
- 36009dd allocator: [**BREAKING**] `GetAllocator::allocator` take
`&self` (#23676) (overlookmotel)
- bd74f9d allocator: [**BREAKING**] Rename `AllocatorAccessor` trait to
`GetAllocator` (#23675) (overlookmotel)

### 🚀 Features

- 326fe25 transformer_plugins: Support `typeof` `define` keys (#23605)
(Alexander Lichter)
- f2091b3 ast: Unify old and new `AstBuilder`s (#23875) (overlookmotel)
- cd1fd12 codegen: Expose `Codegen::print_string` API (#23785) (camc314)
- 785461b ast: Add custom builder methods to AST types (#23651)
(overlookmotel)
- 05d1357 ast: Add AST creation methods to AST types (#23650)
(overlookmotel)
- 2580eda str: Add `Str::from_str_in` and `Ident::from_str_in` methods
(#23767) (overlookmotel)
- 6883fcf minifier: Fold write-once falsy var to false in boolean
context (#23540) (Dunqing)
- fcbf993 allocator: Add `Vec::from_value_in` method (#23718)
(overlookmotel)
- 989ddb7 allocator: Add `Vec::from_box_in` method (#23717)
(overlookmotel)
- 9d1aa7f allocator: Improve `PartialEq` for `Vec` (#23716)
(overlookmotel)

### 🐛 Bug Fixes

- da0e5bf minifier: Don't reorder a closed-over TDZ read when inlining a
var (#23771) (Dunqing)
- 0b3021f allocator: Remove `Vec::from_box_in` (#23873) (overlookmotel)
- 0ab64ec ast: Silence deprecation warnings within files defining
deprecated `AstBuilder` methods (#23889) (overlookmotel)
- 8c07cad all: Enable `disable_old_builder` Cargo feature for `oxc_ast`
crate in tests (#23888) (overlookmotel)
- 3800f01 ast: Legacy `AstBuilder` methods take `self` not `&self`
(#23891) (overlookmotel)
- 869ac20 semantic/cfg: Connect for update exit to loop test (#23791)
(camc314)
- d3e92d5 semantic/cfg: Connect while branches from condition exit
(#23790) (camc314)
- 025045d ast: `ExportNamedDeclaration` plain builder methods return
boxed nodes (#23783) (overlookmotel)
- 7537c58 ast: Fix name of `AstBuilder` method for
`Expression::V8IntrinsicExpression` (#23766) (overlookmotel)
- 3f574f5 traverse: Fix unsoundness in `Traverse` walk functions
(#23745) (overlookmotel)
- 585760f parser: String in AST reference arena (#23721) (overlookmotel)
- 7231d55 allocator: Fix unsound lifetime extension in `Box::new_in`
(#23685) (overlookmotel)

### ⚡ Performance

- d5c916a semantic: Flatten hoisting_variables to avoid per-scope map
allocation (#23927) (Lawrence Lin)
- e71609d minifier: Bail member-expr folding before the side-effect walk
(#23924) (Lawrence Lin)
- e1f89ab minifier: Reduce string allocations folding addition (#23846)
(overlookmotel)
- 9f6ee3b isolated-declarations: Pool scope maps to avoid per-scope
alloc/rehash (#23761) (Boshen)
- 0b07c4c semantic: Avoid heap alloc for catch-clause binding ids
(#23911) (Lawrence Lin)
- c5eef8b regular_expression: Skip capturing-group pre-parse when
pattern has no `(` (#23908) (Lawrence Lin)
- b4f5b4b isolated_declarations: Remove redundant clone of formal
parameter pattern (#23912) (Lawrence Lin)
- 53d083f isolated_declarations: Use `TakeIn` not `CloneIn` (#23847)
(overlookmotel)
- 3ea9304 react_compiler: Use faster API to arena allocate strings
(#23849) (overlookmotel)
- a6d8e45 parser: Avoid span lookup for arrow expression body (#23788)
(camc314)
- e1886a0 transformer, minifier: Use `static_ident!` macro to create
static `Ident`s (#23727) (overlookmotel)
- 5527bef transformer/object-rest-spread: Reduce iteration (#23720)
(overlookmotel)
- 680ffbc transformer: Allocate AST nodes in arena directly (#23711)
(overlookmotel)
- 1c63c66 parser: Allocate AST nodes in arena directly (#23712)
(overlookmotel)
- 3855f0c minifier: Allocate AST nodes in arena directly (#23710)
(overlookmotel)
- d025887 isolated_declarations: Allocate AST nodes in arena directly
(#23709) (overlookmotel)
- 10b96c6 parser: Remove string search from parsing JSX element name
(#23713) (overlookmotel)

### 📚 Documentation

- 3d61dea all: Correct capitalization in comments (#23887)
(overlookmotel)
- aa1ad74 ast: Add `#[deprecated]` to legacy `AstBuilder` methods
(#23877) (overlookmotel)
- a4676db ast: Correct doc comment for `NONE` (#23765) (overlookmotel)
- 419ec80 syntax: Fix typo in doc comment (#23674) (overlookmotel)

### 🛡️ Security

- 3cdd18f deps: Update npm packages (#23690) (renovate[bot])

Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Co-authored-by: Cameron <cameron.clark@hey.com>
2026-06-29 20:11:00 +01:00

3.0 KiB

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog.

[0.138.0] - 2026-06-29

🐛 Bug Fixes

  • 8c07cad all: Enable disable_old_builder Cargo feature for oxc_ast crate in tests (#23888) (overlookmotel)

[0.136.0] - 2026-06-15

⚡ Performance

  • da1a6c6 diagnostics: Migrate to allocation-optimized oxc-miette (#23094) (Boshen)

[0.117.0] - 2026-03-09

⚡ Performance

  • 4ea8f9a napi: Remove napi_build::setup() from oxc_napi to avoid redundant rebuilds (#20094) (Boshen)

[0.109.0] - 2026-01-19

🚀 Features

  • 6e8fa80 napi/parser, napi/transform: Accept sourceType: "commonjs" (#18197) (overlookmotel)
  • 66b8c02 parser: Implement unambiguous module parsing for JS/TS files (#18124) (Boshen)

[0.103.0] - 2025-12-15

💥 BREAKING CHANGES

  • 320c09f ast, parser, linter, codegen, formatter: [BREAKING] Rename CommentKind::Block to CommentKind::SinglelineBlock (#16501) (Dunqing)

🚀 Features

  • 30a9076 ast, parser, codegen: Add CommentKind::MultilineBlock (#16479) (Dunqing)

[0.102.0] - 2025-12-08

💥 BREAKING CHANGES

  • 083fea9 napi/parser: [BREAKING] Represent empty optional fields on JS side as null (#16411) (overlookmotel)

[0.91.0] - 2025-09-22

💼 Other

  • fb347da crates: V0.91.0 (#13961) (Boshen)

[0.80.0] - 2025-08-03

📚 Documentation

  • de1de35 rust: Add comprehensive README.md documentation for all Rust crates (#12706) (Copilot)

[0.77.0] - 2025-07-12

🚀 Features

  • 407429a napi/parser,napi/transform: Accept lang=dts (#12154) (Boshen)

Changelog

All notable changes to this package will be documented in this file.

The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.

[0.70.0] - 2025-05-15

Bug Fixes

  • 635aa96 napi: Computed final source type from lang then sourceType (#11060) (Boshen)

[0.68.0] - 2025-05-03

Refactor

  • 06fde2a ast/estree: convert_utf8_to_utf16 take &mut slice of errors, not &mut Vec (#10672) (overlookmotel)

[0.61.0] - 2025-03-20

Features

  • 2cedfe4 napi: Add codeframe to napi error (#9893) (Boshen)

Refactor

  • 961b95d napi: Move common code to oxc_napi (#9875) (Boshen)

[0.50.0] - 2025-02-12

Bug Fixes

  • ad93ece oxc_napi: Add napi build.rs (#9038) (LongYinan)

[0.49.0] - 2025-02-10

Styling

  • a4a8e7d all: Replace #[allow] with #[expect] (#8930) (overlookmotel)

[0.42.0] - 2024-12-18

Refactor

  • 3858221 global: Sort imports (#7883) (overlookmotel)

Styling

  • 7fb9d47 rust: cargo +nightly fmt (#7877) (Boshen)

[0.40.1] - 2024-12-10

Bug Fixes

  • 18d0ce3 napi: Rename Error to OxcError to avoid name collision (#7780) (Boshen)

[0.40.0] - 2024-12-10

Features

  • 85eec3c napi/transform,napi/parser: Return structured error object (#7724) (Boshen)