Skip to content

Latest commit

 

History

History
2009 lines (691 loc) · 96.4 KB

CHANGELOG.md

File metadata and controls

2009 lines (691 loc) · 96.4 KB

Changelog

[unreleased]

Bug Fixes

  • (es/parser) Parse export default from; with exportDefaultFrom: true option (#10373) (a270cb0)

  • (es/proposal) Fix exported class for explicit-resource-management (#10393) (6b5dbc6)

  • (swc_core) Fix downstream doc builds (#10401) (df511ba)

  • Upgrade browserslist-rs version (#10389) (f802892)

Features

  • (bindings/core) Enhance existing parse function to accept both string and buffer types(#10371) (c9a2afc)

  • (css/prefixer) Fix default implementation (#10351) (34f4e41)

Miscellaneous Tasks

Performance

  • (es/minifier) Use bigflags to reduce context size of analyzer (#10380) (773d19c)

  • (es/minifier) Use bitflags to reduce context size of InfectionCollector (#10387) (126d432)

  • (es/minifier) Use bitflags to reduce compress context size (#10381) (99495bd)

  • (es/parser) Move found_module_item to Parser (#10388) (fd52c5c)

Refactor

Testing

[1.11.21] - 2025-04-14

Bug Fixes

  • (es/helpers) Sync tslib _ts_generator implementation (#10366) (d3fb992)

  • (es/proposal) Fix scope of declarations for explicit-resource-management (#10362) (eb7f7e9)

  • (ts/fast-strip) Increase Wasm stack size (#10359) (6d444a5)

Miscellaneous Tasks

Performance

  • (es/parser) Reduce string comparison (#10355) (21789c4)

  • (es/parser) Add initial capacitity for some vectors (#10361) (7b7b50e)

  • (es/parser) Reduce clone of token contexts (#10364) (3ab47b2)

  • (es/parser) Use bitflags to reduce parser context size (#10367) (a2d3596)

  • (es/parser) Replace byte arguments with generics (#10370) (68f7667)

  • (es/parser) Use arrayvec and unsafe push to optimize escaped string parsing (#10369) (e12ae1c)

[1.11.20] - 2025-04-11

Bug Fixes

  • (error_reporters) Removing unused code to fix clippy check (#10338) (5970f93)

  • (es/minifier) Preserve block with block scoped declaration (#10335) (a4ac3b7)

  • (es/parser) Allow abstract method named accessor (#10327) (3f71776)

  • (es/preset-env) Consider browserslist config if env.target is not configured (#8921) (a2dc372)

  • (es/resolver) Handle using declarations (#10354) (dad815c)

  • fix(es/compat): Remove one promise tick in yield* (tc39/ecma262#2819) (#10317)

Related issue:

Features

  • (errors) Integrate miette for enhanced diagnostic reporting (#10241) (156c3b1)

  • (es/codegen) Support sourceMap.url option of terser (#10346) (566bc7c)

  • (plugin/runner) Support pluginEnvVars (#10318) (795fedc)

Miscellaneous Tasks

  • (es/helpers) Update peer dependency version for @swc/helpers to >=0.5.17 (#10321) (ddbf3e1)

  • (ide) Disable RA diagnostics (#10324) (fcf280f)

Performance

Testing

  • (es) Unignore tests and update node to 20 in exec tests (#10348) (eee73ce)

[1.11.18] - 2025-04-07

Bug Fixes

  • (errors) Disable wrapping of text lines (#10314) (f6840ea)

  • (es/codegen) Ensure proper Unicode escape handling for ES5 and below #10028 (#10309) (7f76fa3)

  • (node) Fix worker_threads issue on glibc platform (#10306) (1d1ff9e)

Features

Refactor

  • (es/codegen) Split lib.rs into multiple files (#10304) (5a07a5d)

  • (es/codegen) Refactor macro to inverse order (#10297) (78f907f)

Testing

[1.11.16] - 2025-04-01

Miscellaneous Tasks

[1.11.15] - 2025-04-01

Bug Fixes

  • (bindings/node) Fix build on platforms without plugin (#10301) (3faae55)

  • (cli) Fix plugin target as wasm32-wasip1 (#10293) (7daf4f4)

  • (deps) Update cargo (patch) (#10081) (e0ff00e)

  • (es) Do not reuse Compiler for minify() and transform() (#10273) (63bd8a1)

  • (es/analysis) Support comments (#10299) (2919d16)

  • (es/bugfix) Do not rename in non-ident-function (#10274) (48b6bdb)

  • (es/minifier) Remove unnecessary check when invoke IIFE (#10257) (6b75775)

  • (es/parser) Parser a program as a module with TLA in non-expression statement (#10287) (157c52a)

  • (html) Remove async from minifyFragmentSync (#10289) (7028457)

Documentation

Features

  • (es) Add Rust plugin host part for analysis API (#10285) (d213a84)

  • (es) Add analysis API and refactor output API (#10288) (a53c60d)

  • (es/minifier) Allow disabling char frequency analysis (#10259) (50c62d1)

  • (es/minifier) Merge expression with empty return (#10283) (c276a38)

  • (es/minifier) Optimize code generated by optional chaining (#10292) (0d88041)

  • (es/minifier) Support reduce_escaped_newline (#10232) (64fb286)

  • (ts/fast-strip) Improve error message format (#10298) (29c4afb)

  • Add parallel iterators (#10075) (3b775bf)

Miscellaneous Tasks

Performance

  • (es/minifier) Adjust parallelism threshold (#10260) (28cc6f6)

  • (es/minifier) Process cons and alt of IfStmt in parallel (#10262) (ccb6eb8)

  • (es/minifier) Move logic to the pure minifier (#10264) (7ecd807)

  • (es/minifier) Use swc_par_iter instead of rayon (#10267) (78e37a1)

Refactor

Testing

  • (es/minifier) Update the terser passing test list (#10263) (1d91571)

[1.11.13] - 2025-03-24

Features

Performance

  • (es/minifier) Merge expr_simplifier into pure optimizer (#10202) (9c9b0ba)

[1.11.12] - 2025-03-23

Bug Fixes

Documentation

Features

Performance

  • (es/minifier) Merge dead_branch_remover into pure optimizer (#10201) (6841523)

[1.11.11] - 2025-03-17

Bug Fixes

Features

Miscellaneous Tasks

Refactor

Testing

[1.11.10] - 2025-03-17

Bug Fixes

  • (es/proposal) Fix declarations for explicit-resource-management (#10198) (99ba555)

  • (es/types) Add missing types for jsc.transform.react.refresh (#10206) (e71b000)

  • (typescript) Skip the body of ArrowExpr in type usage analysis (#10187) (9aca205)

Documentation

  • (es/minifier) Make minifier example utilize comments (#10195) (ec3ebe7)

Features

  • (es/fast-parser) Implement the initial version (#10185) (44e7c39)

Miscellaneous Tasks

Performance

  • (es/minifier) Do not repeat applying pure minifier on last (#10196) (e6b7cee)

Refactor

Testing

[1.11.9] - 2025-03-12

Bug Fixes

  • (es/compat) Hoist arguments in object method while lowering async functions (#10167) (e764df2)

  • (es/minifier) Check array inline for indexed with dynamic key (#10184) (c2fe4bf)

Features

  • (es/module) Support more import.meta properties (#10179) (11727a6)

  • (ts/fast-strip) Throw js object instead of map (#10186) (2da0142)

Performance

  • (es/fast-lexer) Optimize read_identifier (#10170) (d97f7b2)

  • (es/fast-lexer) Use memchr for skip_line_comments (#10173) (35194e3)

  • (es/fast-lexer) Use SIMD properly for string literals (#10172) (be60338)

  • (es/fast-lexer) Add length-based fast path for keywords (#10176) (1f70af8)

  • (es/fast-lexer) Optimize memory layout of cursor (#10175) (aa20494)

  • (es/fast-lexer) Remove bound checks (#10174) (bccdafc)

  • (es/fast-lexer) Replace PHF with static keyword lookup table (#10181) (56d065e)

  • (es/fast-lexer) Optimize SIMD vector initialization with initialing u8x16 once. (#10183) (435197c)

[1.11.8] - 2025-03-07

Bug Fixes

Features

  • (ts/fast-strip) Throw an object instead of string (#10162) (241b881)

Performance

Refactor

Ci

[1.11.7] - 2025-03-04

Features

[1.11.6] - 2025-03-04

Bug Fixes

  • (es/minifier) Fix regression due to #10056 (#10134) (b145275)

  • (es/typescript) Remove empty statements that const enum decls are folded into (#10128) (7bea830)

[1.11.5] - 2025-02-28

Bug Fixes

  • (es/lints) Capture errors and emit from the original thread (#10119) (2304cd8)

  • (es/minifier) Skip inlining if the referential identity of a function matters (#10123) (c08fe8d)

  • (ts/fast-strip) Throw object consistently (#10122) (010ff2a)

Miscellaneous Tasks

Performance

[1.11.4] - 2025-02-27

Bug Fixes

  • (es/decorators) Support negative numbers (#10114) (5044580)

  • (es/minifier) Fix cargo feature debug (#10090) (48f68db)

  • (es/minifier) Fix insufficient logging (#10091) (9ee79c9)

  • (es/minifier) Inline before cost analysis (#10092) (1425b56)

  • (es/minifier) Remove needless println (b1e5b2d)

  • (es/resolver) Analyze variable declarations with declare (#10102) (cff6a64)

  • (swc_malloc) Fix build issue due to malloc, really (#10117) (207a13f)

  • (swc_malloc) Add target_env = "gnu" check (#10118) (da81e11)

  • Use jemalloc on platforms that mimalloc fails to build (#10116) (fb75b98)

Miscellaneous Tasks

  • (deps) Update dependency jsonc-parser to v0.26.2 (#10112) (8c5f7ef)

Performance

Refactor

  • (es/react) Remove Lrc from parse_expr_for_jsx (#10098) (bab7704)

[1.11.1] - 2025-02-25

Bug Fixes

  • (error-reporters) Store diagnostics in TransformOutput (#10027) (52caf23)

  • (es/loader) Fix the absolute path check when resolving modules (#10080) (a3894ae)

  • (es/minifier) Fix the order of match arms to inline correctly (#10053) (f0f842d)

  • (es/types) Add transform.verbatimModuleSyntax (#10079) (a883cdc)

  • (swc_common) Fix build with swc_allocator/nightly (#10067) (6a90b1f)

Documentation

Features

  • (es/ast) Add explicit namespace field to distinguish namespace and module declarations (#10023) (76c2cba)

  • (es/ast) Add import attributes to TsImportType (#9796) (7d297be)

  • (es/minifier) Inline across side-effect-free member exprs, (#10056) (19d01d7)

  • (es/minifier) Make seq inliner inline into var without init (#10077) (c4a839b)

  • (es/visit) Introduce core-only visitors (#10049) (bc666be)

  • (swc_allocator) Provide allocators (#10061) (d4362f7)

Miscellaneous Tasks

  • (deps) Update dependency swc-plugin-coverage-instrument to ^0.0.26 (#10051) (d3fbd21)

  • (swc_allocator) Remove nightly from default feature (#10058) (e78b9d1)

  • (swc_allocator) Add #[inline] to allocator methods (#10066) (853eb53)

Performance

Refactor

[1.10.18] - 2025-02-19

Bug Fixes

  • (hstr) Prevent memory leak for global stores (#10047) (4718bc0)

Miscellaneous Tasks

  • (es/minifier) Make minify-all example ignore parsing errors (#10045) (6c7ec46)

Build

  • (es) Select optimization level for each crates (#10046) (c28d494)

[1.10.17] - 2025-02-18

Bug Fixes

  • (deps) Update cargo (patch) (#10021) (ffb7734)

  • (typescript) Improve type inferring for undefined and null (#10038) (5059ece)

  • (typescript) Remove the usages of private members (#10037) (8410b59)

Performance

Testing

[1.10.16] - 2025-02-13

Bug Fixes

  • (es/minifier) Check assign target before merge assign cond (#10020) (6dab49a)

  • (es/parser) Preserve comment positions with leading semicolon (#10019) (c9937b6)

  • (swc_common) Fix panic with non-narrow chars with width != 2 (#10011) (f9f4cac)

  • (ts/fast-strip) Handle unsupported module keyword (#10022) (308f5d0)

Performance

  • (es/codegen) Reduce allocation using compact_str (#10008) (7d7319f)

[1.10.15] - 2025-02-08

Bug Fixes

  • (es/fixer) Wrap object tagged templates (#9991) (963c3a5)

  • (es/minifier) Dont't optimize swtich case before DCE (#9994) (afe21b5)

  • (es/minifier) Revert #10006 (#10007) (7e21323)

  • (es/parser, es/codegen) Handle trailing empty slots in array patterns (#9992) (1a87e76)

  • (es/react) Avoid adding __self in constructors of derived class in the jsx_self (#9987) (83f24af)

Features

  • (es/ast) Add ShrinkToFit implementation (#10009) (6849b6a)

  • (es/helpers) Update package exports for module-sync and webpack compatibility (#9995) (6f4e7ad)

  • (fast-ts) Support Uint8Array Input (#9879) (61ae579)

Performance

  • (es/codegen) Remove needless allocations (#9978) (9c89d57)

  • (es/minifier) Do not clone from take_ident_of_pat_if_unused (#10005) (dc3b46e)

  • (es/minifier) Allocate in once from mark_property_mutation (#10004) (4a90e51)

  • (es/minifier) Limit infection analysis by the entry size (#10006) (1a3a4b9)

  • (es/minifier) Make the default pass 2 (#10014) (07dc423)

[1.10.14] - 2025-02-03

Bug Fixes

  • (deps) Update cargo (patch) (#9971) (e9843d8)

  • (es/transforms) Pass unresolved_mark to simplifier instead of top_level_mark (#9989) (963b088)

  • (swc_core) Fix typo in swc_core feature (#9979) (99a6339)

Features

  • (ts/fast-strip) Support type-only/uninstantiated namespaces (#9983) (a72c6fa)

  • Add (experimental) nodejs interop crates (#9974) (37e0ea5)

  • Add (experimental) js-interop npm package (#9975) (eebb0ea)

Performance

[1.10.12] - 2025-01-29

Bug Fixes

  • (es/parser) Remove wrong check about const without init (#9970) (1b57261)

Performance

  • (es/minifier) Make analyzer not call collect_infects_from recursively (#9924) (37616c3)

  • (es/minifier) Skip complex inline operations if possible (#9972) (772cc30)

  • (es/minifier) Merge binding analyzer into infection analyzer (#9973) (ca8a71f)

[1.10.11] - 2025-01-27

Bug Fixes

  • (es) Restore JSON config & Adjust feature renaming (#9967) (72e5455)

  • (es/minifier) Avoid paren when compressing ternary (#9920) (9d6fe37)

  • (es/parser) Parse yield<T> (v: T)=>v (#9915) (04333aa)

  • (ts/fast-strip) More robust generic arrow handling (#9913) (f7faa7c)

  • (typescript) Allow references to the global Symbol in computed property names under isolatedDeclarations (#9869) (e4c1e03)

Features

Miscellaneous Tasks

  • (es/minifier) Add a script for samply profiler (#9923) (8f8dcaa)

  • (preset-env) Update browserslist-rs (#9918) (606ffe5)

Performance

  • (es/react) Use proper string types for react configuration (#9949) (1bf837e)

  • (es/utils) Prevent too many recursion (#9931) (d24f785)

  • (es/utils) Restrict recursion of get_type (#9933) (1781b85)

  • (preset-env) Store Versions in Arc (#9950) (03dffb5)

Refactor

[1.10.9] - 2025-01-21

Bug Fixes

Documentation

  • (es/parallel) Improve document of Parallel (#9896) (9962c9c)

Features

  • (es/minifier) Print total size from minify-all example (#9897) (134000f)

  • (es/minifier) Turn 1 * v into +v (#9903) (a228347)

  • (es/minifier) Compress foo ? num : 0 into num * !!foo (#9908) (ce22557)

Miscellaneous Tasks

  • (es/minifier) Print slow files from minify-all example (#9899) (2d87b89)

Performance

  • (es/minifier) Make character frequency analysis parallel (#9895) (ca2fd1e)

  • (es/minifier) Parallelize handling of class members (#9900) (ed74839)

  • (es/minifier) Adjust threshold for parallel char frequency calculation (#9901) (47ea8de)

  • (es/minifier) Do heavy operation only if required (#9902) (2687231)

  • (es/minifier) Cache var_or_default calls (#9909) (4a3be8d)

  • (es/minifier) Invert cache to be really a cache (#9910) (8bfb0e5)

[1.10.8] - 2025-01-19

Bug Fixes

  • (es/decorators) Fix init order of 2022-03 impl (#9760) (751a310)

  • (es/testing) Fix sourcemap generation (#9891) (008f2de)

  • (es/ts_strip) Handle ASI hazard in return statement (#9882) (121b5fe)

  • (typescript) Collect usages in extend clauses of classes and interfaces (#9893) (ef29ef6)

Features

  • (typescript) Check computed property names of ts signatures (#9867) (caed78a)

Performance

  • (bench) Run benchmark on a custom runner (#9877) (2d6f9a5)

  • (es/codegen) Remove needless allocations (#9890) (f230ff2)

  • (es/minifier) Make the first run of DCE more efficient (#9868) (7329824)

  • (es/minifier) Adjust parallel threshold (#9872) (d5d856c)

  • (es/minifier) Box VarUsageInfo of ProgramData (#9894) (fafd754)

  • (es/renamer) Use IndexSet for rename queue (#9866) (f404720)

  • (es/utils) Optimize maybe_par_idx_raw (#9870) (46e3d77)

  • Enable concurrent in codspeed bench (#9862) (6c2bb13)

Refactor

  • (atoms) Rename FastAtom to UnsafeAtom (#9873) (3df8b44)

  • (es/minifier) Add a way to profile minifier for real-world inputs (#9881) (9657294)

  • (es/minifier) Use chili for minify-all example (#9885) (197f0bc)

  • (es/minifier) Make minify-all profilable (#9888) (fbad136)

[1.10.7] - 2025-01-10

Bug Fixes

  • (ci/publish) Do not tag stable if onlyNightly is on (#9863) (c0c6056)

  • (es/minifier) Improve DCE (#9853) (85fb16c)

  • (es/parser) Fix context of dynamic import type (#9852) (caa7f37)

Documentation

  • Update the link to the team (0fcdc31)

Features

  • (ts/fast-strip) Distinguish invalid vs unsupported (#9846) (5709bc2)

Testing

  • (parallel) Add test to debug segfault on windows x64 (#9857) (ae53a35)

Build

[1.10.6] - 2025-01-07

Performance

  • (es/minifier) Speed up merge_sequences_in_exprs by caching computation (#9843) (6e5632f)

[1.10.5] - 2025-01-07

Bug Fixes

  • (es/minifier) Fix minification of framer-motion by checking cons.termniates() (#9818) (512c91f)

  • (typescript) Fix wrong check for super class (#9822) (2307a4d)

Documentation

Features

Miscellaneous Tasks

Performance

  • (atoms) Update hstr to optimize == of Atom (#9845) (584a0a0)

  • (es/lints) Configure a benchmark for ES lints (#9833) (734ec21)

  • (es/lints) Make ES lints faster (#9837) (d56a473)

  • (es/lints) Make lint rules parallel (#9842) (e080172)

  • (es/minifier) Improve parallelism and cache friendliness (#9813) (f8dff56)

  • (es/minifier) Introduce FastJsWord and FastId in swc_atoms (#9826) (ef0ec38)

  • (es/minifier) Update hstr to v0.2.14 (#9828) (bc4ec00)

  • (es/minifier) Replace rayon with chili (#9829) (858e92a)

Refactor

  • (es/lints) Cleanup & prepare using chili (#9838) (d47844b)

Build

[1.10.4] - 2024-12-30

Bug Fixes

  • (deps) Update cargo (patch) (#9733) (fb2f6e4)

  • Remove Caused by: 'failed to parse' from TS blank space (#9820) (aaeb0ab)

[1.10.3] - 2024-12-27

Bug Fixes

  • (es/codegen) Emit semicolon after using declarations (#9816) (556d924)

[1.10.2] - 2024-12-26

Bug Fixes

  • (es) Don't panic when wasm bytecheck faild (#9803) (c81be2e)

  • (es/parser) Do not parse empty stmt after using decl (#9798) (c2696db)

Documentation

[1.10.1] - 2024-12-09

Bug Fixes

  • (es/resolver) Fix wrong syntax context of vars with the same names as catch params (#9786) (5a44c6b)

Features

  • (es/transforms) Add module.outFileExtension (#9784) (e04c7b3)

[1.10.0] - 2024-12-04

Bug Fixes

  • (es/codegen) Use raw value for emitting JSX text (#9762) (b83c44f)

  • (es/compat) Fix marker for inlined helpers (#9776) (f54ec2c)

  • (es/minifier) Drop console in optional chainings (#9759) (39271ad)

  • (es/minifier) Do not inline into the exact LHS (#9777) (985977b)

Features

  • (es/minifier) Support preserve_annotations of terser (#9775) (6e1c9fd)

  • (typescript) Align isolatedDeclaration implementation with tsc (#9715) (0adad25)

  • Apply Wasm-breaking changes (#9771) (ed65eee)

Miscellaneous Tasks

  • (deps) Update dependency magic-string to v0.30.13 (#9747) (fa80a1e)

  • (deps) Update dependency magic-string to v0.30.14 (#9764) (6e46a8b)

Refactor

  • (estree/compat) Do not use nightly features (#9772) (0f12bbd)

[1.9.3] - 2024-11-22

Bug Fixes

  • (@swc/types) Tsc build file ignored by npm (#9754) (14a5c1e)

  • (es) Source map super(...args) calls in injected constructors (#9745) (35b0ca0)

  • (es/plugin) Migrate swc plugin new to use .cargo/config.toml (#9740) (4ffb21e)

  • (es/resolver) Ignore VarDecl with declare: true (#9734) (aa0f784)

Documentation

Features

Miscellaneous Tasks

Performance

  • (es/plugin) Make analyze_source_file lazy, again (#9732) (c1d12d6)

Refactor

  • (es/compat) Use special span instead of passing static_blocks_mark (#9725) (6ad0735)

  • Delay Wasm-plugin breaking changes (#9735) (92faf5b)

[1.9.2] - 2024-11-11

Bug Fixes

Features

  • (es/codegen) Implement proper inline_script support (#9729) (e732a36)

[1.9.1] - 2024-11-06

Bug Fixes

[1.9.0] - 2024-11-06

Bug Fixes

Features

  • (typescript) Port deno isolatedDeclarations updates (#9712) (6194044)

Miscellaneous Tasks

  • (deps) Update rust crate is-macro to v0.3.7 (#9713) (d48e6e8)

[1.8.0] - 2024-11-04

Bug Fixes

  • (es/typescript) Handle multiline type parameters in async arrow functions (#9704) (c5ed19c)

  • (es/typescript) Handle ASI hazards in fast type strip (#9707) (c135f71)

Features

  • (es) Add es2023 and es2024 to EsVersion (#9700) (5a6f0e6)

  • (es/plugin) Introduce manual-tokio-runtmie to swc crate (#9701) (97298c4)

Performance

  • (common) Make character analysis lazy (#9696) (1c3eaf6)

  • (es/renamer) Modify parallel renaming threshold (#9706) (91a9106)

[1.7.42] - 2024-10-31

Bug Fixes

  • (es/generator) Fix code generation for break in nested while (#9684) (65872af)

  • (es/parser) Parse await using() call (#9693) (bcf05de)

  • (es/resolver) Skip resolving lowercase JSXIdentifiers (#9686) (6ed1715)

  • (es/types) Add jsc.experimental.keepImportAssertions to types (#9691) (4b4dcfa)

Features

  • (es/minifier) Optimize switch with side effect and termination tests (#9677) (7344a63)

  • (es/parser) Ability to get script's potential module errors (#9682) (2bbd1e8)

Miscellaneous Tasks

Performance

  • (es) Cache current_dir() system calls (#9683) (7aab945)

  • (es/lints) Disable lints by default (#9689) (4d887d0)

  • (visit) Introduce Pass API and adjust visitor APIs for it (#9680) (581aafb)

[1.7.40] - 2024-10-26

Bug Fixes

  • (bindings) Update napi to handle string with \0 (#9665) (8f45eaf)

  • (bindings/node) Add VisitTsPropertySignature (#9670) (715c42c)

  • (es/codegen) Improve EndsWithAlphaNum (#9675) (ba2a942)

  • (es/renamer) Check preserved in normal renaming mode (#9666) (87b4e10)

  • (typescript) Check whether the method is abstract when checking is_overload (#9678) (78500af)

Documentation

Miscellaneous Tasks

  • (deps) Update dependency swc-plugin-coverage-instrument to ^0.0.25 (#9676) (b8d255b)

[1.7.39] - 2024-10-22

Bug Fixes

  • (es/compat) Add missing visit children for destructuring (#9658) (32116a0)

  • (es/parser) Correct > and < when exit type context (#9653) (abffc07)

  • (es/proposal) Use tsc version of explicit resource management (#9585) (f735108)

  • (wasm-typescript) Fix option types of functions (#9662) (4cbe33c)

Features

  • (es/minifier) Implement optional catch binding (#9657) (f70b842)

Miscellaneous Tasks

  • (es/typescript) Improve enum comments and sourcemap (#9652) (31fe3b6)

[1.7.36] - 2024-10-15

Bug Fixes

  • (es) Run esnext transforms on esnext target (#9644) (8a19201)

  • (es/codegen) Emit space after div if rhs has leading comment (#9631) (f2be26e)

  • (es/lints) Correct the false positive error of TS2309 (#9635) (f74c1f3)

  • (es/minifier) Only merge last if return (#9633) (6f52949)

  • (es/minifier) Check type of assignment target before merging assignments (#9617) (4436621)

Features

  • (es) Introduce runPluginFirst for Wasm plugins (#9645) (3d3e434)

  • (es/minifier) Support unary negate in cast_to_number (#9642) (88a2186)

Miscellaneous Tasks

  • (deps) Update dependency magic-string to v0.30.12 (#9634) (085bc19)

[1.7.35] - 2024-10-10

Bug Fixes

  • (ci) Fix target triples (#9622) (f625035)

  • (es/codegen) Fix source map so it works with Sentry (#9627) (9c90a73)

  • (es/minifier) Compress consecutive return statements properly (#9620) (8263da1)

  • (es/module) Allow TypeScript nodes for Rewriter (#9606) (4ee45ac)

  • (es/testing) Revert #9264 (#9621) (85f5e5b)

  • (html/minifier) Fix HTML minifier TS types (#9615) (7b98bb5)

Features

  • (bindings/html) Accept Buffer|string instead of Buffer (#9625) (62edb36)

  • (es/preset-env) Update preset-env data (#9573) (9a11d34)

  • (es/testing) Parse test code as a Program instead of a Module (#9264) (166b858)

  • (es/testing) Parse test code as a Program instead of a Module (#9623) (bfea322)

Miscellaneous Tasks

Performance

  • (es) Avoid needless string comparisons (#9613) (ec0a62c)

  • (es/codegen) Reduce usage of tracing::instrument (#9604) (2f06fc5)

  • (es/transforms) Copy benchmarks from oxc (#9602) (24c3a0c)

  • (es/typescript) Reduce unnecessary visits (#9605) (866af6c)

Refactor

  • (es/typescript) Simplifying enum and namespace transforms (#9558) (2480bb0)

Build

[1.7.29] - 2024-10-01

Bug Fixes

  • (deps) Update cargo (patch) (#9454) (b28047a)

  • (es/codegen) Emit .d.ts when using --out-file (#9582) (3d9d641)

  • (es/minifier) Ignore using declarations (#9598) (1659c21)

  • (es/module) Fix jsc.paths using absolute paths with dots in a filename for an alias (#9595) (74e3d04)

  • (es/parser) Fix failure of TS instantiation followed by satisfies (#9583) (77900d8)

Features

  • (es) Add options to disable all esnext transforms and lints (#9597) (f2b0766)

Miscellaneous Tasks

[1.7.28] - 2024-09-24

Bug Fixes

  • (ast) Add archive(check_bytes) to all relevant AST types (#9574) (185d6f5)

  • (cli) Exclude non-files from get_files_list (#9560) (85cc2bd)

  • (es/codegen) Fix wrong sourcemap when there are new lines in tpl (#9578) (cf74382)

  • (es/compat) Skip getter and setter as FlowHelper function do (#9580) (14cfd70)

  • (es/isolated-dts) Preserve comments (#9572) (6d15d9c)

  • (es/minifier) Avoid decl name when mangle with eval (#9546) (e2242c4)

  • (es/minifier) Check variable type while optimizing += (#9575) (04016e9)

  • (es/module) Rewrite import specifier in type declaration (#9577) (fc0ba2a)

  • (plugin) Don't panic when ast byte not match (#9562) (c36871a)

Miscellaneous Tasks

Testing

[1.7.25] - 2024-09-11

Bug Fixes

  • (es/codegen) Handle minify number (#9541) (8b1e442)

  • (es/codegen) Ensure decorators are emitted first in TS paramters (#9545) (47ef38d)

Features

  • (es/common) Introduce pure Span and BytePos to handle #__PURE__ (#9539) (f63a481)

Miscellaneous Tasks

  • (bindings/node) Fix type definition (64ec111)

[1.7.24] - 2024-09-08

Bug Fixes

  • (es/compat) Handle label block in constructor (#9528) (c43dbad)

  • (es/decorator) Add support for private access expressions in legacy decorators (#9535) (62ed065)

  • (es/minifier) typeof class should be function (#9522) (c7fdd6b)

  • (es/minifier) Prevent removing side effects from accessing getter (#9530) (8513816)

  • (es/typescript) Handle enum in single statement (#9532) (84b0043)

[1.7.23] - 2024-09-02

Bug Fixes

Performance

  • (es/compat) Reimplement constructor transform (#9519) (4b85a92)

  • (es/utils) Rewrite inject_after_super (#9496) (c562cfa)

[1.7.22] - 2024-08-30

Bug Fixes

  • (es/minifier) Iterate object properties in reverse direction while inlining property access (#9507) (f584ef7)

[1.7.21] - 2024-08-28

Bug Fixes

[1.7.19] - 2024-08-28

Bug Fixes

  • (es/minifier) Track if a var is used with in (#9508) (7d6269e)

Features

Miscellaneous Tasks

  • (es/codegen) Bump minimum required swc_allocator version to 0.1.8 (#9492) (5258763)

Refactor

[1.7.17] - 2024-08-23

Bug Fixes

  • (bindings/wasm) Fix typing (#9469) (8c007c4)

  • (ci) FIx pattern for actions/download-artifact (ac7bd31)

  • (es/minifier) Force rename synthesized identifiers (#9473) (c72b5f8)

  • (es/minifier) Mark LHS of for-in/of as update (#9474) (ac432c4)

  • (es/typescript) Correctly handle deep import chains (#9487) (50d70d3)

  • (es/typescript) Correctly handle ESM context (#9490) (fc0483c)

  • (html) Fix html binding (eefae1c)

Features

  • (bindings/html) Allow using lightningcss as minfiier (#9462) (74d6478)

  • (es/minifier) Drop more patterns with PURE marker (#9478) (ede1a52)

  • (es/parser) Disallow let let (#9484) (1121bc0)

  • (visit) Add experimental traverse APIs (#9464) (3ee8980)

Miscellaneous Tasks

  • (html) Use binding_html_node instead of html_node (bdea5cb)

  • (html) Fix publish action (f30fd4f)

  • (plugin/runner) Fix benchmark (#9477) (b0b5e36)

Performance

Refactor

  • (common) Simplify SyntaxContext and Mark (#9476) (4bee30a)

[1.7.14] - 2024-08-19

Bug Fixes

  • (common) Use SourceMap::adjust_mappings in correct order (#9447) (05961eb)

  • (es) Preserve more comments (#9449) (673655c)

Features

  • (es/decorators) Groundwork for stage 3 decorator (#9450) (238ba8b)

Refactor

[1.7.12] - 2024-08-19

Bug Fixes

  • (common) Do not use adjust_mappings from sourcemap crate (#9437) (563c162)

  • (es) Mark TypeScript nodes as reachable from Evaluator (#9440) (308e5ec)

  • (es/compat) Init this in sub class constructor for async (#9446) (bfaf31b)

  • (es/decorators) Fix metadata for accessors (#9444) (99738ef)

Miscellaneous Tasks

  • (deps) Update rust crate arrayvec to v0.7.6 (#9436) (08dd948)

[1.7.11] - 2024-08-14

Bug Fixes

  • (es) Improve sourcemap url error messages. (#9422) (230d1d9)