Files
oxc-project__oxc/crates/oxc_regular_expression/CHANGELOG.md
oxc-guard 894c8f9cd8 release(crates): oxc v0.148.0 (#26198)
### 💥 BREAKING CHANGES

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

### 🚀 Features

- 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

- 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)
2026-09-01 08:15:07 +00:00

11 KiB

Changelog

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

The format is based on Keep a Changelog.

[0.148.0] - 2026-08-31

🐛 Bug Fixes

  • 9b51658 regular_expression: Allow oversized decimal escape for Annex B (#26070) (leaysgur)
  • c8de4df regular_expression: Reject oversized backreferences (#26055) (camc314)

[0.141.0] - 2026-07-20

⚡ Performance

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

[0.138.0] - 2026-06-29

⚡ Performance

  • c5eef8b regular_expression: Skip capturing-group pre-parse when pattern has no ( (#23908) (Lawrence Lin)

[0.132.0] - 2026-05-18

⚡ Performance

  • 98be95c regular_expression: Track regex flags via bitflags (#22427) (Boshen)

[0.125.0] - 2026-04-13

💥 BREAKING CHANGES

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

[0.114.0] - 2026-02-16

🚀 Features

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

[0.113.0] - 2026-02-10

🐛 Bug Fixes

  • e3609e3 regular_expression: Preserve UnicodeEscape CharacterKind in string literals (#18998) (Boshen)

[0.109.0] - 2026-01-19

🚀 Features

  • 830b757 regular_expression: Add Unicode 17.0 script properties (#18140) (Boshen)

[0.105.0] - 2025-12-22

🚀 Features

  • 3e2ae7b regular_expression: Improve error messages (#16953) (sapphi-red)

[0.104.0] - 2025-12-19

🐛 Bug Fixes

  • 5a2af88 regular_expression: Correct named capture group reference error (#16952) (sapphi-red)

[0.96.0] - 2025-10-30

🚜 Refactor

  • 561b743 regular_expression: Improve initizalizing state (#15045) (leaysgur)

[0.91.0] - 2025-09-22

💼 Other

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

[0.88.0] - 2025-09-15

🚀 Features

  • 9a205d1 regex-parser: Parse simple TemplateLiterals (#13265) (Sysix)

🐛 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.87.0] - 2025-09-08

🚀 Features

  • 9590b57 regular_expression: Detect regex pattern modifiers usage (#13471) (sapphi-red)

🐛 Bug Fixes

  • 9184911 regular_expression: Detect usage of unsupported syntax recursively (#13470) (sapphi-red)
  • 0eea7da regular_expression: Don't lower capture groups that are not named ones (#13469) (sapphi-red)

🚜 Refactor

  • c17b80a regular_expression: Extract has_unsupported_regular_expression_pattern (#13468) (sapphi-red)
  • 14c40fd ast: Implement RegExpLiteral::parse_pattern (#13467) (sapphi-red)

[0.80.0] - 2025-08-03

📚 Documentation

  • 514322c rust: Add minimal documentation to example files in crates directory (#12731) (Copilot)

[0.73.1] - 2025-06-17

🚜 Refactor

  • d057652 regular-expression: Shorten Span construction (#11689) (Ulrich Stark)

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.71.0] - 2025-05-20

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

Features

  • c60382d allocator/vec2: Change len and cap fields from usize to u32 (#10884) (Dunqing)

Performance

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

Refactor

  • 9775585 regular_expression: Refactor regexp-modifiers support (#11142) (Yuji Sugiura)

[0.70.0] - 2025-05-15

Documentation

  • a86cbb3 linter: Fix incorrect backticks of fenced code blocks (#10947) (Ulrich Stark)

[0.69.0] - 2025-05-09

Refactor

  • daba0a7 estree: Remove regular expression types from ESTree AST (#10855) (overlookmotel)
  • 6de5a43 regular_expression: Move impl GetSpan to separate file (#10846) (Yuji Sugiura)

Styling

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

[0.63.0] - 2025-04-08

Performance

  • 774f6ba regular_expression: Remove write! macro where unnecessary (#10233) (overlookmotel)

[0.61.2] - 2025-03-23

Performance

  • a09bbcf regular_expression: Make all fieldless enums Copy (#9937) (overlookmotel)

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.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)

[0.52.0] - 2025-02-21

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

Features

Refactor

  • ef856f5 oxc: Apply clippy::needless_pass_by_ref_mut (#9253) (Boshen)
  • 9f36181 rust: Apply cllippy::nursery rules (#9232) (Boshen)

[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)
  • abfe5bf ast: Shorten generated code for numbers (#8864) (overlookmotel)
  • f69de07 ast: Remove unneeded lint attrs from generated code (#8862) (overlookmotel)
  • 6d1e1d8 ast: Make generated code consistent (#8872) (overlookmotel)

Styling

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

[0.48.0] - 2025-01-24

Refactor

  • ac4f98e span: Derive Copy on Atom (#8596) (branchseer)

[0.47.0] - 2025-01-18

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

Features

Refactor

  • 007e8c0 ast, regular_expression: Shorten ContentEq implementations (#8519) (overlookmotel)
  • b5ed58e span: All methods take owned Span (#8297) (overlookmotel)

[0.46.0] - 2025-01-14

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

Features

[0.42.0] - 2024-12-18

Refactor

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

Styling

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

[0.38.0] - 2024-11-26

Features

  • eb70219 ast: Derive GetAddress on all enum types (#7472) (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

  • ce5b609 ast: Remove explicit untagged marker on enums (#6915) (ottomated)
  • 9725e3c ast_tools: Add #[estree(always_flatten)] to Span (#6935) (ottomated)
  • 169fa22 ast_tools: Default enums to rename_all = "camelCase" (#6933) (ottomated)

[0.34.0] - 2024-10-26

  • 90c786c regular_expression: [BREAKING] Support ES2025 Duplicated named capture groups (#6847) (leaysgur)

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

  • 8032813 regular_expression: [BREAKING] Migrate to new regexp parser API (#6741) (leaysgur)

Features

  • f8e1907 regular_expression: Intro ConstructorParser(and LiteralParser) to handle escape sequence in RegExp('pat') (#6635) (leaysgur)

Bug Fixes

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)
  • 11458a5 ast_tools: Shorten generated code by avoiding ref in matches (#6675) (overlookmotel)

[0.32.0] - 2024-10-19

Features

  • e310e52 parser: Generate Serialize impls in ast_tools (#6404) (ottomated)
  • b5b0af9 regular_expression: Support RegExp Modifiers (#6410) (leaysgur)

Bug Fixes

  • 9f9057b regular_expression: Fixed control Y regular expression (#6524) (Tapan Prakash)
  • c822b48 regular_expression: Fix CharacterClass negative codegen (#6415) (leaysgur)
  • 384d5be regular_expression: Flatten Spans on regex AST nodes (#6396) (ottomated)

Performance

  • 7c20056 regex: Reduce string allocations in Display impls (#6528) (DonIsaac)

Styling

  • fb916b2 regular_expression: Re-order dependencies in Cargo.toml (#6672) (overlookmotel)

[0.31.0] - 2024-10-08

  • 5a73a66 regular_expression: [BREAKING] Simplify public APIs (#6262) (leaysgur)

Refactor

  • acab777 regular_expression: Misc fixes (#6234) (leaysgur)

[0.30.2] - 2024-09-27

Features

  • 8d026e1 regular_expression: Implement GetSpan for RegExp AST nodes (#6056) (camchenry)
  • 7764793 regular_expression: Implement visitor pattern trait for regex AST (#6055) (camchenry)

[0.28.0] - 2024-09-11

Bug Fixes

  • 304ce25 regular_expression: Keep LegacyOctalEscape raw digits for to_string (#5692) (leaysgur)
  • 0511d55 regular_expression: Report more MayContainStrings error in (nested)class (#5661) (leaysgur)
  • 41582ea regular_expression: Improve RegExp to_string() results (#5635) (leaysgur)
  • 28aad28 regular_expression: Handle - in /[\-]/u as escaped character (#5631) (leaysgur)

Refactor

  • 0ac420d linter: Use meaningful names for diagnostic parameters (#5564) (Don Isaac)
  • 2da42ef regular_expression: Improve AST docs with refactoring may_contain_strings (#5665) (leaysgur)
  • dec1395 regular_expression: Align diagnostics (#5543) (leaysgur)

[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)
  • 59abf27 ast, parser: Add oxc_regular_expression types to the parser and AST. (#5256) (rzvxa)

Bug Fixes

  • 9b984b3 regex: Panic on displaying surrogated UnicodeEscape characters. (#5469) (rzvxa)
  • 88b7ddb regular_expression: Handle unterminated character class (#5523) (leaysgur)

Refactor

  • ccc8a27 ast, ast_tools: Use full method path for generated derives trait calls. (#5462) (rzvxa)
  • e7bd49d regular_expression: Correct typo (#5429) (overlookmotel)

[0.26.0] - 2024-09-03

Features

  • 46b641b regular_expression: Validate max quantifier value (#5218) (leaysgur)

Bug Fixes

  • cffce11 regular_expression: Prevent panic on too large number (#5282) (leaysgur)