Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## [0.47.0] - 2025-01-18 - fae4cd2 allocator: [**BREAKING**] Remove `Vec::into_string` (#8571) (overlookmotel) - 95bc0d7 allocator: [**BREAKING**] `Allocator` do not deref to `bumpalo::Bump` (#8569) (overlookmotel) - 19d3677 ast: [**BREAKING**] Always return `Array<ImportDeclarationSpecifier>` for `ImportDeclaration.specifiers` (#8560) (sapphi-red) - 4ce6329 semantic: [**BREAKING**] Ensure program outlives semantic (#8455) (Valentinas Janeiko) - 7066d1c ast, span, syntax, regular_expression: [**BREAKING**] Remove `ContentHash` (#8512) (overlookmotel) ### Features - bf4e5e1 allocator: Add `HashMap` (#8553) (overlookmotel) - a6d71f8 ast: Add `AstKind::ty` method (#8521) (overlookmotel) - 4d4e805 minifier: Collapse if stmt with empty consequent (#8577) (camc314) - 991a22f minifier: Fold `Array::concat` into literal (#8442) (sapphi-red) - 3dc2d8b minifier: Fold string concat chaining (#8441) (sapphi-red) - a4ae450 minifier: Fold array concat chaining (#8440) (sapphi-red) - 7cc81ef minifier: Fold invalid typeof comparisons (#8550) (camc314) - 927f43f minifier: Improve `.charCodeAt(arg)` when arg is valid (#8534) (Boshen) - 06f14d5 minifier: Remove empty class static block `class Foo { static {} }` (#8525) (Boshen) - 1860411 minifier: Remove last redundant return statement (#8523) (Boshen) - c479a58 napi/parser: Expose dynamic import expressions (#8540) (Boshen) - 2f0314e npm/oxc-minify: Npm package and publish script (#8579) (Boshen) - f413bb5 transformer/optional-chaining: Change parent scope for expression when it wrapped with an arrow function (#8511) (Dunqing) ### Bug Fixes - e87c001 allocator: Statically prevent memory leaks in allocator (#8570) (overlookmotel) - 855c839 codegen: Shorthand assignment target identifier consider mangled names (#8536) (Boshen) - 65c596d minifer: Keep idents if not in scope when minimizing array exprs (#8551) (camc314) - f57aac2 minifier: Incorrect folding of expr in bool ctx (#8542) (camc314) - 946ad76 minifier: `(-Infinity).toString()` -> `'-Infinity'` (#8535) (Boshen) - b1d0186 minifier: Do not fold `!!void b` (#8533) (Boshen) - 53adde5 minifier: `x['-2147483648']` -> `x[-2147483648]` (#8528) (Boshen) - 405b73d minifier: Do not change `delete undefined` to `delete void 0` (#8527) (Boshen) - 92e44cb minifier: Do not remove `undefined` in `var x = undefined` (#8526) (Boshen) - 209e313 minifier: `class C { ['-1']() {} }` cannot be minifized (#8516) (Boshen) - 6585463 minifier: Always keep the last value of sequence expression (#8490) (Boshen) - b552f5c transformer: `wrap_in_arrow_function_iife` take span of input `Expression` (#8547) (overlookmotel) - 9963533 transformer/arrow-functions: Visit arguments to `super()` call (#8494) (overlookmotel) - 06ccb51 transformer/async-to-generator: Move parameters to the inner generator function when they could throw errors (#8500) (Dunqing) - 356f0c1 transformer/class-properties: Handle nested `super()` calls (#8506) (overlookmotel) - a048337 transformer/class-static-blocks: Static block converted to IIFE use span of original block (#8549) (overlookmotel) ### Performance - 76ea52b allocator: Inline `Box` methods (#8572) (overlookmotel) - 93df57f allocator: `#[inline(always)]` methods of `Vec` which just delegate to `allocator_api2` (#8567) (overlookmotel) - 5a28d68 allocator: `#[inline(always)]` methods of `HashMap` which just delegate to `hashbrown` (#8565) (overlookmotel) - d17021c mangler: Optimize `base54` function (#8557) (overlookmotel) - 6b52d7a mangler: Use a single allocation space for temporary vecs (#8495) (Boshen) - 30a869e semantic: Use `oxc_allocator::HashMap` in `ScopeTree` (#8554) (overlookmotel) - 63eb298 span: Compare `Span`s as single `u64`s (#8300) (overlookmotel) - a43560c span: Hash `Span` as a single `u64` (#8299) (overlookmotel) - 3fff7d2 span: Align `Span` same as `usize` (#8298) (overlookmotel) - 53ef263 transformer/arrow-functions: Bail out of visiting early when inserting `_this = this` after `super()` (#8482) (overlookmotel) ### Documentation - fa1a6d5 allocator: Update docs for `Vec` (#8555) (overlookmotel) ### Refactor - ac05134 allocator: `String` type (#8568) (overlookmotel) - 68fab81 allocator: Rename inner `Vec` type (#8566) (overlookmotel) - fcbca32 ast: Rename `#[estree(with)]` to `#[estree(via)]` (#8564) (overlookmotel) - 007e8c0 ast, regular_expression: Shorten `ContentEq` implementations (#8519) (overlookmotel) - b4c87e2 linter: Move DiagnosticsReporters to oxlint (#8454) (Alexander S.) - 8f57929 minifier: Merge `try_compress_type_of_equal_string` into `try_minimize_binary` (#8561) (sapphi-red) - 2857ae1 parser: Refactor visitor in regexp example (#8524) (overlookmotel) - b5ed58e span: All methods take owned `Span` (#8297) (overlookmotel) - 712633f transformer: `wrap_statements_in_arrow_function_iife` utility function (#8548) (overlookmotel) - 5206c6a transformer: Rename `wrap_in_arrow_function_iife` (#8546) (overlookmotel) - 61077ca transformer: `wrap_arrow_function_iife` receive an owned `Expression` (#8545) (overlookmotel) - 6820d24 transformer: Move `wrap_arrow_function_iife` to root utils module (#8529) (Dunqing) - 52bd0b1 transformer: Move common utils functions to the root module (#8513) (Dunqing) - c30654a transformer/arrow-function: Wrapping arrow function iife by using `wrap_arrow_function_iife` (#8530) (Dunqing) - 2bc5175 transformer/arrow-functions: Rename method (#8481) (overlookmotel) - 72f425f transformer/class-properties: Fix lint warning in release mode (#8539) (overlookmotel) - 7e61b23 transformer/typescript: Shorten code (#8504) (overlookmotel) - 04bc259 traverse: Remove unnecessary `#[allow]` (#8518) (overlookmotel) - a368726 traverse: Harden soundness of `Traverse` and document safety invariants better (#8507) (overlookmotel) ### Testing - e0f5d6c minifier: Update esbuild test (Boshen) - 629c417 minifier: Port esbuild minification tests (#8497) (Boshen) Co-authored-by: Boshen <[email protected]>
- Loading branch information