github rolldown/rolldown v1.0.0-beta.55

13 hours ago

[1.0.0-beta.55] - 2025-12-17

✨ Post-Minification Banner & Footer

  • New postBanner and postFooter options allow adding content to chunks after minification, ensuring your comments won't be stripped by the minifier:
export default {
  output: {
    minify: true,
    postBanner: '/* My Library v1.0.0 */', // Always preserved
  },
};

🚀 Features

  • add validation errors for incompatible inlineDynamicImports options (#7539) by @Copilot
  • rolldown_plugin_vite_reporter: truncate long importer lists in ineffective dynamic import warnings (#7528) by @Copilot
  • export memfs from rolldown/experimental for browser builds (#7490) by @Copilot
  • implement postBanner and postFooter (#7487) by @sevenc-nanashi
  • port getLogFilter helper from Rollup for advanced log filtering (#6890) by @taearls
  • dev: initialize rolldown_plugin_lazy_compilation (#7488) by @hyf0
  • enable experimental.transform_hires_sourcemap: 'boundary' by default (#7478) by @sapphi-red
  • apply merge CJS namespace optimizations more generally (#7475) by @sapphi-red

🐛 Bug Fixes

  • avoid panic on invalid values for output.exports, output.format, output.hash_characters (#7542) by @sapphi-red
  • handle __proto__ export for module namespace correctly (#7534) by @sapphi-red
  • handle __proto__ export correctly (#7533) by @sapphi-red
  • rolldown_plugin_vite_resolve: acquire resolver lock before package json resolution (#7524) by @sapphi-red
  • disable syntax transform optimization for minify: 'dce-only' (#7520) by @sapphi-red
  • arrow function expression keep names (#7519) by @IWANABETHATGUY
  • skip symbols that are imported from other module when deconflicting module symbols (#7510) by @IWANABETHATGUY
  • preserve class names in assignment expressions with keepNames option (#7491) by @IWANABETHATGUY
  • accessor with decorators should be kept (#7499) by @Copilot
  • rolldown_plugin_vite_reporter: support Infinity for chunk_limit (#7497) by @shulaoda
  • change filename template validation errors from UNHANDLEABLE_ERROR to INVALID_OPTION (#7472) by @Copilot
  • no entry found for key error when merging CJS namespace exports (#7474) by @sapphi-red
  • generate output with syntax error when wrapped esm module using tla syntax (#7468) by @IWANABETHATGUY

🚜 Refactor

📚 Documentation

🧪 Testing

  • add tests for static string postBanner and postFooter (#7516) by @Copilot
  • disable pluginTimings in Rust integration tests to avoid snapshot noise (#7485) by @shulaoda
  • port Rollup JSX tests to crates/rolldown/tests/rollup (#7480) by @sapphi-red
  • re-triage some esbuild JSX preserve tests (#7479) by @sapphi-red
  • disable pluginTimings by default to avoid snapshot noise (#7471) by @shulaoda

⚙️ Miscellaneous Tasks

❤️ New Contributors

Co-authored-by: shulaoda 165626830+shulaoda@users.noreply.github.com

Don't miss a new rolldown release

NewReleases is sending notifications on new releases.