Native bindings for Rollup
Last release 3 days ago
25 Aug 2026
Ships fairly regularly
a new release about every 2 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
216 releases · first in 2023
Release timeline
216 releases since 2023Releases
- 4.2.031 Oct 2023
Release notes
Open source →4.2.0
2023-10-31
Features
- Run parsing in multiple threads and introduce
parseAstAsynchelper function (#5202)
Pull Requests
- #5202: perf: introduce
parseAstAsyncand parallelize parsing AST (@sapphi-red)
Additional notes
Open source →2023-10-31
Features
- Run parsing in multiple threads and introduce
parseAstAsynchelper function (#5202)
Pull Requests
- #5202: perf: introduce
parseAstAsyncand parallelize parsing AST ( @sapphi-red)
- Run parsing in multiple threads and introduce
- 4.1.631 Oct 2023
Release notes
Open source →4.1.6
2023-10-31
Bug Fixes
- Fix a bug where emtpy block comments in certain positions could freeze Rollup (#5231)
Pull Requests
Additional notes
Open source →2023-10-31
Bug Fixes
- Fix a bug where emtpy block comments in certain positions could freeze Rollup (#5231)
Pull Requests
- 4.1.528 Oct 2023
Release notes
Open source →4.1.5
2023-10-28
Bug Fixes
- Fix an issue where actual entries that were also implicit entries could remain implicit (#5220)
Pull Requests
- #5209: Document Vite workaround for browser build (@curran)
- #5215: chore(deps): update dependency lint-staged to v15 (@renovate[bot])
- #5216: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5218: Update license plugin (@lukastaegert)
- #5219: Fix error highlight in REPL (@lukastaegert)
- #5220: Fix race condition when emitting implicitly dependent entries (@lukastaegert)
- #5224: chore(deps): update actions/setup-node action to v4 (@renovate[bot])
- #5225: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
Additional notes
Open source →2023-10-28
Bug Fixes
- Fix an issue where actual entries that were also implicit entries could remain implicit (#5220)
Pull Requests
- #5209: Document Vite workaround for browser build (@curran)
- #5215: chore(deps): update dependency lint-staged to v15 ( @renovate[bot])
- #5216: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5218: Update license plugin (@lukastaegert)
- #5219: Fix error highlight in REPL (@lukastaegert)
- #5220: Fix race condition when emitting implicitly dependent entries ( @lukastaegert)
- #5224: chore(deps): update actions/setup-node action to v4 ( @renovate[bot])
- #5225: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- 4.1.416 Oct 2023
Release notes
Open source →4.1.4
2023-10-16
Bug Fixes
- Reduce sizes @rollup/browser and @rollup/wasm-node WASM artifacts (#5204)
Pull Requests
- #5204: perf: shrink wasm size by avoid importing browserslist (@sapphi-red)
Additional notes
Open source →2023-10-16
Bug Fixes
- Reduce sizes @rollup/browser and @rollup/wasm-node WASM artifacts (#5204)
Pull Requests
- #5204: perf: shrink wasm size by avoid importing browserslist ( @sapphi-red)
- 4.1.315 Oct 2023
Release notes
Open source →4.1.3
2023-10-15
Bug Fixes
- Fix WASM build as hash function was not exported (#5203)
Pull Requests
- #5203: fix: export xxhashBase64Url from wasm (@sapphi-red)
Additional notes
Open source →2023-10-15
Bug Fixes
- Fix WASM build as hash function was not exported (#5203)
Pull Requests
- #5203: fix: export xxhashBase64Url from wasm (@sapphi-red)
- 4.1.115 Oct 2023
Release notes
Open source →4.1.1
2023-10-15
Bug Fixes
- Improve Node parsing performance (#5201)
Pull Requests
- #5201: perf: use mimalloc for bindings_napi (@sapphi-red)
Additional notes
Open source →2023-10-15
Bug Fixes
- Improve Node parsing performance (#5201)
Pull Requests
- #5201: perf: use mimalloc for bindings_napi (@sapphi-red)
- 4.1.014 Oct 2023
Release notes
Open source →4.1.0
2023-10-14
Features
- Reduce memory usage of Rollup builds (#5133)
Pull Requests
- #5133: perf: reducing ast node memory overhead (@thebanjomatic)
- #5177: chore: explicitly set rust toolchain channel (@cijiugechu)
- #5179: Update migration guide for Rollup 4 (@lukastaegert)
- #5180: Resolve clippy errors (@cijiugechu)
- #5183: Add clippy to pipeline and fix remaining issues (@lukastaegert)
- #5184: docs: fix code example for
onLog(@tjenkinson) - #5186: Improve wording for native artifacts in migration guide (@lukastaegert)
- #5190: test: add verifyAst type (@TrickyPi)
- #5196: chore(deps): update dependency rollup to v4 (@renovate[bot])
- #5197: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
Additional notes
Open source →2023-10-14
Features
- Reduce memory usage of Rollup builds (#5133)
Pull Requests
- #5133: perf: reducing ast node memory overhead (@thebanjomatic)
- #5177: chore: explicitly set rust toolchain channel (@cijiugechu)
- #5179: Update migration guide for Rollup 4 (@lukastaegert)
- #5180: Resolve clippy errors (@cijiugechu)
- #5183: Add clippy to pipeline and fix remaining issues (@lukastaegert)
- #5184: docs: fix code example for
onLog(@tjenkinson) - #5186: Improve wording for native artifacts in migration guide ( @lukastaegert)
- #5190: test: add verifyAst type (@TrickyPi)
- #5196: chore(deps): update dependency rollup to v4 (@renovate[bot])
- #5197: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- 4.0.26 Oct 2023
Release notes
Open source →4.0.2
2023-10-06
Bug Fixes
- Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#5178)
Pull Requests
- #5178: Handle special characters before double underscores (@lukastaegert)
Additional notes
Open source →2023-10-06
Bug Fixes
- Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore (#5178)
Pull Requests
- #5178: Handle special characters before double underscores ( @lukastaegert)
- 4.0.16 Oct 2023
Release notes
Open source →4.0.1
2023-10-06
Bug Fixes
- Do not panic on trailing semicolons after class methods (#5173)
- Add artifact for arm64 linux musl target (#5176)
Pull Requests
Additional notes
Open source →2023-10-06
Bug Fixes
- Do not panic on trailing semicolons after class methods (#5173)
- Add artifact for arm64 linux musl target (#5176)
Pull Requests
- 4.0.05 Oct 2023
Release notes
Open source →4.0.0
2023-10-05
BREAKING CHANGES
General Changes
- The minimal required Node version is now 18.0.0 (#5142)
- The browser build now relies on a WASM artifact that needs to be provided as well (#5073)
- The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the
@rollup/wasm-nodepackage that has the same interface as Rollup but relies on WASM artifacts (#5073) - The "with" syntax for import attributes is not yet supported, awaiting support in SWC (#5073)
- The
INVALID_IMPORT_ASSERTIONerror code has been replaced withINVALID_IMPORT_ATTRIBUTE(#5073) - Rollup will now warn for
@__PURE__and@__NO_SIDE_EFFECTS__annotations in invalid locations (#5165) - If an entry module starts with a shebang comment
#!..., this comment will be prepended to the output foresandcjsformats (#5163) - File hashes will now use url-safe base64 encoded hashes (#5155)
- The maximum hash length has been reduced to 22 characters (#5155)
- The
RollupWarningtype has been removed in favor of theRollupLogtype (#5147)
Changes to Rollup Options
- Acorn plugins are no longer supported, the
acornInjectPluginsoption has been removed (#5073) - The
acornoption has been removed (#5073) output.externalImportAssertionshas been deprecated in favor ofoutput.externalImportAttributes(#5073)inlineDynamicImports,manualChunksandpreserveModuleshave been removed on input option level: Please use the corresponding output options of the same names (#5143)- Removed output options (#5143):
output.experimentalDeepDynamicChunkOptimization: This option is no longer needed as Rollup now always runs the full chunking algorithmoutput.dynamicImportFunction: Use therenderDynamicImportplugin hook insteadoutput.namespaceToStringTag: Useoutput.generatedCode.symbolsinsteadoutput.preferConst: Useoutput.generatedCode.constBindingsinstead
Plugin API Changes
- For
this.resolve, the default of theskipSelfoption is nowtrue(#5142) this.parsenow only supports theallowReturnOutsideFunctionoption for now (#5073)- Import assertions now use the new import attribute AST structure (#5073)
- "assertions" have been replaced with "attributes" in various places of the plugin interface (#5073)
- If the import of a module id is handled by the
loadhook of a plugin,rollup.watchno longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for callingthis.addWatchFilefor any dependency files (#5150) - The normalized input options provided by
buildStartand other hooks no longer contain anonwarnhandler; plugins should useonLoginstead (#5147) this.moduleIdshas been removed from the plugin context: Usethis.getModuleIds()instead (#5143)- The
hasModuleSideEffectsflag has been removed from theModuleInforeturned bythi s.getModuleInfo(): UsemoduleSideEffectson theModuleInfoinstead (#5143)
Features
- Improve parsing speed by switching to a native SWC-based parser (#5073)
- Rollup will now warn for
@__PURE__and@__NO_SIDE_EFFECTS__annotations in invalid locations (#5165) - The parser is now exposed as a separate export
parseAst(#5169)
Bug Fixes
- Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via
this.addWatchFile()(#5150)
Pull Requests
- #5073: [v4.0] Switch parser to SWC and introduce native/WASM code (@lukastaegert)
- #5142: [v4.0] Set the default of skipSelf to true (@TrickyPi)
- #5143: [v4.0] Remove deprecated features (@lukastaegert)
- #5144: [v4.0] Imporve the performance of generating ast and rollup ast nodes (@TrickyPi)
- #5147: [v4.0] Remove onwarn from normalized input options (@lukastaegert)
- #5150: [v4.0] feat: Do not watch files anymore if their content is returned by the load hook (@TrickyPi)
- #5154: [v4.0] Add parse option to allow return outside function (@lukastaegert)
- #5155: [v4.0] feat: implement hashing content in Rust (@TrickyPi)
- #5157: [v4.0] Handle empty exports (@lukastaegert)
- #5160: chore(deps): lock file maintenance minor/patch updates (@renovate[bot])
- #5163: [v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (@TrickyPi)
- #5164: [v4.0] fix: also strip BOM from code strings in JS (@TrickyPi)
- #5165: [v4.0] warn for invalid annotations (@lukastaegert)
- #5168: [v4.0] Ensure we support new import attribute "with" syntax (@lukastaegert)
- #5169: [v4.0] Expose parser (@lukastaegert)
Additional notes
Open source →2023-10-05
BREAKING CHANGES
General Changes
- The minimal required Node version is now 18.0.0 (#5142)
- The browser build now relies on a WASM artifact that needs to be provided as well (#5073)
- The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the
@rollup/wasm-nodepackage that has the same interface as Rollup but relies on WASM artifacts (#5073) - The
INVALID_IMPORT_ASSERTIONerror code has been replaced withINVALID_IMPORT_ATTRIBUTE(#5073) - Rollup will now warn for
@__PURE__and@__NO_SIDE_EFFECTS__annotations in invalid locations (#5165) - If an entry module starts with a shebang comment
#!..., this comment will be prepended to the output foresandcjsformats (#5163) - File hashes will now use url-safe base64 encoded hashes (#5155)
- The maximum hash length has been reduced to 22 characters (#5155)
- The
RollupWarningtype has been removed in favor of theRollupLogtype (#5147)
Changes to Rollup Options
- Acorn plugins are no longer supported, the
acornInjectPluginsoption has been removed (#5073) - The
acornoption has been removed (#5073) output.externalImportAssertionshas been deprecated in favor ofoutput.externalImportAttributes(#5073)inlineDynamicImports,manualChunksandpreserveModuleshave been removed on input option level: Please use the corresponding output options of the same names (#5143)- Removed output options (#5143):
output.experimentalDeepDynamicChunkOptimization: This option is no longer needed as Rollup now always runs the full chunking algorithmoutput.dynamicImportFunction: Use therenderDynamicImportplugin hook insteadoutput.namespaceToStringTag: Useoutput.generatedCode.symbolsinsteadoutput.preferConst: Useoutput.generatedCode.constBindingsinstead
Plugin API Changes
- For
this.resolve, the default of theskipSelfoption is nowtrue(#5142) this.parsenow only supports theallowReturnOutsideFunctionoption for now (#5073)- Import assertions now use the new import attribute AST structure ( #5073)
- "assertions" have been replaced with "attributes" in various places of the plugin interface (#5073)
- If the import of a module id is handled by the
loadhook of a plugin,rollup.watchno longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for callingthis.addWatchFilefor any dependency files (#5150) - The normalized input options provided by
buildStartand other hooks no longer contain anonwarnhandler; plugins should useonLoginstead (#5147) this.moduleIdshas been removed from the plugin context: Usethis.getModuleIds()instead (#5143)- The
hasModuleSideEffectsflag has been removed from theModuleInforeturned bythis.getModuleInfo(): UsemoduleSideEffectson theModuleInfoinstead (#5143)
Features
- Improve parsing speed by switching to a native SWC-based parser (#5073)
- Rollup will now warn for
@__PURE__and@__NO_SIDE_EFFECTS__annotations in invalid locations (#5165) - The parser is now exposed as a separate export
parseAst(#5169)
Bug Fixes
- Rollup no longer tries to watch virtual files if their name corresponds to an actual file name; instead, plugins handle watching via
this.addWatchFile()(#5150)
Pull Requests
- #5073: [v4.0] Switch parser to SWC and introduce native/WASM code ( @lukastaegert)
- #5142: [v4.0] Set the default of skipSelf to true (@TrickyPi)
- #5143: [v4.0] Remove deprecated features (@lukastaegert)
- #5144: [v4.0] Imporve the performance of generating ast and rollup ast nodes (@TrickyPi)
- #5147: [v4.0] Remove onwarn from normalized input options ( @lukastaegert)
- #5150: [v4.0] feat: Do not watch files anymore if their content is returned by the load hook (@TrickyPi)
- #5154: [v4.0] Add parse option to allow return outside function ( @lukastaegert)
- #5155: [v4.0] feat: implement hashing content in Rust (@TrickyPi)
- #5157: [v4.0] Handle empty exports (@lukastaegert)
- #5160: chore(deps): lock file maintenance minor/patch updates ( @renovate[bot])
- #5163: [v4.0] feat: preserve shebang in entry module for CJS and ESM outputs (@TrickyPi)
- #5164: [v4.0] fix: also strip BOM from code strings in JS (@TrickyPi)
- #5165: [v4.0] warn for invalid annotations (@lukastaegert)
- #5168: [v4.0] Ensure we support new import attribute "with" syntax ( @lukastaegert)
- #5169: [v4.0] Expose parser (@lukastaegert)
For previous changelogs, see
- 4.0.0-255 Oct 2023pre-release
Nothing published for this version
- 4.0.0-243 Oct 2023pre-release
Nothing published for this version
- 4.0.0-2326 Sept 2023pre-release
Nothing published for this version
- 4.0.0-2226 Sept 2023pre-release
Nothing published for this version
- 4.0.0-2124 Sept 2023pre-release
Nothing published for this version
- 4.0.0-2024 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1915 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1815 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1715 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1615 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1515 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1415 Sept 2023pre-release
Nothing published for this version
- 4.0.0-1324 Aug 2023pre-release
Nothing published for this version
- 4.0.0-1223 Aug 2023pre-release
Nothing published for this version
- 4.0.0-1123 Aug 2023pre-release
Nothing published for this version
- 4.0.0-1021 Aug 2023pre-release
Nothing published for this version
- 4.0.0-920 Aug 2023pre-release
Nothing published for this version
- 4.0.0-820 Aug 2023pre-release
Nothing published for this version
- 4.0.0-720 Aug 2023pre-release
Nothing published for this version
- 4.0.0-620 Aug 2023pre-release
Nothing published for this version
- 4.0.0-520 Aug 2023pre-release
Nothing published for this version
- 4.0.0-44 Aug 2023pre-release
Nothing published for this version
- 4.0.0-34 Aug 2023pre-release
Nothing published for this version
- 4.0.0-21 Aug 2023pre-release
Nothing published for this version
- 4.0.0-11 Aug 2023pre-release
Nothing published for this version
- 4.0.0-031 Jul 2023pre-release
Nothing published for this version