Files
oxc/crates/oxc_syntax/CHANGELOG.md
T
oxc-guard f799f174b5 release(crates): oxc v0.157.0 (#28719)
### 🚀 Features

- 8dd67a6 transform-react: Expose TypeScript transform options (Tomas Särnhammar)
- deed7dc parser: More friendly error for duplicate import attribute key (#28262) (sapphi-red)

### 🐛 Bug Fixes

- eaa8e90 ecmascript: Avoid numeric `+` folding when an operand may be a string (#28544) (camc314)
- b03c7b8 regular_expression: Allow incomplete oversized legacy quantifiers (#28449) (Boshen)
- 128c67d semantic: Check strict eval and arguments writes by reference flags (#28445) (Boshen)
- c97c43c parser: Reject TypeScript default exports in JavaScript (#28440) (Boshen)
- fdd119f span: Count Unicode characters when filtering typo suggestions (#28452) (Boshen)
- cb64638 regular_expression: Reject incomplete Unicode atom escapes (#28448) (Boshen)
- fc0eed3 semantic: Stop let-binding scans at arrow functions (#28444) (Boshen)
- 3421516 parser: Preserve default import names in reexports (#28442) (Boshen)
- a1e7e5f parser: Reject optional class members in JavaScript (#28439) (Boshen)
- 5b9a7bc parser: Parse sloppy let expressions and labels (#28438) (Boshen)
- 8e61652 regex: Reject templates without cooked values (#28345) (Boshen)
- 3b36543 parser: Preserve in-context after TypeScript type arguments (#28300) (Boshen)
- 2e3126c regex: Decode constructor patterns and flags consistently (#28298) (Boshen)
- 8a90be2 regex: Track capture groups and disjunction identity (#28297) (Boshen)
- 3dc2cb0 regex: Preserve escape values and boundaries (#28296) (Boshen)
- fc8acbc parser: Handle leading-zero numeric exponents (#28295) (Boshen)
- 91a638d parser: Normalize raw template line endings with invalid escapes (#28285) (Boshen)
- 2ac9a42 parser: Allow parenthesized private-in expressions (#28284) (Boshen)
- 052bca9 ast: Prevent greyed out fields in AST types in IDEs (#28335) (overlookmotel)
- ed7df7d ast/estree: Include comments in TS Program span (#28326) (camc314)

### ⚡ Performance

- 9b6b7bf regular_expression: Advance validated Unicode escapes directly (#28514) (Boshen)
- 82e1982 regular_expression: Share Unicode property name prefixes (#28513) (Boshen)
- 5395a40 regular_expression: Parse class set character prefixes once (#28512) (Boshen)
- 3708934 regular_expression: Defer literal range dash allocation (#28511) (Boshen)
- d85ee3d semantic: Skip arguments ancestry checks outside classes (#28510) (Boshen)
- cf81d07 semantic: Reuse private reference resolution (#28509) (Boshen)
- a79eebc semantic: Avoid duplicate maps for public JavaScript members (#28508) (Boshen)
- 235ca3b semantic: Skip escape checks for unescaped strings (#28507) (Boshen)
- babf44c parser: Reuse shorthand assignment target identifiers (#28504) (Boshen)
- 444f24a ecmascript: Short-circuit simple parameter checks for rest (#28503) (Boshen)
- 04b20c0 semantic: Compute duplicate parameter policy once per list (#28446) (Boshen)
- dbf8482 parser: Use token lookahead for simple function types (#28489) (Boshen)
- bca1275 parser: Avoid unused destructuring rest capacity (#28499) (Boshen)
- 691be5c parser: Compact cover initialized name storage (#28495) (Boshen)
- b3b5444 parser: Build simple arrow bindings directly (#28493) (Boshen)
- e1c9baf parser: Disambiguate single-identifier arrow heads (#28491) (Boshen)
- 550e98a regular_expression: Avoid rescanning unique capture names (#28450) (Boshen)
- 10e9fc7 parser: Skip duplicate lookup for singleton import attributes (#28441) (Boshen)
- 5238839 parser: Use a stack buffer for float separators (#28435) (Boshen)
- 6e35e3c parser: Fast-path leaf expressions before delimiters (#28432) (Boshen)
- 3d7512c parser: Decode Unicode identifiers once (#28414) (Boshen)
- 30f59f4 parser: Factor object type opening brace (#28430) (Boshen)
- 028a267 parser: Always inline postfix update parsing (#28429) (Boshen)
- 1b5a171 parser: Reuse export kind classification (#28424) (Boshen)
- 179a432 parser: Factor return type identifier parsing (#28416) (Boshen)
- 553dd1d parser: Inline hot paths and fold function dispatch (#28404) (Boshen)
- de75d56 parser: Combine parenthesized arrow lookahead (#28412) (Boshen)
- a768a0c parser: Reuse comment annotations after rewind (#28408) (Boshen)
- 563d92a parser: Skip redundant source cursor updates (#28409) (Boshen)
- 7941ca9 parser: Factor tuple identifier parsing (#28398) (Boshen)
- 426c151 parser: Construct completed tokens without intermediate writes (#28291) (Boshen)
- df42953 minifier: Don't request another pass for block unwrapping (#28315) (Dunqing)
- c2d663d parser: Avoid vectors for single parenthesized expressions (#28374) (Boshen)
- 50bd0a9 parser: Size delimited lists after the first element (#28373) (Boshen)
- bd869b5 parser: Bypass redundant operand parsing (#28372) (Boshen)
- 455fc09 parser: Skip keyword checks for plain identifier expressions (#28371) (Boshen)
- 61303fb parser: Fast-path identifier operands (#28306) (Boshen)
- 6cf5b1a parser: Guard arrow and conditional parsing (#28305) (Boshen)
- 3666939 parser: Specialize identifier reference parsing (#28303) (Boshen)
- 0d6641a parser: Skip inapplicable expression parsing paths (#28294) (Boshen)
- 3be7997 parser: Reduce lexer search batch size (#28292) (Boshen)
- ab5655a regex: Remove redundant character-class and quantifier checks (#28288) (Boshen)
- ec8e8d4 parser: Remove redundant grammar and lexer checks (#28287) (Boshen)
- c903f5c parser: Specialize known-token parsing (#28286) (Boshen)
- 2683225 str: `static_ident!` and `static_str!` macros guarantee const evaluation (#28340) (overlookmotel)
- df90836 ast: Reduce compile time of `#[ast]` macro (#28336) (overlookmotel)
- 8239dac parser: Replace dragonbox_ecma with zmij_ecma (#28282) (Boshen)
2026-11-02 19:40:44 +00:00

26 KiB

Changelog

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

The format is based on Keep a Changelog.

[0.157.0] - 2026-11-02

⚡ Performance

  • 8239dac parser: Replace dragonbox_ecma with zmij_ecma (#28282) (Boshen)

[0.155.0] - 2026-10-19

💥 BREAKING CHANGES

  • c7d229b transformer: [BREAKING] Decode JSX entities to lone surrogates (#26712) (Dunqing)

⚡ Performance

  • a6456b7 codegen: Remove branch from print_space_before_identifier (#27842) (overlookmotel)

[0.154.0] - 2026-10-13

💥 BREAKING CHANGES

  • b5e8eff parser: [BREAKING] Assign node IDs during parsing (#27411) (camc314)

[0.149.0] - 2026-09-07

🚀 Features

  • 1d9b9d3 ast: Add GetNodeId trait (#26145) (camc314)

[0.147.0] - 2026-08-24

🐛 Bug Fixes

  • 2cde1f6 rust: Address nightly deprecations (#25998) (Boshen)

[0.141.0] - 2026-07-20

🚀 Features

  • 7aa4739 syntax,transformer: Move JSX entity decoder to oxc_syntax (#24617) (camc314)

⚡ Performance

  • ba65790 semantic, allocator: Branchless clone_in for semantic IDs (#24564) (overlookmotel)

[0.140.0] - 2026-07-13

🐛 Bug Fixes

  • 058a62f semantic: Track ambient contexts in SemanticBuilder (#24327) (camc314)

[0.138.0] - 2026-06-29

🐛 Bug Fixes

  • da0e5bf minifier: Don't reorder a closed-over TDZ read when inlining a var (#23771) (Dunqing)

📚 Documentation

  • 419ec80 syntax: Fix typo in doc comment (#23674) (overlookmotel)

[0.128.0] - 2026-04-27

💥 BREAKING CHANGES

  • c5b3deb syntax: [BREAKING] Remove CommentNodeId (#21679) (overlookmotel)

[0.125.0] - 2026-04-13

💥 BREAKING CHANGES

  • 382958a span: [BREAKING] Remove re-exports of string types from oxc_span crate (#21246) (overlookmotel)

🚀 Features

  • 6dd061c semantic: Extend MemberWriteTarget to cover all property modification patterns (#21205) (Dunqing)
  • 75663c0 semantic: Add enum member value evaluation for const enum support (#20602) (Dunqing)
  • 3cfe8ed semantic: Add MemberWriteTarget flag to ReferenceFlags (#20772) (Dunqing)

[0.124.0] - 2026-04-06

📚 Documentation

  • c78a57a syntax: Fix typo (#21044) (camc314)

[0.114.0] - 2026-02-16

🚀 Features

  • ebb80b3 ast: Add node_id field to all AST struct nodes (#18138) (Boshen)

⚡ Performance

  • c169c77 syntax: Optimize is_identifier_name_patched (#19386) (sapphi-red)

📚 Documentation

  • 569aa61 rust: Add missing rustdocs and remove missing_docs lint attrs (#19306) (Boshen)

[0.113.0] - 2026-02-10

⚡ Performance

  • 9eb16b3 syntax: Pack ASCII identifier tables into single bitflag table (#19088) (Boshen)

[0.109.0] - 2026-01-19

🚀 Features

  • e2221e6 semantic: Store scope_id in Reference (#18053) (Dunqing)

[0.103.0] - 2025-12-15

🚀 Features

  • d221921 semantic: ScopeFlags::With (#16291) (Aapo Alasuutari)

[0.102.0] - 2025-12-08

🐛 Bug Fixes

  • 699406a napi/parser: Move ExportEntry::module_request field to first (#16412) (overlookmotel)
  • 12bd794 napi/parser: Move ExportEntry::module_request field to last (#16403) (overlookmotel)

[0.94.0] - 2025-10-06

🚀 Features

  • 588acd5 transformer: Add ES2026 target for explicit resource management (#14330) (Boshen)
  • 6374065 napi/parser: Raw transfer support range field (#14319) (overlookmotel)
  • 3656908 rust: Oxc-index-vec v4.0 (#14254) (Boshen)

[0.93.0] - 2025-09-28

🚜 Refactor

  • 7e42b0a syntax: Use allocator HashMap in ModuleRecord fields (#14141) (Boshen)
  • 0a9473d syntax: Remove unnecessary #[estree(field_order)] attr (#14142) (overlookmotel)

[0.91.0] - 2025-09-22

💼 Other

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

[0.88.0] - 2025-09-15

🐛 Bug Fixes

  • ab51394 raw_transfer: Disable layout assertions on some 32-bit platforms (#13716) (overlookmotel)

🚜 Refactor

  • babbaca all: Remove pub from modules with no exports (#13618) (overlookmotel)

[0.82.0] - 2025-08-12

🚀 Features

  • 33c0e9f ecmascript: Add global isNaN, isFinite, parseFloat, parseInt functions support to constant evaluation (#12954) (Copilot)

[0.81.0] - 2025-08-06

⚡ Performance

  • 2c4369a syntax,codegen: Replace ryu_js with dragonbox_ecma for floating point formatting (#12821) (Copilot)

[0.80.0] - 2025-08-03

📚 Documentation

  • 45e2fe8 rust: Fix typos and grammar mistakes in Rust documentation comments (#12715) (Copilot)
  • de1de35 rust: Add comprehensive README.md documentation for all Rust crates (#12706) (Copilot)

[0.78.0] - 2025-07-24

💥 BREAKING CHANGES

  • ccbcf3e transformer, minifier, syntax: [BREAKING] Remove ESTarget::ES5 (#12448) (Dunqing)

[0.77.0] - 2025-07-12

🚜 Refactor

  • 228cff5 semantic,linter: Assert that Program is always the first node (#12123) (Ulrich Stark)

[0.75.1] - 2025-07-03

🚜 Refactor

  • 016634f ast/estree: Introduce serialize_span method (#12013) (overlookmotel)
  • 754f01d ast/estree: Move start and end fields to last (#12012) (overlookmotel)
  • 4597311 ast/estree: Remove temp vars for ranges from serializer (#12007) (overlookmotel)

[0.75.0] - 2025-06-25

💥 BREAKING CHANGES

  • 9a2548a napi/parser: [BREAKING] Add range option (#11728) (Bacary Bruno Bodian)

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.72.2] - 2025-05-31

Refactor

  • 1d1ebd6 ast_tools/estree: Order type and span fields first by default (#11361) (overlookmotel)

[0.72.0] - 2025-05-24

Features

  • 3eb027b formatter: Support printing binary like expression (#11185) (Dunqing)
  • c2c0268 syntax: Introduce CommentNodeId (#11214) (overlookmotel)

[0.71.0] - 2025-05-20

  • 5d9344f rust: [BREAKING] Clippy avoid-breaking-exported-api = false (#11088) (Boshen)

Performance

  • 2b0a69f ast: Re-order struct fields to reduce padding (#11056) (overlookmotel)

Refactor

[0.69.0] - 2025-05-09

Features

  • d066516 ast_tools: Support #[estree(prepend_to)] (#10849) (overlookmotel)

Bug Fixes

  • 6e47699 semantic, syntax: TS value module cannot be referenced as type (#10918) (Dunqing)

Refactor

  • b16331e ast/estree: Generalize concatenating fields with Concat2 (#10848) (overlookmotel)
  • faf0a95 syntax: Rename NameSpaceModule to NamespaceModule (#10917) (Dunqing)

Styling

  • 62c3a4a ast_tools: Add full stop to end of generated comments (#10809) (overlookmotel)

[0.68.0] - 2025-05-03

Features

  • d0ba83c ast_tools: Support #[estree(via)] on fieldless enum variants (#10746) (overlookmotel)

[0.67.0] - 2025-04-27

Refactor

  • d22c1ae syntax: Move CloneIn impls (#10571) (overlookmotel)

[0.65.0] - 2025-04-21

Bug Fixes

  • 4f1343b parser: Fix missing type export in module information (#10516) (Ulrich Stark)
  • 33a2625 transformer/typescript: Namespaces disappeared and do not transform when a type-only namespace followed by a value module namespace (#10511) (Dunqing)

[0.64.0] - 2025-04-17

Features

  • 1a37e3f semantic: Add SymbolFlags::Ambient for declaration with declare modifier (#10355) (Dunqing)

Bug Fixes

  • dd2aef0 semantic: Incorrect SymbolFlags of TSModuleDeclaration (#10350) (Dunqing)

Refactor

  • 032377d transformer/typescript: Do not need to go through TSModuleDeclaration if is a NamespaceModule (#10366) (Dunqing)

[0.63.0] - 2025-04-08

Performance

  • fa0e455 cfg, diagnostics, lexer, syntax, tasks: Remove write! macro where unnecessary (#10236) (overlookmotel)

[0.62.0] - 2025-04-01

Features

  • 8cd7430 allocator: TakeIn trait (#9969) (overlookmotel)

Refactor

  • dc3602c semantic: Align handling of declaring symbol for class with TypeScript (#10094) (Dunqing)
  • 5d829c2 semantic: Align handling of declaring symbol for function with TypeScript (#10086) (Dunqing)
  • 0fa58d7 semantic: Always use SymbolFlags::Function for function id (#7479) (Dunqing)

[0.61.2] - 2025-03-23

Refactor

  • d3d7d98 ast: Shorten generated code for CloneIn (#9939) (overlookmotel)
  • 28179cd ast_tools: Simplify CloneIn derive (#9938) (overlookmotel)

[0.61.1] - 2025-03-21

Features

  • bc0670c tasks,oxc_allocator: Add new method clone_in_with_semantic_ids for CloneIn trait (#9894) (IWANABETHATGUY)

[0.61.0] - 2025-03-20

Features

  • 38ad787 data_structures: Add assert_unchecked! macro (#9885) (overlookmotel)

[0.56.0] - 2025-03-06

Bug Fixes

  • bbb4f98 semantic: Insert binding into correct scope for TSInferType (#9567) (camc314)

[0.55.0] - 2025-03-05

Features

  • d55dbe2 ast/estree: Raw transfer (experimental) (#9516) (overlookmotel)

[0.54.0] - 2025-03-04

Performance

  • b0a0a82 ast/estree: Reduce overhead serializing static strings (#9396) (overlookmotel)

Refactor

  • dcff40c ast_tools: Generate layout assertions in multiple crates (#9448) (overlookmotel)

[0.53.0] - 2025-02-26

Refactor

  • 55ed1df ast/estree: Shorten ESTree impls for enums (#9275) (overlookmotel)
  • 12e89e0 syntax: Reduce scope of unsafe blocks (#9322) (overlookmotel)

[0.52.0] - 2025-02-21

  • 216b33f ast/estree: [BREAKING] Replace serde with custom ESTree serializer (#9256) (overlookmotel)

Features

  • 3e7b21c ast_tools: Add #[builder(default)] attribute for structs and enums (#9203) (overlookmotel)
  • dde05e3 mangler: Opt-out of direct eval (#9191) (Boshen)

Refactor

  • 9f36181 rust: Apply cllippy::nursery rules (#9232) (Boshen)
  • 5640611 syntax: Shorten Serialize impls (#9248) (overlookmotel)

[0.51.0] - 2025-02-15

Features

  • b5eb6e5 minifier: Improve remove_unused_expression (#9071) (Boshen)

Bug Fixes

  • 15f23f1 napi/parser: Utf16 span for module record (#9093) (hi-ogawa)

Styling

  • 23f53c0 syntax: Name trait method param without underscore (#9119) (overlookmotel)

[0.49.0] - 2025-02-10

  • b7ff7e1 span: [BREAKING] Export ContentEq trait from root of oxc_span crate (#8869) (overlookmotel)

Bug Fixes

  • 7e6a537 ast: Include directives in body (#8981) (hi-ogawa)

Refactor

  • cbb4e9c ast: Generated Serialize impls flatten struct fields (#8904) (overlookmotel)
  • 6628e1d ast: Move #[estree(skip)] to types (#8877) (overlookmotel)
  • 3407d47 ast: Move #[clone_in(default)] to types (#8876) (overlookmotel)
  • caa651c ast: #[content_eq(skip)] attr (#8875) (overlookmotel)
  • abfe5bf ast: Shorten generated code for numbers (#8864) (overlookmotel)
  • f69de07 ast: Remove unneeded lint attrs from generated code (#8862) (overlookmotel)
  • 768ad4f syntax: Add #[ast] attr to semantic ID types (#8867) (overlookmotel)

Styling

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

[0.48.2] - 2025-02-02

Bug Fixes

  • 8a6ae8a minifier: Do not change const to let if assignment to constant variable. (#8761) (Boshen)

Refactor

  • 0568210 ast: Remove excess line breaks from generated code (#8830) (overlookmotel)

[0.48.0] - 2025-01-24

Refactor

  • 23b49a6 linter: Use cow_to_ascii_lowercase instead cow_to_lowercase (#8678) (Boshen)
  • b8d9a51 span: Deal only in owned Atoms (#8641) (overlookmotel)

[0.47.0] - 2025-01-18

  • 7066d1c ast, span, syntax, regular_expression: [BREAKING] Remove ContentHash (#8512) (overlookmotel)

Features

  • c479a58 napi/parser: Expose dynamic import expressions (#8540) (Boshen)

[0.46.0] - 2025-01-14

  • 7eb6ccd ast: [BREAKING] Remove unused and not useful ContentHash (#8483) (Boshen)

Features

[0.45.0] - 2025-01-11

Features

  • 41ddf60 minfier: Add CompressOptions::target (#8179) (Boshen)
  • ec88c68 minifier: Compress a || (a = b) to a ||= b (#8315) (sapphi-red)
  • e6fe84d minifier: Compress a = a + b to a += b (#8314) (sapphi-red)
  • 7f19211 minifier: Minimize unary expression statements (#8256) (camc314)
  • 2331ea8 minifier: typeof foo === 'number' => typeof foo == 'number' (#8112) (Boshen)

Bug Fixes

  • c0a3dda minifier: instanceof has error throwing side effect (#8378) (Boshen)

[0.44.0] - 2024-12-25

Features

  • be4feb4 syntax: Add SymbolId::new method (#8041) (overlookmotel)

[0.43.0] - 2024-12-21

Refactor

  • e7476a1 semantic: Remove serialize (#8015) (Boshen)

[0.42.0] - 2024-12-18

  • 84b75a0 semantic: [BREAKING] Remove ScopeFlags::Modifiers (#7935) (overlookmotel)

Refactor

  • 3858221 global: Sort imports (#7883) (overlookmotel)
  • 8cf9766 semantic, syntax, wasm: Remove #![expect(non_snake_case)] (#7863) (overlookmotel)

Styling

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

[0.41.0] - 2024-12-13

Refactor

  • 0f367e5 semantic: Improve the logic of resolving references to be cleaner (#7829) (Dunqing)

[0.40.0] - 2024-12-10

Features

  • 00fea92 napi/parser: Expose span positions of import.meta (#7677) (Boshen)
  • b8dc333 syntax: Add ExportEntry::is_type (#7676) (Boshen)

Refactor

  • c6a19aa linter: Remove unused serde features (#7738) (Boshen)

[0.39.0] - 2024-12-04

  • c2ced15 parser,linter: [BREAKING] Use a different ModuleRecord for linter (#7554) (Boshen)

  • 8a788b8 parser: [BREAKING] Build ModuleRecord directly in parser (#7546) (Boshen)

Features

  • 7c62a33 napi/parser: Return esm info (#7602) (Boshen)
  • 33e5a49 syntax: Add statement span to ImportEntry and ExportEntry (#7583) (Boshen)

Performance

  • 4a98230 syntax: Use FxDashMap for exported bindings (#7525) (overlookmotel)

Refactor

  • 169b8bf linter, syntax: Introduce type alias FxDashMap (#7520) (overlookmotel)
  • f0e7acc syntax: Change ModuleRecord::not_esm to has_module_syntax (#7579) (Boshen)
  • 18519de syntax: Remove ModuleRecord::export_default (#7578) (Boshen)
  • d476660 syntax: Remove ModuleRecord::exported_bindings_duplicated because it is a syntax error (#7577) (Boshen)
  • 17663f5 syntax: Remove ModuleRecord::export_default_duplicated because it is a syntax error (#7576) (Boshen)
  • 79014ff syntax: Clean up ModuleRecord (#7568) (Boshen)

[0.38.0] - 2024-11-26

  • 27b2268 semantic: [BREAKING] Remove SymbolFlags::Export (#7414) (Dunqing)

  • 6f0fe38 semantic: [BREAKING] Correct all ReferenceFlags::Write according to the spec (#7388) (Dunqing)

Bug Fixes

Refactor

  • d7d0735 semantic: Remove SymbolFlags::TypeLiteral (#7415) (Dunqing)

[0.37.0] - 2024-11-21

Features

  • 2534cde syntax: Add AssignmentOperator::to_logical_operator and to_binary_operator methods (#7350) (overlookmotel)

Performance

  • c335f92 syntax: Reorder operator enum variants (#7351) (overlookmotel)

Documentation

  • 9b9d020 semantic: Document the meaning of ReferenceFlags::Read and Write (#7368) (Boshen)
  • b3d5802 syntax: More comments for ReferenceFlags (#7392) (overlookmotel)

Styling

  • b5a2027 syntax: Improve formatting (#7349) (overlookmotel)

[0.36.0] - 2024-11-09

Features

  • dc0215c ast_tools: Add #[estree(append_to)], remove some custom serialization code (#7149) (ottomated)

[0.35.0] - 2024-11-04

Features

  • 169fa22 ast_tools: Default enums to rename_all = "camelCase" (#6933) (ottomated)

[0.34.0] - 2024-10-26

Features

  • 1145341 ast_tools: Output typescript to a separate package (#6755) (ottomated)

Refactor

  • 423d54c rust: Remove the annoying clippy::wildcard_imports (#6860) (Boshen)

[0.33.0] - 2024-10-24

Refactor

  • 85e69a1 ast_tools: Add line breaks to generated code for ESTree derive (#6680) (overlookmotel)
  • ad8e293 ast_tools: Shorten generated code for impl Serialize (#6684) (overlookmotel)
  • 9ba2b0e ast_tools: Move #[allow] attrs to top of generated files (#6679) (overlookmotel)

[0.32.0] - 2024-10-19

Features

  • e310e52 parser: Generate Serialize impls in ast_tools (#6404) (ottomated)

Bug Fixes

  • 2ce3e5f identifier: Add ZWSP to is_irregular_whitespace (#6662) (Boshen)
  • 1d3d256 transformer: Correctly trim JSX (#6639) (magic-akari)

Documentation

  • 335b7f2 syntax: Enable lint warnings on missing docs, and add a lot of documentation (#6611) (DonIsaac)

Refactor

  • 856cab5 ecmascript: Move ToInt32 from oxc_syntax to oxc_ecmascript (#6471) (Boshen)

[0.31.0] - 2024-10-08

Refactor

  • 03bc041 syntax: Remove some unsafe code creating IDs (#6324) (overlookmotel)

[0.30.3] - 2024-09-27

Bug Fixes

  • 933a743 semantic: Add interfaces and functions to SymbolFlags::ClassExcludes (#6057) (DonIsaac)

[0.30.2] - 2024-09-27

Bug Fixes

  • e0a8959 minifier: Compute void number as undefined (#6028) (Boshen)

[0.30.0] - 2024-09-23

  • c96b712 syntax: [BREAKING] Remove SymbolFlags::ArrowFunction (#5857) (overlookmotel)

Documentation

  • 1ccf290 semantic: Document AstNode and AstNodes (#5872) (DonIsaac)
  • e04841c syntax: Add ModuleRecord documentation (#5818) (DonIsaac)

Refactor

[0.29.0] - 2024-09-13

Bug Fixes

  • 042afa9 syntax: Correctly check for valid RedeclarationIds (#5759) (overlookmotel)

Refactor

  • cc0408b semantic: S/AstNodeId/NodeId (#5740) (Boshen)

[0.27.0] - 2024-09-06

Features

  • 90facd3 ast: Add ContentHash trait; remove noop Hash implementation from Span (#5451) (rzvxa)
  • 23285f4 ast: Add ContentEq trait. (#5427) (rzvxa)

Performance

  • bfabd8f syntax: Further optimize is_identifier_name (#5426) (overlookmotel)
  • aeda84f syntax: Optimize is_identifier_name (#5425) (overlookmotel)

Refactor

  • ccc8a27 ast, ast_tools: Use full method path for generated derives trait calls. (#5462) (rzvxa)
  • e4ed41d semantic: Change the reference flag to ReferenceFlags::Type if it is used within a TSTypeQuery (#5444) (Dunqing)
  • b47aca0 syntax: Use generate_derive for CloneIn in types outside of oxc_ast crate. (#5280) (rzvxa)

[0.25.0] - 2024-08-23

  • d262a58 syntax: [BREAKING] Rename ReferenceFlag to ReferenceFlags (#5023) (overlookmotel)

Refactor

[0.24.3] - 2024-08-18

Features

  • 48821c0 semantic,syntax: Add SymbolFlags::ArrowFunction (#4946) (DonIsaac)

Documentation

  • 0a01a47 semantic: Improve documentation (#4850) (DonIsaac)

Refactor

  • 48a1c32 syntax: Inline trivial bitflags methods (#4877) (overlookmotel)

[0.24.0] - 2024-08-08

Features

  • 82e2f6b ast_codegen: Process AST-related syntax types. (#4694) (rzvxa)
  • 6a36616 syntax: Derive CloneIn for the AST-related items. (#4730) (rzvxa)

Bug Fixes

  • 9f8f299 syntax: Prevent creating invalid u32 IDs (#4675) (overlookmotel)

Refactor

  • e24fb5b syntax: Add explicit enum discriminants to AST related types. (#4691) (rzvxa)
  • 3f3cb62 syntax, span: Reduce #[cfg_attr] boilerplate in type defs (#4698) (overlookmotel)

[0.23.1] - 2024-08-06

Bug Fixes

  • 9f8f299 syntax: Prevent creating invalid u32 IDs (#4675) (overlookmotel)

[0.23.0] - 2024-08-01

Features

  • a558492 codegen: Implement BinaryExpressionVisitor (#4548) (Boshen)
  • 35654e6 codegen: Align operator precedence with esbuild (#4509) (Boshen)
  • b952942 linter: Add eslint/no-unused-vars (⭐ attempt 3.2) (#4445) (DonIsaac)

[0.22.1] - 2024-07-27

Bug Fixes

  • 1667491 syntax: Correct is_reserved_keyword_or_global_object's incorrect function calling. (#4484) (Ethan Goh)
  • 82ba2a0 syntax: Fix unsound use of NonZeroU32 (#4466) (overlookmotel)

Performance

  • 24beaeb semantic: Give AstNodeId a niche (#4469) (overlookmotel)
  • 6a9f4db semantic: Reduce storage size for symbol redeclarations (#4463) (overlookmotel)

Refactor

  • c99b3eb syntax: Give ScopeId a niche (#4468) (overlookmotel)
  • 96fc94f syntax: Use NonMaxU32 for IDs (#4467) (overlookmotel)

[0.22.0] - 2024-07-23

Bug Fixes

  • f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)

[0.21.0] - 2024-07-18

Features

  • 92ee774 semantic: Add ScopeFlags::CatchClause for use in CatchClause (#4205) (Dunqing)

Bug Fixes

  • 95e15b6 semantic: Incorrect resolve references for ExportSpecifier (#4320) (Dunqing)
  • 1108f2a semantic: Resolve references to the incorrect symbol (#4280) (Dunqing)

Performance

  • 8fad7db semantic: Reduce AstNodeId to u32 (#4264) (overlookmotel)

Refactor

  • fc0b17d syntax: Turn the AstNodeId::dummy into a constant field. (#4308) (rzvxa)

[0.16.3] - 2024-07-02

Bug Fixes

  • d995f94 semantic: Resolve reference incorrectly when a parameter references a parameter that hasn't been defined yet (#4004) (Dunqing)

[0.16.2] - 2024-06-30

Performance

  • 0c81fbe syntax: Use NonZeroU32 for SymbolId and ReferenceId (#3970) (Boshen)

[0.16.0] - 2024-06-26

Bug Fixes

  • 99a40ce semantic: export default foo should have ExportLocalName::Default(NameSpan) entry (#3823) (Boshen)

[0.13.4] - 2024-06-07

Bug Fixes

  • c00598b transformer: JSX set reference_id on refs to imports (#3524) (overlookmotel)

[0.13.1] - 2024-05-22

Features

  • e2dd8ac syntax: Export is_reserved_keyword and is_global_object method (#3384) (Boshen)

Bug Fixes

  • b4fa27a transformer: Do no add __self when the jsx is inside constructor (#3258) (Dunqing)

[0.13.0] - 2024-05-14

Features

  • f1ccbd4 syntax: Add ToInt32 trait for f64 (#3132) (Boshen)
  • 870d11f syntax: Add ToJsString trait for f64 (#3131) (Boshen)
  • 46c02ae traverse: Add scope flags to TraverseCtx (#3229) (overlookmotel)

Bug Fixes

  • 4e20b04 traverse: Create scope for function nested in class method (#3234) (overlookmotel)

Refactor

  • a8af5de syntax: Move number related functions to number module (#3130) (Boshen)
  • ae65613 syntax: Use FxHashMap for ModuleRecord::request_modules (#3124) (Boshen)

[0.12.5] - 2024-04-22

Features

  • e6d11c6 syntax: Module graph visitor. (#3062) (Ali Rezvani)

Bug Fixes

  • 1f7033e semantic: Correctly resolve identifiers inside parameter initializers (#3046) (Boshen)

Refactor

  • 1249c6c ast: Implement same traits on all fieldless enums (#3031) (overlookmotel)

[0.12.2] - 2024-04-08

Bug Fixes

  • 1ea24ea semantic: Symbols inside functions and classes incorrectly flagged as exported (#2896) (Don Isaac)

[0.12.1] - 2024-04-03

Features

  • 7710d8c transformer: Add compiler assumptions (#2872) (Boshen)

[0.11.0] - 2024-03-30

Features

  • 712b3d2 semantic: Distinguish type imports in ModuleRecord (#2785) (Dunqing)

Bug Fixes

  • df62828 linter/import: Ignore export declaration in no-duplicates (#2863) (Dunqing)

Refactor

  • 1b5e544 semantic: Distinguish whether requested_modules is type imports/exports (#2848) (Dunqing)

[0.10.0] - 2024-03-14

Features

  • 366a879 linter: Resolve ESM star exports (#2682) (Boshen)- 697b6b7 Merge features serde and wasm to serialize (#2716) (Boshen)

Refactor

  • cba1e2f ast: Import Tsify to shorten code (#2665) (overlookmotel)
  • 6b5723c ast: Shorten manual TS defs (#2638) (overlookmotel)- 89e8d15 Derive SerAttrs on all AST types (#2698) (overlookmotel)- 3c1e0db Reduce cfg_attr boilerplate with SerAttrs derive (#2669) (overlookmotel)- d76ee6b "wasm" feature enable "serde" feature (#2639) (overlookmotel)- 0646bf3 Rename CompactString to CompactStr (#2619) (overlookmotel)

[0.9.0] - 2024-03-05

Features

  • d41dcc3 linter: Remove all commonjs logic for import plugin (#2537) (Boshen)

[0.8.0] - 2024-02-26

Features

  • 6b3b260 Codegen: Improve codegen (#2460) (Andrew McClenaghan)
  • f64c7e0 linter: Handle cjs module.exports.foo = bar and exports.foo = bar (#2492) (Boshen)
  • 950298d semantic: Add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445) (Dunqing)
  • 3e1794d syntax: Implement Debug for ModuleRecord (#2488) (Boshen)

Bug Fixes

  • fba66dc linter: Improve import/no-named-as-default (#2494) (Boshen)

Refactor

  • 67d7a46 linter: Get arrow expression by scope_id in no_render_return_value (#2424) (Dunqing)

[0.7.0] - 2024-02-09

Bug Fixes

  • 540b2a0 semantic: Remove unnecessary SymbolFlags::Import (#2311) (Dunqing)

[0.6.0] - 2024-02-03

Features

  • f673e41 ast: Remove serde skip for symbol_id and reference_id (#2220) (Dunqing)
  • cd5026c ast: TypeScript definition for wasm target (#2158) (Nicholas Roberts)
  • ead4e8d transformer/typescript: Remove import if only have type reference (#2001) (Dunqing)

Bug Fixes

  • 29dc5e6 codegen: Add parenthesis in binary expression by precedence (#2067) (Wenzhe Wang)

Refactor

  • bc7ea0b parser: Make is_identifier methods consistent (overlookmotel)
  • 0dc1804 syntax: Don't re-export unicode_id_start (overlookmotel)
  • 27aaff2 syntax: ASCII tables static not const (#2128) (overlookmotel)
  • 4f59c4f syntax: Reformat identifier byte tables (#2111) (overlookmotel)

[0.5.0] - 2024-01-12

Features

  • 90524c8 linter: Add eslint-plugin-import(export) rule (#1654) (Wenzhe Wang)
  • f1b433b playground: Visualize symbol (#1886) (Dunqing)
  • 3b4fe0e semantic: Allow reserved keyword defined in ts module block (#1907) (Dunqing)
  • b9bdf36 semantic: Improve check super implementation, reduce access nodes (#1827) (Dunqing)
  • ca04312 semantic: Add ClassTable (#1793) (Dunqing)

Refactor

  • 6c5b22f semantic: Improve ClassTable implmention and merge properties and methods to elements (#1902) (Dunqing)

[0.4.0] - 2023-12-08

Features

  • da87b9b prettier: Binaryish expressions with parens (#1597) (Boshen)
  • 1bd1c5b prettier: Check parens for (let)[a] = 1 (#1585) (Boshen)
  • f19032e prettier: Support quoteProps option in PropertyKey (#1578) (Dunqing)

Refactor

  • 1a576f6 rust: Move to workspace lint table (#1444) (Boshen)

[0.3.0] - 2023-11-06

Features

  • 55b2f03 minifier: Partially re-enable minifier (#963) (Boshen)
  • 1661385 semantic: Check non-simple lhs expression of assignment expression (#994) (Boshen)
  • 5863f8f transformer: Logical assignment operators (#923) (Boshen)
  • 1051f15 transformer/jsx: Escape xhtml in jsx attributes (#1088) (Boshen)
  • 1b3b100 transformer_conformance: Read plugins options from babel options.json (#1006) (Boshen)

[0.2.0] - 2023-09-14

Features

  • e7c2313 ast: Add SymbolId and ReferenceId (#755) (Yunfei He)
  • e090b56 minifier: Initialize conditions folding (#658) (阿良仔)
  • 75d928a syntax: Add loaded_modules to ModuleRecord (Boshen)

Performance

  • 6628fc8 linter: Reduce mallocs (#654) (Don Isaac)

Refactor

  • 12798e0 Improve code coverage a little bit (Boshen)- fdf288c Improve code coverage in various places (#721) (Boshen)