diff --git a/Cargo.lock b/Cargo.lock index 00d4138f638b3..7f936f0d4c668 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1468,7 +1468,7 @@ checksum = "fb37767f6569cd834a413442455e0f066d0d522de8630436e2a1761d9726ba56" [[package]] name = "oxc" -version = "0.44.0" +version = "0.45.0" dependencies = [ "oxc_allocator", "oxc_ast", @@ -1530,7 +1530,7 @@ dependencies = [ [[package]] name = "oxc_allocator" -version = "0.44.0" +version = "0.45.0" dependencies = [ "allocator-api2", "bumpalo", @@ -1541,7 +1541,7 @@ dependencies = [ [[package]] name = "oxc_ast" -version = "0.44.0" +version = "0.45.0" dependencies = [ "bitflags 2.7.0", "cow-utils", @@ -1559,7 +1559,7 @@ dependencies = [ [[package]] name = "oxc_ast_macros" -version = "0.44.0" +version = "0.45.0" dependencies = [ "proc-macro2", "quote", @@ -1607,7 +1607,7 @@ dependencies = [ [[package]] name = "oxc_cfg" -version = "0.44.0" +version = "0.45.0" dependencies = [ "bitflags 2.7.0", "itertools", @@ -1620,7 +1620,7 @@ dependencies = [ [[package]] name = "oxc_codegen" -version = "0.44.0" +version = "0.45.0" dependencies = [ "assert-unchecked", "base64", @@ -1682,7 +1682,7 @@ dependencies = [ [[package]] name = "oxc_data_structures" -version = "0.44.0" +version = "0.45.0" dependencies = [ "assert-unchecked", "ropey", @@ -1690,7 +1690,7 @@ dependencies = [ [[package]] name = "oxc_diagnostics" -version = "0.44.0" +version = "0.45.0" dependencies = [ "oxc-miette", "rustc-hash", @@ -1698,7 +1698,7 @@ dependencies = [ [[package]] name = "oxc_ecmascript" -version = "0.44.0" +version = "0.45.0" dependencies = [ "num-bigint", "num-traits", @@ -1709,7 +1709,7 @@ dependencies = [ [[package]] name = "oxc_estree" -version = "0.44.0" +version = "0.45.0" dependencies = [ "serde", ] @@ -1726,7 +1726,7 @@ dependencies = [ [[package]] name = "oxc_isolated_declarations" -version = "0.44.0" +version = "0.45.0" dependencies = [ "bitflags 2.7.0", "insta", @@ -1826,7 +1826,7 @@ dependencies = [ [[package]] name = "oxc_mangler" -version = "0.44.0" +version = "0.45.0" dependencies = [ "itertools", "oxc_ast", @@ -1838,7 +1838,7 @@ dependencies = [ [[package]] name = "oxc_minifier" -version = "0.44.0" +version = "0.45.0" dependencies = [ "cow-utils", "insta", @@ -1891,7 +1891,7 @@ dependencies = [ [[package]] name = "oxc_napi" -version = "0.44.0" +version = "0.45.0" dependencies = [ "napi", "napi-derive", @@ -1900,7 +1900,7 @@ dependencies = [ [[package]] name = "oxc_parser" -version = "0.44.0" +version = "0.45.0" dependencies = [ "assert-unchecked", "bitflags 2.7.0", @@ -1923,7 +1923,7 @@ dependencies = [ [[package]] name = "oxc_parser_napi" -version = "0.0.0" +version = "0.45.0" dependencies = [ "napi", "napi-build", @@ -1982,7 +1982,7 @@ dependencies = [ [[package]] name = "oxc_regular_expression" -version = "0.44.0" +version = "0.45.0" dependencies = [ "oxc_allocator", "oxc_ast_macros", @@ -2016,7 +2016,7 @@ dependencies = [ [[package]] name = "oxc_semantic" -version = "0.44.0" +version = "0.45.0" dependencies = [ "assert-unchecked", "hashbrown 0.15.2", @@ -2057,7 +2057,7 @@ dependencies = [ [[package]] name = "oxc_span" -version = "0.44.0" +version = "0.45.0" dependencies = [ "compact_str", "oxc-miette", @@ -2070,7 +2070,7 @@ dependencies = [ [[package]] name = "oxc_syntax" -version = "0.44.0" +version = "0.45.0" dependencies = [ "assert-unchecked", "bitflags 2.7.0", @@ -2129,7 +2129,7 @@ dependencies = [ [[package]] name = "oxc_transform_napi" -version = "0.44.0" +version = "0.45.0" dependencies = [ "napi", "napi-build", @@ -2142,7 +2142,7 @@ dependencies = [ [[package]] name = "oxc_transformer" -version = "0.44.0" +version = "0.45.0" dependencies = [ "base64", "compact_str", @@ -2175,7 +2175,7 @@ dependencies = [ [[package]] name = "oxc_traverse" -version = "0.44.0" +version = "0.45.0" dependencies = [ "compact_str", "itoa", diff --git a/Cargo.toml b/Cargo.toml index 7c07bc8ccd931..a285c7a550915 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -79,29 +79,29 @@ doc_lazy_continuation = "allow" # FIXME [workspace.dependencies] # publish = true -oxc = { version = "0.44.0", path = "crates/oxc" } -oxc_allocator = { version = "0.44.0", path = "crates/oxc_allocator" } -oxc_ast = { version = "0.44.0", path = "crates/oxc_ast" } -oxc_ast_macros = { version = "0.44.0", path = "crates/oxc_ast_macros" } -oxc_cfg = { version = "0.44.0", path = "crates/oxc_cfg" } -oxc_codegen = { version = "0.44.0", path = "crates/oxc_codegen" } -oxc_data_structures = { version = "0.44.0", path = "crates/oxc_data_structures" } -oxc_diagnostics = { version = "0.44.0", path = "crates/oxc_diagnostics" } -oxc_ecmascript = { version = "0.44.0", path = "crates/oxc_ecmascript" } -oxc_estree = { version = "0.44.0", path = "crates/oxc_estree" } -oxc_isolated_declarations = { version = "0.44.0", path = "crates/oxc_isolated_declarations" } -oxc_mangler = { version = "0.44.0", path = "crates/oxc_mangler" } -oxc_minifier = { version = "0.44.0", path = "crates/oxc_minifier" } -oxc_napi = { version = "0.44.0", path = "crates/oxc_napi" } -oxc_parser = { version = "0.44.0", path = "crates/oxc_parser" } -oxc_parser_napi = { version = "0.44.0", path = "napi/parser" } -oxc_regular_expression = { version = "0.44.0", path = "crates/oxc_regular_expression" } -oxc_semantic = { version = "0.44.0", path = "crates/oxc_semantic" } -oxc_span = { version = "0.44.0", path = "crates/oxc_span" } -oxc_syntax = { version = "0.44.0", path = "crates/oxc_syntax" } -oxc_transform_napi = { version = "0.44.0", path = "napi/transform" } -oxc_transformer = { version = "0.44.0", path = "crates/oxc_transformer" } -oxc_traverse = { version = "0.44.0", path = "crates/oxc_traverse" } +oxc = { version = "0.45.0", path = "crates/oxc" } +oxc_allocator = { version = "0.45.0", path = "crates/oxc_allocator" } +oxc_ast = { version = "0.45.0", path = "crates/oxc_ast" } +oxc_ast_macros = { version = "0.45.0", path = "crates/oxc_ast_macros" } +oxc_cfg = { version = "0.45.0", path = "crates/oxc_cfg" } +oxc_codegen = { version = "0.45.0", path = "crates/oxc_codegen" } +oxc_data_structures = { version = "0.45.0", path = "crates/oxc_data_structures" } +oxc_diagnostics = { version = "0.45.0", path = "crates/oxc_diagnostics" } +oxc_ecmascript = { version = "0.45.0", path = "crates/oxc_ecmascript" } +oxc_estree = { version = "0.45.0", path = "crates/oxc_estree" } +oxc_isolated_declarations = { version = "0.45.0", path = "crates/oxc_isolated_declarations" } +oxc_mangler = { version = "0.45.0", path = "crates/oxc_mangler" } +oxc_minifier = { version = "0.45.0", path = "crates/oxc_minifier" } +oxc_napi = { version = "0.45.0", path = "crates/oxc_napi" } +oxc_parser = { version = "0.45.0", path = "crates/oxc_parser" } +oxc_parser_napi = { version = "0.45.0", path = "napi/parser" } +oxc_regular_expression = { version = "0.45.0", path = "crates/oxc_regular_expression" } +oxc_semantic = { version = "0.45.0", path = "crates/oxc_semantic" } +oxc_span = { version = "0.45.0", path = "crates/oxc_span" } +oxc_syntax = { version = "0.45.0", path = "crates/oxc_syntax" } +oxc_transform_napi = { version = "0.45.0", path = "napi/transform" } +oxc_transformer = { version = "0.45.0", path = "crates/oxc_transformer" } +oxc_traverse = { version = "0.45.0", path = "crates/oxc_traverse" } # publish = false oxc_linter = { path = "crates/oxc_linter" } diff --git a/crates/oxc/Cargo.toml b/crates/oxc/Cargo.toml index e7a1af65ca711..866747d3bd17c 100644 --- a/crates/oxc/Cargo.toml +++ b/crates/oxc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_allocator/CHANGELOG.md b/crates/oxc_allocator/CHANGELOG.md index 20ac24f203191..2c6d7d3160114 100644 --- a/crates/oxc_allocator/CHANGELOG.md +++ b/crates/oxc_allocator/CHANGELOG.md @@ -4,6 +4,17 @@ 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.45.0] - 2025-01-11 + +### Features + +- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389) (overlookmotel) +- 06e1780 minifier: Improve `StatementFusion` (#8194) (Boshen) + +### Bug Fixes + +- eb25bc0 allocator: Fix lifetimes on `IntoIterator` for `Vec` (#8388) (overlookmotel) + ## [0.43.0] - 2024-12-21 ### Features diff --git a/crates/oxc_allocator/Cargo.toml b/crates/oxc_allocator/Cargo.toml index 21596de120bd2..a244060b8353c 100644 --- a/crates/oxc_allocator/Cargo.toml +++ b/crates/oxc_allocator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_allocator" -version = "0.44.0" +version = "0.45.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 e194520cc56c3..85c8cac595e6d 100644 --- a/crates/oxc_ast/CHANGELOG.md +++ b/crates/oxc_ast/CHANGELOG.md @@ -4,6 +4,37 @@ 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.45.0] - 2025-01-11 + +- 7f69561 ast: [**BREAKING**] `oxc_ast` do not export `BigUint` (#8428) (overlookmotel) + +- d8b27af ast: [**BREAKING**] No unneccesary trailing underscores on `AstBuilder` method names (#8283) (overlookmotel) + +- 5106088 ast: [**BREAKING**] Remove `FromIn for Statement` (#8280) (overlookmotel) + +### Features + +- 3212bcd ast_tools: Ignore `raw` field of `NumericLiteral` and `StringLiteral` in `ContentEq` (#8417) (Boshen) +- 8d52cd0 minifier: Merge assign expression in conditional expression (#8345) (sapphi-red) +- e84f267 minifier: Compress more property keys (#8253) (Boshen) +- ccdc039 minifier: Always put literals on the rhs of equal op `1==x` => `x==1` (#8240) (Boshen) +- 213364a minifier: Minimize `if (x) if (y) z` -> `if (x && y) z` (#8136) (Boshen) +- fef0b25 minifier: Collapse `var` into for loop initializer (#8119) (Boshen) + +### Bug Fixes + +- 97a7992 ast: Fix `ContentEq` and `ContentHash` impls for literal types (#8426) (overlookmotel) + +### Documentation + +- c8e4843 ast: Fix doc comment (#8286) (overlookmotel) + +### Refactor + +- b29655f ast: Rearrange impls for literal types in same order as they are defined (#8425) (overlookmotel) +- 0db2a22 ast: `AstBuilder` enum builder methods use `alloc_*` methods (#8281) (overlookmotel) +- aea9551 ast: Simplify `get_identifier_reference` of `TSType` and `TSTypeName` (#8273) (Dunqing) + ## [0.44.0] - 2024-12-25 - ad2a620 ast: [**BREAKING**] Add missing `AssignmentTargetProperty::computed` (#8097) (Boshen) diff --git a/crates/oxc_ast/Cargo.toml b/crates/oxc_ast/Cargo.toml index d4a7e8524c19e..ce9e3745a4f3f 100644 --- a/crates/oxc_ast/Cargo.toml +++ b/crates/oxc_ast/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ast" -version = "0.44.0" +version = "0.45.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 f9990fde6f5d5..b9ab5749fd29d 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.44.0" +version = "0.45.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 a9d8bfd45af19..9a3173b5c5f36 100644 --- a/crates/oxc_cfg/Cargo.toml +++ b/crates/oxc_cfg/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_cfg" -version = "0.44.0" +version = "0.45.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 beb04a0289974..f47cfe769e688 100644 --- a/crates/oxc_codegen/CHANGELOG.md +++ b/crates/oxc_codegen/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.45.0] - 2025-01-11 + +### Features + +- ad146bb codegen: Print real newline when `\n` is inside template literals (#8178) (Boshen) +- a542013 minifier: Minimize `do{}while(true)` -> `do;while(true)` (#8311) (Boshen) + +### Bug Fixes + +- a1752a0 codegen: Fix incorrect minified `return 1n` output (#8374) (Boshen) +- 5a648bc codegen: Fix white space issue with do statements (#8348) (Boshen) +- b6d16f4 codegen: Print parenthesis on negative bigint lit when neccessary (#8258) (camc314) +- 8ed9766 codegen: Source map builder panicked because it attempted to subtract with overflow in `search_original_line_and_column` (#8185) (Dunqing) +- ad61e70 codegen: Print if else without block with proper indentation (#8135) (Boshen) + ## [0.44.0] - 2024-12-25 - ad2a620 ast: [**BREAKING**] Add missing `AssignmentTargetProperty::computed` (#8097) (Boshen) diff --git a/crates/oxc_codegen/Cargo.toml b/crates/oxc_codegen/Cargo.toml index 734bd3c470cc8..632782e03af18 100644 --- a/crates/oxc_codegen/Cargo.toml +++ b/crates/oxc_codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_codegen" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_data_structures/CHANGELOG.md b/crates/oxc_data_structures/CHANGELOG.md index 032bccc074318..441bb99fb4720 100644 --- a/crates/oxc_data_structures/CHANGELOG.md +++ b/crates/oxc_data_structures/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.45.0] - 2025-01-11 + +### Documentation + +- e0a09ab data_structures: Improve docs for stack types (#8356) (overlookmotel) + +### Refactor + +- 9c1844a data_structures: Remove `NonNull` shim (#8423) (overlookmotel) + ## [0.42.0] - 2024-12-18 ### Features diff --git a/crates/oxc_data_structures/Cargo.toml b/crates/oxc_data_structures/Cargo.toml index c6b852140b18f..8ccf44cbad1d2 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.44.0" +version = "0.45.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 c03673ba61547..870ca995f0275 100644 --- a/crates/oxc_diagnostics/Cargo.toml +++ b/crates/oxc_diagnostics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_diagnostics" -version = "0.44.0" +version = "0.45.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 f0b101c074a1e..df4b9777cdccc 100644 --- a/crates/oxc_ecmascript/CHANGELOG.md +++ b/crates/oxc_ecmascript/CHANGELOG.md @@ -4,6 +4,38 @@ 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.45.0] - 2025-01-11 + +### Features + +- 438a6e7 minifier: Minimize conditions in boolean context (#8381) (Boshen) +- e88a6bd minifier: Minimize `!0 + null !== 1` -> `!0 + null != 1` (#8332) (Boshen) +- 922c514 minifier: Fold `.toString()` (#8308) (Boshen) +- 66a2443 minifier: Minify sequence expressions (#8305) (camc314) +- f000596 minifier: Minify call expressionsto `Number` (#8267) (camc314) +- cec63e2 minifier: `{}` evals to `f64::NaN` (Boshen) +- 4d8a08d minifier: Improve constant evaluation (#8252) (Boshen) +- bd8d677 minifier: Minimize `~undefined`, `~null`, `~true`, `~false` (#8247) (Boshen) +- f73dc9e minifier: Constant fold `'x'.toString()` and `true.toString()` (#8246) (Boshen) +- fc43ec5 minifier: Fold `string.length` / `array.length` (#8172) (sapphi-red) +- 6615e1e minifier: Constant fold `instanceof` (#8142) (翠 / green) +- ad9a0a9 mininifier: Minimize variants of `a instanceof b == true` (#8241) (Boshen) + +### Bug Fixes + +- 74572de ecmascript: Incorrect `to_int_32` value for Infinity (#8144) (翠 / green) +- 0efc845 minifier: `+0n` produces `TypeError` (#8410) (Boshen) +- 7ce6a7c minifier: `a in b` has error throwing side effect (#8406) (Boshen) +- c0a3dda minifier: `instanceof` has error throwing side effect (#8378) (Boshen) +- 5516f7f minifier: Do not fold object comparisons (#8375) (Boshen) +- 05be1fc minifier: Remove incorrect fold `Expression::AssignmentExpression` (#8211) (Boshen) +- 56b7f13 minifier: Do not constant fold `0 instanceof F` (#8199) (Boshen) + +### Refactor + +- 1835687 ecmascript: Remove unnecessary `use` statement (#8284) (overlookmotel) +- 9a5c66a minifier: Clean up (#8346) (Boshen) + ## [0.44.0] - 2024-12-25 ### Features diff --git a/crates/oxc_ecmascript/Cargo.toml b/crates/oxc_ecmascript/Cargo.toml index b943cb987b392..6d435ee50fd6d 100644 --- a/crates/oxc_ecmascript/Cargo.toml +++ b/crates/oxc_ecmascript/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_ecmascript" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_estree/Cargo.toml b/crates/oxc_estree/Cargo.toml index cd081a349ebe0..edda9b7a6acc9 100644 --- a/crates/oxc_estree/Cargo.toml +++ b/crates/oxc_estree/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_estree" -version = "0.44.0" +version = "0.45.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 91b8bfec38953..de2095126d69b 100644 --- a/crates/oxc_isolated_declarations/CHANGELOG.md +++ b/crates/oxc_isolated_declarations/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.45.0] - 2025-01-11 + +### Refactor + +- aea9551 ast: Simplify `get_identifier_reference` of `TSType` and `TSTypeName` (#8273) (Dunqing) + ## [0.42.0] - 2024-12-18 ### Refactor diff --git a/crates/oxc_isolated_declarations/Cargo.toml b/crates/oxc_isolated_declarations/Cargo.toml index 0bac7463a7699..206b45d0f9c3f 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.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_mangler/CHANGELOG.md b/crates/oxc_mangler/CHANGELOG.md index 8a100a56d7461..8210a5ed627a9 100644 --- a/crates/oxc_mangler/CHANGELOG.md +++ b/crates/oxc_mangler/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.45.0] - 2025-01-11 + +### Bug Fixes + +- 5c63414 mangler: Keep exported symbols for `top_level: true` (#7927) (翠 / green) + ## [0.43.0] - 2024-12-21 ### Performance diff --git a/crates/oxc_mangler/Cargo.toml b/crates/oxc_mangler/Cargo.toml index 96c06236ebd27..522a465157697 100644 --- a/crates/oxc_mangler/Cargo.toml +++ b/crates/oxc_mangler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_mangler" -version = "0.44.0" +version = "0.45.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 afbf0ffbdde96..9a475f4c6d17d 100644 --- a/crates/oxc_minifier/CHANGELOG.md +++ b/crates/oxc_minifier/CHANGELOG.md @@ -4,6 +4,158 @@ 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.45.0] - 2025-01-11 + +### Features + +- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389) (overlookmotel) +- 41ddf60 minfier: Add `CompressOptions::target` (#8179) (Boshen) +- d56020b minifier: Drop `0` from `new Int8Array(0)` and other TypedArrays (#8431) (sapphi-red) +- f935d94 minifier: Remove `new` from NativeErrors / `AggregateError` (#8430) (sapphi-red) +- dab7a51 minifier: Minimize not `!(x === undefined)` -> `x !== undefined` (#8429) (Boshen) +- 0e7bab8 minifier: Remove `if(false){}` in a single pass (#8421) (Boshen) +- 5b5b844 minifier: Fold `ambiguous if else` (#8415) (Boshen) +- 438a6e7 minifier: Minimize conditions in boolean context (#8381) (Boshen) +- 793cb43 minifier: `a != null ? a : b` -> `a ?? b` (#8352) (camc314) +- 814da55 minifier: Compress `x = x || 1` to `x ||= 1` (#8368) (sapphi-red) +- a596821 minifier: Compress `a.b = a.b + c` to `a.b += c` (#8367) (sapphi-red) +- 579eb60 minifier: Compress `a.b || (a.b = c)` to `a.b ||= c` (#8366) (sapphi-red) +- f367a16 minifier: Port esbuild conditional expr minification (#8351) (camc314) +- 8d52cd0 minifier: Merge assign expression in conditional expression (#8345) (sapphi-red) +- a69d15f minifier: Compress `new Array(2)` -> `[,,]` (#8344) (sapphi-red) +- 819c475 minifier: Compress `new Array(7n)` -> `[7n]` (#8343) (sapphi-red) +- e085d66 minifier: Remove empty IIFE (#8340) (Boshen) +- 2c2e483 minifier: Fold object spread `({ ...null })` -> `({})` (#8339) (Boshen) +- 6220e05 minifier: Remove empty if statment `if (test) {}` -> `test` (#8336) (Boshen) +- a76dfae minifier: Remove label statement with empty body (#8333) (Boshen) +- e88a6bd minifier: Minimize `!0 + null !== 1` -> `!0 + null != 1` (#8332) (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) +- 9ea4e31 minifier: Remove `new` from `new Error`/`new Function`/`new RegExp` (#8313) (sapphi-red) +- 051fbb6 minifier: Minimize `x["0"]` -> x[0] (#8316) (Boshen) +- a542013 minifier: Minimize `do{}while(true)` -> `do;while(true)` (#8311) (Boshen) +- e3ff81e minifier: Minimize `(x = 1) === 1` -> `(x = 1) == 1` (#8310) (Boshen) +- 4b68cc0 minifier: Minimize empty `try` statement (#8309) (Boshen) +- 922c514 minifier: Fold `.toString()` (#8308) (Boshen) +- 66a2443 minifier: Minify sequence expressions (#8305) (camc314) +- af65c36 minifier: Minimize double negated binary expressions (#8304) (camc314) +- 76c778b minifier: Remove logical nots when arg is a delete expression (#8303) (camc314) +- 5ed439b minifier: Minify typeof in binary expressions (#8302) (camc314) +- 6afc590 minifier: Compress typeof addition string (#8301) (camc314) +- ecc789f minifier: Fold `if(x >> y == 0){}` -> `if(!(x >> y)){}` (#8277) (Boshen) +- 0e3b79a minifier: Fold `String()` -> `''`, `Number()` -> `false` (#8274) (Boshen) +- c9cf593 minifier: Compress property key `{[1]: _}` -> {1: _} (#8272) (Boshen) +- b92b2ab minifier: Fold `BigInt(1n)` -> `1n` (#8270) (Boshen) +- a4df387 minifier: Compress loose equals undefined (#8268) (camc314) +- f000596 minifier: Minify call expressionsto `Number` (#8267) (camc314) +- 092aeaf minifier: Flatten spread args in call expressions (#8266) (camc314) +- 04ec38d minifier: Remove unused arrow function expressions (#8262) (camc314) +- e446c15 minifier: Improve minimizing unary not expressions (#8261) (camc314) +- 7f19211 minifier: Minimize unary expression statements (#8256) (camc314) +- cec63e2 minifier: `{}` evals to `f64::NaN` (Boshen) +- 4d8a08d minifier: Improve constant evaluation (#8252) (Boshen) +- e84f267 minifier: Compress more property keys (#8253) (Boshen) +- d1224f9 minifier: Improve minimizing conditional expressions (#8251) (camc314) +- 65f46f5 minifier: Constant fold `String.fromCharCode` (#8248) (Boshen) +- bd8d677 minifier: Minimize `~undefined`, `~null`, `~true`, `~false` (#8247) (Boshen) +- f73dc9e minifier: Constant fold `'x'.toString()` and `true.toString()` (#8246) (Boshen) +- fd5af73 minifier: Minimize `Number` constructor (#8245) (Boshen) +- 2f52f33 minifier: Minsize `!!!foo ? bar : baz` -> `foo ? baz : bar` (#8244) (Boshen) +- ccdc039 minifier: Always put literals on the rhs of equal op `1==x` => `x==1` (#8240) (Boshen) +- 39353b2 minifier: Improve minimizing conditionals (#8238) (Cameron) +- c90fc16 minifier: Restore conditional minification and fix edge case (#8235) (camc314) +- 6c8ee9f minifier: Remove last redundant `return` statement (#8234) (Boshen) +- 51f4792 minifier: Minimize `foo ? foo : bar` and `foo ? bar : foo` (#8229) (Boshen) +- 6e2ec17 minifier: Statement fusion switch cases; improved minimize exit poitns (#8228) (Boshen) +- 574a242 minifier: Minimize all variants of `typeof x == 'undefined'` (#8227) (Boshen) +- 2041477 minifier: Fold `if(x)return;y` -> `if(!x)y` (#8226) (Boshen) +- 9c1afa4 minifier: Optional catch binding when catch param is unused (#8221) (Boshen) +- 4a29845 minifier: Add `ConvertToDottedProperties` (#8212) (Boshen) +- 2786dea minifier: Add `RemoveUnusedCode` (#8210) (Boshen) +- cd274ee minifier: Minimize logical exprs (#8209) (Cameron) +- 4ae15df minifier: Imprve more conditional expr minification with boolean lit (#8208) (camc314) +- 3202b4f minifier: Imprve conditional expr minification with boolean lit (#8207) (camc314) +- 3b45011 minifier: Handle conditional expr with boolean lit (#8206) (camc314) +- 4c2059a minifier: Reverse negated conditional exprs (#8205) (camc314) +- 4804933 minifier: Add `MinimizeExitPoints` and ExploitAssigns` boilerplate (#8203) (Boshen) +- bf266e1 minifier: Try collapse conditional to logical or expr (#8197) (Cameron) +- 06e1780 minifier: Improve `StatementFusion` (#8194) (Boshen) +- 42e211a minifier: Only constant fold numbers when result is smaller (#8092) (Boshen) +- d0de560 minifier: Change `NaN` to `f64::NAN` (#8191) (Boshen) +- cef8eb8 minifier: Change `foo?.['bar']` to `foo?.bar` (#8176) (翠 / green) +- 8149e34 minifier: Optional catch binding when es target >= es2019 (#8180) (Boshen) +- fc43ec5 minifier: Fold `string.length` / `array.length` (#8172) (sapphi-red) +- 29dc0dc minifier: Change `foo['bar']` -> foo.bar (#8169) (Boshen) +- 3c5718d minifier: Fold `typeof foo == undefined` into `foo == undefined` when possible (#8160) (翠 / green) +- f3a36e1 minifier: Fold `typeof foo != "undefined"` into `typeof foo < "u"` (#8159) (翠 / green) +- 37c9959 minifier: Normalize `Infinity` into `f64::Infinity` (#8148) (Boshen) +- 8fb71f5 minifier: Minify string `PropertyKey` (#8147) (Boshen) +- 6615e1e minifier: Constant fold `instanceof` (#8142) (翠 / green) +- 2b2a373 minifier: Minimize `a + 'b' + 'c'` -> `a + 'bc'` (#8137) (Boshen) +- 213364a minifier: Minimize `if (x) if (y) z` -> `if (x && y) z` (#8136) (Boshen) +- 6b51e6d minifier: Minimize `if(foo) bar else baz` -> `foo ? bar : baz` (#8133) (Boshen) +- f615bfa minifier: Minimize `if (x) return; return 1` -> `return x ? void 0 : 1` (#8130) (Boshen) +- f0b1ee5 minifier: Minimize `if(!x) foo()` -> `x || foo()` (#8122) (Boshen) +- f8200a8 minifier: Minimize `if(foo) bar` -> `foo && bar` (#8121) (Boshen) +- 72d9967 minifier: Add `Normalize` ast pass (#8120) (Boshen) +- fef0b25 minifier: Collapse `var` into for loop initializer (#8119) (Boshen) +- 2331ea8 minifier: `typeof foo === 'number'` => `typeof foo == 'number'` (#8112) (Boshen) +- ad9a0a9 mininifier: Minimize variants of `a instanceof b == true` (#8241) (Boshen) + +### Bug Fixes + +- 74572de ecmascript: Incorrect `to_int_32` value for Infinity (#8144) (翠 / green) +- 5c63414 mangler: Keep exported symbols for `top_level: true` (#7927) (翠 / green) +- 3c93549 minifier: Dce if statement should keep side effects and vars (#8433) (Boshen) +- 52f88c0 minifier: Rotate associative operators to make it more idempotent (#8424) (camc314) +- a80460c minifier: Correctly set `self.changed` when minimizing if stmts (#8420) (camc314) +- d4ca8d4 minifier: `!!x` is not idempotent in `RemoveDeadCode` (#8419) (Boshen) +- 357b61d minifier: Do not minify `Object.defineProperty` in sequence expressions (#8416) (Boshen) +- 0efc845 minifier: `+0n` produces `TypeError` (#8410) (Boshen) +- 7ce6a7c minifier: `a in b` has error throwing side effect (#8406) (Boshen) +- 2f3a9dc minifier: Cannot transform property key `#constructor` (#8405) (Boshen) +- c0a3dda minifier: `instanceof` has error throwing side effect (#8378) (Boshen) +- 5516f7f minifier: Do not fold object comparisons (#8375) (Boshen) +- cb098c7 minifier: Computed property key `prototype` cannot be changed (#8373) (Boshen) +- 82ee77e minifier: Do not remove shadowned `undefined` in return statement (#8371) (Boshen) +- f87da16 minifier: Do not fold literals in `-0 != +0` (#8278) (Boshen) +- 62a2644 minifier: Handle arrow fn expressions correctly in `is_in_boolean_context` (#8260) (camc314) +- d2f8eaa minifier: Fix panic in `peephole_minimize_conditions` (#8242) (Boshen) +- a698def minifier: Fix incorrect return value for `(x ? true : y)` (#8233) (Boshen) +- 56b7f13 minifier: Do not constant fold `0 instanceof F` (#8199) (Boshen) +- 75d5f17 minifier: Minify string `PropertyKey` (#8177) (sapphi-red) + +### Documentation + +- aaa009d minifier: Clarify assumptions for compressor (#8404) (翠 / green) + +### Refactor + +- fb2acd8 minifier: Change minimize conditionals into a loop (#8413) (Boshen) +- baaec60 minifier: Remove the buggy `??` transform (#8411) (Boshen) +- 1c4658d minifier: Change ast passes order, `!in_fixed_loop` happen last (#8380) (Boshen) +- 09f0f48 minifier: Remove the buggy `minimize_exit_points` implementation (#8349) (Boshen) +- 9a5c66a minifier: Clean up (#8346) (Boshen) +- 98f2b1c minifier: Clean up `peephole_substitute_alternate_syntax` (#8327) (Boshen) +- fc662b7 minifier: Handle big int values later (#8324) (Boshen) +- d16e598 minifier: Clean up `peephole_replace_known_methods` (#8306) (Boshen) +- b8d26ea minifier: Move optional catch param to peephole_substitute_alternate_syntax (#8282) (Boshen) +- 0845162 minifier: Clean up `ReplaceKnownMethods` (Boshen) +- 7c7f5d7 minifier: Clean up `peephole_fold_constants` (Boshen) +- bf0fbce minifier: Improve constant fold numbers (#8239) (Boshen) +- 62f8fba minifier: Move all conditional minification logic to minimze_conditions (#8231) (camc314) +- cfb51f2 minifier: Fuse ast passes (#8184) (Boshen) +- bf9cafe minifier: Clean up `peephole_substitute_alternate_syntax` a little bit (Boshen) +- 75264ed minifier: Clean up `try_optimize_block` (#8139) (Boshen) +- c22062b minifier: Cleanup peephole_minimize_conditions (#8114) (Boshen) +- e594c39 minifier: Clean up `peephole_substitute_alternate_syntax.rs` (#8111) (Boshen) + +### Testing + +- 3149fe0 minifier: Add anonymous function test case for logical expression to logical assignment compression (#8347) (sapphi-red) +- 91b42de minifier: Enable some passing tests (#8250) (camc314) +- 1fa5341 minifier: Port tests from ConvertToDottedPropertiesTest (#8175) (sapphi-red) + ## [0.44.0] - 2024-12-25 ### Features diff --git a/crates/oxc_minifier/Cargo.toml b/crates/oxc_minifier/Cargo.toml index a31318c3a4308..d63440c9f3cae 100644 --- a/crates/oxc_minifier/Cargo.toml +++ b/crates/oxc_minifier/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_minifier" -version = "0.44.0" +version = "0.45.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 11e4a892b1f7c..2d62395650363 100644 --- a/crates/oxc_napi/Cargo.toml +++ b/crates/oxc_napi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_napi" -version = "0.44.0" +version = "0.45.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 68005f30abde7..523b5ff1b5fbb 100644 --- a/crates/oxc_parser/CHANGELOG.md +++ b/crates/oxc_parser/CHANGELOG.md @@ -4,6 +4,33 @@ 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.45.0] - 2025-01-11 + +### Features + +- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389) (overlookmotel) +- 2da4365 parser: Missing initializer in destructuring declaration inside for loop head (#8222) (Boshen) + +### Bug Fixes + +- e1f8ea4 lexer: `Source` is not `Clone` (#8294) (overlookmotel) +- f88acb3 parser: Allow line breaks between `const` and `enum` (#8193) (branchseer) + +### Refactor + +- 64bfdfe lexer: Tighten safety of lexer by always including lifetime on `SourcePosition` (#8293) (overlookmotel) +- 0344e98 lexer: Make `handle_byte` a method of `Lexer` (#8291) (overlookmotel) +- fabf116 lexer: Replace `#[allow]` with `#[expect]` (#8289) (overlookmotel) +- 0462edb lexer: Rename function param (#8288) (overlookmotel) + +### Styling + +- 4d2888d lexer: Reorder imports (#8290) (overlookmotel) + +### Testing + +- 16dcdaf lexer: Assert size of `Token` in 32-bit WASM (#8292) (overlookmotel) + ## [0.44.0] - 2024-12-25 - ad2a620 ast: [**BREAKING**] Add missing `AssignmentTargetProperty::computed` (#8097) (Boshen) diff --git a/crates/oxc_parser/Cargo.toml b/crates/oxc_parser/Cargo.toml index 186c8c9687057..20370daed31e4 100644 --- a/crates/oxc_parser/Cargo.toml +++ b/crates/oxc_parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_parser" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/crates/oxc_regular_expression/Cargo.toml b/crates/oxc_regular_expression/Cargo.toml index 2923805449c29..61bde05d99401 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.44.0" +version = "0.45.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 1c5e31e92bd92..e327d9b0b91ad 100644 --- a/crates/oxc_semantic/CHANGELOG.md +++ b/crates/oxc_semantic/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.45.0] - 2025-01-11 + +### Features + +- 55744fd semantic: Allow getting mutable reference to symbols table (#8189) (Max Stoumen) + +### Bug Fixes + +- 79a8fc6 semantic: Report error for super property appearing in function body (#8376) (Dunqing) +- 79af100 semantic: Reference flags not correctly resolved when after an export stmt (#8134) (camc314) + +### Refactor + +- 0903501 semantic: Check super usage based on scope (#8377) (Dunqing) + ## [0.44.0] - 2024-12-25 ### Features diff --git a/crates/oxc_semantic/Cargo.toml b/crates/oxc_semantic/Cargo.toml index 2c5039f4603b0..6194f84440fe6 100644 --- a/crates/oxc_semantic/Cargo.toml +++ b/crates/oxc_semantic/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_semantic" -version = "0.44.0" +version = "0.45.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 6b43a2795a520..c326e98bcdbf4 100644 --- a/crates/oxc_span/CHANGELOG.md +++ b/crates/oxc_span/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.45.0] - 2025-01-11 + +### Styling + +- e81f34f span: Reformat code (#8296) (overlookmotel) + ## [0.44.0] - 2024-12-25 ### Features diff --git a/crates/oxc_span/Cargo.toml b/crates/oxc_span/Cargo.toml index 7eb7166789706..b05b2db3281d4 100644 --- a/crates/oxc_span/Cargo.toml +++ b/crates/oxc_span/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_span" -version = "0.44.0" +version = "0.45.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 d1f2e7a96d08d..4cf6e3e389955 100644 --- a/crates/oxc_syntax/CHANGELOG.md +++ b/crates/oxc_syntax/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.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 diff --git a/crates/oxc_syntax/Cargo.toml b/crates/oxc_syntax/Cargo.toml index fbd8355e0096f..0798a7bf81d65 100644 --- a/crates/oxc_syntax/Cargo.toml +++ b/crates/oxc_syntax/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_syntax" -version = "0.44.0" +version = "0.45.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 eccc09d431081..d878e9ff42f0d 100644 --- a/crates/oxc_transformer/CHANGELOG.md +++ b/crates/oxc_transformer/CHANGELOG.md @@ -4,6 +4,72 @@ 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.45.0] - 2025-01-11 + +### Features + +- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389) (overlookmotel) +- 41ddf60 minfier: Add `CompressOptions::target` (#8179) (Boshen) +- 0592a8b transformer/class-properties: Transform private in expression (#8202) (Dunqing) +- ad77ad5 transformer/class-properties: Transform static/instance accessor methods (#8132) (Dunqing) +- e405f79 transformer/class-properties: Transform static private method invoking (#8117) (Dunqing) +- 3303e99 transformer/class-properties: Insert statements after statement of class expression (#8116) (Dunqing) +- 0cc71cf transformer/class-properties: Transform super expressions and identifiers that refers to class binding in private method (#8106) (Dunqing) +- 58ed832 transformer/class-properties: Transform private field expression which invokes private method (#8102) (Dunqing) +- f14567a transformer/class-properties: Transform callee which invokes private method (#8100) (Dunqing) +- 13349ef transformer/class-properties: Transform private methods (#8099) (Dunqing) + +### Bug Fixes + +- 3eaff2a transformer: Ensure last expression statement in arrow function expression is wrapped in return (#8192) (Dunqing) +- 3feac27 transformer/arrow-functions: Outer `super()` in nested class (#8382) (Dunqing) +- 335065d transformer/arrow-functions: Do not transform super that inside nested non-async method (#8335) (Dunqing) +- e4d66e4 transformer/arrow-functions: Store `super_methods` on a `Stack` to fix nested async methods (#8331) (Dunqing) +- 775a289 transformer/arrow-functions: `_this = this` should be inserted after super call expression (#8024) (Dunqing) +- ac72adb transformer/private-methods: Fix panic if instance private accessor in class (#8362) (overlookmotel) +- f1f129b transformer/private-methods: Create brand binding `var` in hoist scope (#8361) (overlookmotel) +- ab61425 transformer/private-methods: No temp var for class when unused private methods (#8360) (overlookmotel) +- 9a03bd2 transformer/typescript: Remove type-only `import =` when `only_remove_type_imports` is true (#8275) (Dunqing) +- 0df1866 transformer/typescript: Create `Reference` for `require` (#8355) (overlookmotel) +- 78d7c97 transformer/typescript: Create `Reference` for `Infinity` (#8354) (overlookmotel) +- 2e7207f transformer/typescript: Should strip import specifiers type with `only_remove_type_imports` (#8141) (underfin) + +### Performance + +- 07edf74 transformer/arrow-function: Stop traversal at function as super() can't appear in a nested function (#8383) (Dunqing) +- 62e3f7e transformer/arrow-functions: Reduce size of inlined visitor (#8322) (overlookmotel) +- aebe0ea transformer/arrow-functions: Use `NonEmptyStack` instead of `Stack` (#8318) (overlookmotel) + +### Documentation + +- 05cba5b transformer/private-methods: Amend comments (#8398) (overlookmotel) + +### Refactor + +- 109b8fc transformer: Elide lifetimes where possible (#8285) (overlookmotel) +- fb389f7 transformer/arrow-function: Create a new ident instead of clone (#8338) (Dunqing) +- dddbd29 transformer/arrow-functions: Reorder assertions (#8386) (overlookmotel) +- ce6c445 transformer/arrow-functions: Add TODO comments (#8328) (overlookmotel) +- 73d0025 transformer/arrow-functions: Reduce repeated code (#8323) (overlookmotel) +- 3dd08e9 transformer/arrow-functions: Do not inline non-trivial visitor method (#8321) (overlookmotel) +- ea9cefb transformer/arrow-functions: Reorder visitor methods (#8320) (overlookmotel) +- 37199a4 transformer/arrow-functions: Rename lifetime (#8319) (overlookmotel) +- 57e9dcf transformer/arrow-functions: Shorten `AstBuilder` call (#8317) (overlookmotel) +- a5e3528 transformer/async-to-generator: Pass `TraverseCtx` to function not `AstBuilder` (#8279) (overlookmotel) +- e7c89ba transformer/class-properties: TODO comments (#8392) (overlookmotel) +- 6790d1d transformer/class-properties: Simplify determining if class is declaration (#8357) (overlookmotel) +- c786a13 transformer/class-properties: Share `replace_class_name_with_temp_var` in class_properties (#8105) (Dunqing) +- f54f48e transformer/class-properties: Remove all `*_if_super` methods in `static_block_and_prop_init` (#8104) (Dunqing) +- d82fb52 transformer/class-properties: Move `supers` to `super_converter` (#8103) (Dunqing) +- 3dad85e transformer/private-methods: Remove unnecessary clone (#8400) (overlookmotel) +- aa5e65f transformer/private-methods: Simplify finding parent statement of class expression (#8364) (overlookmotel) +- c786fd1 transformer/private-methods: TODO comments (#8363) (overlookmotel) + +### Styling + +- 45e2402 transformer/private-methods: Move comments (#8399) (overlookmotel) +- 0a1ffc0 transformer/private-methods: Rename var (#8397) (overlookmotel) + ## [0.44.0] - 2024-12-25 ### Features diff --git a/crates/oxc_transformer/Cargo.toml b/crates/oxc_transformer/Cargo.toml index 93107bb4a531d..bcd5d0a1208bb 100644 --- a/crates/oxc_transformer/Cargo.toml +++ b/crates/oxc_transformer/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transformer" -version = "0.44.0" +version = "0.45.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 5169c8cfb502e..27845984ed6b8 100644 --- a/crates/oxc_traverse/CHANGELOG.md +++ b/crates/oxc_traverse/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.45.0] - 2025-01-11 + +### Features + +- 6c7acac allocator: Implement `IntoIterator` for `&mut Vec` (#8389) (overlookmotel) + ## [0.44.0] - 2024-12-25 - ad2a620 ast: [**BREAKING**] Add missing `AssignmentTargetProperty::computed` (#8097) (Boshen) diff --git a/crates/oxc_traverse/Cargo.toml b/crates/oxc_traverse/Cargo.toml index 7b9d752a837ea..9ecfa579762b6 100644 --- a/crates/oxc_traverse/Cargo.toml +++ b/crates/oxc_traverse/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_traverse" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/napi/parser/CHANGELOG.md b/napi/parser/CHANGELOG.md new file mode 100644 index 0000000000000..5ac77a51394ca --- /dev/null +++ b/napi/parser/CHANGELOG.md @@ -0,0 +1,6 @@ +# 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. + diff --git a/napi/parser/Cargo.toml b/napi/parser/Cargo.toml index d2dfc6f9a5d06..1dbc92b108165 100644 --- a/napi/parser/Cargo.toml +++ b/napi/parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_parser_napi" -version = "0.0.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/napi/transform/CHANGELOG.md b/napi/transform/CHANGELOG.md index e1fbda0d0e5a4..8d00e2c2e7f73 100644 --- a/napi/transform/CHANGELOG.md +++ b/napi/transform/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.45.0] - 2025-01-11 + +### Bug Fixes + +- 9a03bd2 transformer/typescript: Remove type-only `import =` when `only_remove_type_imports` is true (#8275) (Dunqing) + ## [0.42.0] - 2024-12-18 ### Features diff --git a/napi/transform/Cargo.toml b/napi/transform/Cargo.toml index a3f1275770d4f..07174c0ed3b7b 100644 --- a/napi/transform/Cargo.toml +++ b/napi/transform/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxc_transform_napi" -version = "0.44.0" +version = "0.45.0" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/npm/oxc-parser/package.json b/npm/oxc-parser/package.json index bdbd64e11151d..48dbe699cdf78 100644 --- a/npm/oxc-parser/package.json +++ b/npm/oxc-parser/package.json @@ -1,6 +1,6 @@ { "name": "oxc-parser", - "version": "0.44.0", + "version": "0.45.0", "description": "Oxc Parser Node API", "keywords": [ "Parser" diff --git a/npm/oxc-transform/package.json b/npm/oxc-transform/package.json index ddefdac67e79a..9dc34f09e7ac3 100644 --- a/npm/oxc-transform/package.json +++ b/npm/oxc-transform/package.json @@ -1,6 +1,6 @@ { "name": "oxc-transform", - "version": "0.44.0", + "version": "0.45.0", "description": "Oxc transform Node API", "keywords": [ "transform" diff --git a/npm/oxc-types/package.json b/npm/oxc-types/package.json index 35709820b3b7e..91d8d020f02a2 100644 --- a/npm/oxc-types/package.json +++ b/npm/oxc-types/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-project/types", - "version": "0.44.0", + "version": "0.45.0", "description": "Types for Oxc AST nodes", "keywords": [ "AST", diff --git a/wasm/parser/package.json b/wasm/parser/package.json index 715a30a7942ac..9d2c9e0b64437 100644 --- a/wasm/parser/package.json +++ b/wasm/parser/package.json @@ -1,6 +1,6 @@ { "name": "@oxc-parser/wasm", - "version": "0.44.0", + "version": "0.45.0", "description": "Wasm target for the oxc parser.", "keywords": [ "JavaScript",