Skip to content

Releases: rolldown/rolldown

v1.0.0-beta.8

29 Apr 07:34
c0fff9c
Compare
Choose a tag to compare

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v1.0.0-beta.7...v1.0.0-beta.8

v1.0.0-beta.7

29 Apr 07:33
d32b487
Compare
Choose a tag to compare

v1.0.0-beta.6

17 Mar 09:06
a7c2c57
Compare
Choose a tag to compare

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v1.0.0-beta.4...v1.0.0-beta.6

v1.0.0-beta.4

11 Mar 05:37
cee78c2
Compare
Choose a tag to compare

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v1.0.0-beta.1...v1.0.0-beta.4

v1.0.0-beta.1

26 Dec 04:08
713b181
Compare
Choose a tag to compare

New updated docs now is available at https://rolldown.rs/guide.

What's Changed

Full Changelog: v0.15.1...v1.0.0-beta.1

v0.15.0

02 Dec 19:03
5e456b6
Compare
Choose a tag to compare

Important Changes

New Features

  • Support for OutputOptions.file has been added.
  • Treeshaking is now available for dynamic import(...).
  • Legal comments can be preserved using OutputOptions#comments: 'preserve-legal'.
  • A new build API has been introduced for more user-friendly programmatic usage.
// Instead of
(await (await rolldown(options)).write(options.output))

// Use `build`
await build(options)

UX Improvements

  • The platform is automatically set to node when the output format is cjs, if not specified.
  • Automatic polyfill for require is provided when bundling code that mixes ESM and CJS to format: 'esm' with platform: 'node'.
  • Automatic polyfill for import.meta.url is provided when bundling ESM code to format: 'cjs' with platform: 'node'.

Correctness

  • To improve interoperability between ESM and CJS, Rolldown passes all tests listed in bundler-esm-cjs-tests.
esbuild:  ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅
rolldown: ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅
node:     ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 ✅✅ 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅
webpack:  🚫🚫 🚫🚫 ✅🚫 🚫🚫 🚫🚫 ✅🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 🚫🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅
parcel:   ✅✅ ✅✅ 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 🚫🚫 🚫🚫 ✅✅ 🚫🚫 🚫🚫 🚫🚫 🚫🚫 ✅✅ 🚫🚫 🚫🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅
rollup:   🚫🚫 🚫🚫 ✅✅ 🚫✅ ✅✅ ✅✅ 🚫🚫 🚫🚫 🚫🚫 🚫🚫 ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ ✅✅ 🚫🚫 ✅✅ ✅✅ 🚫🚫 ✅✅ ✅✅ ✅✅ 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 🚫🚫 ✅✅

For more details, see ref.

  • Rolldown promises to run successfully on all LTS Node.js versions. Our full test suites are enabled on Node.js versions 18, 20, and 22.
  • Fresh self-bootstrapping for every commit: Rolldown now rebuilds itself with the code in each commit and runs all tests to ensure correctness.

More changes

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v0.14.0...v0.15.0

v0.14.0

05 Nov 18:12
dee08ac
Compare
Choose a tag to compare

Important features

  • Native watch() support
  • asset module type support
  • umd format

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v0.13.2...v0.14.0

v0.13.0

03 Sep 09:45
2d7f0e4
Compare
Choose a tag to compare

Important Changes

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v0.12.2...v0.13.0

v0.12.2

23 Jul 06:36
babbd89
Compare
Choose a tag to compare

