Skip to content

Latest commit

 

History

History
2122 lines (720 loc) · 116 KB

File metadata and controls

2122 lines (720 loc) · 116 KB

Changelog

[unreleased]

Bug Fixes

  • (es/transforms) Rewrite class references in non-static members (#11772) (fff1426)

  • (es/typescript) Handle TypeScript expressions in enum transformation (#11769) (85aa4a8)

Features

  • (swc_config) Add Hash/Eq for options and CachedRegex (#11775) (86a4c38)

Refactor

  • (es/minifier) Inline into shorthand prop early (#11766) (450bdfa)

[1.15.24] - 2026-04-04

Bug Fixes

  • (es/decorators) Scope 2023-11 implicit-global rewrite to decorator-lifted exprs (#11743) (1c01bbb)

  • (es/minifier) Handle toExponential(undefined) (#11583) (cd94a31)

  • (es/minifier) Cap deep if_return conditional chains (#11758) (a92fa3e)

  • (es/minifier) Inline prop shorthand in computed props (#11760) (71feafb)

  • (es/parser) Parse key Flow forms from #11729 (phase 1) (#11733) (886fe53)

  • (es/parser) Close remaining Flow parser gaps for #11729 (phase 2) (#11740) (8d36f05)

  • (es/regexp) Preserve source for wrapped named groups (#11757) (7e56fe5)

  • (html/codegen) Keep

    for span-parent paragraphs (#11756) (ede9950)

  • (swc_common) Make eat_byte unsafe to prevent UTF-8 boundary violation (#11731) (669a659)

Features

  • (es/minifier) Remove useless arguments for non inlined callee (#11645) (bab249e)

  • (react-compiler) Advance SWC parity for upstream fixtures (#11724) (468da70)

  • (react-compiler) Tighten core validation parity for upstream fixtures (#11734) (7e2cf8d)

  • (react-compiler) Improve SWC parity for early-return and hooks validation (#11738) (4739c58)

  • (react-compiler) M1 memo validators + lint gating alignment (#11739) (7e1ad26)

  • (react-compiler) Improve Stage A diagnostic parity and validation aggregation (#11745) (0e2075e)

  • (react-compiler) Continue swc parity for dependency handling (#11747) (83688c8)

Refactor

  • (es/minifier) Inline usage analyzer and remove crate (#11750) (7d8d11b)

  • (react-compiler) Remove compiler impl and keep fast_check (#11753) (f21d336)

Ci

[1.15.21] - 2026-03-22

Bug Fixes

  • (cli) Honor externalHelpers=false in rust binary (#11693) (1be052e)

  • (cli) Skip mkdir when --out-file targets the current directory (#11720) (f3f4e51)

  • (es/decorators) Resolve 2022-03 issues #9565/#9078/#9079 and add regressions (#11698) (a025d2b)

  • (es/fixer) Wrap new opt chain (#11618) (fdcd184)

  • (es/flow) Normalize module await bindings for Hermes parity (#11703) (73d8761)

  • (es/minifier) Fix compatibility for Wasm plugin (swc_ast_unknown) (#11641) (abd0e45)

  • (es/module) Preserve explicit index.js import path when baseUrl is set (#11597) (830dbeb)

  • (es/module) Avoid rewriting unknown relative extensions (#11713) (ed09218)

  • (es/regexp) Implement transform-named-capturing-groups-regex (#11642) (f62bfa9)

  • (es/types) Add new options types (#11683) (62eeee1)

  • (malloc) Fallback to system allocator on linux gnu s390x/powerpc (#11606) (e103fac)

  • Update lz4_flex to resolve RUSTSEC-2026-0041 (#11701) (7528507)

Documentation

Features

  • (bindings) Add linux ppc64le and s390x support across npm bindings (#11602) (357255d)

  • (bindings) Enable flow strip support in @swc/core (#11696) (93da89a)

  • (cli) Enable Flow strip support in swc_cli_impl (#11705) (0ea9950)

  • (dbg-swc) Add flow strip verification command (#11706) (77b7854)

  • (es) Add swc_es_codegen for swc_es_ast (#11628) (c282d86)

  • (es) Add 2-pass transformer and minifier crates (#11632) (f70a4b7)

  • (es) Add TypeScript + React transforms and tsc corpus tests (#11635) (09a5d8d)

  • (es/helpers) Prevent recursive instanceof helper transforms (#11609) (cb755a3)

  • (es/parser) Add with_capacity for Capturing (#11679) (60df582)

  • (es/parser) Add flow syntax mode and strip integration (#11685) (015bbe8)

  • (es/parser) Finish flow strip support for core syntax gaps (#11689) (584a12f)

  • (es/parser) Extend flow declare export strip compatibility (#11691) (a8315aa)

  • (es/parser) Support Flow declare export default interface strip path (#11692) (588577c)

  • (es/parser) Add Hermes Flow parity harness and fixes (#11699) (918b6ac)

  • (es/parser) Complete Hermes Flow stripping parity (#11702) (f041f4c)

  • (es/proposal) Add decorators 2023-11 support (#11686) (e96eb6a)

  • (es/react-compiler) Scaffold SWC port of Babel entrypoint (#11687) (4a1d3ce)

  • (es/react-compiler) Phase1 crate API baseline and fixture harness (#11690) (31364dc)

  • (es/react-compiler) Strict upstream parity finalization (crate-only, WIP) (#11697) (a3994aa)

  • (es/react-compiler) Advance strict upstream parity (#11709) (9b3abe0)

  • (es/react-compiler) Advance upstream fixture parity pipeline (#11716) (33fe6f2)

  • (es/semantics) Add scope analysis and statement-level cfg (#11623) (86815b1)

  • (es_parser) Complete parity suite with zero ignores (#11615) (ee3fdd5)

  • (es_parser) Complete internal parser wiring without ecma runtime dep (#11622) (1c51891)

  • (es_parser) Expand benchmark corpus (#11633) (ff3adef)

  • (react-compiler) Advance SWC upstream fixture parity (#11718) (e8d1696)

  • (react-compiler) Improve lint rename and gating parity (#11721) (5f89ee7)

  • (swc_es_parser) Enforce full parity suite and extend grammar surface (#11611) (585f7d0)

  • (swc_es_parser) Complete lossless modeling for with/TS module/decorators (#11613) (59b1189)

  • (swc_es_parser) Close parity gaps with full core/large fixture pass-fail parity (#11614) (3085f52)

  • Complete core parity parser coverage (#11603) (18e0edc)

Performance

  • (es/modules) Avoid export sort key clones (#11669) (e74e17d)

  • (es/parser) Reduce JSX identifier rescan allocations (#11671) (f9214fe)

  • (es/parser) Optimize underscore stripping in numeric literal hot path (#11670) (874338b)

  • (es/transformer) Remove O(n^2) statement mutation hotspots (#11672) (bdc24b7)

  • (es_parser) Byte-search lexer optimization pass (#11616) (607f2db)

  • (es_parser) Reduce lookahead and allocation overhead (#11673) (becd9b0)

  • (ts/fast-strip) Avoid token capture in default transform path (#11668) (06aa0db)

Refactor

Testing

  • (es/flow) Add flow strip corpus correctness test (#11694) (cd5ed81)

  • (es/parser) Enforce full ecma fixture parity (#11637) (0bf8a46)

  • (es/parser) Expand flow strip fixture coverage (#11695) (e231262)

  • (es_parser) Add core snapshot suite (#11617) (23c56fe)

  • (es_parser) De-arenaize ecma_reuse fixture snapshots (#11639) (aa6727a)

  • (es_parser) Recover swc_es_parser benchmark coverage (#11640) (0f24ee1)

  • Expand swc_es_parser snapshot suites (ecma-style) (#11621) (325170f)

  • Move TS decorator fixtures out of proposal crate (#11723) (e29d58c)

Ci

[1.15.18] - 2026-03-01

Bug Fixes

  • (html/wasm) Publish @swc/html-wasm for nodejs (#11601) (bd443f5)

Documentation

Features

Ci

[1.15.17] - 2026-02-26

Documentation

Features

  • (bindings) Add html wasm binding and publish wiring (#11587) (b3869c3)

  • (sourcemap) Support safe scopes round-trip metadata (#11581) (de2a348)

  • Emit ECMA-426 source map scopes behind experimental flag (#11582) (2385a22)

[1.15.13] - 2026-02-23

Bug Fixes

  • (errors) Avoid panic on invalid diagnostic spans (#11561) (b24b8e0)

  • (es/helpers) Fix _object_without_properties crash on primitive values (#11571) (4f35904)

  • (es/jsx) Preserve whitespace before HTML entities (#11521) (64be077)

  • (es/minifier) Do not merge if statements with different local variable values (#11518) (3e63627)

  • (es/minifier) Prevent convert_tpl_to_str when there's emoji under es5 (#11529) (ff6cf88)

  • (es/minifier) Inline before merge if (#11526) (aa5a9ac)

  • (es/minifier) Preserve array join("") nullish semantics (#11558) (d477f61)

  • (es/minifier) Inline side-effect-free default params (#11564) (1babda7)

  • (es/parser) Fix generic arrow function in TSX mode (#11549) (366a16b)

  • (es/react) Preserve first-line leading whitespace with entities (#11568) (fc62617)

  • (es/regexp) Transpile unicode property escapes in RegExp constructor (#11554) (476d544)

Documentation

  • (agents) Clarify sandbox escalation for progress (#11574) (cb31d0d)

Features

  • (es/minifier) Add unsafe_hoist_static_method_alias option (#11493) (6e7dbe2)

  • (es/minifier) Remove unused args for IIFE (#11536) (3cc286b)

Refactor

  • (es/parser) Compare token kind rather than strings (#11531) (5872ffa)

  • (es/typescript) Run typescript transform in two passes (#11532) (b069558)

  • (es/typescript) Precompute namespace import-equals usage in semantic pass (#11534) (b7e87c7)

Testing

  • (es/minifier) Add execution tests for issue #11517 (#11530) (01b3b64)

  • Disable cva ecosystem ci temporariliy (55bc966)

Ci

[1.15.11] - 2026-01-27

Bug Fixes

  • (es/codegen) Emit leading comments for JSX elements, fragments, and empty expressions (#11488) (1520633)

  • (es/decorators) Invoke addInitializer callbacks for decorated fields (#11495) (11cfe4d)

  • (es/es3) Visit export decl body even if name is not reserved (#11473) (9113fff)

  • (es/es3) Remove duplicate code (#11499) (fbee775)

  • (es/minifier) Treat new expression with empty class as side-effect free (#11455) (a33a45e)

  • (es/minifier) Escape control characters when converting strings to template literals (#11464) (028551f)

  • (es/minifier) Handle unused parameters with default values (#11494) (6ed1ee9)

  • (es/module) Preserve ./ prefix for hidden directory imports (#11489) (a005391)

  • (es/parser) Validate dynamic import argument count (#11462) (2f67591)

  • (es/parser) Allow compilation with --no-default-features (#11460) (b70c5f8)

  • (es/parser) Skip emitting TS1102 in TypeScript mode (#11463) (e6f5b06)

  • (es/parser) Reject ambiguous generic arrow functions in TSX mode (#11491) (ac00915)

  • (es/parser) Disallow NumericLiteralSeparator with BigInts (#11510) (6b3644b)

  • (es/react) Preserve HTML entity-encoded whitespace in JSX (#11474) (7d433a9)

  • (es/renamer) Prevent duplicate parameter names with destructuring patterns (#11456) (e25a2c8)

  • (es/testing) Skip update when expected output has invalid code (#11469) (2be6b8a)

  • (es/typescript) Don't mark enums with opaque members as pure (#11452) (b713fae)

  • (preset-env) Distinguish unknown browser vs empty config (#11457) (1310957)

Documentation

  • Replace swc.config.js references with .swcrc (#11485) (fec8d2c)

Features

  • (cli) Add --root-mode argument for .swcrc resolution (#11501) (b53a0e2)

  • (es/module) Make module transforms optional via module feature (#11509) (b94a178)

  • (es/regexp) Implement unicode property escape transpilation (#11472) (a2e0ba0)

  • (es/transformer) Merge ES3 hooks into swc_ecma_transformer (#11503) (5efcac9)

Miscellaneous Tasks

  • (es/minifier) Extend OrderedChain to support more node types (#11477) (aa9d789)

Performance

  • (bindings) Optimize string handling by avoiding unnecessary clones (#11490) (81daaaa)

  • (es/codegen) Make commit_pending_semi explicit in write_punct (#11492) (5a27fc0)

  • (es/es2015) Port ES2015 transforms to hook-based visitors (#11484) (a54eb0e)

  • (es/es3) Use hooks pattern for single AST traversal (#11483) (a139fba)

  • (es/minifier) Use combined AST traversal (#11471) (c611663)

  • (es/transformer) Add inline hint (#11508) (d72c9df)

Refactor

  • (es/compat) Put ES3 crates behind feature flag (#11480) (d5a8d84)

Testing

  • (es/minifier) Add test case for merge_imports order preservation (#11458) (b874a05)

  • (es/parser) Add error tests for import.source and import.defer with too many args (#11466) (7313462)

  • (es/parser) Check handler.has_errors() in test error parsing (#11487) (fade647)

  • Replace deprecated cargo_bin function with cargo_bin! macro (#11461) (73f77b6)

[1.15.10] - 2026-01-19

Bug Fixes

  • (ci) Handle merged PRs separately in milestone manager (#11409) (3554268)

  • (es/compat) Preserve this context in nested arrow functions (#11423) (f2bdaf2)

  • (es/es2017) Replace this in arrow functions during async-to-generator (#11450) (a993da6)

Features

  • (bindings/wasm) Enable ecma_lints feature to support semantic error detection (#11414) (1faa4a5)

  • (es/hooks) Implement VisitMutHook for Either type (#11428) (395c85e)

  • (es/hooks) Implement VisitMutHook for Option (#11429) (0bf1954)

  • (es/hooks) Add VisitHook trait for immutable AST visitors (#11437) (3efb41d)

  • (es/minifier) Improve nested template literal evaluation (#11411) (147df2f)

  • (es/minifier) Remove inlined IIFE arg and param (#11436) (2bc5d40)

  • (es/minifier) Remove inlined IIFE arg and param (#11446) (baa1ae3)

Miscellaneous Tasks

Performance

  • (es/codegen, es/utils) Migrate to dragonbox_ecma for faster Number::toString (#11412) (b7978cc)

  • (es/react) Optimize JSX transforms to reduce allocations (#11425) (2a20cb6)

Refactor

  • (es) Improve TypeScript transform configuration structure (#11434) (f33a975)

  • (es/minifier) Migrate MinifierPass to Pass trait (#11442) (a41e631)

  • (es/minifier) Improve tpl to str (#11415) (0239523)

  • (es/react) Port to VisitMutHook (#11418) (9604d9c)

  • (es/transformer) Remove OptionalHook wrapper in favor of Option (#11430) (72da6bd)

  • (es/transforms) Migrate TypeScript transform to Pass trait (#11439) (dd007c6)

Testing

Ci

  • Collapse preivous claude[bot] PR review comments (affb6a2)

[1.15.8] - 2025-12-30

Bug Fixes

  • (es/minifier) Remove unused webpack-related code (#11397) (8e4eab4)

  • (es/minifier) Evaluate TemplateLiteral in BinaryExpression (#11406) (8d1b6f6)

  • (es/minifier) More strict check if cannot add ident when invoking IIFE (#11399) (03642aa)

Features

Performance

  • (es/parser) Remove Iterator implementation for Lexer (#11393) (5941018)

  • (es/parser) Optimize do_outside_of_context and do_inside_of_context (#11394) (4210cf1)

  • (es/parser) Remove is_first in lexer state (#11395) (97d903b)

  • (es/parser) Use byte_search to optimize scan_jsx_token (#11398) (f9b4da2)

  • Reduce binary size with panic=abort and ICU optimizations (#11401) (18088b2)

Refactor

  • (es/compiler) Drop the crate (#11407) (8faa14e)

  • (es/minifier) Move drop_console and unsafes from Pure to Optimizer (#11388) (ee40804)

  • (es/parser) Distinguish JsxText from Str (#11387) (63c4c44)

[1.15.7] - 2025-12-18

Bug Fixes

  • (es/minifier) Prevent unsafe sequence merging in super() calls (#11381) (eb02780)

  • (es/transformer) Fix variable declaration for nullish coalescing in else-if branches (#11384) (6746002)

  • (es/transforms) Update _ts_rewrite_relative_import_extension helper code (#11382) (1ec444e)

Features

  • (es/transformer) Merge private_properties_in_object (#11378) (769c9d2)

Performance

  • (es/minifier) Optimize data structures of ProgramData (#11374) (3639523)

Refactor

[1.15.6] - 2025-12-18

Bug Fixes

  • (es/transformer) Fix missing var declaration in nullish coalescing with spreads (#11377) (686d154)

Performance

[1.15.5] - 2025-12-15

Bug Fixes

  • (es/parser) Fix bump length (#11372) (ec5c1bc)

  • (es/transforms) Adjust import rewriter pass before inject helpers pass (#11371) (8516991)

[1.15.4] - 2025-12-13

Bug Fixes

  • (es/compat) Preserve return value for single-property object destructuring (#11334) (847ad22)

  • (es/compat) Fix generator transform for compound assignments, for-in, and labeled break (#11339) (9b6bedd)

  • (es/compat) Destructuring evaluation order (#11337) (49d04c7)

  • (es/compat) Fix parameter default value evaluation order with object rest (#11352) (2ebb261)

  • (es/fixer) Preserve parens around IFFE in binary expressions within sequences (#11324) (a4c84ea)

  • (es/helpers) Avoid extra trap calls on excluded keys in object rest spread (#11338) (4662caf)

  • (es/minifier) Fix debug cargo feature (#11325) (be86fad)

  • (es/minifier) Fix optimization pass for merge_imports (#11331) (ca2f7ed)

  • (es/parser) Don't call bump_bytes in the continue_if of byte_search! (#11328) (583619d)

  • (es/parser) Support type-only string literal in import specifiers (#11333) (07762f1)

  • (es/parser) Handle TypeScript expressions in destructuring patterns (#11353) (160ec34)

  • (es/transformer) Complete replace_this_in_expr implementation (#11361) (58c4067)

  • (es/transformer) Fix pass order (#11370) (373048a)

Features

Performance

[1.15.3] - 2025-11-20

Bug Fixes

  • (es/codegen) Restore missing top-level comments (#11302) (0998c93)

  • (es/codegen) Emit comments of all nodes (#11314) (387ee0f)

  • (es/minifier) Prevent compress.comparisons from transforming expressions with side effects (#11256) (58a9d81)

  • (es/minifier) Remove unused arrow functions in dead code elimination (#11319) (88c6ac7)

  • (es/parser) Make the span of Program start at input start (#11199) (b56e008)

  • (es/plugin) Use #[cfg] to avoid compilation error (#11316) (f615cdb)

  • (es/quote) Replace usage of swc_atoms with swc_core::atoms (#11299) (c1e32fa)

Miscellaneous Tasks

  • (es/transformer) Determine project structure (#11306) (58f2602)

Performance

  • (es/compat) Merge regexp pass into Transformer (#11307) (440b391)

  • (es/compat) Merge export_namespace_from to Transformer (#11309) (7a528ce)

Refactor

[1.15.2] - 2025-11-14

Bug Fixes

  • (bindings/es) Respect filename option from print() (#11264) (0d4d2d9)

Features

  • (es/minifier) Drop empty constructors during minification (#11250) (2cea7dd)

  • (es/visit) Add context parameter to VisitMutHook trait (#11254) (8645d0d)

Performance

  • (es/parser) Inline skip_space (afb824a)

  • (es/parser) Eliminate the outer loop of skip_block_comment (#11261) (e41c0ac)

  • (es/plugin) Use shared tokio runtime to avoid creation overhead (#11267) (707026b)

[1.15.1] - 2025-11-08

Bug Fixes

  • (cli) Print filename to stderr when compiling (#11249) (d66dab5)

  • (es/minifier) Prevent array destructuring optimization in assignment contexts (#11221) (99d8b0a)

Features

Miscellaneous Tasks

  • (es/compiler) Drop syntax_ext and prepare AI-based porting (#11239) (15639c0)

Performance

Refactor

[1.15.0] - 2025-11-04

Bug Fixes

Features

  • (hstr) Support checked from_bytes for Wtf8Buf and Wtf8 (#11211) (1430489)

Performance

  • (atoms) Remove temporary allocations in rkyv serialize and deserialize (#11202) (85e6e8a)

  • (es/parser) Remove start in State (#11201) (b9aeaa3)

  • (plugin) Avoid data copy when transformation finished (#11223) (af134fa)

Refactor

Testing

  • Copy opt-level configs to the top level workspace (#11210) (dba23f5)

[1.14.0] - 2025-10-29

Bug Fixes

Features

  • (es/compiler) Merge nullish_coalescing into Compiler (#11157) (dd6f71b)

Miscellaneous Tasks

  • (binding_macros) Add default-features = false (#11193) (85d855f)

Performance

  • (es/parser) Remove had_line_break_before_last (#11200) (7b5bcd7)

Refactor

[1.13.21] - 2025-10-24

Bug Fixes

  • (bindings) Improve ARM64 and Alpine Linux (musl) binary loading and validation (#11173) (f9be4d7)

  • (es/codegen) Encode non-ASCII chars in regex with ascii_only option (#11155) (b6f4d1f)

  • (es/compat) Apply Array.prototype.slice to arguments in loose spread (#11122) (66428a2)

  • (es/compat) Handle sparse arrays correctly in generator transforms (#11131) (9cd4334)

  • (es/compat) Preserve AutoAccessor to prevent panic (#11150) (101c3b7)

  • (es/decorators) Emit correct metadata for enum parameters (#11154) (630484f)

  • (es/helpers) Fix SuppressedError argument order in explicit resource management (#11172) (7693fb9)

  • (es/minifier) Fix inlining of hoisted functions (#11159) (bd55d30)

  • (es/minifier) Fix inlining of hoisted functions in param (#11161) (5a4088d)

  • (es/parser) Handle JSX attributes with keyword prefixes correctly (#11136) (d3cd97f)

  • (es/parser) Support literal computed property names in enums (#11163) (146c77c)

  • (es/react) Use correct span for @jsxFrag as null literal (#11139) (9353763)

  • (es/transforms) Check errors::HANDLER.is_set() before failing (#11130) (1c9ab27)

Features

  • (bindings) Introduce AST Viewer to improve debugging experience (#10963) (fa3aacc)

  • (es/minifier) Add merge_imports optimization pass to reduce bundle size (#11151) (a01dee1)

  • (es/parser) Add an error for empty type args for generic (#11164) (9a1fa84)

Miscellaneous Tasks

  • (claude) Use Sonnet 4.5 instead of Opus (c79e1e5)

  • (deps) Update lru crate from 0.10.1 to 0.16.1 (#11145) (e347c5b)

Refactor

[1.13.20] - 2025-09-27

Bug Fixes

  • (es/minifier) Preserve __proto__ shorthand property behavior (#11123) (63dbd1d)

  • (es/parser) Parse (void) correctly as arrow function return type (#11125) (d3e5dd3)

Performance

[1.13.19] - 2025-09-25

Bug Fixes

  • (es/compat) Preserve comment when transform template with no expr (#11109) (80e8408)

  • (es/minifier) Inline block stmt into expr (#11107) (72a53a0)

  • (es/minifier) Allow MultiReplacer to inline multiple times (#11106) (fe8e981)

Features

Testing

[1.13.7] - 2025-09-19

Bug Fixes

  • (ci) Test chanages (d4396c1)

  • (es/ast) Fix unicode lone surrogates handling (#10987) (0557609)

  • (es/compat) Handle super in nested arrow function (#11056) (63c5413)

  • (es/compat) Preserve typeof symbol in loose mode (#11072) (d92c3bd)

  • (es/lexer) Fix token for &&= (#11037) (d6e76e4)

  • (es/lexer) Update regexp token span (#11061) (ceb0aff)

  • (es/minifier) Fix debug feature (#11030) (0a2dcf8)

  • (es/minifier) Avoid const_to_let if reassigned (#11035) (5ab92f7)

  • (es/minifier) Make const_to_let work in arrows again (#11062) (79dc8d4)

  • (es/minifier) Remove undefined initializer iff the name is an ident (#11080) (0058709)

  • (es/minifier) Check in param before add ident (#11091) (2e61f44)

  • (es/optimization) Do not rely on resolver from inline_globals (#11028) (dc392e6)

  • (es/parser) Capture more tokens (#11081) (6b381c9)

  • (plugin/runner) Fix wasmtime backend cache corruption (#11077) (1e8b92f)

  • (swc_common) Fix compatibility with serde 1.0.220+ (#11094) (45f17ed)

Features

Miscellaneous Tasks

Performance

Testing

  • (es) Make isModule in test cases available (#11038) (44a5536)

  • (es/parser) Use relative file name in typescript tests (#11029) (82c6b0f)

[1.13.5] - 2025-08-24

Bug Fixes

  • (es/minifier) Preserve array.join with nullable values (#10937) (e495403)

  • (es/preset-env) Update polyfill data (#11013) (934d8a5)

Features

  • (es/minifier) Remove unused parts of destructuring (#11024) (b5fed8c)

Refactor

[1.13.4] - 2025-08-21

Bug Fixes

  • (es/lexer) Use error when handling '\0' (#10964) (53c22d1)

  • (es/minifier) Skip serde of pure_funcs in options (#10969) (862e70d)

  • (es/minifier) Fix compile error with debug feature (#10999) (831eed5)

  • (es/minifier) Don't eliminate class expr if some side effects contain this (#11003) (18aeac6)

  • (es/module) Support optional chaining in import.meta (#10985) (758d8ec)

  • (es/parser) Allow TS type args to start with LSHIFT (<<) to parse T<<S>() => void> (#10996) (4911ec7)

  • (ts/isolated-dts) Correct optional marker for class fields generated from constructor parameter (#10992) (0d680fd)

  • Expose GlobalPassOption.build (#10968) (c8a2668)

Features

  • (bindings/html) Add keep-head-and-body for tagOmission in binding (#11014) (1e1ebeb)

  • (html/minifier) Support keep_head_and_body (#11008) (86186db)

  • (plugin/runner) Introduce wasmtime backend (#10958) (9fa8330)

Miscellaneous Tasks

Performance

Refactor

[1.13.3] - 2025-07-29

Bug Fixes

  • (es/minifier) Check exported when optimize last expr (#10939) (f6f15f3)

  • (es/minifier) Disallow types (#10945) (63172ef)

  • (es/minifier) Don't optimize Number properties when Number is shadowed (#10947) (40a1e2e)

  • (es/minifier) Fix cycle detection (#10950) (212d8bc)

  • (es/parser) Correctly handle EOF position (#10934) (dd70fbd)

Performance

[1.13.2] - 2025-07-22

Bug Fixes

  • (es/minifier) Remove the last break in the second switch (#10923) (3ed4a12)

  • (es/parser) Reject malformed phase import statements (#10912) (5fde348)

  • (swc_core) Add default-features = false to drop stacker (#10916) (38b45b7)

Features

Miscellaneous Tasks

  • (claude) Use Opus and allow assigning to the claude-bot (3275b9c)

Performance

Refactor

Testing

[1.13.1] - 2025-07-19

Bug Fixes

  • (es/compat) Properly handle rest assignment in for-in/of RHS (#10883) (5d11851)

  • (es/decorators) Handle empty class members (#10892) (fe44972)

  • (es/minifier) Hoist props when only props are used (#10891) (452fc98)

  • (es/minifier) Recursively check stmt for variable when inlining function (#10896) (e37a93d)

  • (es/minifier) Termination check when stmts containing switch (#10898) (4429b20)

  • (es/parser) Fix parsing of JSX identifiers (#10894) (0047c39)

  • (ts/fast-strip) Strip private method overloads (#10886) (cdb6e87)

Testing

[1.13.0] - 2025-07-17

Bug Fixes

  • (es/lexer) Disallow legacy octal literals as BigInt (#10867) (430fbf4)

  • (es/minifier) Restrict IIFE inlining in class contexts (#10879) (a01b54a)

  • (es/parser) Mark static as reserved in strict mode (#10861) (5bdddd7)

Features

  • (es/minifier) Drop unused rest paramters (#10857) (5305486)

  • (es/minifier) Enhance IIFE invoker for arrow functions (#10860) (2b1ce3d)

  • (plugin/runner) Use wasmer-wasix sys-minimal feature to reduce binary size (#10638) (b5f704a)

Performance

Refactor

[1.12.14] - 2025-07-14

Bug Fixes

  • (es/minifier) Don't inline arrow when it contain this (#10825) (8b43bb3)

  • (es/parser) Make export in NS to not affect file type (#10799) (ae22033)

  • (es/parser) Correctly check ambient context (#10802) (f97ea03)

Features

  • (es/parser) Enable support for dynamic import with defer phase (#10845) (097d29d)

  • (plugin) Remove bytecheck to make Wasm plugins backward compatible (#10842) (30ad808)

Miscellaneous Tasks

  • (bindings) Fix dependency issues (7c57fbb)

  • (deps) Update class-validator to avoid comments (#10819) (bacfa4b)

  • (ide) Enable --workspace for rust-analyzer check (#10809) (92647ff)

Performance

Refactor

Testing

  • (es/plugin) Test memory layout of archived types (#10841) (502e991)

[1.12.11] - 2025-07-08

Bug Fixes

Features

  • (es/minifeir) Inline lazily initialized literals (#10752) (fd5d2e2)

  • (es/minifier) Evaluate Number.XXX constants (#10756) (c47dab5)

  • (es/minifier) Implement partial evaluation of array join (#10758) (bdf3a98)

  • (swc_core) Expose swc_ecma_parser/unstable (#10744) (db0679e)

Miscellaneous Tasks

Performance

Refactor

Testing

Pref

[1.12.9] - 2025-07-01

Bug Fixes

  • (es/lexer) Parse uppercase hex numbers correctly (#10728) (ead6256)

  • (es/lexer) Allow keywords as jsx attribute names (#10730) (04ef20a)

  • (es/minifier) Fix top level option (#10227) (485fced)

  • (es/minifier) Do not drop self-referential class expressions (#10710) (39e6c2e)

  • (es/minifier) Mark cons and alt of CondExpr as ref (#10740) (9649cc8)

  • (es/minifier) Fix termination detection (#10741) (87bc698)

  • (es/parser) Allow non-prop operand in delete (#10733) (38132e0)

Features

Performance

Refactor

Testing

[1.12.7] - 2025-06-26

Bug Fixes

  • (es/minifier) Fix condition for preserving properties (#10694) (5c57a05)

  • (es/minifier) Drop pure tagged string call expr (#10702) (85cd9a7)

  • (es/parser) Improve error message for template literals (#10690) (a066b76)

  • (es/parser) Rescan >= for JSX closing tag (#10693) (fe82c4c)

  • (es/parser) Support keywords as JSX member expression properties (#10701) (643253d)

Features

  • (es/parser) Add override and out keyword (#10695) (636d7a3)

  • (es/parser) Enable import attributes unconditionally (#10706) (5ecc3ca)

  • (es/parser) Expose Token API with unstable feature flag (#10699) (750c7d4)

Performance

Testing

[1.12.6] - 2025-06-24

Bug Fixes

  • (es/parser) Throw error if JSX does not end with > (#10687) (cb3d6db)

  • (es/react-compiler) Use tsx syntax for parser (#10682) (a355e37)

  • (hstr) Support MSRV = 1.86 (#10673) (de19d1e)

  • (ts/isolated-dts) Skip parameters without accessibility modifiers in private constructors (#10675) (1976d8e)

Features

  • (ts/fast-strip) Support JSX under a feature flag (#10656) (6a70d17)

Miscellaneous Tasks

  • (ecosystem-ci) Exclude react-leaflet (cfbb1f9)

Performance

  • (es/lexer) Optimize number literal parsing with fast path (#10655) (15d0828)

  • (es/lexer) Reduce allocations while lexing numbers (#10667) (115d228)

  • (es/lexer) Introduce byte_search to reduce comparison operations (#10668) (3806ffd)

  • (es/lexer) Compare \n first (#10669) (9c41e2f)

  • (es/lexer) Optimize lexing of numbers with separators (#10665) (cac651b)

  • (es/minifier) Remove needless clones (#10661) (5f4f7dd)

  • (ts/fast-strip) Prealloc buf for codegen (#10680) (a8347fe)

Refactor

Build

[1.12.5] - 2025-06-21

Bug Fixes

Performance

Refactor