@swc/wasm
1.16.21 · 31 Oct 2026Apache-2.01.3M / weekRepositoryHomepagenpmAtom feed
468 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
1.16.21
31 Oct 2026(ci) Install rustfmt before tagging releases
(deps) Update cargo (major)
(deps) Update npm
Bug Fixes
(ci) Install rustfmt before tagging releases
(deps) Update cargo (major)
(deps) Update npm
(es/codegen) Escape inline script markers in regex literals
(es/helpers) Convert Map and Set values to arrays
(es/minifier) Mark variables assigned in a member object as accessed and mutated
(es/minifier) Avoid capturing outer references in lexical loops
(es/minifier) Preserve rest arg iterator
(es/minifier) Avoid duplicate preserved class bindings
(es/minifier) Track assignment aliases in member objects
(es/minifier) Treat spread arguments of pure calls as side effects
(es/minifier) Store IIFE arg inline into Finalizer
(node) Allow DELETE grants on native cache volume roots
(node) Restrict cache DELETE exemption to filesystem roots
1.16.20
22 Oct 2026(es/codegen) Disambiguate TSX generic arrows
(es/codegen) Preserve non-null token boundaries
(es/codegen) Parenthesize typed arrow parameters
Bug Fixes
(es/codegen) Disambiguate TSX generic arrows
(es/codegen) Preserve non-null token boundaries
(es/codegen) Parenthesize typed arrow parameters
(es/codegen) Preserve TypeScript token boundaries
(es/codegen) Emit space after div if rhs starts with a regex
(es/codegen) Preserve optional call type arguments
(es/compat) Scope private access modes to each member
(es/fixer) Preserve TypeScript expression grouping
(es/fixer) Preserve TypeScript operand grouping
(es/fixer) Avoid panicking on recovered parenthesized assignment targets
(es/fixer) Preserve optional chain boundaries
(es/fixer) Wrap function declarations in sloppy-mode loop bodies
(es/minifier) Bound literal expressions copied by the sequential inliner
(es/minifier) Preserve rest array identity when its reference runs more than once
(es/minifier) Keep
trimLeftandtrimRighton string literals(es/minifier) Keep directive prologue when merging if returns
(es/minifier) Preserve new async and generator
(es/minifier) Release utils API required by registry builds
(es/parser) Isolate enum await context
(es/parser) Allow await function names in async arrow parameters
(es/parser) Preserve invalid JSX numeric entities as literal text
(es/parser) Allow namespace await identifiers
(es/parser) Align TypeScript expression lookahead
(es/parser) Do not treat optional get/set fields as accessors
(es/parser) Recover non-entity expressions in TypeScript heritage clauses
(native) Allow unmapped overflow owners in Linux cache ancestors
(native-addon) Use ProgramData after unsafe Windows profile caches
(react-compiler) Preserve intrinsic JSX tags during binding renames
(ts/fast-strip) Preserve runtime boundaries during type erasure
Features
(es/minifier) Inline async function used only once
(es/minifier) Implement more rules for if-break
Performance
(es/parser) Streamline numeric separator stripping
(hstr) Allow Atom::as_str to inline across crates
1.16.18
11 Oct 2026(bindings) Fall back to a safe cache root on Unix
(es/minifier) Check decl for side effect
1.16.17
11 Oct 2026(bindings) Fall back to a secure Windows profile cache
(bindings) Allow opting out of Unix cache root security checks
(ci) Run main CodSpeed benchmarks after policy skips
Bug Fixes
(bindings) Fall back to a secure Windows profile cache
(bindings) Allow opting out of Unix cache root security checks
(ci) Run main CodSpeed benchmarks after policy skips
(ci) Match Rust's z10 baseline in s390x release builds
(ci) Raise native addon MSRV to Rust 1.85
(ci) Repair empty crate release changeset
(cli) Resolve out-dir source map paths relative to output
(deps) Update cargo
(es/compat) Preserve consecutive loop labels
(es/estree) Fix AST roundtrip bugs and implement missing conversions
BREAKING: fix AST roundtrip bugs and implement missing conversions
(es/fixer) Preserve parentheses in JSX sequence expressions
(es/preset-env) Lower for-await in native async functions
(react-compiler) Protect long call chains from stack overflow
Direct unapproved contributors to open issues
Features
(ci) Restrict pull requests to trusted contributors
(es/codegen) Support configurable output indentation
BREAKING: support configurable output indentation
Performance
(es/compat) Skip empty block-scoping renames
(es/parser) Scan template literals with byte search
1.16.13
30 Sep 2026(swc_config) Show why an options object failed to deserialize
(node) Optimize macOS native addon first load
Bug Fixes
(swc_config) Show why an options object failed to deserialize
Performance
(node) Optimize macOS native addon first load
1.16.12
29 Sep 2026(binding/node) Return an error when a file cannot be read instead of panicking
(bindings) Detect macOS ACLs with supported APIs
(es) Decode template raw values when cooked is missing
Bug Fixes
(binding/node) Return an error when a file cannot be read instead of panicking
(bindings) Detect macOS ACLs with supported APIs
(es) Decode template raw values when cooked is missing
(es/codegen) Minify unicode escapes in template literals
(es/codegen) Separate generic type assertion openers
(es/compat) Preserve array rest when lowering nested object rest
(es/lexer) Stop iteration when input is exhausted
(es/minifier) Check eval and arguments usage in var define scope
(es/minifier) Drop unused object pattern defaults
(es/minifier) Preserve Array spread arity
(es/minifier) Preserve holes in array joins
(es/minifier) Preserve catch return before finally
(es/minifier) Skip prototype setters in Object.keys
(es/minifier) Guard static helper evaluation
(es/minifier) Preserve string import names
(es/minifier) Preserve unsigned shift coercion
(es/minifier) Fold missing codePointAt to undefined
(es/minifier) Fold local deletes to false
(es/minifier) Preserve Function.length arity
(es/minifier) Preserve rest RegExp identity
(es/minifier) Preserve lexical method defaults
(es/minifier) Preserve arguments after IIFE spreads
(es/minifier) Preserve string method arguments
(es/minifier) Preserve optional-chain continuation throws
(es/minifier) Preserve constant switch test effects
(es/minifier) Preserve shadowed undefined yield values
(es/minifier) Retain unsafe Symbol call arguments
(es/minifier) Guard similar if merges
(es/minifier) Preserve conditional assignment target order
(es/minifier) Preserve Set and Map iteration
(es/minifier) Preserve sequence IIFE argument evaluation
(es/minifier) Respect global defs root bindings
(es/minifier) Format toExponential compatibly
(es/minifier) Preserve tiny toPrecision calls
(es/minifier) Preserve async IIFE return values
(es/minifier) Retain rest params in dynamic scopes
(es/minifier) Safely hoist property callees
(es/minifier) Preserve catch assignments before finally
(es/minifier) Preserve delete operand effects
(es/minifier) Preserve unary comparison evaluation order
(es/minifier) Preserve branches when collapsing assignments
(es/minifier) Preserve empty array assignments
(es/minifier) Preserve empty IIFE parameter effects
(es/minifier) Preserve empty join coercion
(es/minifier) Preserve empty object destructuring errors
(es/minifier) Deduplicate folded Object.keys
(es/minifier) Preserve finalizer breaks in switches
(es/minifier) Preserve strict equality for repeated calls
(es/minifier) Preserve class scope in if-return negation
(es/minifier) Preserve function expression names
(es/minifier) Preserve finalizer completions
(es/minifier) Evaluate String.raw templates with raw quasis
(es/minifier) Preserve returns in finalizers
(es/minifier) Scan all adjacent hoist declaration pairs
(es/minifier) Preserve reassigned arguments access
(es/minifier) Preserve switch fallthrough cases
(es/minifier) Preserve lone surrogate template values
(es/minifier) Preserve spread iteration in unused builtins
(es/minifier) Preserve computed update targets
(es/minifier) Check class side effect
(es/minifier) Preserve let initialization when dropping unused variables
(es/minifier) Do not merge sequences across array spreads
(es/minifier) Preserve destructuring patterns with PURE-annotated initializers
(es/minifier) Mark properties assigned through destructuring targets as mutated
(es/minifier) Keep function and class declarations whose self-reference is dropped
(es/minifier) Avoid inline arrow with this when used as arg
(es/parser) Reject unicode escapes in RegExp flags
(es/parser) Allow line breaks before enum names
(es/parser) Allow ambient rest trailing commas
(es/parser) Respect line breaks after
declare(es/parser) Parse optional generator methods
(es/parser) Allow line breaks before import attributes
(es/parser) Allow await identifiers in explicit Script parsing
(es/parser) Respect line breaks before definite assignment assertions
(es/parser) Restore strict context after classes
(es/parser) Reset static block context for nested declarations
(es/parser) Allow eval and arguments in ambient function declarations
(es/parser) Parse static constructor methods in JavaScript
(es/parser) Allow of bindings in await using loops
(es/parser) Accept valid declare readonly field initializers
(es/parser) Preserve elisions in arrow binding patterns
(es/parser) Isolate constructor function contexts
(es/parser) Correctly round non-decimal numeric literals
(es/parser) Allow string import and export names after type
(es/parser) Preserve type references named asserts before line breaks
(es/parser) Recognize named optional and rest tuple elements
(es/parser) Support leading pipes in Flow match patterns
(es/parser) Allow escaped keywords as property names
(es/parser) Parse optional renamed Flow component parameters
(es/typescript) Fold optional-chained enum member reads
(hstr) Avoid panic in Wtf8::starts_with
(html/minifier) Preserve adjacent script elements
(html/parser) Preserve customizable select markup
(node) Repair native release verification and cache handling
(nodejs) Complete Amaro REPL support APIs
Use Rust changeset package names
Correct quoted package name in changeset
Features
(bindings) Add private compressed native addon foundation
(bindings) Gate native npm releases on verified carriers
(es/minifier) Honor
/*#__PURE__*/on property reads and destructuring patterns(es/minifier) Account for shorthand expansion when inlining
(es/module) Support moduleRoot for AMD module IDs
Performance
(es/preset-env) Reduce binary size with browserslist deflate
(es/transforms) Skip script traversal in export-default-from
(swc_core) Deduplicate ICU dependencies
Mod
(es/minifier) Check Map/Set param is array
Revert
(es/minifier) Revert #12384
1.16.2
4 Sep 2026- removed
(es/decorators) Drop params from getter replacing decorated private method
(es/compat) Preserve for-of var binding scope
(es/flow) Preserve Flow component type semantics
Bug Fixes
(es/compat) Preserve for-of var binding scope
- removed
(es/decorators) Drop params from getter replacing decorated private method
(es/flow) Preserve Flow component type semantics
(es/minifier) Mark for update and test as executed multiple time
(es/minifier) Report for loop var decl as assign
(es/minifier) Don't replace value-used console.*.bind() calls with undefined
(es/minifier) Drop spans of cached
globalsvalues(es/minifier) Preserve effects of returned value calls
(es/minifier) Avoid JSX sequence inlining loop
(es/minifier) Preserve bindings in copied inline arrows
(es/minifier) Preserve do-while control-flow targets
(es/minifier) Preserve pure annotation ownership
(es/parser) Retry ambiguous Program parsing
(es/parser) Preserve await grammar boundaries
(es/quote) Restore await parsing
(es/typescript) Treat const variable references as enum constants
(swc) Key optimizer env cache by configured values
(visit) Panic on invalid AST paths
Features
(es/minifier) Evaluate Math.floor, Math.ceil, Math.round and Mat…
(es/parser) Add opt-in parser-only TSRX lowering
1.16.1
19 Aug 2026(es/minifier) Preserve for init
(es/modules) Preserve destructuring assignment targets in SystemJS
(es/react) Handle apos JSX entities
1.16.0
14 Aug 2026(encoding) Fix incorrect fields count
(es/ast) Prevent mutable reference escape
(es/ast) Fix panic on JSX surrogate entities
Bug Fixes
(encoding) Fix incorrect fields count
BREAKING: Fix incorrect fields count
(es/ast) Prevent mutable reference escape
(es/ast) Fix panic on JSX surrogate entities
BREAKING: fix panic on JSX surrogate entities
(es/es2015) Preserve this in static field parameters
(es/minifier) Remove unused variable initializer cycles
(es/minifier) Bound arguments parameter injection
(es/preset-env) Lower unsupported async generators
(hstr) Avoid references to uninitialized bytes
(plugin) Make raw byte reconstruction unsafe
(plugin/runner) Write Wasmer cache atomically
(react-compiler) Make fast check conservative
(react-compiler) Preserve TypeScript function overload signatures
1.15.47
29 Jul 2026(es) Preserve numeric property key identity
(es/ast) Support hashing non-finite numbers
(es/codegen) Emit non-finite numeric literals
Bug Fixes
(es) Preserve numeric property key identity
(es/ast) Support hashing non-finite numbers
(es/codegen) Emit non-finite numeric literals
(es/decorators) Avoid class state leakage for nested undecorated classes
(es/minifier) Apply ToInt32 when folding bitwise NOT
(es/minifier) Avoid inexact number radix folding
(es/minifier) Preserve invalid Array lengths
(es/minifier) Preserve non-canonical arguments access
(es/minifier) Apply ToUint16 in fromCharCode
(es/minifier) Index strings by UTF-16 code unit
(es/minifier) Use numeric literals for non-finite values
(es/minifier) Preserve top-level declarations referenced only by direct eval
(es/optimization) Preserve JSON numeric values
(es/transforms) Use numeric literals for non-finite enum values
(es/typescript) Evaluate cooked enum templates
(html/minifier) Preserve JSON script boundaries
(testing) Check ignored fixtures relative to crate root
(ts/fast-strip) Preserve ASI before interpolated templates
(ts/fast-strip) Preserve UTF-16 source positions
Features
(es/minifier) Expand support for trivial spreads
(es/react-compiler) Expose
reactCompiler.environment.enableFunctionOutlining
Performance
(es/renamer) Skip identity rename mappings on apply
1.15.46
19 Jul 2026(deps) Update crossbeam-epoch to 0.9.20
(es/fixer) Normalize for-head ident patterns
(es/fixer) Preserve parens around PURE-annotated receivers
Bug Fixes
(deps) Update crossbeam-epoch to 0.9.20
(es/fixer) Normalize for-head ident patterns
(es/fixer) Preserve parens around PURE-annotated receivers
(es/hygiene) Ignore eval in default hygiene pass
(es/minifier) Eliminate unused classes with cyclic references
(es/minifier) Preserve switch fallthrough termination
(es/minifier) Check last case
(es/minifier) Disable IIFE invoke when there's eval
(es/minifier) Invoke IIFE when has eval
(es/minifier) Make Infect Collect collect every used ident
(es/minifier) Measure number length precisely
(es/module) Rewrite
.tsximports to.jsunless JSX is preserved(es/module) Rewrite SystemJS transform
(es/modules) Resolve relative symlinked inputs from cwd
(es/react) Emit jsxdev source for fragments
(es/react-compiler) Correct catch and parameter scope resolution
(react-compiler) Remove React-like prefilter
(ts/fast-strip) Handle generic arrow line breaks
Features
(bindings) Add
lint/lintSyncAPI to@swc/react-compiler(es/minifier) Remove unused param for new Function or Class Expr
(es/minifier) Remove unused param for new expr
(wasm) Add @swc/nodejs-support-wasm
1.15.43
22 Jun 2026(es/es2022) Correct scope for private property brand checks
(es/minifier) Preserve
cookedwhen concatenating template literals(es/minifier) Gate Number(x) -> +x on unsafe flag
Bug Fixes
(es/es2022) Correct scope for private property brand checks
(es/minifier) Preserve
cookedwhen concatenating template literals(es/minifier) Gate Number(x) -> +x on unsafe flag
(es/parser) Parse Flow bare renders types
(es/parser) Allow no-default builds
(es/react-compiler) Skip TypeScript
thispseudo-params in scope collector(es/react-compiler) Scope ClassStaticBlock and TsModuleBlock as var boundaries
(react-compiler) Avoid reporting non-fatal success errors as diagnostics
(react-compiler) React compiler AST conversion for wrapped assignment targets
(react-compiler) Disable parser default features
Features
(es/react-compiler) Add React Compiler
(swc) Gate react compiler re-export
1.15.41
9 Jun 2026(bindings/node) Preserve source context for AST transforms
(es/codegen) Emit
export as namespacecorrectly(es/codegen) Emit
export as namespaceminified correctly
Bug Fixes
(bindings/node) Preserve source context for AST transforms
(es/codegen) Emit
export as namespacecorrectly(es/codegen) Emit
export as namespaceminified correctly(es/compat) Rewrite this in destructuring defaults
(es/decorators) Delay 2022 decorator initializers after private fields
(es/decorators) Handle import types in decorator metadata
(es/fixer) Preserve new tagged template callee parens
(es/minifier) Handle unknown member props
(es/parser) Handle Flow async generic arrows
(es/renamer) Avoid duplicate mangled names across eval scope boundaries
(plugin) Avoid importing __free from env
(swc) Preserve plugin error context
(swc_common) Fix sourcemap panic for multibyte mapping positions
Performance
Lazily compute source file hashes
Optimize Atom equality
Revert
(es/decorators) Revert decorator initializer ordering
(swc_common) Revert sourcemap multibyte mapping clamp
1.15.40
23 May 2026- security
Save CI caches only on main
- security
Update rkyv and Rust dependencies
- security
Harden PR workflow permissions
Bug Fixes
(es/minifier) Preserve args for destructured callbacks
(es/minifier) Avoid generating mangled property names that collide with existing properties
(es/minifier) Respect ecma for iife temp vars
(es/minifier) Preserve default parameter object props
(es/parser) Reject object-rest assignment to array/object literal
(es/parser) Reject object rest assignment to literals
(es/react) Exclude self-recursive hooks from refresh dependency array
(ts/fast-dts) Strip definite assertions in dts
(ts/fast-strip) Reject unsafe assertion erasure in binary expressions
(typescript) Strip parameter binding defaults in dts
Features
(es/minifier) Fine grained effect analysis of class
(swc_cli) Implement all features for
swc_cli
Performance
(ecma) Reduce transformer compat overhead
(es/codegen) Speed up JsWriter position and srcmap tracking
(es/codegen) Remove JsWriter last_srcmap cache
(es/minifier) Reduce minifier profiling hotspots
Optimize es parser comment finalization
Security
- security
Save CI caches only on main
- security
Update rkyv and Rust dependencies
- security
Harden PR workflow permissions
1.15.33
2 May 2026(ci) Update rand lockfile entries
(es/minifier) Fold unary bool nullish coalescing
(es/minifier) Preserve for-init sequence order
Bug Fixes
(ci) Update rand lockfile entries
(es/minifier) Fold unary bool nullish coalescing
(es/minifier) Preserve for-init sequence order
(es/parser) Parse empty Flow exact object type
Features
Move swc ast explorer into workspace
1.15.32
27 Apr 2026(es/flow) Fix Flow type-only modules in script transforms
(es/flow) Avoid restoring module context when flow syntax is enabled
(es/minifier) Preserve frozen spread registry keys
Bug Fixes
(es/flow) Fix Flow type-only modules in script transforms
(es/flow) Avoid restoring module context when flow syntax is enabled
(es/minifier) Preserve frozen spread registry keys
(es/parser) Align Flow generic arrow JSX disambiguation
Features
(es) Add
jsc.preserveSymlinkstoswc::Options
1.15.30
19 Apr 2026(deploy) Fix musl binding test workflow
(deploy) Build package ts before Linux GNU binding tests
(es/jsx) Preserve quoted JSX attribute newlines
Bug Fixes
(deploy) Fix musl binding test workflow
(deploy) Build package ts before Linux GNU binding tests
(es/jsx) Preserve quoted JSX attribute newlines
(es/minifier) Support full ES version parsing in minify
(es/module) Add opt-in symlink-preserving resolver
(es/parser) Allow return type annotation on Flow constructors
(es/parser) Support Flow anonymous keyof indexers
(es/parser) Add Flow strip RN and RNW regression corpus
Features
(es/minify) Support extracting comments
1.15.26
14 Apr 2026(es/decorators) Preserve super in moved static members
(es/decorators) Scope moved static super rewrite
(es/parser) Parse mixed Flow anonymous callable params
Bug Fixes
(es/decorators) Preserve super in moved static members
(es/decorators) Scope moved static super rewrite
(es/parser) Parse mixed Flow anonymous callable params
(es/transforms) Rewrite class references in non-static members
(es/typescript) Handle TypeScript expressions in enum transformation
Features
(swc_common) Add SourceMapper.map_raw_pos
(swc_config) Add Hash/Eq for options and CachedRegex
Performance
(swc) Use larger input for es/full benchmarks
1.15.24
4 Apr 2026- removed
(es/minifier) Remove useless arguments for non inlined callee
(es/decorators) Scope 2023-11 implicit-global rewrite to decorator-lifted exprs
(es/minifier) Handle
toExponential(undefined)
Bug Fixes
(es/decorators) Scope 2023-11 implicit-global rewrite to decorator-lifted exprs
(es/minifier) Handle
toExponential(undefined)(es/minifier) Cap deep if_return conditional chains
(es/minifier) Inline prop shorthand in computed props
(es/parser) Parse key Flow forms from #11729 (phase 1)
(es/parser) Close remaining Flow parser gaps for #11729 (phase 2)
(es/regexp) Preserve source for wrapped named groups
(html/codegen) Keep for span-parent paragraphs
(swc_common) Make
eat_byteunsafe to prevent UTF-8 boundary violation
Features
- removed
(es/minifier) Remove useless arguments for non inlined callee
(react-compiler) Advance SWC parity for upstream fixtures
(react-compiler) Tighten core validation parity for upstream fixtures
(react-compiler) Improve SWC parity for early-return and hooks validation
(react-compiler) M1 memo validators + lint gating alignment
(react-compiler) Improve Stage A diagnostic parity and validation aggregation
(react-compiler) Continue swc parity for dependency handling
1.15.21
22 Mar 2026- removed
Remove --no-verify flag from cargo mono publish
(cli) Honor externalHelpers=false in rust binary
(cli) Skip mkdir when --out-file targets the current directory
Bug Fixes
(cli) Honor externalHelpers=false in rust binary
(cli) Skip mkdir when --out-file targets the current directory
(es/decorators) Resolve 2022-03 issues #9565/#9078/#9079 and add regressions
(es/fixer) Wrap new opt chain
(es/flow) Normalize module await bindings for Hermes parity
(es/minifier) Fix compatibility for Wasm plugin (
swc_ast_unknown)(es/module) Preserve explicit index.js import path when baseUrl is set
(es/module) Avoid rewriting unknown relative extensions
(es/regexp) Implement transform-named-capturing-groups-regex
(es/types) Add new options types
(malloc) Fallback to system allocator on linux gnu s390x/powerpc
Update lz4_flex to resolve RUSTSEC-2026-0041
Features
(bindings) Add linux ppc64le and s390x support across npm bindings
(bindings) Enable flow strip support in @swc/core
(cli) Enable Flow strip support in swc_cli_impl
(dbg-swc) Add flow strip verification command
(es) Add
swc_es_codegenforswc_es_ast(es) Add 2-pass transformer and minifier crates
(es) Add TypeScript + React transforms and tsc corpus tests
(es/helpers) Prevent recursive instanceof helper transforms
(es/parser) Add
with_capacityforCapturing(es/parser) Add flow syntax mode and strip integration
(es/parser) Finish flow strip support for core syntax gaps
(es/parser) Extend flow declare export strip compatibility
(es/parser) Support Flow declare export default interface strip path
(es/parser) Add Hermes Flow parity harness and fixes
(es/parser) Complete Hermes Flow stripping parity
(es/proposal) Add decorators 2023-11 support
(es/react-compiler) Scaffold SWC port of Babel entrypoint
(es/react-compiler) Phase1 crate API baseline and fixture harness
(es/react-compiler) Strict upstream parity finalization (crate-only, WIP)
(es/react-compiler) Advance strict upstream parity
(es/react-compiler) Advance upstream fixture parity pipeline
(es/semantics) Add scope analysis and statement-level cfg
(es_parser) Complete parity suite with zero ignores
(es_parser) Complete internal parser wiring without ecma runtime dep
(es_parser) Expand benchmark corpus
(react-compiler) Advance SWC upstream fixture parity
(react-compiler) Improve lint rename and gating parity
(swc_es_parser) Enforce full parity suite and extend grammar surface
(swc_es_parser) Complete lossless modeling for with/TS module/decorators
(swc_es_parser) Close parity gaps with full core/large fixture pass-fail parity
Complete core parity parser coverage
Performance
(es/modules) Avoid export sort key clones
(es/parser) Reduce JSX identifier rescan allocations
(es/parser) Optimize underscore stripping in numeric literal hot path
(es/transformer) Remove O(n^2) statement mutation hotspots
(es_parser) Byte-search lexer optimization pass
(es_parser) Reduce lookahead and allocation overhead
(ts/fast-strip) Avoid token capture in default transform path
Ci
- removed
Remove --no-verify flag from cargo mono publish
1.15.18
1 Mar 2026(html/wasm) Publish @swc/html-wasm for nodejs
(es/ast) Add runtime arena crate and bootstrap swc_es_ast
(es/parser) Add
swc_es_parser
Bug Fixes
(html/wasm) Publish @swc/html-wasm for nodejs
Features
(es/ast) Add runtime arena crate and bootstrap swc_es_ast
(es/parser) Add
swc_es_parser
1.15.17
26 Feb 2026(bindings) Add html wasm binding and publish wiring
(sourcemap) Support safe scopes round-trip metadata
Emit ECMA-426 source map scopes behind experimental flag
Features
(bindings) Add html wasm binding and publish wiring
(sourcemap) Support safe scopes round-trip metadata
Emit ECMA-426 source map scopes behind experimental flag
1.15.13
23 Feb 2026(errors) Avoid panic on invalid diagnostic spans
(es/helpers) Fix
_object_without_propertiescrash on primitive values(es/jsx) Preserve whitespace before HTML entities
Bug Fixes
(errors) Avoid panic on invalid diagnostic spans
(es/helpers) Fix
_object_without_propertiescrash on primitive values(es/jsx) Preserve whitespace before HTML entities
(es/minifier) Do not merge if statements with different local variable values
(es/minifier) Prevent convert_tpl_to_str when there's emoji under es5
(es/minifier) Inline before merge if
(es/minifier) Preserve array join("") nullish semantics
(es/minifier) Inline side-effect-free default params
(es/parser) Fix generic arrow function in TSX mode
(es/react) Preserve first-line leading whitespace with entities
(es/regexp) Transpile unicode property escapes in RegExp constructor
Features
(es/minifier) Add
unsafe_hoist_static_method_aliasoption(es/minifier) Remove unused args for IIFE
1.15.11
28 Jan 2026(es/codegen) Emit leading comments for JSX elements, fragments, and empty expressions
(es/decorators) Invoke addInitializer callbacks for decorated fields
(es/es3) Visit export decl body even if name is not reserved
Bug Fixes
(es/codegen) Emit leading comments for JSX elements, fragments, and empty expressions
(es/decorators) Invoke addInitializer callbacks for decorated fields
(es/es3) Visit export decl body even if name is not reserved
(es/es3) Remove duplicate code
(es/minifier) Treat new expression with empty class as side-effect free
(es/minifier) Escape control characters when converting strings to template literals
(es/minifier) Handle unused parameters with default values
(es/module) Preserve ./ prefix for hidden directory imports
(es/parser) Validate dynamic import argument count
(es/parser) Allow compilation with --no-default-features
(es/parser) Skip emitting TS1102 in TypeScript mode
(es/parser) Reject ambiguous generic arrow functions in TSX mode
(es/parser) Disallow NumericLiteralSeparator with BigInts
(es/react) Preserve HTML entity-encoded whitespace in JSX
(es/renamer) Prevent duplicate parameter names with destructuring patterns
(es/testing) Skip update when expected output has invalid code
(es/typescript) Don't mark enums with opaque members as pure
(preset-env) Distinguish unknown browser vs empty config
Features
(cli) Add --root-mode argument for .swcrc resolution
(es/module) Make module transforms optional via
modulefeature(es/regexp) Implement unicode property escape transpilation
(es/transformer) Merge ES3 hooks into swc_ecma_transformer
Performance
(bindings) Optimize string handling by avoiding unnecessary clones
(es/codegen) Make
commit_pending_semiexplicit inwrite_punct(es/es2015) Port ES2015 transforms to hook-based visitors
(es/es3) Use hooks pattern for single AST traversal
(es/minifier) Use combined AST traversal
(es/transformer) Add inline hint
1.15.10
19 Jan 2026- removed
(es/transformer) Remove OptionalHook wrapper in favor of Option<H>
(ci) Handle merged PRs separately in milestone manager
(es/compat) Preserve this context in nested arrow functions
Bug Fixes
(ci) Handle merged PRs separately in milestone manager
(es/compat) Preserve this context in nested arrow functions
(es/es2017) Replace
thisin arrow functions during async-to-generator
Features
(bindings/wasm) Enable ecma_lints feature to support semantic error detection
(es/hooks) Implement VisitMutHook for Either type
(es/hooks) Implement VisitMutHook for Option<H>
(es/hooks) Add VisitHook trait for immutable AST visitors
(es/minifier) Improve nested template literal evaluation
(es/minifier) Remove inlined IIFE arg and param
(es/minifier) Remove inlined IIFE arg and param
Performance
(es/codegen, es/utils) Migrate to dragonbox_ecma for faster Number::toString
(es/react) Optimize JSX transforms to reduce allocations
Refactor
- removed
(es/transformer) Remove OptionalHook wrapper in favor of Option<H>
1.15.8
30 Dec 2025(es/minifier) Remove unused webpack-related code
(es/minifier) Evaluate TemplateLiteral in BinaryExpression
(es/minifier) More strict check if cannot add ident when invoking IIFE
Bug Fixes
(es/minifier) Remove unused webpack-related code
(es/minifier) Evaluate TemplateLiteral in BinaryExpression
(es/minifier) More strict check if cannot add ident when invoking IIFE
Features
(es/minifier) Support BinaryExpression for Evaluator
(es/transformer) Merge
static_blocks
Performance
(es/parser) Remove
Iteratorimplementation forLexer(es/parser) Optimize
do_outside_of_contextanddo_inside_of_context(es/parser) Remove
is_firstin lexer state(es/parser) Use
byte_searchto optimizescan_jsx_tokenReduce binary size with panic=abort and ICU optimizations
1.15.7
18 Dec 2025(es/minifier) Prevent unsafe sequence merging in
super()calls(es/transformer) Fix variable declaration for nullish coalescing in else-if branches
(es/transforms) Update
_ts_rewrite_relative_import_extensionhelper code
Bug Fixes
(es/minifier) Prevent unsafe sequence merging in
super()calls(es/transformer) Fix variable declaration for nullish coalescing in else-if branches
(es/transforms) Update
_ts_rewrite_relative_import_extensionhelper code
Features
(es/transformer) Merge
private_properties_in_object
Performance
(es/minifier) Optimize data structures of
ProgramData
1.15.6
18 Dec 2025(es/transformer) Fix missing var declaration in nullish coalescing with spreads
(es/parser) Remove
raws inTokenValue
1.15.5
15 Dec 2025(es/parser) Fix
bumplength(es/transforms) Adjust import rewriter pass before inject helpers pass
1.15.4
13 Dec 2025(es/transformer) Fix pass order
(es/minifier) Optimize
typeof x == "undefined"totypeof x > "u"(es/transformer) Merge
logical_assignment_operators
Bug Fixes
(es/transformer) Fix pass order
Features
(es/minifier) Optimize
typeof x == "undefined"totypeof x > "u"(es/transformer) Merge
logical_assignment_operators
Performance
(es/compat) Use merged transformer
1.12.5 – 1.15.320 releases without a noteShow each
- 1.15.320 Nov 2025no note
- 1.15.214 Nov 2025no note
- 1.15.18 Nov 2025no note
- 1.15.04 Nov 2025no note
- 1.14.029 Oct 2025no note
- 1.13.2124 Oct 2025no note
- 1.13.2027 Sep 2025no note
- 1.13.1925 Sep 2025no note
- 1.13.524 Aug 2025no note
- 1.13.421 Aug 2025no note
- 1.13.329 Jul 2025no note
- 1.13.222 Jul 2025no note
- 1.13.119 Jul 2025no note
- 1.13.017 Jul 2025no note
- 1.12.1414 Jul 2025no note
- 1.12.118 Jul 2025no note
- 1.12.91 Jul 2025no note
- 1.12.726 Jun 2025no note
- 1.12.624 Jun 2025no note
- 1.12.521 Jun 2025no note