rollup/rollup (rollup)
### [`v4.18.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4180)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.2...v4.18.0)
*2024-05-22*
##### Features
- Resolve import.meta.filename and .dirname in transpiled plugins ([#5520](https://togithub.com/rollup/rollup/issues/5520))
##### Pull Requests
- [#5504](https://togithub.com/rollup/rollup/pull/5504): Auto generate node index ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5507](https://togithub.com/rollup/rollup/pull/5507): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5508](https://togithub.com/rollup/rollup/pull/5508): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
- [#5510](https://togithub.com/rollup/rollup/pull/5510): Split up converter.rs into AST nodes ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5512](https://togithub.com/rollup/rollup/pull/5512): chore(deps): update dependency builtin-modules to v4 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert))
- [#5514](https://togithub.com/rollup/rollup/pull/5514): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5518](https://togithub.com/rollup/rollup/pull/5518): chore(deps): update dependency eslint-plugin-unicorn to v53 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert))
- [#5519](https://togithub.com/rollup/rollup/pull/5519): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert))
- [#5520](https://togithub.com/rollup/rollup/pull/5520): Resolve import.meta.{filename,dirname} in files imported from config ([@BPScott](https://togithub.com/BPScott))
- [#5521](https://togithub.com/rollup/rollup/pull/5521): docs: correct base32 to base36 in documentation ([@highcastlee](https://togithub.com/highcastlee))
### [`v4.17.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4172)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.1...v4.17.2)
*2024-04-30*
##### Bug Fixes
- Fix tree-shaking problems when using spread arguments ([#5503](https://togithub.com/rollup/rollup/issues/5503))
##### Pull Requests
- [#5501](https://togithub.com/rollup/rollup/pull/5501): Slightly improve perf report ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5503](https://togithub.com/rollup/rollup/pull/5503): fix: rest element should deoptimize parameter values ([@liuly0322](https://togithub.com/liuly0322))
### [`v4.17.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4171)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.0...v4.17.1)
*2024-04-29*
##### Bug Fixes
- Prevent infinite recursions for certain constructor invocations ([#5500](https://togithub.com/rollup/rollup/issues/5500))
##### Pull Requests
- [#5500](https://togithub.com/rollup/rollup/pull/5500): fix: parameter variable infinite recursion error ([@liuly0322](https://togithub.com/liuly0322))
### [`v4.17.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4170)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.4...v4.17.0)
*2024-04-27*
##### Features
- Track function call arguments to optimize functions only called once or with the same literal values (re-release from 4.16.0) ([#5483](https://togithub.com/rollup/rollup/issues/5483))
##### Bug Fixes
- Reduce browser WASM size to a fraction by changing optimization settings ([#5494](https://togithub.com/rollup/rollup/issues/5494))
##### Pull Requests
- [#5483](https://togithub.com/rollup/rollup/pull/5483): feature(fix): function parameter tracking ([@liuly0322](https://togithub.com/liuly0322))
- [#5488](https://togithub.com/rollup/rollup/pull/5488): Report performance in CI ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5489](https://togithub.com/rollup/rollup/pull/5489): Create FUNDING.json ([@BenJam](https://togithub.com/BenJam))
- [#5492](https://togithub.com/rollup/rollup/pull/5492): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5493](https://togithub.com/rollup/rollup/pull/5493): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5494](https://togithub.com/rollup/rollup/pull/5494): Use opt-level=z for browser wasm ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.16.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4164)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.3...v4.16.4)
*2024-04-23*
##### Bug Fixes
- Revert function parameter tracking logic introduced in 4.16.0 to work on some remaining issues ([#5487](https://togithub.com/rollup/rollup/issues/5487))
##### Pull Requests
- [#5487](https://togithub.com/rollup/rollup/pull/5487): Revert function parameter tracking logic for now ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.16.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4163)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.2...v4.16.3)
*2024-04-23*
##### Bug Fixes
- Do not optimize IIFEs that have a name and are again referenced inside their definition ([#5486](https://togithub.com/rollup/rollup/issues/5486))
##### Pull Requests
- [#5486](https://togithub.com/rollup/rollup/pull/5486): fix: only optimize annoymous iife ([@liuly0322](https://togithub.com/liuly0322))
### [`v4.16.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4162)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.1...v4.16.2)
*2024-04-22*
##### Bug Fixes
- Resolve a situation condition where reassignments of function parameters were not tracked properly ([#5482](https://togithub.com/rollup/rollup/issues/5482))
- Make sure that for armv7 packages, only one package is downloaded for the user (musl or gnu) ([#5479](https://togithub.com/rollup/rollup/issues/5479))
##### Pull Requests
- [#5479](https://togithub.com/rollup/rollup/pull/5479): Add libc field to armv7 packages ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5482](https://togithub.com/rollup/rollup/pull/5482): fix: function parameter reassigned update ([@liuly0322](https://togithub.com/liuly0322))
### [`v4.16.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4161)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.0...v4.16.1)
*2024-04-21*
##### Bug Fixes
- Fix crash when rendering logical or conditional expressions ([#5481](https://togithub.com/rollup/rollup/issues/5481))
##### Pull Requests
- [#5481](https://togithub.com/rollup/rollup/pull/5481): fix: conditional/logical expression should request a new tree-shaking ([@liuly0322](https://togithub.com/liuly0322))
### [`v4.16.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4160)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.15.0...v4.16.0)
*2024-04-21*
##### Features
- Track function call arguments to optimize functions only called once or with the same literal values ([#5443](https://togithub.com/rollup/rollup/issues/5443))
##### Pull Requests
- [#5443](https://togithub.com/rollup/rollup/pull/5443): feat: improve tree-shaking by propagate const parameter ([@liuly0322](https://togithub.com/liuly0322), [@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.15.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4150)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.3...v4.15.0)
*2024-04-20*
##### Features
- Add output.importAttributesKey option to select whether to use "with" or "assert" for import attributes ([#5474](https://togithub.com/rollup/rollup/issues/5474))
##### Pull Requests
- [#5474](https://togithub.com/rollup/rollup/pull/5474): Add ImportAttributesKey to choose keyword ("with" | "assert") ([@doubleaa93](https://togithub.com/doubleaa93), [@lukastaegert](https://togithub.com/lukastaegert))
- [#5475](https://togithub.com/rollup/rollup/pull/5475): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5477](https://togithub.com/rollup/rollup/pull/5477): Try to run emulated smoke tests for Linux environments ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.14.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4143)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.2...v4.14.3)
*2024-04-15*
##### Bug Fixes
- Support Alpine Linux and other MUSL builds on ARM ([#5471](https://togithub.com/rollup/rollup/issues/5471))
##### Pull Requests
- [#5471](https://togithub.com/rollup/rollup/pull/5471): Add linux arm musl build ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.14.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4142)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.1...v4.14.2)
*2024-04-12*
##### Bug Fixes
- Do not create invalid code when reexporting both a namespace and the default export from that namespace ([#5466](https://togithub.com/rollup/rollup/issues/5466))
- Ensure ppc64 platform is properly detected ([#5460](https://togithub.com/rollup/rollup/issues/5460))
##### Pull Requests
- [#5456](https://togithub.com/rollup/rollup/pull/5456): Add high-level architecture documentation ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5460](https://togithub.com/rollup/rollup/pull/5460): Fix ppc64le target ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5463](https://togithub.com/rollup/rollup/pull/5463): chore: tweak the comment about files should not be edited ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5466](https://togithub.com/rollup/rollup/pull/5466): Ensure reexported namespaces do not prevent creation of default export helpers ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5468](https://togithub.com/rollup/rollup/pull/5468): chore(deps): update dependency eslint-plugin-unicorn to v52 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert))
- [#5469](https://togithub.com/rollup/rollup/pull/5469): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5470](https://togithub.com/rollup/rollup/pull/5470): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.14.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4141)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.0...v4.14.1)
*2024-04-07*
##### Bug Fixes
- Show better error when running on musl Linux where the musl build is not supported ([#5454](https://togithub.com/rollup/rollup/issues/5454))
##### Pull Requests
- [#5451](https://togithub.com/rollup/rollup/pull/5451): chore: generate string constants from config ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5452](https://togithub.com/rollup/rollup/pull/5452): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5453](https://togithub.com/rollup/rollup/pull/5453): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
- [#5454](https://togithub.com/rollup/rollup/pull/5454): Improve error message when running on unsupported MUSL Linux ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5455](https://togithub.com/rollup/rollup/pull/5455): Remove inlining logic in AST (de-)serializer ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.14.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4140)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.2...v4.14.0)
*2024-04-03*
##### Features
- Display error causes in Rollup CLI ([#5422](https://togithub.com/rollup/rollup/issues/5422))
- Add basic support for explicit resource management via "using" and "await using" ([#5423](https://togithub.com/rollup/rollup/issues/5423))
##### Pull Requests
- [#5422](https://togithub.com/rollup/rollup/pull/5422): feat: show all cause in Error ([@devohda](https://togithub.com/devohda), [@lukastaegert](https://togithub.com/lukastaegert))
- [#5444](https://togithub.com/rollup/rollup/pull/5444): feat: support explicit-resource-management ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5445](https://togithub.com/rollup/rollup/pull/5445): docs: add `@shikiji/vitepress-twoslash` ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5447](https://togithub.com/rollup/rollup/pull/5447): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5448](https://togithub.com/rollup/rollup/pull/5448): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.13.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4132)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.1...v4.13.2)
*2024-03-28*
##### Bug Fixes
- Ensure accessing module info is cached after the build phase for improved performance ([#5438](https://togithub.com/rollup/rollup/issues/5438))
- Support powerpc64le CPUs ([#5350](https://togithub.com/rollup/rollup/issues/5350))
##### Pull Requests
- [#5350](https://togithub.com/rollup/rollup/pull/5350): Add support for ppc64le ([@pavolloffay](https://togithub.com/pavolloffay), [@lukastaegert](https://togithub.com/lukastaegert))
- [#5438](https://togithub.com/rollup/rollup/pull/5438): Cache module info getters before output generation ([@bluwy](https://togithub.com/bluwy), [@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.13.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4131)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.0...v4.13.1)
*2024-03-27*
##### Bug Fixes
- Add new linux-s390x-gnu native binary package ([#5346](https://togithub.com/rollup/rollup/issues/5346))
##### Pull Requests
- [#5346](https://togithub.com/rollup/rollup/pull/5346): Add support for linux s390x gnu ([@edlerd](https://togithub.com/edlerd))
- [#5430](https://togithub.com/rollup/rollup/pull/5430): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v13 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert))
- [#5431](https://togithub.com/rollup/rollup/pull/5431): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5432](https://togithub.com/rollup/rollup/pull/5432): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5436](https://togithub.com/rollup/rollup/pull/5436): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5437](https://togithub.com/rollup/rollup/pull/5437): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
### [`v4.13.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4130)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.12.1...v4.13.0)
*2024-03-12*
##### Features
- Ensure that the location of parse errors and other logs is encoded in the error message as well ([#5424](https://togithub.com/rollup/rollup/issues/5424))
##### Pull Requests
- [#5417](https://togithub.com/rollup/rollup/pull/5417): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5418](https://togithub.com/rollup/rollup/pull/5418): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
- [#5419](https://togithub.com/rollup/rollup/pull/5419): chore: fix typo ([@OnlyWick](https://togithub.com/OnlyWick))
- [#5424](https://togithub.com/rollup/rollup/pull/5424): Add locations to logs, warnings and error messages ( [@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.12.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4121)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.12.0...v4.12.1)
*2024-03-06*
##### Bug Fixes
- Escape special characters in file references ([#5404](https://togithub.com/rollup/rollup/issues/5404))
##### Pull Requests
- [#5398](https://togithub.com/rollup/rollup/pull/5398): Rename `getRollupEror` to `getRollupError` ([@MrRefactoring](https://togithub.com/MrRefactoring))
- [#5399](https://togithub.com/rollup/rollup/pull/5399): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5404](https://togithub.com/rollup/rollup/pull/5404): fix: escape ids in `import.meta.ROLLUP_FILE_URL_referenceId` correctly ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5406](https://togithub.com/rollup/rollup/pull/5406): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot])
- [#5407](https://togithub.com/rollup/rollup/pull/5407): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot])
- [#5411](https://togithub.com/rollup/rollup/pull/5411): Chunk assignment - Fix comment line breaks and typo ([@yoavweiss](https://togithub.com/yoavweiss), [@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.12.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4120)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.11.0...v4.12.0)
*2024-02-16*
##### Features
- Improve raw bundling performance by 10-15% when not using the cache or plugins that return an AST ([#5391](https://togithub.com/rollup/rollup/issues/5391))
##### Pull Requests
- [#5391](https://togithub.com/rollup/rollup/pull/5391): Improve performance by directly constructing AST from buffer ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5393](https://togithub.com/rollup/rollup/pull/5393): chore(deps): update dependency eslint-plugin-unicorn to v51 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5394](https://togithub.com/rollup/rollup/pull/5394): chore(deps): update typescript-eslint monorepo to v7 (major) ([@renovate](https://togithub.com/renovate)\[bot])
- [#5395](https://togithub.com/rollup/rollup/pull/5395): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.11.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4110)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.10.0...v4.11.0)
*2024-02-15*
##### Features
- Add `output.reexportProtoFromExternal` option to disable special code for handling `__proto__` reexports ([#5380](https://togithub.com/rollup/rollup/issues/5380))
##### Bug Fixes
- Ensure namespace reexport code can be parsed by cjs-module-lexer ([#5380](https://togithub.com/rollup/rollup/issues/5380))
- Throw when trying to reassing `const` variables ([#5388](https://togithub.com/rollup/rollup/issues/5388))
##### Pull Requests
- [#5380](https://togithub.com/rollup/rollup/pull/5380): fix: separately export `__proto__` for compatibility with CJS Transpiler Re-exports ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5388](https://togithub.com/rollup/rollup/pull/5388): Add const reassign rule ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v4.10.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4100)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.6...v4.10.0)
*2024-02-10*
##### Features
- Support base-36 and base-16 hashes again via new `output.hashCharacters` option ([#5371](https://togithub.com/rollup/rollup/issues/5371))
##### Bug Fixes
- Do not crash process for panics in native code but throw them as JavaScript errors ([#5383](https://togithub.com/rollup/rollup/issues/5383))
##### Pull Requests
- [#5359](https://togithub.com/rollup/rollup/pull/5359): chore(deps): update actions/cache action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5360](https://togithub.com/rollup/rollup/pull/5360): chore(deps): update dependency pretty-ms to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5366](https://togithub.com/rollup/rollup/pull/5366): chore(deps): update dependency husky to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5367](https://togithub.com/rollup/rollup/pull/5367): chore(deps): update peter-evans/create-or-update-comment action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5368](https://togithub.com/rollup/rollup/pull/5368): chore(deps): update peter-evans/find-comment action to v3 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5369](https://togithub.com/rollup/rollup/pull/5369): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5370](https://togithub.com/rollup/rollup/pull/5370): Fix dependency range for Node types ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5371](https://togithub.com/rollup/rollup/pull/5371): Implement "output.hashCharacters" option to define character set for file hashes ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5372](https://togithub.com/rollup/rollup/pull/5372): Roll back vitepress as 1.0.0-rc.40 breaks the development build ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5382](https://togithub.com/rollup/rollup/pull/5382): Update documentation ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5383](https://togithub.com/rollup/rollup/pull/5383): Catch Rust panics and then throw them in JS ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5384](https://togithub.com/rollup/rollup/pull/5384): chore(deps): update codecov/codecov-action action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5385](https://togithub.com/rollup/rollup/pull/5385): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5386](https://togithub.com/rollup/rollup/pull/5386): Resolve all rollup imports to node_modules to avoid type conflict ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v4.9.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#496)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.5...v4.9.6)
*2024-01-21*
##### Bug Fixes
- Detect side effects when an element that was pushed into an array is modified via the array ([#5352](https://togithub.com/rollup/rollup/issues/5352))
##### Pull Requests
- [#5337](https://togithub.com/rollup/rollup/pull/5337): Generate AST transformers from config ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5340](https://togithub.com/rollup/rollup/pull/5340): Also type-check d.ts files ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5348](https://togithub.com/rollup/rollup/pull/5348): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5351](https://togithub.com/rollup/rollup/pull/5351): chore(deps): update dependency vite to v5.0.12 \[security] ([@renovate](https://togithub.com/renovate)\[bot])
- [#5352](https://togithub.com/rollup/rollup/pull/5352): Track mutations of elements pushed into arrays ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.9.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#495)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.4...v4.9.5)
*2024-01-12*
##### Bug Fixes
- Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable ([#5335](https://togithub.com/rollup/rollup/issues/5335))
##### Pull Requests
- [#5334](https://togithub.com/rollup/rollup/pull/5334): Fix typo in commondir.ts ([@akiomik](https://togithub.com/akiomik))
- [#5335](https://togithub.com/rollup/rollup/pull/5335): build: static link msvc runtime on Windows x64 platform ([@Brooooooklyn](https://togithub.com/Brooooooklyn))
- [#5338](https://togithub.com/rollup/rollup/pull/5338): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#494)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.3...v4.9.4)
*2024-01-06*
##### Bug Fixes
- Use quotes for keys in namespaces that are only numbers but are not valid integers ([#5328](https://togithub.com/rollup/rollup/issues/5328))
- Allow to have comments between pure annotations and the annoted node ([#5332](https://togithub.com/rollup/rollup/issues/5332))
##### Pull Requests
- [#5328](https://togithub.com/rollup/rollup/pull/5328): Correctly handling number key ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5332](https://togithub.com/rollup/rollup/pull/5332): Handle pure annotations that are separated by a comment ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.9.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#493)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.2...v4.9.3)
*2024-01-05*
##### Bug Fixes
- Support `__proto__` as export/import name ([#5313](https://togithub.com/rollup/rollup/issues/5313))
- Use ESTree AST type over custom type in user-facing types ([#5323](https://togithub.com/rollup/rollup/issues/5323))
##### Pull Requests
- [#5313](https://togithub.com/rollup/rollup/pull/5313): Correctly handling **proto** export as module object key ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5323](https://togithub.com/rollup/rollup/pull/5323): fix: Add estree.Program type to rollup.d.ts ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5326](https://togithub.com/rollup/rollup/pull/5326): docs: fix grammar ([@gigabites19](https://togithub.com/gigabites19))
- [#5329](https://togithub.com/rollup/rollup/pull/5329): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5330](https://togithub.com/rollup/rollup/pull/5330): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#492)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.1...v4.9.2)
*2023-12-30*
##### Bug Fixes
- Extend support for arbitrary namespace identifiers in SystemJS ([#5321](https://togithub.com/rollup/rollup/issues/5321))
- Do not wrongly flag functions without side effects as side effects if moduleSideEffects is false ([#5322](https://togithub.com/rollup/rollup/issues/5322))
##### Pull Requests
- [#5305](https://togithub.com/rollup/rollup/pull/5305): Add JSDoc types to internal scripts ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5309](https://togithub.com/rollup/rollup/pull/5309): chore(deps): update actions/download-artifact action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5311](https://togithub.com/rollup/rollup/pull/5311): chode: add node badge ([@btea](https://togithub.com/btea))
- [#5312](https://togithub.com/rollup/rollup/pull/5312): Remove rollup-plugin-thatworks from devDeps ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5318](https://togithub.com/rollup/rollup/pull/5318): chore(deps): update dependency eslint-plugin-unicorn to v50 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5319](https://togithub.com/rollup/rollup/pull/5319): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5321](https://togithub.com/rollup/rollup/pull/5321): Handle arbitrary namespace identifiers in some SystemJS scenarios ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5322](https://togithub.com/rollup/rollup/pull/5322): Do not handle declarations in modules without side effects as TDZ ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#491)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.0...v4.9.1)
*2023-12-17*
##### Bug Fixes
- Fix an issue where break statements could include the wrong label ([#5297](https://togithub.com/rollup/rollup/issues/5297))
##### Pull Requests
- [#5297](https://togithub.com/rollup/rollup/pull/5297): fix: use a new includedLabels in the body of the LabeledStatement ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5300](https://togithub.com/rollup/rollup/pull/5300): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#490)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.8.0...v4.9.0)
*2023-12-13*
##### Features
- Fully support arbitrary strings as import and export identifiers ([#5298](https://togithub.com/rollup/rollup/issues/5298))
##### Pull Requests
- [#5296](https://togithub.com/rollup/rollup/pull/5296): Do not assume setTimeout return type ([@kapouer](https://togithub.com/kapouer))
- [#5298](https://togithub.com/rollup/rollup/pull/5298): Fully support arbitrary module namespace identifiers for all formats ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#480)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.7.0...v4.8.0)
*2023-12-11*
##### Features
- Improve `experimentalMinChunkSize` to take already loaded modules from dynamic imports into account ([#5294](https://togithub.com/rollup/rollup/issues/5294))
##### Pull Requests
- [#5294](https://togithub.com/rollup/rollup/pull/5294): Find more merge targets for experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#470)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.1...v4.7.0)
*2023-12-08*
##### Features
- Add build for Linux riscv64 architecture ([#5288](https://togithub.com/rollup/rollup/issues/5288))
##### Bug Fixes
- Improve error message when native Windows build does not start ([#5284](https://togithub.com/rollup/rollup/issues/5284))
##### Pull Requests
- [#5278](https://togithub.com/rollup/rollup/pull/5278): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5281](https://togithub.com/rollup/rollup/pull/5281): Add logs and experimentalLogSideEffects to REPL ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5284](https://togithub.com/rollup/rollup/pull/5284): Add friendly error for missing MSVC redistributable ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5285](https://togithub.com/rollup/rollup/pull/5285): chore(deps): update dependency vite to v5.0.5 \[security] ([@renovate](https://togithub.com/renovate)\[bot])
- [#5288](https://togithub.com/rollup/rollup/pull/5288): Add support for linux riscv64 gnu ([@kxxt](https://togithub.com/kxxt))
- [#5290](https://togithub.com/rollup/rollup/pull/5290): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.6.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.0...v4.6.1)
*2023-11-30*
##### Bug Fixes
- Resolve a situation where declaring the same `var` several times was considered a conflict ([#5276](https://togithub.com/rollup/rollup/issues/5276))
##### Pull Requests
- [#5275](https://togithub.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5276](https://togithub.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.2...v4.6.0)
*2023-11-26*
##### Features
- Allow `this.addWatchFile` in all plugin hooks ([#5270](https://togithub.com/rollup/rollup/issues/5270))
##### Bug Fixes
- Show helpful error when native binaries are not installed due to an `npm` issue ([#5267](https://togithub.com/rollup/rollup/issues/5267))
- Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#5270](https://togithub.com/rollup/rollup/issues/5270))
##### Pull Requests
- [#5267](https://togithub.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5270](https://togithub.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5272](https://togithub.com/rollup/rollup/pull/5272): Debug deployed graphs ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.5.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.1...v4.5.2)
*2023-11-24*
##### Bug Fixes
- Handle files with UTF-8 BOM when using the commonjs plugin ([#5268](https://togithub.com/rollup/rollup/issues/5268))
##### Pull Requests
- [#5268](https://togithub.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5269](https://togithub.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.0...v4.5.1)
*2023-11-21*
##### Bug Fixes
- Do not error when a function expression uses the same name for a parameter and its id ([#5262](https://togithub.com/rollup/rollup/issues/5262))
##### Pull Requests
- [#5257](https://togithub.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5262](https://togithub.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.4.1...v4.5.0)
*2023-11-18*
##### Bug Fixes
- Show a proper error when using native Rollup on armv7 musl Linux ([#5255](https://togithub.com/rollup/rollup/issues/5255))
##### Pull Requests
- [#5251](https://togithub.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@lhapaipai](https://togithub.com/lhapaipai))
- [#5253](https://togithub.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5255](https://togithub.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.4.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.4.0...v4.4.1)
*2023-11-14*
##### Bug Fixes
- Do not flag duplicate function declarations in function scopes as syntax errors ([#5248](https://togithub.com/rollup/rollup/issues/5248))
##### Pull Requests
- [#5248](https://togithub.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.1...v4.4.0)
*2023-11-12*
##### Features
- Replace SWC linting with faster internal linting to error on duplicate declarations etc. ([#5207](https://togithub.com/rollup/rollup/issues/5207))
##### Bug Fixes
- Show proper error when an entry exports non-existing bindings ([#5207](https://togithub.com/rollup/rollup/issues/5207))
##### Pull Requests
- [#5207](https://togithub.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.3.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.0...v4.3.1)
*2023-11-11*
##### Bug Fixes
- Fix rename error when handling errors in watch mode ([#5240](https://togithub.com/rollup/rollup/issues/5240))
- Prevent warning when using `--forceExit` ([#5245](https://togithub.com/rollup/rollup/issues/5245))
##### Pull Requests
- [#5240](https://togithub.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5243](https://togithub.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5245](https://togithub.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.2.0...v4.3.0)
*2023-11-03*
##### Features
- Add `forceExit` CLI flag for situations where the CLI does not exit gracefully ([#5195](https://togithub.com/rollup/rollup/issues/5195))
##### Bug Fixes
- Properly catch errors when removing a temporary config file fails ([#5198](https://togithub.com/rollup/rollup/issues/5198))
##### Pull Requests
- [#5195](https://togithub.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@raphael-theriault-swi](https://togithub.com/raphael-theriault-swi))
- [#5198](https://togithub.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@jzempel](https://togithub.com/jzempel))
- [#5237](https://togithub.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5238](https://togithub.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5239](https://togithub.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.6...v4.2.0)
*2023-10-31*
##### Features
- Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#5202](https://togithub.com/rollup/rollup/issues/5202))
##### Pull Requests
- [#5202](https://togithub.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.5...v4.1.6)
*2023-10-31*
##### Bug Fixes
- Fix a bug where emtpy block comments in certain positions could freeze Rollup ([#5231](https://togithub.com/rollup/rollup/issues/5231))
##### Pull Requests
- [#5228](https://togithub.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@jerome-benoit](https://togithub.com/jerome-benoit))
- [#5231](https://togithub.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5232](https://togithub.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.1.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.4...v4.1.5)
*2023-10-28*
##### Bug Fixes
- Fix an issue where actual entries that were also implicit entries could remain implicit ([#5220](https://togithub.com/rollup/rollup/issues/5220))
##### Pull Requests
- [#5209](https://togithub.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@curran](https://togithub.com/curran))
- [#5215](https://togithub.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5216](https://togithub.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5218](https://togithub.com/rollup/rollup/pull/5218): Update license plugin ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5219](https://togithub.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5220](https://togithub.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5224](https://togithub.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5225](https://togithub.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.1.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.3...v4.1.4)
*2023-10-16*
##### Bug Fixes
- Reduce sizes [@rollup/browser](https://togithub.com/rollup/browser) and [@rollup/wasm-node](https://togithub.com/rollup/wasm-node) WASM artifacts ([#5204](https://togithub.com/rollup/rollup/issues/5204))
##### Pull Requests
- [#5204](https://togithub.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.1...v4.1.3)
*2023-10-15*
##### Bug Fixes
- Fix WASM build as hash function was not exported ([#5203](https://togithub.com/rollup/rollup/issues/5203))
##### Pull Requests
- [#5203](https://togithub.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.0...v4.1.1)
*2023-10-15*
##### Bug Fixes
- Improve Node parsing performance ([#5201](https://togithub.com/rollup/rollup/issues/5201))
##### Pull Requests
- [#5201](https://togithub.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@sapphi-red](https://togithub.com/sapphi-red))
### [`v4.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.2...v4.1.0)
*2023-10-14*
##### Features
- Reduce memory usage of Rollup builds ([#5133](https://togithub.com/rollup/rollup/issues/5133))
##### Pull Requests
- [#5133](https://togithub.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5177](https://togithub.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@cijiugechu](https://togithub.com/cijiugechu))
- [#5179](https://togithub.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5180](https://togithub.com/rollup/rollup/pull/5180): Resolve clippy errors ([@cijiugechu](https://togithub.com/cijiugechu))
- [#5183](https://togithub.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5184](https://togithub.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@tjenkinson](https://togithub.com/tjenkinson))
- [#5186](https://togithub.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5190](https://togithub.com/rollup/rollup/pull/5190): test: add verifyAst type ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5196](https://togithub.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5197](https://togithub.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v4.0.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.1...v4.0.2)
*2023-10-06*
##### Bug Fixes
- Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore ([#5178](https://togithub.com/rollup/rollup/issues/5178))
##### Pull Requests
- [#5178](https://togithub.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401)
[Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.0...v4.0.1)
*2023-10-06*
##### Bug Fixes
- Do not panic on trailing semicolons after class methods ([#5173](https://togithub.com/rollup/rollup/issues/5173))
- Add artifact for arm64 linux musl target ([#5176](https://togithub.com/rollup/rollup/issues/5176))
##### Pull Requests
- [#5172](https://togithub.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5173](https://togithub.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5176](https://togithub.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v4.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.4...v4.0.0)
*2023-10-05*
##### BREAKING CHANGES
##### General Changes
- The minimal required Node version is now 18.0.0 ([#5142](https://togithub.com/rollup/rollup/issues/5142))
- The browser build now relies on a WASM artifact that needs to be provided as well ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the `@rollup/wasm-node` package that has the same interface as Rollup but relies on WASM artifacts ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165))
- If an entry module starts with a shebang comment `#!...`, this comment will be prepended to the output for `es` and `cjs` formats ([#5163](https://togithub.com/rollup/rollup/issues/5163))
- File hashes will now use url-safe base64 encoded hashes ([#5155](https://togithub.com/rollup/rollup/issues/5155))
- The maximum hash length has been reduced to 22 characters ([#5155](https://togithub.com/rollup/rollup/issues/5155))
- The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#5147](https://togithub.com/rollup/rollup/issues/5147))
##### Changes to Rollup Options
- Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- The `acorn` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- `inlineDynamicImports`, `manualChunks` and `preserveModules` have been removed on input option level: Please use the corresponding output options of the same names ([#5143](https://togithub.com/rollup/rollup/issues/5143))
- Removed output options ([#5143](https://togithub.com/rollup/rollup/issues/5143)):
- `output.experimentalDeepDynamicChunkOptimization`: This option is no longer needed as Rollup now always runs the full chunking algorithm
- `output.dynamicImportFunction`: Use the `renderDynamicImport` plugin hook instead
- `output.namespaceToStringTag`: Use `output.generatedCode.symbols` instead
- `output.preferConst`: Use `output.generatedCode.constBindings` instead
##### Plugin API Changes
- For `this.resolve`, the default of the `skipSelf` option is now `true` ([#5142](https://togithub.com/rollup/rollup/issues/5142))
- `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Import assertions now use the [new import attribute AST structure](https://togithub.com/estree/estree/blob/master/experimental/import-attributes.md) ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- "assertions" have been replaced with "attributes" in various places of the plugin interface ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- If the import of a module id is handled by the `load` hook of a plugin, `rollup.watch` no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling `this.addWatchFile` for any dependency files ([#5150](https://togithub.com/rollup/rollup/issues/5150))
- The normalized input options provided by `buildStart` and other hooks no longer contain an `onwarn` handler; plugins should use `onLog` instead ([#5147](https://togithub.com/rollup/rollup/issues/5147))
- `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143))
- The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143))
##### Features
- Improve parsing speed by switching to a native SWC-based parser ([#5073](https://togithub.com/rollup/rollup/issues/5073))
- Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165))
- The parser is now exposed as a separate export `parseAst` ([#5169](https://togithub.com/rollup/rollup/issues/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](https://togithub.com/rollup/rollup/issues/5150))
##### Pull Requests
- [#5073](https://togithub.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5142](https://togithub.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5143](https://togithub.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5144](https://togithub.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5147](https://togithub.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5150](https://togithub.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5154](https://togithub.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5155](https://togithub.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5157](https://togithub.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5160](https://togithub.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5163](https://togithub.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5164](https://togithub.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5165](https://togithub.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5168](https://togithub.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5169](https://togithub.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.3...v3.29.4)
*2023-09-28*
##### Bug Fixes
- Fix static analysis when an exported function uses callbacks ([#5158](https://togithub.com/rollup/rollup/issues/5158))
##### Pull Requests
- [#5158](https://togithub.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.2...v3.29.3)
*2023-09-24*
##### Bug Fixes
- Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://togithub.com/rollup/rollup/issues/5153))
##### Pull
Configuration
📅 Schedule: Branch creation - "before 10am on thursday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
2.79.1
->4.18.0
Release Notes
rollup/rollup (rollup)
### [`v4.18.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4180) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.2...v4.18.0) *2024-05-22* ##### Features - Resolve import.meta.filename and .dirname in transpiled plugins ([#5520](https://togithub.com/rollup/rollup/issues/5520)) ##### Pull Requests - [#5504](https://togithub.com/rollup/rollup/pull/5504): Auto generate node index ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5507](https://togithub.com/rollup/rollup/pull/5507): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5508](https://togithub.com/rollup/rollup/pull/5508): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) - [#5510](https://togithub.com/rollup/rollup/pull/5510): Split up converter.rs into AST nodes ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5512](https://togithub.com/rollup/rollup/pull/5512): chore(deps): update dependency builtin-modules to v4 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert)) - [#5514](https://togithub.com/rollup/rollup/pull/5514): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5518](https://togithub.com/rollup/rollup/pull/5518): chore(deps): update dependency eslint-plugin-unicorn to v53 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert)) - [#5519](https://togithub.com/rollup/rollup/pull/5519): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert)) - [#5520](https://togithub.com/rollup/rollup/pull/5520): Resolve import.meta.{filename,dirname} in files imported from config ([@BPScott](https://togithub.com/BPScott)) - [#5521](https://togithub.com/rollup/rollup/pull/5521): docs: correct base32 to base36 in documentation ([@highcastlee](https://togithub.com/highcastlee)) ### [`v4.17.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4172) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.1...v4.17.2) *2024-04-30* ##### Bug Fixes - Fix tree-shaking problems when using spread arguments ([#5503](https://togithub.com/rollup/rollup/issues/5503)) ##### Pull Requests - [#5501](https://togithub.com/rollup/rollup/pull/5501): Slightly improve perf report ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5503](https://togithub.com/rollup/rollup/pull/5503): fix: rest element should deoptimize parameter values ([@liuly0322](https://togithub.com/liuly0322)) ### [`v4.17.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4171) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.17.0...v4.17.1) *2024-04-29* ##### Bug Fixes - Prevent infinite recursions for certain constructor invocations ([#5500](https://togithub.com/rollup/rollup/issues/5500)) ##### Pull Requests - [#5500](https://togithub.com/rollup/rollup/pull/5500): fix: parameter variable infinite recursion error ([@liuly0322](https://togithub.com/liuly0322)) ### [`v4.17.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4170) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.4...v4.17.0) *2024-04-27* ##### Features - Track function call arguments to optimize functions only called once or with the same literal values (re-release from 4.16.0) ([#5483](https://togithub.com/rollup/rollup/issues/5483)) ##### Bug Fixes - Reduce browser WASM size to a fraction by changing optimization settings ([#5494](https://togithub.com/rollup/rollup/issues/5494)) ##### Pull Requests - [#5483](https://togithub.com/rollup/rollup/pull/5483): feature(fix): function parameter tracking ([@liuly0322](https://togithub.com/liuly0322)) - [#5488](https://togithub.com/rollup/rollup/pull/5488): Report performance in CI ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5489](https://togithub.com/rollup/rollup/pull/5489): Create FUNDING.json ([@BenJam](https://togithub.com/BenJam)) - [#5492](https://togithub.com/rollup/rollup/pull/5492): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5493](https://togithub.com/rollup/rollup/pull/5493): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5494](https://togithub.com/rollup/rollup/pull/5494): Use opt-level=z for browser wasm ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.16.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4164) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.3...v4.16.4) *2024-04-23* ##### Bug Fixes - Revert function parameter tracking logic introduced in 4.16.0 to work on some remaining issues ([#5487](https://togithub.com/rollup/rollup/issues/5487)) ##### Pull Requests - [#5487](https://togithub.com/rollup/rollup/pull/5487): Revert function parameter tracking logic for now ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.16.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4163) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.2...v4.16.3) *2024-04-23* ##### Bug Fixes - Do not optimize IIFEs that have a name and are again referenced inside their definition ([#5486](https://togithub.com/rollup/rollup/issues/5486)) ##### Pull Requests - [#5486](https://togithub.com/rollup/rollup/pull/5486): fix: only optimize annoymous iife ([@liuly0322](https://togithub.com/liuly0322)) ### [`v4.16.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4162) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.1...v4.16.2) *2024-04-22* ##### Bug Fixes - Resolve a situation condition where reassignments of function parameters were not tracked properly ([#5482](https://togithub.com/rollup/rollup/issues/5482)) - Make sure that for armv7 packages, only one package is downloaded for the user (musl or gnu) ([#5479](https://togithub.com/rollup/rollup/issues/5479)) ##### Pull Requests - [#5479](https://togithub.com/rollup/rollup/pull/5479): Add libc field to armv7 packages ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5482](https://togithub.com/rollup/rollup/pull/5482): fix: function parameter reassigned update ([@liuly0322](https://togithub.com/liuly0322)) ### [`v4.16.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4161) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.16.0...v4.16.1) *2024-04-21* ##### Bug Fixes - Fix crash when rendering logical or conditional expressions ([#5481](https://togithub.com/rollup/rollup/issues/5481)) ##### Pull Requests - [#5481](https://togithub.com/rollup/rollup/pull/5481): fix: conditional/logical expression should request a new tree-shaking ([@liuly0322](https://togithub.com/liuly0322)) ### [`v4.16.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4160) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.15.0...v4.16.0) *2024-04-21* ##### Features - Track function call arguments to optimize functions only called once or with the same literal values ([#5443](https://togithub.com/rollup/rollup/issues/5443)) ##### Pull Requests - [#5443](https://togithub.com/rollup/rollup/pull/5443): feat: improve tree-shaking by propagate const parameter ([@liuly0322](https://togithub.com/liuly0322), [@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.15.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4150) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.3...v4.15.0) *2024-04-20* ##### Features - Add output.importAttributesKey option to select whether to use "with" or "assert" for import attributes ([#5474](https://togithub.com/rollup/rollup/issues/5474)) ##### Pull Requests - [#5474](https://togithub.com/rollup/rollup/pull/5474): Add ImportAttributesKey to choose keyword ("with" | "assert") ([@doubleaa93](https://togithub.com/doubleaa93), [@lukastaegert](https://togithub.com/lukastaegert)) - [#5475](https://togithub.com/rollup/rollup/pull/5475): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5477](https://togithub.com/rollup/rollup/pull/5477): Try to run emulated smoke tests for Linux environments ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.14.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4143) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.2...v4.14.3) *2024-04-15* ##### Bug Fixes - Support Alpine Linux and other MUSL builds on ARM ([#5471](https://togithub.com/rollup/rollup/issues/5471)) ##### Pull Requests - [#5471](https://togithub.com/rollup/rollup/pull/5471): Add linux arm musl build ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.14.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4142) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.1...v4.14.2) *2024-04-12* ##### Bug Fixes - Do not create invalid code when reexporting both a namespace and the default export from that namespace ([#5466](https://togithub.com/rollup/rollup/issues/5466)) - Ensure ppc64 platform is properly detected ([#5460](https://togithub.com/rollup/rollup/issues/5460)) ##### Pull Requests - [#5456](https://togithub.com/rollup/rollup/pull/5456): Add high-level architecture documentation ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5460](https://togithub.com/rollup/rollup/pull/5460): Fix ppc64le target ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5463](https://togithub.com/rollup/rollup/pull/5463): chore: tweak the comment about files should not be edited ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5466](https://togithub.com/rollup/rollup/pull/5466): Ensure reexported namespaces do not prevent creation of default export helpers ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5468](https://togithub.com/rollup/rollup/pull/5468): chore(deps): update dependency eslint-plugin-unicorn to v52 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert)) - [#5469](https://togithub.com/rollup/rollup/pull/5469): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5470](https://togithub.com/rollup/rollup/pull/5470): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.14.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4141) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.14.0...v4.14.1) *2024-04-07* ##### Bug Fixes - Show better error when running on musl Linux where the musl build is not supported ([#5454](https://togithub.com/rollup/rollup/issues/5454)) ##### Pull Requests - [#5451](https://togithub.com/rollup/rollup/pull/5451): chore: generate string constants from config ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5452](https://togithub.com/rollup/rollup/pull/5452): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5453](https://togithub.com/rollup/rollup/pull/5453): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) - [#5454](https://togithub.com/rollup/rollup/pull/5454): Improve error message when running on unsupported MUSL Linux ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5455](https://togithub.com/rollup/rollup/pull/5455): Remove inlining logic in AST (de-)serializer ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.14.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4140) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.2...v4.14.0) *2024-04-03* ##### Features - Display error causes in Rollup CLI ([#5422](https://togithub.com/rollup/rollup/issues/5422)) - Add basic support for explicit resource management via "using" and "await using" ([#5423](https://togithub.com/rollup/rollup/issues/5423)) ##### Pull Requests - [#5422](https://togithub.com/rollup/rollup/pull/5422): feat: show all cause in Error ([@devohda](https://togithub.com/devohda), [@lukastaegert](https://togithub.com/lukastaegert)) - [#5444](https://togithub.com/rollup/rollup/pull/5444): feat: support explicit-resource-management ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5445](https://togithub.com/rollup/rollup/pull/5445): docs: add `@shikiji/vitepress-twoslash` ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5447](https://togithub.com/rollup/rollup/pull/5447): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5448](https://togithub.com/rollup/rollup/pull/5448): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.13.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4132) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.1...v4.13.2) *2024-03-28* ##### Bug Fixes - Ensure accessing module info is cached after the build phase for improved performance ([#5438](https://togithub.com/rollup/rollup/issues/5438)) - Support powerpc64le CPUs ([#5350](https://togithub.com/rollup/rollup/issues/5350)) ##### Pull Requests - [#5350](https://togithub.com/rollup/rollup/pull/5350): Add support for ppc64le ([@pavolloffay](https://togithub.com/pavolloffay), [@lukastaegert](https://togithub.com/lukastaegert)) - [#5438](https://togithub.com/rollup/rollup/pull/5438): Cache module info getters before output generation ([@bluwy](https://togithub.com/bluwy), [@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.13.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4131) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.13.0...v4.13.1) *2024-03-27* ##### Bug Fixes - Add new linux-s390x-gnu native binary package ([#5346](https://togithub.com/rollup/rollup/issues/5346)) ##### Pull Requests - [#5346](https://togithub.com/rollup/rollup/pull/5346): Add support for linux s390x gnu ([@edlerd](https://togithub.com/edlerd)) - [#5430](https://togithub.com/rollup/rollup/pull/5430): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v13 ([@renovate](https://togithub.com/renovate)\[bot], [@lukastaegert](https://togithub.com/lukastaegert)) - [#5431](https://togithub.com/rollup/rollup/pull/5431): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5432](https://togithub.com/rollup/rollup/pull/5432): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5436](https://togithub.com/rollup/rollup/pull/5436): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5437](https://togithub.com/rollup/rollup/pull/5437): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.13.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4130) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.12.1...v4.13.0) *2024-03-12* ##### Features - Ensure that the location of parse errors and other logs is encoded in the error message as well ([#5424](https://togithub.com/rollup/rollup/issues/5424)) ##### Pull Requests - [#5417](https://togithub.com/rollup/rollup/pull/5417): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5418](https://togithub.com/rollup/rollup/pull/5418): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) - [#5419](https://togithub.com/rollup/rollup/pull/5419): chore: fix typo ([@OnlyWick](https://togithub.com/OnlyWick)) - [#5424](https://togithub.com/rollup/rollup/pull/5424): Add locations to logs, warnings and error messages ( [@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.12.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4121) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.12.0...v4.12.1) *2024-03-06* ##### Bug Fixes - Escape special characters in file references ([#5404](https://togithub.com/rollup/rollup/issues/5404)) ##### Pull Requests - [#5398](https://togithub.com/rollup/rollup/pull/5398): Rename `getRollupEror` to `getRollupError` ([@MrRefactoring](https://togithub.com/MrRefactoring)) - [#5399](https://togithub.com/rollup/rollup/pull/5399): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5404](https://togithub.com/rollup/rollup/pull/5404): fix: escape ids in `import.meta.ROLLUP_FILE_URL_referenceId` correctly ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5406](https://togithub.com/rollup/rollup/pull/5406): chore(deps): lock file maintenance minor/patch updates ( [@renovate](https://togithub.com/renovate)\[bot]) - [#5407](https://togithub.com/rollup/rollup/pull/5407): chore(deps): lock file maintenance ([@renovate](https://togithub.com/renovate)\[bot]) - [#5411](https://togithub.com/rollup/rollup/pull/5411): Chunk assignment - Fix comment line breaks and typo ([@yoavweiss](https://togithub.com/yoavweiss), [@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.12.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4120) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.11.0...v4.12.0) *2024-02-16* ##### Features - Improve raw bundling performance by 10-15% when not using the cache or plugins that return an AST ([#5391](https://togithub.com/rollup/rollup/issues/5391)) ##### Pull Requests - [#5391](https://togithub.com/rollup/rollup/pull/5391): Improve performance by directly constructing AST from buffer ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5393](https://togithub.com/rollup/rollup/pull/5393): chore(deps): update dependency eslint-plugin-unicorn to v51 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5394](https://togithub.com/rollup/rollup/pull/5394): chore(deps): update typescript-eslint monorepo to v7 (major) ([@renovate](https://togithub.com/renovate)\[bot]) - [#5395](https://togithub.com/rollup/rollup/pull/5395): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.11.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4110) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.10.0...v4.11.0) *2024-02-15* ##### Features - Add `output.reexportProtoFromExternal` option to disable special code for handling `__proto__` reexports ([#5380](https://togithub.com/rollup/rollup/issues/5380)) ##### Bug Fixes - Ensure namespace reexport code can be parsed by cjs-module-lexer ([#5380](https://togithub.com/rollup/rollup/issues/5380)) - Throw when trying to reassing `const` variables ([#5388](https://togithub.com/rollup/rollup/issues/5388)) ##### Pull Requests - [#5380](https://togithub.com/rollup/rollup/pull/5380): fix: separately export `__proto__` for compatibility with CJS Transpiler Re-exports ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5388](https://togithub.com/rollup/rollup/pull/5388): Add const reassign rule ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v4.10.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#4100) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.6...v4.10.0) *2024-02-10* ##### Features - Support base-36 and base-16 hashes again via new `output.hashCharacters` option ([#5371](https://togithub.com/rollup/rollup/issues/5371)) ##### Bug Fixes - Do not crash process for panics in native code but throw them as JavaScript errors ([#5383](https://togithub.com/rollup/rollup/issues/5383)) ##### Pull Requests - [#5359](https://togithub.com/rollup/rollup/pull/5359): chore(deps): update actions/cache action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5360](https://togithub.com/rollup/rollup/pull/5360): chore(deps): update dependency pretty-ms to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5366](https://togithub.com/rollup/rollup/pull/5366): chore(deps): update dependency husky to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5367](https://togithub.com/rollup/rollup/pull/5367): chore(deps): update peter-evans/create-or-update-comment action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5368](https://togithub.com/rollup/rollup/pull/5368): chore(deps): update peter-evans/find-comment action to v3 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5369](https://togithub.com/rollup/rollup/pull/5369): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5370](https://togithub.com/rollup/rollup/pull/5370): Fix dependency range for Node types ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5371](https://togithub.com/rollup/rollup/pull/5371): Implement "output.hashCharacters" option to define character set for file hashes ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5372](https://togithub.com/rollup/rollup/pull/5372): Roll back vitepress as 1.0.0-rc.40 breaks the development build ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5382](https://togithub.com/rollup/rollup/pull/5382): Update documentation ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5383](https://togithub.com/rollup/rollup/pull/5383): Catch Rust panics and then throw them in JS ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5384](https://togithub.com/rollup/rollup/pull/5384): chore(deps): update codecov/codecov-action action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5385](https://togithub.com/rollup/rollup/pull/5385): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5386](https://togithub.com/rollup/rollup/pull/5386): Resolve all rollup imports to node_modules to avoid type conflict ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v4.9.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#496) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.5...v4.9.6) *2024-01-21* ##### Bug Fixes - Detect side effects when an element that was pushed into an array is modified via the array ([#5352](https://togithub.com/rollup/rollup/issues/5352)) ##### Pull Requests - [#5337](https://togithub.com/rollup/rollup/pull/5337): Generate AST transformers from config ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5340](https://togithub.com/rollup/rollup/pull/5340): Also type-check d.ts files ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5348](https://togithub.com/rollup/rollup/pull/5348): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5351](https://togithub.com/rollup/rollup/pull/5351): chore(deps): update dependency vite to v5.0.12 \[security] ([@renovate](https://togithub.com/renovate)\[bot]) - [#5352](https://togithub.com/rollup/rollup/pull/5352): Track mutations of elements pushed into arrays ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.9.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#495) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.4...v4.9.5) *2024-01-12* ##### Bug Fixes - Fix issue where on Windows, Rollup would not load due to problems with the MSVC executable ([#5335](https://togithub.com/rollup/rollup/issues/5335)) ##### Pull Requests - [#5334](https://togithub.com/rollup/rollup/pull/5334): Fix typo in commondir.ts ([@akiomik](https://togithub.com/akiomik)) - [#5335](https://togithub.com/rollup/rollup/pull/5335): build: static link msvc runtime on Windows x64 platform ([@Brooooooklyn](https://togithub.com/Brooooooklyn)) - [#5338](https://togithub.com/rollup/rollup/pull/5338): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#494) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.3...v4.9.4) *2024-01-06* ##### Bug Fixes - Use quotes for keys in namespaces that are only numbers but are not valid integers ([#5328](https://togithub.com/rollup/rollup/issues/5328)) - Allow to have comments between pure annotations and the annoted node ([#5332](https://togithub.com/rollup/rollup/issues/5332)) ##### Pull Requests - [#5328](https://togithub.com/rollup/rollup/pull/5328): Correctly handling number key ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5332](https://togithub.com/rollup/rollup/pull/5332): Handle pure annotations that are separated by a comment ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.9.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#493) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.2...v4.9.3) *2024-01-05* ##### Bug Fixes - Support `__proto__` as export/import name ([#5313](https://togithub.com/rollup/rollup/issues/5313)) - Use ESTree AST type over custom type in user-facing types ([#5323](https://togithub.com/rollup/rollup/issues/5323)) ##### Pull Requests - [#5313](https://togithub.com/rollup/rollup/pull/5313): Correctly handling **proto** export as module object key ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5323](https://togithub.com/rollup/rollup/pull/5323): fix: Add estree.Program type to rollup.d.ts ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5326](https://togithub.com/rollup/rollup/pull/5326): docs: fix grammar ([@gigabites19](https://togithub.com/gigabites19)) - [#5329](https://togithub.com/rollup/rollup/pull/5329): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5330](https://togithub.com/rollup/rollup/pull/5330): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#492) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.1...v4.9.2) *2023-12-30* ##### Bug Fixes - Extend support for arbitrary namespace identifiers in SystemJS ([#5321](https://togithub.com/rollup/rollup/issues/5321)) - Do not wrongly flag functions without side effects as side effects if moduleSideEffects is false ([#5322](https://togithub.com/rollup/rollup/issues/5322)) ##### Pull Requests - [#5305](https://togithub.com/rollup/rollup/pull/5305): Add JSDoc types to internal scripts ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5309](https://togithub.com/rollup/rollup/pull/5309): chore(deps): update actions/download-artifact action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5311](https://togithub.com/rollup/rollup/pull/5311): chode: add node badge ([@btea](https://togithub.com/btea)) - [#5312](https://togithub.com/rollup/rollup/pull/5312): Remove rollup-plugin-thatworks from devDeps ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5318](https://togithub.com/rollup/rollup/pull/5318): chore(deps): update dependency eslint-plugin-unicorn to v50 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5319](https://togithub.com/rollup/rollup/pull/5319): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5321](https://togithub.com/rollup/rollup/pull/5321): Handle arbitrary namespace identifiers in some SystemJS scenarios ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5322](https://togithub.com/rollup/rollup/pull/5322): Do not handle declarations in modules without side effects as TDZ ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.9.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#491) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.9.0...v4.9.1) *2023-12-17* ##### Bug Fixes - Fix an issue where break statements could include the wrong label ([#5297](https://togithub.com/rollup/rollup/issues/5297)) ##### Pull Requests - [#5297](https://togithub.com/rollup/rollup/pull/5297): fix: use a new includedLabels in the body of the LabeledStatement ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5300](https://togithub.com/rollup/rollup/pull/5300): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.9.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#490) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.8.0...v4.9.0) *2023-12-13* ##### Features - Fully support arbitrary strings as import and export identifiers ([#5298](https://togithub.com/rollup/rollup/issues/5298)) ##### Pull Requests - [#5296](https://togithub.com/rollup/rollup/pull/5296): Do not assume setTimeout return type ([@kapouer](https://togithub.com/kapouer)) - [#5298](https://togithub.com/rollup/rollup/pull/5298): Fully support arbitrary module namespace identifiers for all formats ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.8.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#480) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.7.0...v4.8.0) *2023-12-11* ##### Features - Improve `experimentalMinChunkSize` to take already loaded modules from dynamic imports into account ([#5294](https://togithub.com/rollup/rollup/issues/5294)) ##### Pull Requests - [#5294](https://togithub.com/rollup/rollup/pull/5294): Find more merge targets for experimentalMinChunkSize ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.7.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#470) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.1...v4.7.0) *2023-12-08* ##### Features - Add build for Linux riscv64 architecture ([#5288](https://togithub.com/rollup/rollup/issues/5288)) ##### Bug Fixes - Improve error message when native Windows build does not start ([#5284](https://togithub.com/rollup/rollup/issues/5284)) ##### Pull Requests - [#5278](https://togithub.com/rollup/rollup/pull/5278): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5281](https://togithub.com/rollup/rollup/pull/5281): Add logs and experimentalLogSideEffects to REPL ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5284](https://togithub.com/rollup/rollup/pull/5284): Add friendly error for missing MSVC redistributable ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5285](https://togithub.com/rollup/rollup/pull/5285): chore(deps): update dependency vite to v5.0.5 \[security] ([@renovate](https://togithub.com/renovate)\[bot]) - [#5288](https://togithub.com/rollup/rollup/pull/5288): Add support for linux riscv64 gnu ([@kxxt](https://togithub.com/kxxt)) - [#5290](https://togithub.com/rollup/rollup/pull/5290): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.6.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#461) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.6.0...v4.6.1) *2023-11-30* ##### Bug Fixes - Resolve a situation where declaring the same `var` several times was considered a conflict ([#5276](https://togithub.com/rollup/rollup/issues/5276)) ##### Pull Requests - [#5275](https://togithub.com/rollup/rollup/pull/5275): Add TNG as special sponsor ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5276](https://togithub.com/rollup/rollup/pull/5276): Allow to redeclare parameters multiple times in nested scopes ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.6.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#460) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.2...v4.6.0) *2023-11-26* ##### Features - Allow `this.addWatchFile` in all plugin hooks ([#5270](https://togithub.com/rollup/rollup/issues/5270)) ##### Bug Fixes - Show helpful error when native binaries are not installed due to an `npm` issue ([#5267](https://togithub.com/rollup/rollup/issues/5267)) - Do not access `this` context in `this.addWatchFile` so it does not need to be bound when passed around ([#5270](https://togithub.com/rollup/rollup/issues/5270)) ##### Pull Requests - [#5267](https://togithub.com/rollup/rollup/pull/5267): Add friendly error for npm bug ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5270](https://togithub.com/rollup/rollup/pull/5270): Allow this.addWatchFile in all hooks ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5272](https://togithub.com/rollup/rollup/pull/5272): Debug deployed graphs ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.5.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#452) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.1...v4.5.2) *2023-11-24* ##### Bug Fixes - Handle files with UTF-8 BOM when using the commonjs plugin ([#5268](https://togithub.com/rollup/rollup/issues/5268)) ##### Pull Requests - [#5268](https://togithub.com/rollup/rollup/pull/5268): fix: strip BOM before calling transform hook ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5269](https://togithub.com/rollup/rollup/pull/5269): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.5.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#451) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.5.0...v4.5.1) *2023-11-21* ##### Bug Fixes - Do not error when a function expression uses the same name for a parameter and its id ([#5262](https://togithub.com/rollup/rollup/issues/5262)) ##### Pull Requests - [#5257](https://togithub.com/rollup/rollup/pull/5257): Fix graphs in docs, improve REPL colors ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5262](https://togithub.com/rollup/rollup/pull/5262): Allow function expression parameters to shadow the function id ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.5.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#450) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.4.1...v4.5.0) *2023-11-18* ##### Bug Fixes - Show a proper error when using native Rollup on armv7 musl Linux ([#5255](https://togithub.com/rollup/rollup/issues/5255)) ##### Pull Requests - [#5251](https://togithub.com/rollup/rollup/pull/5251): doc fix import assertions to attributes in API plugin development page ([@lhapaipai](https://togithub.com/lhapaipai)) - [#5253](https://togithub.com/rollup/rollup/pull/5253): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5255](https://togithub.com/rollup/rollup/pull/5255): Error for armv7 musl build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.4.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#441) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.4.0...v4.4.1) *2023-11-14* ##### Bug Fixes - Do not flag duplicate function declarations in function scopes as syntax errors ([#5248](https://togithub.com/rollup/rollup/issues/5248)) ##### Pull Requests - [#5248](https://togithub.com/rollup/rollup/pull/5248): Allow functions to redeclare vars and functions in function scopes ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.4.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#440) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.1...v4.4.0) *2023-11-12* ##### Features - Replace SWC linting with faster internal linting to error on duplicate declarations etc. ([#5207](https://togithub.com/rollup/rollup/issues/5207)) ##### Bug Fixes - Show proper error when an entry exports non-existing bindings ([#5207](https://togithub.com/rollup/rollup/issues/5207)) ##### Pull Requests - [#5207](https://togithub.com/rollup/rollup/pull/5207): perf: run lint while constructing nodes ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.3.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#431) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.3.0...v4.3.1) *2023-11-11* ##### Bug Fixes - Fix rename error when handling errors in watch mode ([#5240](https://togithub.com/rollup/rollup/issues/5240)) - Prevent warning when using `--forceExit` ([#5245](https://togithub.com/rollup/rollup/issues/5245)) ##### Pull Requests - [#5240](https://togithub.com/rollup/rollup/pull/5240): fix: allow the name of Rollup Error to be modified ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5243](https://togithub.com/rollup/rollup/pull/5243): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5245](https://togithub.com/rollup/rollup/pull/5245): Ensure --forceExit works without warning ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.3.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#430) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.2.0...v4.3.0) *2023-11-03* ##### Features - Add `forceExit` CLI flag for situations where the CLI does not exit gracefully ([#5195](https://togithub.com/rollup/rollup/issues/5195)) ##### Bug Fixes - Properly catch errors when removing a temporary config file fails ([#5198](https://togithub.com/rollup/rollup/issues/5198)) ##### Pull Requests - [#5195](https://togithub.com/rollup/rollup/pull/5195): Add `forceExit` CLI flag ([@raphael-theriault-swi](https://togithub.com/raphael-theriault-swi)) - [#5198](https://togithub.com/rollup/rollup/pull/5198): fix: prevent `ENOENT` error on temp config removal ([@jzempel](https://togithub.com/jzempel)) - [#5237](https://togithub.com/rollup/rollup/pull/5237): chore: remove unused files and deps ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5238](https://togithub.com/rollup/rollup/pull/5238): chore(deps): update dependency eslint-plugin-unicorn to v49 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5239](https://togithub.com/rollup/rollup/pull/5239): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.2.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#420) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.6...v4.2.0) *2023-10-31* ##### Features - Run parsing in multiple threads and introduce `parseAstAsync` helper function ([#5202](https://togithub.com/rollup/rollup/issues/5202)) ##### Pull Requests - [#5202](https://togithub.com/rollup/rollup/pull/5202): perf: introduce `parseAstAsync` and parallelize parsing AST ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.6`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#416) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.5...v4.1.6) *2023-10-31* ##### Bug Fixes - Fix a bug where emtpy block comments in certain positions could freeze Rollup ([#5231](https://togithub.com/rollup/rollup/issues/5231)) ##### Pull Requests - [#5228](https://togithub.com/rollup/rollup/pull/5228): build: ensure rust toolchain components for linting are installed ([@jerome-benoit](https://togithub.com/jerome-benoit)) - [#5231](https://togithub.com/rollup/rollup/pull/5231): Render emtpy block comments after tree-shaken statements ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5232](https://togithub.com/rollup/rollup/pull/5232): Revert specifying rustfmt and clippy in toolchain file as it breaks REPL build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.1.5`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#415) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.4...v4.1.5) *2023-10-28* ##### Bug Fixes - Fix an issue where actual entries that were also implicit entries could remain implicit ([#5220](https://togithub.com/rollup/rollup/issues/5220)) ##### Pull Requests - [#5209](https://togithub.com/rollup/rollup/pull/5209): Document Vite workaround for browser build ([@curran](https://togithub.com/curran)) - [#5215](https://togithub.com/rollup/rollup/pull/5215): chore(deps): update dependency lint-staged to v15 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5216](https://togithub.com/rollup/rollup/pull/5216): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5218](https://togithub.com/rollup/rollup/pull/5218): Update license plugin ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5219](https://togithub.com/rollup/rollup/pull/5219): Fix error highlight in REPL ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5220](https://togithub.com/rollup/rollup/pull/5220): Fix race condition when emitting implicitly dependent entries ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5224](https://togithub.com/rollup/rollup/pull/5224): chore(deps): update actions/setup-node action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5225](https://togithub.com/rollup/rollup/pull/5225): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.1.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#414) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.3...v4.1.4) *2023-10-16* ##### Bug Fixes - Reduce sizes [@rollup/browser](https://togithub.com/rollup/browser) and [@rollup/wasm-node](https://togithub.com/rollup/wasm-node) WASM artifacts ([#5204](https://togithub.com/rollup/rollup/issues/5204)) ##### Pull Requests - [#5204](https://togithub.com/rollup/rollup/pull/5204): perf: shrink wasm size by avoid importing browserslist ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#413) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.1...v4.1.3) *2023-10-15* ##### Bug Fixes - Fix WASM build as hash function was not exported ([#5203](https://togithub.com/rollup/rollup/issues/5203)) ##### Pull Requests - [#5203](https://togithub.com/rollup/rollup/pull/5203): fix: export xxhashBase64Url from wasm ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#411) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.1.0...v4.1.1) *2023-10-15* ##### Bug Fixes - Improve Node parsing performance ([#5201](https://togithub.com/rollup/rollup/issues/5201)) ##### Pull Requests - [#5201](https://togithub.com/rollup/rollup/pull/5201): perf: use mimalloc for bindings_napi ([@sapphi-red](https://togithub.com/sapphi-red)) ### [`v4.1.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#410) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.2...v4.1.0) *2023-10-14* ##### Features - Reduce memory usage of Rollup builds ([#5133](https://togithub.com/rollup/rollup/issues/5133)) ##### Pull Requests - [#5133](https://togithub.com/rollup/rollup/pull/5133): perf: reducing ast node memory overhead ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5177](https://togithub.com/rollup/rollup/pull/5177): chore: explicitly set rust toolchain channel ([@cijiugechu](https://togithub.com/cijiugechu)) - [#5179](https://togithub.com/rollup/rollup/pull/5179): Update migration guide for Rollup 4 ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5180](https://togithub.com/rollup/rollup/pull/5180): Resolve clippy errors ([@cijiugechu](https://togithub.com/cijiugechu)) - [#5183](https://togithub.com/rollup/rollup/pull/5183): Add clippy to pipeline and fix remaining issues ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5184](https://togithub.com/rollup/rollup/pull/5184): docs: fix code example for `onLog` ([@tjenkinson](https://togithub.com/tjenkinson)) - [#5186](https://togithub.com/rollup/rollup/pull/5186): Improve wording for native artifacts in migration guide ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5190](https://togithub.com/rollup/rollup/pull/5190): test: add verifyAst type ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5196](https://togithub.com/rollup/rollup/pull/5196): chore(deps): update dependency rollup to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5197](https://togithub.com/rollup/rollup/pull/5197): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v4.0.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#402) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.1...v4.0.2) *2023-10-06* ##### Bug Fixes - Fix annotation detection logic to not fail when a non-ASCII character precedes a double underscore ([#5178](https://togithub.com/rollup/rollup/issues/5178)) ##### Pull Requests - [#5178](https://togithub.com/rollup/rollup/pull/5178): Handle special characters before double underscores ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.0.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#401) [Compare Source](https://togithub.com/rollup/rollup/compare/v4.0.0...v4.0.1) *2023-10-06* ##### Bug Fixes - Do not panic on trailing semicolons after class methods ([#5173](https://togithub.com/rollup/rollup/issues/5173)) - Add artifact for arm64 linux musl target ([#5176](https://togithub.com/rollup/rollup/issues/5176)) ##### Pull Requests - [#5172](https://togithub.com/rollup/rollup/pull/5172): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5173](https://togithub.com/rollup/rollup/pull/5173): fix: ignores empty statements in class body that is returned by SWC parser ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5176](https://togithub.com/rollup/rollup/pull/5176): Fix linux arm musl build ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v4.0.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#400) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.4...v4.0.0) *2023-10-05* ##### BREAKING CHANGES ##### General Changes - The minimal required Node version is now 18.0.0 ([#5142](https://togithub.com/rollup/rollup/issues/5142)) - The browser build now relies on a WASM artifact that needs to be provided as well ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - The NodeJS build now relies on an optional native binary; for unsupported platforms, users can use the `@rollup/wasm-node` package that has the same interface as Rollup but relies on WASM artifacts ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - The `INVALID_IMPORT_ASSERTION` error code has been replaced with `INVALID_IMPORT_ATTRIBUTE` ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165)) - If an entry module starts with a shebang comment `#!...`, this comment will be prepended to the output for `es` and `cjs` formats ([#5163](https://togithub.com/rollup/rollup/issues/5163)) - File hashes will now use url-safe base64 encoded hashes ([#5155](https://togithub.com/rollup/rollup/issues/5155)) - The maximum hash length has been reduced to 22 characters ([#5155](https://togithub.com/rollup/rollup/issues/5155)) - The `RollupWarning` type has been removed in favor of the `RollupLog` type ([#5147](https://togithub.com/rollup/rollup/issues/5147)) ##### Changes to Rollup Options - Acorn plugins are no longer supported, the `acornInjectPlugins` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - The `acorn` option has been removed ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - `output.externalImportAssertions` has been deprecated in favor of `output.externalImportAttributes` ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - `inlineDynamicImports`, `manualChunks` and `preserveModules` have been removed on input option level: Please use the corresponding output options of the same names ([#5143](https://togithub.com/rollup/rollup/issues/5143)) - Removed output options ([#5143](https://togithub.com/rollup/rollup/issues/5143)): - `output.experimentalDeepDynamicChunkOptimization`: This option is no longer needed as Rollup now always runs the full chunking algorithm - `output.dynamicImportFunction`: Use the `renderDynamicImport` plugin hook instead - `output.namespaceToStringTag`: Use `output.generatedCode.symbols` instead - `output.preferConst`: Use `output.generatedCode.constBindings` instead ##### Plugin API Changes - For `this.resolve`, the default of the `skipSelf` option is now `true` ([#5142](https://togithub.com/rollup/rollup/issues/5142)) - `this.parse` now only supports the `allowReturnOutsideFunction` option for now ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Import assertions now use the [new import attribute AST structure](https://togithub.com/estree/estree/blob/master/experimental/import-attributes.md) ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - "assertions" have been replaced with "attributes" in various places of the plugin interface ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - If the import of a module id is handled by the `load` hook of a plugin, `rollup.watch` no longer watches the actual file if the module id corresponds to a real path; if this is intended, then the plugin is responsible for calling `this.addWatchFile` for any dependency files ([#5150](https://togithub.com/rollup/rollup/issues/5150)) - The normalized input options provided by `buildStart` and other hooks no longer contain an `onwarn` handler; plugins should use `onLog` instead ([#5147](https://togithub.com/rollup/rollup/issues/5147)) - `this.moduleIds` has been removed from the plugin context: Use `this.getModuleIds()` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143)) - The `hasModuleSideEffects` flag has been removed from the `ModuleInfo` returned by `this.getModuleInfo()`: Use `moduleSideEffects` on the `ModuleInfo` instead ([#5143](https://togithub.com/rollup/rollup/issues/5143)) ##### Features - Improve parsing speed by switching to a native SWC-based parser ([#5073](https://togithub.com/rollup/rollup/issues/5073)) - Rollup will now warn for `@__PURE__` and `@__NO_SIDE_EFFECTS__` annotations in invalid locations ([#5165](https://togithub.com/rollup/rollup/issues/5165)) - The parser is now exposed as a separate export `parseAst` ([#5169](https://togithub.com/rollup/rollup/issues/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](https://togithub.com/rollup/rollup/issues/5150)) ##### Pull Requests - [#5073](https://togithub.com/rollup/rollup/pull/5073): \[v4.0] Switch parser to SWC and introduce native/WASM code ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5142](https://togithub.com/rollup/rollup/pull/5142): \[v4.0] Set the default of skipSelf to true ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5143](https://togithub.com/rollup/rollup/pull/5143): \[v4.0] Remove deprecated features ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5144](https://togithub.com/rollup/rollup/pull/5144): \[v4.0] Imporve the performance of generating ast and rollup ast nodes ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5147](https://togithub.com/rollup/rollup/pull/5147): \[v4.0] Remove onwarn from normalized input options ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5150](https://togithub.com/rollup/rollup/pull/5150): \[v4.0] feat: Do not watch files anymore if their content is returned by the load hook ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5154](https://togithub.com/rollup/rollup/pull/5154): \[v4.0] Add parse option to allow return outside function ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5155](https://togithub.com/rollup/rollup/pull/5155): \[v4.0] feat: implement hashing content in Rust ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5157](https://togithub.com/rollup/rollup/pull/5157): \[v4.0] Handle empty exports ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5160](https://togithub.com/rollup/rollup/pull/5160): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5163](https://togithub.com/rollup/rollup/pull/5163): \[v4.0] feat: preserve shebang in entry module for CJS and ESM outputs ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5164](https://togithub.com/rollup/rollup/pull/5164): \[v4.0] fix: also strip BOM from code strings in JS ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5165](https://togithub.com/rollup/rollup/pull/5165): \[v4.0] warn for invalid annotations ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5168](https://togithub.com/rollup/rollup/pull/5168): \[v4.0] Ensure we support new import attribute "with" syntax ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5169](https://togithub.com/rollup/rollup/pull/5169): \[v4.0] Expose parser ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.4`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3294) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.3...v3.29.4) *2023-09-28* ##### Bug Fixes - Fix static analysis when an exported function uses callbacks ([#5158](https://togithub.com/rollup/rollup/issues/5158)) ##### Pull Requests - [#5158](https://togithub.com/rollup/rollup/pull/5158): Deoptimize all parameters when losing track of a function ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3293) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.2...v3.29.3) *2023-09-24* ##### Bug Fixes - Fix a bug where code was wrongly tree-shaken after mutating function parameters ([#5153](https://togithub.com/rollup/rollup/issues/5153)) ##### PullConfiguration
📅 Schedule: Branch creation - "before 10am on thursday" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.