NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1264 most downloaded on npm
Super-fast alternative for babel
Last release 4 days ago
30 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Some releases are documented
notes for 35 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
8 years old
923 releases · first in 2019
(swc_config) Show why an options object failed to deserialize
One column per quarter.
Nothing published for this version
(binding/node) Return an error when a file cannot be read instead of panicking
(binding/node) Return an error when a file cannot be read instead of panicking (#12379) (d342acd)
(bindings) Detect macOS ACLs with supported APIs (#12391) (a73ea68)
(es) Decode template raw values when cooked is missing (#12347) (7898152)
(es/codegen) Minify unicode escapes in template literals (#12284) (76ef91c)
(es/codegen) Separate generic type assertion openers (#12340) (8948dac)
(es/compat) Preserve array rest when lowering nested object rest (#12352) (9348083)
(es/lexer) Stop iteration when input is exhausted (#12388) (c392686)
(es/minifier) Check eval and arguments usage in var define scope (#12174) (5d1aa16)
(es/minifier) Drop unused object pattern defaults (#12176) (76ac4bd)
(es/minifier) Preserve Array spread arity (#12237) (cfbef85)
(es/minifier) Preserve holes in array joins (#12242) (7eca515)
(es/minifier) Preserve catch return before finally (#12232) (191b951)
(es/minifier) Skip prototype setters in Object.keys (#12249) (8953ee3)
(es/minifier) Guard static helper evaluation (#12247) (f154b61)
(es/minifier) Preserve string import names (#12245) (b23c5ed)
(es/minifier) Preserve unsigned shift coercion (#12260) (e0f3f4e)
(es/minifier) Fold missing codePointAt to undefined (#12230) (052592a)
(es/minifier) Fold local deletes to false (#12231) (dcbcf93)
(es/minifier) Preserve Function.length arity (#12251) (753db8c)
(es/minifier) Preserve rest RegExp identity (#12238) (4a73df1)
(es/minifier) Preserve lexical method defaults (#12239) (7446da9)
(es/minifier) Preserve arguments after IIFE spreads (#12243) (924d225)
(es/minifier) Preserve string method arguments (#12234) (0d377f1)
(es/minifier) Preserve optional-chain continuation throws (#12261) (c5f381b)
(es/minifier) Preserve constant switch test effects (#12252) (ca1f943)
(es/minifier) Preserve shadowed undefined yield values (#12272) (00da5c1)
(es/minifier) Retain unsafe Symbol call arguments (#12248) (2611085)
(es/minifier) Preserve conditional assignment target order (#12253) (5d703f0)
(es/minifier) Preserve Set and Map iteration (#12254) (c28b95f)
(es/minifier) Preserve sequence IIFE argument evaluation (#12258) (c8eec79)
(es/minifier) Respect global defs root bindings (#12266) (107af6a)
(es/minifier) Format toExponential compatibly (#12257) (62d8b28)
(es/minifier) Preserve tiny toPrecision calls (#12246) (d64acad)
(es/minifier) Preserve async IIFE return values (#12269) (3119b07)
(es/minifier) Retain rest params in dynamic scopes (#12264) (e222efd)
(es/minifier) Safely hoist property callees (#12183) (df3f7ab)
(es/minifier) Preserve catch assignments before finally (#12259) (7a2ca6e)
(es/minifier) Preserve delete operand effects (#12244) (d8631aa)
(es/minifier) Preserve unary comparison evaluation order (#12275) (440fd7f)
(es/minifier) Preserve branches when collapsing assignments (#12280) (0239111)
(es/minifier) Preserve empty array assignments (#12250) (20e9c5f)
(es/minifier) Preserve empty IIFE parameter effects (#12268) (c8a2657)
(es/minifier) Preserve empty join coercion (#12240) (a5bd592)
(es/minifier) Preserve empty object destructuring errors (#12276) (246e615)
(es/minifier) Deduplicate folded Object.keys (#12263) (c652537)
(es/minifier) Preserve finalizer breaks in switches (#12330) (1156952)
(es/minifier) Preserve strict equality for repeated calls (#12320) (2755d73)
(es/minifier) Preserve class scope in if-return negation (#12319) (f568ff2)
(es/minifier) Preserve function expression names (#12318) (9ee8686)
(es/minifier) Preserve finalizer completions (#12325) (eddbd18)
(es/minifier) Evaluate String.raw templates with raw quasis (#12322) (5f49135)
(es/minifier) Preserve returns in finalizers (#12324) (f7894f5)
(es/minifier) Scan all adjacent hoist declaration pairs (#12335) (c3e2d35)
(es/minifier) Preserve reassigned arguments access (#12235) (5f02d02)
(es/minifier) Preserve switch fallthrough cases (#12328) (fe41cd5)
(es/minifier) Preserve lone surrogate template values (#12329) (ff90d49)
(es/minifier) Preserve spread iteration in unused builtins (#12334) (90d449d)
(es/minifier) Preserve computed update targets (#12326) (22518fc)
(es/minifier) Preserve let initialization when dropping unused variables (#12345) (2ea13bf)
(es/minifier) Do not merge sequences across array spreads (#12375) (f145dfe)
(es/minifier) Preserve destructuring patterns with PURE-annotated initializers (#12386) (6ee2384)
(es/minifier) Mark properties assigned through destructuring targets as mutated (#12398) (42e4f7e)
(es/minifier) Keep function and class declarations whose self-reference is dropped (#12401) (cd25b14)
(es/minifier) Avoid inline arrow with this when used as arg (#12409) (9de48a0)
(es/parser) Reject unicode escapes in RegExp flags (#12093) (4f98673)
(es/parser) Allow line breaks before enum names (#12341) (c594a7c)
(es/parser) Allow ambient rest trailing commas (#12342) (9362f19)
(es/parser) Respect line breaks after declare (#12353) (fe1dfad)
(es/parser) Parse optional generator methods (#12355) (0b33a30)
(es/parser) Allow line breaks before import attributes (#12356) (6684de3)
(es/parser) Allow await identifiers in explicit Script parsing (#12364) (a2db32d)
(es/parser) Respect line breaks before definite assignment assertions (#12362) (505766f)
(es/parser) Restore strict context after classes (#12361) (0cb1a67)
(es/parser) Reset static block context for nested declarations (#12360) (e3a33ab)
(es/parser) Allow eval and arguments in ambient function declarations (#12359) (21b0cba)
(es/parser) Parse static constructor methods in JavaScript (#12357) (98f718f)
(es/parser) Allow of bindings in await using loops (#12354) (c7f40bb)
(es/parser) Accept valid declare readonly field initializers (#12363) (3668176)
(es/parser) Preserve elisions in arrow binding patterns (#12366) (3b3689a)
(es/parser) Isolate constructor function contexts (#12367) (7954b2d)
(es/parser) Correctly round non-decimal numeric literals (#12370) (7636d01)
(es/parser) Allow string import and export names after type (#12371) (baf0ba6)
(es/parser) Preserve type references named asserts before line breaks (#12372) (1f12e7f)
(es/parser) Recognize named optional and rest tuple elements (#12368) (476ba33)
(es/parser) Support leading pipes in Flow match patterns (#12393) (3c381f4)
(es/parser) Allow escaped keywords as property names (#12358) (478aaee)
(es/parser) Parse optional renamed Flow component parameters (#12410) (1dea7a6)
(es/typescript) Fold optional-chained enum member reads (#12179) (4519330)
(html/minifier) Preserve adjacent script elements (#12411) (aea189d)
(html/parser) Preserve customizable select markup (#12413) (86d40bd)
(node) Repair native release verification and cache handling (#12415) (2b292c8)
(nodejs) Complete Amaro REPL support APIs (#12395) (4b42cd5)
(agents) Document terser fixture backlog workflow (#12274) (07328de)
(es/minifier) Clarify decorator input and test boundaries (#12337) (d8b76cc)
(es/minifier) Clarify semantic preservation policy (#12349) (ff6a3c3)
(bindings) Add private compressed native addon foundation (#12289) (2855b5a)
(bindings) Gate native npm releases on verified carriers (#12292) (556044f)
(es/minifier) Honor /*#__PURE__*/ on property reads and destructuring patterns (#12384) (43f4fdb)
(es/minifier) Account for shorthand expansion when inlining (#12428) (bd4c573)
(es/module) Support moduleRoot for AMD module IDs (#11964) (4b4c135)
(es/preset-env) Reduce binary size with browserslist deflate (#12381) (81e0d7d)
(es/transforms) Skip script traversal in export-default-from (#12348) (f37ce70)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
(es/compat) Preserve for-of var binding scope
(es/compat) Preserve for-of var binding scope (#12158) (f6d5bd1)
(es/decorators) Drop params from getter replacing decorated private method (#12161) (d56f594)
(es/flow) Preserve Flow component type semantics (#12090) (c8d5b49)
(es/minifier) Mark for update and test as executed multiple time (#12131) (1260e36)
(es/minifier) Report for loop var decl as assign (#12136) (783bbc2)
(es/minifier) Don't replace value-used console.*.bind() calls with undefined (#12138) (ed74223)
(es/minifier) Drop spans of cached globals values (#12129) (9a306b8)
(es/minifier) Preserve effects of returned value calls (#12140) (c37b5a9)
(es/minifier) Avoid JSX sequence inlining loop (#12149) (4e79b94)
(es/minifier) Preserve bindings in copied inline arrows (#12141) (cf7b5c9)
(es/minifier) Preserve do-while control-flow targets (#12160) (f62c437)
(es/minifier) Preserve pure annotation ownership (#12180) (ec780f9)
(es/parser) Retry ambiguous Program parsing (#12142) (141a320)
(es/parser) Preserve await grammar boundaries (#12156) (c732683)
(es/typescript) Treat const variable references as enum constants (#12101) (c523551)
(swc) Key optimizer env cache by configured values (#12166) (c0b6f12)
(es/minifier) Evaluate Math.floor, Math.ceil, Math.round and Mat… (#12117) (e876e80)
(es/parser) Add opt-in parser-only TSRX lowering (#12120) (61ff097)
Nothing published for this version
Nothing published for this version
(encoding) Fix incorrect fields count
(encoding) Fix incorrect fields count (#11905) (6fb4ca1)
(es/ast) Prevent mutable reference escape (#12088) (592f559)
(es/ast) Fix panic on JSX surrogate entities (#11803) (d21de47)
(es/es2015) Preserve this in static field parameters (#12085) (5b758ed)
(es/minifier) Remove unused variable initializer cycles (#12106) (0421534)
(es/minifier) Bound arguments parameter injection (#12053) (46d6f41)
(es/preset-env) Lower unsupported async generators (#12086) (3a144b1)
(hstr) Avoid references to uninitialized bytes (#12087) (68f0983)
(plugin) Make raw byte reconstruction unsafe (#12089) (83ab4ed)
(plugin/runner) Write Wasmer cache atomically (#12100) (3c4f404)
(react-compiler) Make fast check conservative (#12105) (7e14950)
(react-compiler) Preserve TypeScript function overload signatures (#12115) (a132384)
(es/ast) Add body_ctxt to Switch (#12065) (bf25ae0)
body_ctxt to Switch (#12065)(es/ast) Split TypeScript this parameters (#12075) (1687c0f)
(es/ast) Use Function for object accessors (#12077) (9ae902e)
(es/ast) Introduce FunctionBody (#12096) (394c7c9)
Nothing published for this version
(es) Preserve numeric property key identity
(es) Preserve numeric property key identity (#12050) (46900a3)
(es/ast) Support hashing non-finite numbers (#12043) (f4b85a6)
(es/codegen) Emit non-finite numeric literals (#12047) (883abc4)
(es/decorators) Avoid class state leakage for nested undecorated classes (#12076) (4c9d277)
(es/minifier) Apply ToInt32 when folding bitwise NOT (#12058) (550e2f7)
(es/minifier) Avoid inexact number radix folding (#12057) (506a0ea)
(es/minifier) Preserve invalid Array lengths (#12056) (3ce9e16)
(es/minifier) Preserve non-canonical arguments access (#12052) (850230b)
(es/minifier) Apply ToUint16 in fromCharCode (#12055) (9ae7b92)
(es/minifier) Index strings by UTF-16 code unit (#12054) (bc263d2)
(es/minifier) Use numeric literals for non-finite values (#12048) (b830786)
(es/minifier) Preserve top-level declarations referenced only by direct eval (#12029) (ad0e3b4)
(es/optimization) Preserve JSON numeric values (#12051) (667af8c)
(es/transforms) Use numeric literals for non-finite enum values (#12049) (1e3ed5c)
(es/typescript) Evaluate cooked enum templates (#12059) (49d0b0f)
(html/minifier) Preserve JSON script boundaries (#12080) (e1877b4)
(testing) Check ignored fixtures relative to crate root (#12073) (da858b4)
(ts/fast-strip) Preserve ASI before interpolated templates (#12040) (54467fe)
(ts/fast-strip) Preserve UTF-16 source positions (#12067) (ac4bfc9)
(es/minifier) Expand support for trivial spreads (#12068) (aa49e36)
(es/react-compiler) Expose reactCompiler.environment.enableFunctionOutlining (#12030) (52b78aa)
Nothing published for this version
(deps) Update crossbeam-epoch to 0.9.20
(es/fixer) Normalize for-head ident patterns (#11968) (af681bc)
(es/fixer) Preserve parens around PURE-annotated receivers (#12022) (73d8941)
(es/hygiene) Ignore eval in default hygiene pass (#12003) (dd43ad6)
(es/minifier) Eliminate unused classes with cyclic references (#11963) (63a94b9)
(es/minifier) Preserve switch fallthrough termination (#11971) (a5d19ae)
(es/minifier) Disable IIFE invoke when there's eval (#11984) (eabe4be)
(es/minifier) Make Infect Collect collect every used ident (#11998) (fb9ebee)
(es/minifier) Measure number length precisely (#12026) (54d139a)
(es/module) Rewrite .tsx imports to .js unless JSX is preserved (#11995) (c341d9c)
(es/modules) Resolve relative symlinked inputs from cwd (#11883) (01e857d)
(es/react) Emit jsxdev source for fragments (#11993) (a70ce24)
(es/react-compiler) Correct catch and parameter scope resolution (#11985) (3867e57)
(react-compiler) Remove React-like prefilter (#12007) (ab66869)
(ts/fast-strip) Handle generic arrow line breaks (#12034) (3d82701)
(bindings) Add lint / lintSync API to @swc/react-compiler (#11965) (ab4ce67)
(es/minifier) Remove unused param for new Function or Class Expr (#12017) (be56e09)
(es/minifier) Remove unused param for new expr (#12027) (661067c)
(es/helpers) Generate inline helpers from canonical ESM sources (#12006) (f36e4b6)
(es/module) Align module transform records with spec terms (#11992) (f680df5)
(es/module) Introduce source module lowering pipeline (#11999) (9609b7f)
Nothing published for this version
Nothing published for this version
(es/es2022) Correct scope for private property brand checks
(es/es2022) Correct scope for private property brand checks (#11953) (fb5afa2)
(es/minifier) Preserve cooked when concatenating template literals (#11939) (a7244a6)
(es/minifier) Gate Number(x) -> +x on unsafe flag (#11944) (#11949) (6176019)
(es/parser) Parse Flow bare renders types (#11929) (a71c8eb)
(es/react-compiler) Skip TypeScript this pseudo-params in scope collector (#11940) (9066c43)
(es/react-compiler) Scope ClassStaticBlock and TsModuleBlock as var boundaries (#11943) (1ee74a0)
(react-compiler) Avoid reporting non-fatal success errors as diagnostics (#11951) (cb4cb23)
(react-compiler) React compiler AST conversion for wrapped assignment targets (#11952) (fc9b453)
(react-compiler) Disable parser default features (#11957) (75ddb28)
Nothing published for this version
(bindings/node) Preserve source context for AST transforms
(bindings/node) Preserve source context for AST transforms (#11920) (b6dfa74)
(es/codegen) Emit export as namespace correctly (#11923) (4e1f832)
(es/codegen) Emit export as namespace minified correctly (#11924) (7157499)
(es/compat) Rewrite this in destructuring defaults (#11909) (68af779)
(es/decorators) Delay 2022 decorator initializers after private fields (#11847) (3f1a4f5)
(es/decorators) Handle import types in decorator metadata (#11916) (f411429)
(es/fixer) Preserve new tagged template callee parens (#11922) (242a03a)
(es/minifier) Handle unknown member props (#11927) (e59ba68)
(es/parser) Handle Flow async generic arrows (#11926) (b9b8993)
(es/renamer) Avoid duplicate mangled names across eval scope boundaries (#11913) (4a1af84)
(swc_common) Fix sourcemap panic for multibyte mapping positions (#11918) (40c1601)
Nothing published for this version
(es/minifier) Preserve args for destructured callbacks
(es/minifier) Preserve args for destructured callbacks (#11830) (21873b0)
(es/minifier) Avoid generating mangled property names that collide with existing properties (#11839) (9b4fab5)
(es/minifier) Respect ecma for iife temp vars (#11873) (e481934)
(es/minifier) Preserve default parameter object props (#11884) (71ff84f)
(es/parser) Reject object-rest assignment to array/object literal (#11875) (7b57d1f)
(es/parser) Reject object rest assignment to literals (#11881) (4ec2eaf)
(es/react) Exclude self-recursive hooks from refresh dependency array (#11838) (9101c71)
(ts/fast-dts) Strip definite assertions in dts (#11858) (2ab1b8a)
(ts/fast-strip) Reject unsafe assertion erasure in binary expressions (#11828) (aa5b539)
(typescript) Strip parameter binding defaults in dts (#11857) (800bc17)
(es/minifier) Fine grained effect analysis of class (#11814) (c9058ad)
(swc_cli) Implement all features for swc_cli (#11797) (9300ede)
(ecma) Reduce transformer compat overhead (#11856) (d03cb71)
(es/codegen) Speed up JsWriter position and srcmap tracking (#11867) (dbceade)
(es/codegen) Remove JsWriter last_srcmap cache (#11869) (3bc1c2b)
(es/minifier) Reduce minifier profiling hotspots (#11853) (28c1091)
Provide aarch64 musl linker in publish job (#11889) (20234fd)
Fix publish musl linker and windows tests (#11890) (a798a23)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
(es/flow) Fix Flow type-only modules in script transforms
(es/flow) Fix Flow type-only modules in script transforms (#11817) (be38316)
(es/flow) Avoid restoring module context when flow syntax is enabled (#11819) (3ed7243)
(es/minifier) Preserve frozen spread registry keys (#11825) (347181c)
(es/parser) Align Flow generic arrow JSX disambiguation (#11821) (28a7fad)
Nothing published for this version
(deploy) Fix musl binding test workflow
(deploy) Build package ts before Linux GNU binding tests (#11806) (a3d3ef3)
(es/jsx) Preserve quoted JSX attribute newlines (#11796) (9fe56c8)
(es/minifier) Support full ES version parsing in minify (#11800) (af1f08f)
(es/module) Add opt-in symlink-preserving resolver (#11801) (6028240)
(es/parser) Allow return type annotation on Flow constructors (#11790) (d66b29c)
(es/parser) Support Flow anonymous keyof indexers (#11792) (452c4e5)
(es/parser) Add Flow strip RN and RNW regression corpus (#11799) (23a9109)
Nothing published for this version
Nothing published for this version
Nothing published for this version
(es/decorators) Preserve super in moved static members
(es/decorators) Preserve super in moved static members (#11781) (778328e)
(es/decorators) Scope moved static super rewrite (#11782) (f73cacc)
(es/parser) Parse mixed Flow anonymous callable params (#11786) (05e7b69)
(es/transforms) Rewrite class references in non-static members (#11772) (fff1426)
(es/typescript) Handle TypeScript expressions in enum transformation (#11769) (85aa4a8)
(swc_common) Add SourceMapper.map_raw_pos (#11777) (7d2e94c)
(swc_config) Add Hash/Eq for options and CachedRegex (#11775) (86a4c38)
Nothing published for this version
Nothing published for this version
(es/decorators) Scope 2023-11 implicit-global rewrite to decorator-lifted exprs
(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 </p> for span-parent paragraphs (#11756) (ede9950)
(swc_common) Make eat_byte unsafe to prevent UTF-8 boundary violation (#11731) (669a659)
(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)
(es/minifier) Inline usage analyzer and remove crate (#11750) (7d8d11b)
(react-compiler) Remove compiler impl and keep fast_check (#11753) (f21d336)
Nothing published for this version
Nothing published for this version
(cli) Honor externalHelpers=false in rust binary
(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/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)
(malloc) Fallback to system allocator on linux gnu s390x/powerpc (#11606) (e103fac)
Update lz4_flex to resolve RUSTSEC-2026-0041 (#11701) (7528507)
(agents) Add AGENTS two-pass rules for es crates (#11634) (12af4a1)
Move parser design guidance into AGENTS.md (#11600) (e6e91a3)
Clarify workaround comment requirement in AGENTS (#11700) (e2ad6f6)
(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 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)
(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)
(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)
(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) 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)
Nothing published for this version
(html/wasm) Publish @swc/html-wasm for nodejs
Nothing published for this version
Add submodule update step before test runs
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
(errors) Avoid panic on invalid diagnostic spans
(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) 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)
(es/minifier) Add unsafe_hoist_static_method_alias option (#11493) (6e7dbe2)
(es/minifier) Remove unused args for IIFE (#11536) (3cc286b)
(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)
(es/minifier) Add execution tests for issue #11517 (#11530) (01b3b64)
Disable cva ecosystem ci temporariliy (55bc966)
Nothing published for this version
Nothing published for this version
Replace deprecated cargo_bin function with cargo_bin! macro
(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/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)
(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)
(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) 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)
Nothing published for this version
(ci) Handle merged PRs separately in milestone manager
(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)
(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<H> (#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)
(deps) Update browserslist-data to v0.1.5 (#11454) (e9f78f0)
(helpers) Replace MagicString with ast-grep's built-in edit API (#11410) (a3f0d33)
(hstr/wtf8) Address legacy FIXME comments by switching to derives (#11416) (f03bfd8)
(es/codegen, es/utils) Migrate to dragonbox_ecma for faster Number::toString (#11412) (b7978cc)
(es/react) Optimize JSX transforms to reduce allocations (#11425) (2a20cb6)
(es) Improve TypeScript transform configuration structure (#11434) (f33a975)
(es/minifier) Migrate MinifierPass to Pass trait (#11442) (a41e631)
(es/transformer) Remove OptionalHook wrapper in favor of Option<H> (#11430) (72da6bd)
(es/transforms) Migrate TypeScript transform to Pass trait (#11439) (dd007c6)
claude[bot] PR review comments (affb6a2)Nothing published for this version
(es/minifier) Remove unused webpack-related code
(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)
(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)
Nothing published for this version
(es/minifier) Prevent unsafe sequence merging in super() calls
(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)
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →