diff --git a/Cargo.lock b/Cargo.lock index decd51f895bf9..7bdc2c2597fd5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1505,7 +1505,7 @@ checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" [[package]] name = "oxc" -version = "0.53.0" +version = "0.54.0" dependencies = [ "oxc_allocator", "oxc_ast", @@ -1568,7 +1568,7 @@ dependencies = [ [[package]] name = "oxc_allocator" -version = "0.53.0" +version = "0.54.0" dependencies = [ "allocator-api2", "bumpalo", @@ -1582,7 +1582,7 @@ dependencies = [ [[package]] name = "oxc_ast" -version = "0.53.0" +version = "0.54.0" dependencies = [ "bitflags 2.8.0", "cow-utils", @@ -1596,7 +1596,7 @@ dependencies = [ [[package]] name = "oxc_ast_macros" -version = "0.53.0" +version = "0.54.0" dependencies = [ "proc-macro2", "quote", @@ -1628,7 +1628,7 @@ dependencies = [ [[package]] name = "oxc_ast_visit" -version = "0.53.0" +version = "0.54.0" dependencies = [ "oxc_allocator", "oxc_ast", @@ -1661,7 +1661,7 @@ dependencies = [ [[package]] name = "oxc_cfg" -version = "0.53.0" +version = "0.54.0" dependencies = [ "bitflags 2.8.0", "itertools", @@ -1674,7 +1674,7 @@ dependencies = [ [[package]] name = "oxc_codegen" -version = "0.53.0" +version = "0.54.0" dependencies = [ "base64", "bitflags 2.8.0", @@ -1737,7 +1737,7 @@ dependencies = [ [[package]] name = "oxc_data_structures" -version = "0.53.0" +version = "0.54.0" dependencies = [ "assert-unchecked", "ropey", @@ -1745,7 +1745,7 @@ dependencies = [ [[package]] name = "oxc_diagnostics" -version = "0.53.0" +version = "0.54.0" dependencies = [ "cow-utils", "oxc-miette", @@ -1753,7 +1753,7 @@ dependencies = [ [[package]] name = "oxc_ecmascript" -version = "0.53.0" +version = "0.54.0" dependencies = [ "cow-utils", "num-bigint", @@ -1765,7 +1765,7 @@ dependencies = [ [[package]] name = "oxc_estree" -version = "0.53.0" +version = "0.54.0" dependencies = [ "itoa", "oxc_data_structures", @@ -1783,7 +1783,7 @@ dependencies = [ [[package]] name = "oxc_isolated_declarations" -version = "0.53.0" +version = "0.54.0" dependencies = [ "bitflags 2.8.0", "insta", @@ -1884,7 +1884,7 @@ dependencies = [ [[package]] name = "oxc_mangler" -version = "0.53.0" +version = "0.54.0" dependencies = [ "fixedbitset", "itertools", @@ -1898,7 +1898,7 @@ dependencies = [ [[package]] name = "oxc_minifier" -version = "0.53.0" +version = "0.54.0" dependencies = [ "cow-utils", "insta", @@ -1955,7 +1955,7 @@ dependencies = [ [[package]] name = "oxc_napi" -version = "0.53.0" +version = "0.54.0" dependencies = [ "napi", "napi-build", @@ -1965,7 +1965,7 @@ dependencies = [ [[package]] name = "oxc_parser" -version = "0.53.0" +version = "0.54.0" dependencies = [ "assert-unchecked", "bitflags 2.8.0", @@ -1988,7 +1988,7 @@ dependencies = [ [[package]] name = "oxc_parser_napi" -version = "0.53.0" +version = "0.54.0" dependencies = [ "napi", "napi-build", @@ -2044,7 +2044,7 @@ dependencies = [ [[package]] name = "oxc_regular_expression" -version = "0.53.0" +version = "0.54.0" dependencies = [ "oxc_allocator", "oxc_ast_macros", @@ -2078,7 +2078,7 @@ dependencies = [ [[package]] name = "oxc_semantic" -version = "0.53.0" +version = "0.54.0" dependencies = [ "assert-unchecked", "insta", @@ -2120,7 +2120,7 @@ dependencies = [ [[package]] name = "oxc_span" -version = "0.53.0" +version = "0.54.0" dependencies = [ "compact_str", "oxc-miette", @@ -2133,7 +2133,7 @@ dependencies = [ [[package]] name = "oxc_syntax" -version = "0.53.0" +version = "0.54.0" dependencies = [ "assert-unchecked", "bitflags 2.8.0", @@ -2193,7 +2193,7 @@ dependencies = [ [[package]] name = "oxc_transform_napi" -version = "0.53.0" +version = "0.54.0" dependencies = [ "napi", "napi-build", @@ -2206,7 +2206,7 @@ dependencies = [ [[package]] name = "oxc_transformer" -version = "0.53.0" +version = "0.54.0" dependencies = [ "base64", "compact_str", @@ -2240,7 +2240,7 @@ dependencies = [ [[package]] name = "oxc_traverse" -version = "0.53.0" +version = "0.54.0" dependencies = [ "compact_str", "itoa", diff --git a/Cargo.toml b/Cargo.toml index 424293ed59591..5a218a16c70ad 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -101,30 +101,30 @@ doc_lazy_continuation = "allow" # FIXME [workspace.dependencies] # publish = true -oxc = { version = "0.53.0", path = "crates/oxc" } -oxc_allocator = { version = "0.53.0", path = "crates/oxc_allocator" } -oxc_ast = { version = "0.53.0", path = "crates/oxc_ast" } -oxc_ast_macros = { version = "0.53.0", path = "crates/oxc_ast_macros" } -oxc_ast_visit = { version = "0.53.0", path = "crates/oxc_ast_visit" } -oxc_cfg = { version = "0.53.0", path = "crates/oxc_cfg" } -oxc_codegen = { version = "0.53.0", path = "crates/oxc_codegen" } -oxc_data_structures = { version = "0.53.0", path = "crates/oxc_data_structures" } -oxc_diagnostics = { version = "0.53.0", path = "crates/oxc_diagnostics" } -oxc_ecmascript = { version = "0.53.0", path = "crates/oxc_ecmascript" } -oxc_estree = { version = "0.53.0", path = "crates/oxc_estree" } -oxc_isolated_declarations = { version = "0.53.0", path = "crates/oxc_isolated_declarations" } -oxc_mangler = { version = "0.53.0", path = "crates/oxc_mangler" } -oxc_minifier = { version = "0.53.0", path = "crates/oxc_minifier" } -oxc_napi = { version = "0.53.0", path = "crates/oxc_napi" } -oxc_parser = { version = "0.53.0", path = "crates/oxc_parser" } -oxc_parser_napi = { version = "0.53.0", path = "napi/parser" } -oxc_regular_expression = { version = "0.53.0", path = "crates/oxc_regular_expression" } -oxc_semantic = { version = "0.53.0", path = "crates/oxc_semantic" } -oxc_span = { version = "0.53.0", path = "crates/oxc_span" } -oxc_syntax = { version = "0.53.0", path = "crates/oxc_syntax" } -oxc_transform_napi = { version = "0.53.0", path = "napi/transform" } -oxc_transformer = { version = "0.53.0", path = "crates/oxc_transformer" } -oxc_traverse = { version = "0.53.0", path = "crates/oxc_traverse" } +oxc = { version = "0.54.0", path = "crates/oxc" } +oxc_allocator = { version = "0.54.0", path = "crates/oxc_allocator" } +oxc_ast = { version = "0.54.0", path = "crates/oxc_ast" } +oxc_ast_macros = { version = "0.54.0", path = "crates/oxc_ast_macros" } +oxc_ast_visit = { version = "0.54.0", path = "crates/oxc_ast_visit" } +oxc_cfg = { version = "0.54.0", path = "crates/oxc_cfg" } +oxc_codegen = { version = "0.54.0", path = "crates/oxc_codegen" } +oxc_data_structures = { version = "0.54.0", path = "crates/oxc_data_structures" } +oxc_diagnostics = { version = "0.54.0", path = "crates/oxc_diagnostics" } +oxc_ecmascript = { version = "0.54.0", path = "crates/oxc_ecmascript" } +oxc_estree = { version = "0.54.0", path = "crates/oxc_estree" } +oxc_isolated_declarations = { version = "0.54.0", path = "crates/oxc_isolated_declarations" } +oxc_mangler = { version = "0.54.0", path = "crates/oxc_mangler" } +oxc_minifier = { version = "0.54.0", path = "crates/oxc_minifier" } +oxc_napi = { version = "0.54.0", path = "crates/oxc_napi" } +oxc_parser = { version = "0.54.0", path = "crates/oxc_parser" } +oxc_parser_napi = { version = "0.54.0", path = "napi/parser" } +oxc_regular_expression = { version = "0.54.0", path = "crates/oxc_regular_expression" } +oxc_semantic = { version = "0.54.0", path = "crates/oxc_semantic" } +oxc_span = { version = "0.54.0", path = "crates/oxc_span" } +oxc_syntax = { version = "0.54.0", path = "crates/oxc_syntax" } +oxc_transform_napi = { version = "0.54.0", path = "napi/transform" } +oxc_transformer = { version = "0.54.0", path = "crates/oxc_transformer" } +oxc_traverse = { version = "0.54.0", path = "crates/oxc_traverse" } # publish = false oxc_linter = { path = "crates/oxc_linter" } diff --git a/crates/oxc/CHANGELOG.md b/crates/oxc/CHANGELOG.md index 9c657602bbb3d..a5dc2959900db 100644 --- a/crates/oxc/CHANGELOG.md +++ b/crates/oxc/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + + ## [0.49.0] - 2025-02-10 ### Styling diff --git a/crates/oxc/Cargo.toml b/crates/oxc/Cargo.toml index 0f9e35bc76361..77b7982d73ded 100644 --- a/crates/oxc/Cargo.toml +++ b/crates/oxc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_allocator/Cargo.toml b/crates/oxc_allocator/Cargo.toml index 3809dbf983578..a5fa0ca361b9b 100644 --- a/crates/oxc_allocator/Cargo.toml +++ b/crates/oxc_allocator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_allocator" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_ast/CHANGELOG.md b/crates/oxc_ast/CHANGELOG.md index 807c66a51c69e..3200cf0ab70be 100644 --- a/crates/oxc_ast/CHANGELOG.md +++ b/crates/oxc_ast/CHANGELOG.md @@ -4,6 +4,32 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +- abb15e0 ast: [**BREAKING**] Add `pure` field to `Function`, `CallExpression`, and `NewExpression` (#9207) (overlookmotel) + +### Features + +- 26fde56 minifier: Inline simple IIFEs in `remove_unused_expression` (#9465) (sapphi-red) +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) +- 9b7017c parser,codegen: Pure annotations (#9351) (Boshen) + +### Bug Fixes + +- b371fdc estree/ast: Camel-case `typeAnnotation` field (#9420) (overlookmotel) + +### Performance + +- 10e4431 ast/estree: Skip escaping identifiers (#9398) (overlookmotel) +- b0a0a82 ast/estree: Reduce overhead serializing static strings (#9396) (overlookmotel) + +### Refactor + +- 8916335 ast/estree: Convert enums with converters on variants (#9438) (overlookmotel) +- dcff40c ast_tools: Generate layout assertions in multiple crates (#9448) (overlookmotel) + ## [0.53.0] - 2025-02-26 ### Features diff --git a/crates/oxc_ast/Cargo.toml b/crates/oxc_ast/Cargo.toml index 62a1a9eb338c7..afa3d82241a7d 100644 --- a/crates/oxc_ast/Cargo.toml +++ b/crates/oxc_ast/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_ast_macros/Cargo.toml b/crates/oxc_ast_macros/Cargo.toml index 78420a5f0a768..446b69d2dc3c7 100644 --- a/crates/oxc_ast_macros/Cargo.toml +++ b/crates/oxc_ast_macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast_macros" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_ast_visit/CHANGELOG.md b/crates/oxc_ast_visit/CHANGELOG.md new file mode 100644 index 0000000000000..8f487fc7166f3 --- /dev/null +++ b/crates/oxc_ast_visit/CHANGELOG.md @@ -0,0 +1,14 @@ +# Changelog + +All notable changes to this package will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. + +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) + diff --git a/crates/oxc_ast_visit/Cargo.toml b/crates/oxc_ast_visit/Cargo.toml index 375d1c409504e..28ff7dd60e322 100644 --- a/crates/oxc_ast_visit/Cargo.toml +++ b/crates/oxc_ast_visit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast_visit" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_cfg/Cargo.toml b/crates/oxc_cfg/Cargo.toml index 6992a6fc9944e..6a470705e0437 100644 --- a/crates/oxc_cfg/Cargo.toml +++ b/crates/oxc_cfg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_cfg" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_codegen/CHANGELOG.md b/crates/oxc_codegen/CHANGELOG.md index f24a0cd9bd358..4afd0cb782d1c 100644 --- a/crates/oxc_codegen/CHANGELOG.md +++ b/crates/oxc_codegen/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Features + +- 7d7f16c parser: Apply pure to rhs of binary expression (#9492) (Boshen) +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) +- 9b7017c parser,codegen: Pure annotations (#9351) (Boshen) + +### Bug Fixes + +- 58defe3 parser: Mark expression as pure in chain expression (#9479) (sapphi-red) +- 2a03689 parser: Mark expressions on the left side of logical and conditional expressions as pure (#9414) (sapphi-red) + ## [0.53.0] - 2025-02-26 ### Performance diff --git a/crates/oxc_codegen/Cargo.toml b/crates/oxc_codegen/Cargo.toml index e342d482c536c..fbd9c4e902a51 100644 --- a/crates/oxc_codegen/Cargo.toml +++ b/crates/oxc_codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_codegen" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_data_structures/Cargo.toml b/crates/oxc_data_structures/Cargo.toml index 3eeab516bbcf0..5ad45e87069b1 100644 --- a/crates/oxc_data_structures/Cargo.toml +++ b/crates/oxc_data_structures/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_data_structures" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_diagnostics/Cargo.toml b/crates/oxc_diagnostics/Cargo.toml index a3d805406ea04..73c7a6ce8b6e0 100644 --- a/crates/oxc_diagnostics/Cargo.toml +++ b/crates/oxc_diagnostics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_diagnostics" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_ecmascript/CHANGELOG.md b/crates/oxc_ecmascript/CHANGELOG.md index 367472374021c..811c14a48c147 100644 --- a/crates/oxc_ecmascript/CHANGELOG.md +++ b/crates/oxc_ecmascript/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Features + +- 64f4a82 ecmascript: Handle pure call expression in chain expressions (#9480) (sapphi-red) +- 32139d2 ecmascript: Support `/* @__PURE__ */` in may_have_side_effects (#9409) (sapphi-red) + +### Bug Fixes + +- d2cd975 ecmascript: Fix may_have_side_effects for `${a() === b}` (#9478) (sapphi-red) +- 584d847 ecmascript: Objects passed to template literals may have side effects (#9425) (sapphi-red) + +### Testing + +- c187b11 ecmascript: Add comments and tests for cases where `ToPropertyKey` throws an error (#9429) (sapphi-red) + ## [0.53.0] - 2025-02-26 ### Features diff --git a/crates/oxc_ecmascript/Cargo.toml b/crates/oxc_ecmascript/Cargo.toml index 967670eabb12c..89691b699de13 100644 --- a/crates/oxc_ecmascript/Cargo.toml +++ b/crates/oxc_ecmascript/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ecmascript" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_estree/CHANGELOG.md b/crates/oxc_estree/CHANGELOG.md index 9b9e5d79ea493..45d2a51062c78 100644 --- a/crates/oxc_estree/CHANGELOG.md +++ b/crates/oxc_estree/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Performance + +- b0a0a82 ast/estree: Reduce overhead serializing static strings (#9396) (overlookmotel) + ## [0.53.0] - 2025-02-26 ### Features diff --git a/crates/oxc_estree/Cargo.toml b/crates/oxc_estree/Cargo.toml index d78be38dbcb24..f30f0d764c8ed 100644 --- a/crates/oxc_estree/Cargo.toml +++ b/crates/oxc_estree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_estree" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_isolated_declarations/CHANGELOG.md b/crates/oxc_isolated_declarations/CHANGELOG.md index a60764298a271..58133c90e0015 100644 --- a/crates/oxc_isolated_declarations/CHANGELOG.md +++ b/crates/oxc_isolated_declarations/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + + +### Performance + +- 27a8e50 isolated_declarations: Reserve sufficient capacity in statements `Vec` (#9394) (overlookmotel) + +### Refactor + +- c880481 isolated_declarations: Rename var (#9390) (overlookmotel) +- 37e41f0 isolated_declarations: Use aliases `ArenaBox` / `ArenaVec` (#9389) (overlookmotel) + ## [0.53.0] - 2025-02-26 ### Refactor diff --git a/crates/oxc_isolated_declarations/Cargo.toml b/crates/oxc_isolated_declarations/Cargo.toml index 47f8b7e4f4088..de50dddf4d9e5 100644 --- a/crates/oxc_isolated_declarations/Cargo.toml +++ b/crates/oxc_isolated_declarations/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_isolated_declarations" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_mangler/Cargo.toml b/crates/oxc_mangler/Cargo.toml index 1f5329252f77a..145ee3e504394 100644 --- a/crates/oxc_mangler/Cargo.toml +++ b/crates/oxc_mangler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_mangler" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_minifier/CHANGELOG.md b/crates/oxc_minifier/CHANGELOG.md index b4022dadb0af4..c443b23348265 100644 --- a/crates/oxc_minifier/CHANGELOG.md +++ b/crates/oxc_minifier/CHANGELOG.md @@ -4,6 +4,45 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + +- 64f4a82 ecmascript: Handle pure call expression in chain expressions (#9480) (sapphi-red) +- 32139d2 ecmascript: Support `/* @__PURE__ */` in may_have_side_effects (#9409) (sapphi-red) +- 10eb8f7 minifier: Use `remove_unused_expression` in `try_fold_sequence_expression` in `remove_dead_code` (#9467) (sapphi-red) +- 70916db minifier: Remove unused expression in for init and update (#9466) (sapphi-red) +- 26fde56 minifier: Inline simple IIFEs in `remove_unused_expression` (#9465) (sapphi-red) +- ec2193e minifier: Support extracting arguments in pure calls in `remove_unused_expression` (#9463) (sapphi-red) +- 007051c minifier: Compress `a != null && a.b()` to `a?.b()` in `remove_unused_expression` (#9459) (sapphi-red) +- 50fce20 minifier: Support binary expression in `remove_unused_expression` (#9456) (sapphi-red) +- ed9ede3 minifier: Support conditional expression in `remove_unused_expression` (#9432) (sapphi-red) +- 3520538 minifier: Support object expression in `remove_unused_expression` (#9430) (sapphi-red) +- fb8a93d minifier: Improve array expression handling in `remove_unused_expression` (#9427) (sapphi-red) +- ff477cd minifier: Support template literals in `remove_unused_expression` (#9426) (sapphi-red) +- 0d26113 minifier: Compress `/* @__PURE__ */ a() ? b : b` to `b` (#9410) (sapphi-red) +- 7d7f16c parser: Apply pure to rhs of binary expression (#9492) (Boshen) + +### Bug Fixes + +- d2cd975 ecmascript: Fix may_have_side_effects for `${a() === b}` (#9478) (sapphi-red) +- 584d847 ecmascript: Objects passed to template literals may have side effects (#9425) (sapphi-red) +- 0b96ebe minifier: Don't inline IIFE with parameters (#9477) (sapphi-red) +- 071c84c minifier: Skip `try_fold_stmt_in_boolean_context` on `ExpressionStatement` (#9458) (sapphi-red) +- 306284d minifier: Call mark_current_function_as_changed in remove_unused_expression (#9457) (sapphi-red) + +### Refactor + +- bbb450c minifier: Move `a != null && b` -> `a ?? b` compression to `remove_unused_expression` (#9468) (sapphi-red) +- b93774c minifier: Move `try_fold_iife` to `remove_unused_expression` (#9464) (sapphi-red) +- 96a9719 minifier: Use `may_have_side_effects` in `remove_unused_expression` (#9413) (sapphi-red) + +### Testing + +- c187b11 ecmascript: Add comments and tests for cases where `ToPropertyKey` throws an error (#9429) (sapphi-red) + ## [0.53.0] - 2025-02-26 ### Features diff --git a/crates/oxc_minifier/Cargo.toml b/crates/oxc_minifier/Cargo.toml index 4022af98c8e55..587d8d00a5835 100644 --- a/crates/oxc_minifier/Cargo.toml +++ b/crates/oxc_minifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_minifier" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_napi/Cargo.toml b/crates/oxc_napi/Cargo.toml index 146d0b2614464..d3b4aa40ccf01 100644 --- a/crates/oxc_napi/Cargo.toml +++ b/crates/oxc_napi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_napi" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_parser/CHANGELOG.md b/crates/oxc_parser/CHANGELOG.md index 3dedd6d68e2c7..32c84011817ef 100644 --- a/crates/oxc_parser/CHANGELOG.md +++ b/crates/oxc_parser/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + +- 7d7f16c parser: Apply pure to rhs of binary expression (#9492) (Boshen) +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) +- 9b7017c parser,codegen: Pure annotations (#9351) (Boshen) + +### Bug Fixes + +- 58defe3 parser: Mark expression as pure in chain expression (#9479) (sapphi-red) +- 2a03689 parser: Mark expressions on the left side of logical and conditional expressions as pure (#9414) (sapphi-red) + ## [0.53.0] - 2025-02-26 ### Performance diff --git a/crates/oxc_parser/Cargo.toml b/crates/oxc_parser/Cargo.toml index a4a699620fb22..d04f333a2a06d 100644 --- a/crates/oxc_parser/Cargo.toml +++ b/crates/oxc_parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_parser" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_regular_expression/CHANGELOG.md b/crates/oxc_regular_expression/CHANGELOG.md index 199473cf77034..9d48b13d6c846 100644 --- a/crates/oxc_regular_expression/CHANGELOG.md +++ b/crates/oxc_regular_expression/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### 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 diff --git a/crates/oxc_regular_expression/Cargo.toml b/crates/oxc_regular_expression/Cargo.toml index a9193b2aad1bc..4c050531d3ea1 100644 --- a/crates/oxc_regular_expression/Cargo.toml +++ b/crates/oxc_regular_expression/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_regular_expression" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_semantic/CHANGELOG.md b/crates/oxc_semantic/CHANGELOG.md index f4d25896e13d5..b6ed238ec6261 100644 --- a/crates/oxc_semantic/CHANGELOG.md +++ b/crates/oxc_semantic/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + + ## [0.53.0] - 2025-02-26 ### Refactor diff --git a/crates/oxc_semantic/Cargo.toml b/crates/oxc_semantic/Cargo.toml index 756471c7898dc..2b263d3115345 100644 --- a/crates/oxc_semantic/Cargo.toml +++ b/crates/oxc_semantic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_semantic" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_span/CHANGELOG.md b/crates/oxc_span/CHANGELOG.md index 77e608617ad8a..eb317435108a5 100644 --- a/crates/oxc_span/CHANGELOG.md +++ b/crates/oxc_span/CHANGELOG.md @@ -4,6 +4,20 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Features + +- a9f0d2b ast_tools: Generate field offset assertions for more types (#9449) (overlookmotel) + +### 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 diff --git a/crates/oxc_span/Cargo.toml b/crates/oxc_span/Cargo.toml index 997ace250b260..0b7604162b584 100644 --- a/crates/oxc_span/Cargo.toml +++ b/crates/oxc_span/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_span" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_syntax/CHANGELOG.md b/crates/oxc_syntax/CHANGELOG.md index eac9992518ead..7ebf246eb0e63 100644 --- a/crates/oxc_syntax/CHANGELOG.md +++ b/crates/oxc_syntax/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### 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 diff --git a/crates/oxc_syntax/Cargo.toml b/crates/oxc_syntax/Cargo.toml index cbf19f126a11a..a9a527a0bc9b6 100644 --- a/crates/oxc_syntax/Cargo.toml +++ b/crates/oxc_syntax/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_syntax" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_transformer/CHANGELOG.md b/crates/oxc_transformer/CHANGELOG.md index 36b773b77ee7f..dfcd105264120 100644 --- a/crates/oxc_transformer/CHANGELOG.md +++ b/crates/oxc_transformer/CHANGELOG.md @@ -4,6 +4,19 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + +- aa06932 transformer: Support `ModuleRunnerTransform` (#9371) (Dunqing) + +### Bug Fixes + +- 7fde233 transformer/legacy-decorator: Incorrect check for potentially non-existent ident (#9491) (Dunqing) +- b4f050c transformer/legacy-decorator: Metadata incorrectly wrapped by decorateParam (#9490) (Dunqing) + ## [0.53.0] - 2025-02-26 ### Refactor diff --git a/crates/oxc_transformer/Cargo.toml b/crates/oxc_transformer/Cargo.toml index b8d970098329d..d2188d111bde3 100644 --- a/crates/oxc_transformer/Cargo.toml +++ b/crates/oxc_transformer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transformer" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_traverse/CHANGELOG.md b/crates/oxc_traverse/CHANGELOG.md index 3bc0bbbe13291..19dd845dfeeda 100644 --- a/crates/oxc_traverse/CHANGELOG.md +++ b/crates/oxc_traverse/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +- abb15e0 ast: [**BREAKING**] Add `pure` field to `Function`, `CallExpression`, and `NewExpression` (#9207) (overlookmotel) + +### Features + +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) + ## [0.53.0] - 2025-02-26 ### Bug Fixes diff --git a/crates/oxc_traverse/Cargo.toml b/crates/oxc_traverse/Cargo.toml index 0f70d9dbccb9a..f3a33a70abf87 100644 --- a/crates/oxc_traverse/Cargo.toml +++ b/crates/oxc_traverse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_traverse" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/napi/parser/CHANGELOG.md b/napi/parser/CHANGELOG.md index 3bc9d20238ab7..3bd806bebee2d 100644 --- a/napi/parser/CHANGELOG.md +++ b/napi/parser/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- 355a4db napi/parser: [**BREAKING**] Remove `parse_without_return` API (#9455) (Boshen) + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + +- 68c77c8 napi/parser: Return semantic errors (#9460) (Boshen) + +### Testing + +- d129055 napi: Add tests for worker threads (#9408) (Boshen) +- 48d51e3 napi: Add tests for `hashbang` field (#9386) (overlookmotel) + ## [0.53.0] - 2025-02-26 - 4a5a7cf napi/parser: [**BREAKING**] Remove magic string; enable utf16 span converter by default (#9291) (Boshen) diff --git a/napi/parser/Cargo.toml b/napi/parser/Cargo.toml index a8e97e8500353..0cf420454018f 100644 --- a/napi/parser/Cargo.toml +++ b/napi/parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_parser_napi" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/napi/transform/CHANGELOG.md b/napi/transform/CHANGELOG.md index 924addb8659ea..7fa1a050c0d9c 100644 --- a/napi/transform/CHANGELOG.md +++ b/napi/transform/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Bug Fixes + +- b4f050c transformer/legacy-decorator: Metadata incorrectly wrapped by decorateParam (#9490) (Dunqing) + +### Testing + +- d129055 napi: Add tests for worker threads (#9408) (Boshen) + ## [0.52.0] - 2025-02-21 ### Features diff --git a/napi/transform/Cargo.toml b/napi/transform/Cargo.toml index 4f10aeba3a1f3..e14e33ed21b4e 100644 --- a/napi/transform/Cargo.toml +++ b/napi/transform/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transform_napi" -version = "0.53.0" +version = "0.54.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/npm/oxc-minify/package.json b/npm/oxc-minify/package.json index 4cb2c95de40d4..b8f98132aea0e 100644 --- a/npm/oxc-minify/package.json +++ b/npm/oxc-minify/package.json @@ -1,6 +1,6 @@ { "name": "oxc-minify", - "version": "0.53.0", + "version": "0.54.0", "description": "Oxc minify Node API", "keywords": [ "minify" diff --git a/npm/oxc-parser/CHANGELOG.md b/npm/oxc-parser/CHANGELOG.md index ff86c4fde0d2e..cf5cd616445cb 100644 --- a/npm/oxc-parser/CHANGELOG.md +++ b/npm/oxc-parser/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Features + +- 68c77c8 napi/parser: Return semantic errors (#9460) (Boshen) + ## [0.53.0] - 2025-02-26 - 4a5a7cf napi/parser: [**BREAKING**] Remove magic string; enable utf16 span converter by default (#9291) (Boshen) diff --git a/npm/oxc-parser/package.json b/npm/oxc-parser/package.json index 0510d07fce7c8..8e86c02c547c0 100644 --- a/npm/oxc-parser/package.json +++ b/npm/oxc-parser/package.json @@ -1,6 +1,6 @@ { "name": "oxc-parser", - "version": "0.53.0", + "version": "0.54.0", "description": "Oxc Parser Node API", "keywords": [ "Parser" diff --git a/npm/oxc-transform/package.json b/npm/oxc-transform/package.json index 268380040f76a..7716d9cb78bfb 100644 --- a/npm/oxc-transform/package.json +++ b/npm/oxc-transform/package.json @@ -1,6 +1,6 @@ { "name": "oxc-transform", - "version": "0.53.0", + "version": "0.54.0", "description": "Oxc transform Node API", "keywords": [ "transform" diff --git a/npm/oxc-types/CHANGELOG.md b/npm/oxc-types/CHANGELOG.md index 2b7493bd297c6..2379ead98ed72 100644 --- a/npm/oxc-types/CHANGELOG.md +++ b/npm/oxc-types/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +### Features + +- 2a08b14 parser: Support V8 intrinsics (#9379) (injuly) + ## [0.53.0] - 2025-02-26 ### Bug Fixes diff --git a/npm/oxc-types/package.json b/npm/oxc-types/package.json index fd31c4f5323d5..1433d77267141 100644 --- a/npm/oxc-types/package.json +++ b/npm/oxc-types/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-project/types", - "version": "0.53.0", + "version": "0.54.0", "description": "Types for Oxc AST nodes", "keywords": [ "AST", diff --git a/npm/runtime/package.json b/npm/runtime/package.json index 79266c8683594..90fea1a5c69c1 100644 --- a/npm/runtime/package.json +++ b/npm/runtime/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-project/runtime", - "version": "0.53.0", + "version": "0.54.0", "description": "Oxc's modular runtime helpers", "license": "MIT", "repository": { diff --git a/wasm/parser/CHANGELOG.md b/wasm/parser/CHANGELOG.md index 71f78a74b75a9..6c92c4f69413c 100644 --- a/wasm/parser/CHANGELOG.md +++ b/wasm/parser/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to this package will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project does not adhere to [Semantic Versioning](https://semver.org/spec/v2.0.0.html) until v1.0.0. +## [0.54.0] - 2025-03-03 + +- a5cde10 visit_ast: [**BREAKING**] Add `oxc_visit_ast` crate (#9428) (Boshen) + +### Features + + ## [0.53.0] - 2025-02-26 ### Features diff --git a/wasm/parser/package.json b/wasm/parser/package.json index e4d388b9a334f..5ae14b7088b2b 100644 --- a/wasm/parser/package.json +++ b/wasm/parser/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-parser/wasm", - "version": "0.53.0", + "version": "0.54.0", "description": "Wasm target for the oxc parser.", "keywords": [ "JavaScript",