What's Changed

  • refactor: improve logic of render_preliminary_assets and add more comments by @hyf0 in #1622
  • test(format/iife): add case of importing external modules by @hyf0 in #1624
  • refactor: use ArcStr everywhere by @hyf0 in #1626
  • feat: support output.name for iife by @underfin in #1627
  • chore(deps): update npm-rolldown by @renovate in #1615
  • feat(wip/css): use lightningcss as css compiler by @hyf0 in #1629
  • refactor(rust): stop deriving Clone on ModuleType by @hyf0 in #1631
  • feat(rust): Support accepting custom ModuleType by @hyf0 in #1632
  • refactor(rust): tweak the data flow of ModuleType by @hyf0 in #1633
  • chore(deps): update rust crate oxc_resolver to v1.10.1 by @renovate in #1635
  • chore: update .prettierignore by @hyf0 in #1636
  • chore(deps): update rust crate oxc_resolver to v1.10.2 by @renovate in #1638
  • chore: add more comments on ImportRecord by @hyf0 in #1640
  • chore: add remapping benchmark by @underfin in #1637
  • feat: throw friendly warning message for ambiguous export by @shulaoda in #1634
  • perf(sourcemap): lookup original token in parallel by @underfin in #1596
  • refactor: rename BuildError to BuildDiagnostic by @IWANABETHATGUY in #1641
  • fix(node): fix type errors by @hi-ogawa in #1642
  • feat: support banner hook by @komyg in #1419
  • refactor: separate render chunk logic for different format by @underfin in #1644
  • refactor(rust): improve naming related to ModuleDefFormat by @hyf0 in #1645
  • refactor(rust/resolver): handle bundle-related resolve errors in one place by @hyf0 in #1646
  • refactor(rust/resolver): rename ResolvedRequestInfo to ResolvedId by @hyf0 in #1647
  • refactor(rust/resolver): make EcmaModuleTask hold ResolveId directly by @hyf0 in #1648
  • refactor(rust/resolver): remove unnecessary ResolvedPath by @hyf0 in #1649
  • refactor: add abstraction for rendering chunk imports targeting different format by @underfin in #1651
  • refactor(rust): rename ResourceId to ModuleId by @hyf0 in #1650
  • refactor(rust): change pub mod format to mod format by @hyf0 in #1652
  • refactor(rust): introduce ModuleFactory trait by @hyf0 in #1653
  • chore: remove unreachable code by @IWANABETHATGUY in #1654
  • fix: support banner/footer sync function by @underfin in #1657
  • refactor: remove collapse_sourcemaps optional result by @underfin in #1658
  • fix: external warning in dce/disable-tree-shaking by @IWANABETHATGUY in #1659
  • chore: add render chunk remapping benchmark by @underfin in #1662
  • chore: bump oxc to v0.21.0 by @Dunqing in #1656
  • feat: better error report for ambiguous export by @shulaoda in #1661
  • refactor(remapping): instante token in parallel by @underfin in #1666
  • chore: add minify benchmark by @underfin in #1667
  • fix: correct the behavior in texture or empty extension-customized file. by @7086cmd in #1668
  • chore: add js side minify benchmark by @underfin in #1669
  • feat: convert parsing errors of oxc to rolldown's errors with friendly messages by @shulaoda in #1670
  • fix: the crate rolldown_ecmascript's test can't pass by @shulaoda in #1672
  • refactor(rust): add EcmaAstIdx to index EcmaAst by @hyf0 in #1673
  • refactor(rust): return Module instead of EcmaModule in EcmaModuleTask by @hyf0 in #1674
  • chore(deps): update npm-rolldown by @renovate in #1676
  • chore(deps): update rust crates by @renovate in #1677
  • docs(contrib): add Code Styling chapter and preferences on adding tests by @hyf0 in #1682
  • fix: reexport star of a external module should be considered have side effect. by @IWANABETHATGUY in #1675
  • chore: refactor sourcemap test by @underfin in #1685
  • chore: 🤖 update generated binding format by @IWANABETHATGUY in #1686
  • feat: support output.exports option. by @7086cmd in #1680
  • ci: add FreeBSD x64 build by @Brooooooklyn in #1687
  • fix: should include the dependencies if the module only has re-export… by @underfin in #1683
  • chore(rolldown): add FreeBSD npm package by @Brooooooklyn in #1688
  • release: v0.12.2 by @hyf0 in #1689

New Contributors

Full Changelog: v0.12.1...v0.12.2

v0.12.1

14 Jul 18:47
24078fb
Compare
Choose a tag to compare

Important features

  • Support minify output using OutputOptions#minify
  • Experimental output that strictly respect execution order #1568
  • Support emit IIFE output

What's Changed

Please refer to https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md.

New Contributors

Full Changelog: v0.11.1...v0.12.1