rollup/rollup (rollup)
### [`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 Requests
- [#5145](https://togithub.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5148](https://togithub.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v12 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5149](https://togithub.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5153](https://togithub.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.29.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.1...v3.29.2)
*2023-09-15*
##### Bug Fixes
- Export `TreeshakingPreset` type ([#5131](https://togithub.com/rollup/rollup/issues/5131))
##### Pull Requests
- [#5131](https://togithub.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://togithub.com/moltar))
- [#5134](https://togithub.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5137](https://togithub.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.29.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.0...v3.29.1)
*2023-09-10*
##### Bug Fixes
- Fix time measurement of plugin hooks in watch mode ([#5114](https://togithub.com/rollup/rollup/issues/5114))
- Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://togithub.com/rollup/rollup/issues/5118))
##### Pull Requests
- [#5114](https://togithub.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://togithub.com/ZhengLiu2825))
- [#5118](https://togithub.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5125](https://togithub.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5126](https://togithub.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5129](https://togithub.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.29.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.1...v3.29.0)
*2023-09-06*
##### Features
- Add output.sourcemapFileNames option ([#5105](https://togithub.com/rollup/rollup/issues/5105))
- Add generic type parameter for `api` to Plugin type ([#5112](https://togithub.com/rollup/rollup/issues/5112))
##### Bug Fixes
- Ensure mutations of CustomEvent details are tracked ([#5123](https://togithub.com/rollup/rollup/issues/5123))
##### Pull Requests
- [#5105](https://togithub.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://togithub.com/atti187))
- [#5108](https://togithub.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5109](https://togithub.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5112](https://togithub.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://togithub.com/sxzz))
- [#5115](https://togithub.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5123](https://togithub.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://togithub.com/lukastaegert))
### [`v3.28.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.0...v3.28.1)
*2023-08-22*
##### Bug Fixes
- Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://togithub.com/rollup/rollup/issues/5099))
##### Pull Requests
- [#5093](https://togithub.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5094](https://togithub.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5099](https://togithub.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://togithub.com/lukastaegert))
- [#5101](https://togithub.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5102](https://togithub.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.28.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.2...v3.28.0)
*2023-08-09*
##### Features
- Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://togithub.com/rollup/rollup/issues/5086))
- Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://togithub.com/rollup/rollup/issues/5087))
##### Bug Fixes
- Make the `code` property of rendered modules in the output readonly ([#5091](https://togithub.com/rollup/rollup/issues/5091))
##### Pull Requests
- [#5086](https://togithub.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://togithub.com/lsdsjy))
- [#5087](https://togithub.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
- [#5091](https://togithub.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2)
*2023-08-04*
##### Bug Fixes
- Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1)
*2023-08-03*
##### Bug Fixes
- Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075))
##### Pull Requests
- [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic))
### [`v3.27.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.3...v3.27.0)
*2023-07-28*
##### Features
- Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://togithub.com/rollup/rollup/issues/5072))
##### Pull Requests
- [#5070](https://togithub.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5071](https://togithub.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://togithub.com/TrickyPi))
- [#5072](https://togithub.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://togithub.com/sapphi-red))
- [#5078](https://togithub.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v8 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5079](https://togithub.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
### [`v3.26.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.2...v3.26.3)
*2023-07-17*
##### Bug Fixes
- Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://togithub.com/rollup/rollup/issues/5068))
##### Pull Requests
- [#5056](https://togithub.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot])
- [#5059](https://togithub.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://togithub.com/renovate)\[bot])
- [#5064](https://togithub.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://togithub.com/renovate)\[bot])
- [#5065](https://togithub.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://togithub.com/renovate)\[bot])
- [#5068](https://togithub.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.26.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.1...v3.26.2)
*2023-07-06*
##### Bug Fixes
- Improve error handling when manual chunks would contain external modules ([#5050](https://togithub.com/rollup/rollup/issues/5050))
##### Pull Requests
- [#5050](https://togithub.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://togithub.com/TrickyPi))
### [`v3.26.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.0...v3.26.1)
*2023-07-05*
##### Bug Fixes
- Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://togithub.com/rollup/rollup/issues/5010))
- Properly reference browser types in package file ([#5051](https://togithub.com/rollup/rollup/issues/5051))
##### Pull Requests
- [#5010](https://togithub.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://togithub.com/LongTengDao))
- [#5051](https://togithub.com/rollup/rollup/pull/5051): [@rollup/browser](https://togithub.com/rollup/browser): fix types export map entry ([@developit](https://togithub.com/developit))
### [`v3.26.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260)
[Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.3...v3.26.0)
*2023-06-30*
##### Features
- Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://togithub.com/rollup/rollup/issues/5035))
##### Pull Requests
- [#5035](https://togithub.com/rollup/rollup/pull/5035): Add ability to filter
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), 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:
^1.27.3
->^4.0.0
Release Notes
rollup/rollup (rollup)
### [`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 Requests - [#5145](https://togithub.com/rollup/rollup/pull/5145): docs: improve the docs repl appearance in the light mode ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5148](https://togithub.com/rollup/rollup/pull/5148): chore(deps): update dependency [@vue/eslint-config-typescript](https://togithub.com/vue/eslint-config-typescript) to v12 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5149](https://togithub.com/rollup/rollup/pull/5149): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5153](https://togithub.com/rollup/rollup/pull/5153): Fully deoptimize first level path when deoptimizing nested parameter paths ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.29.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3292) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.1...v3.29.2) *2023-09-15* ##### Bug Fixes - Export `TreeshakingPreset` type ([#5131](https://togithub.com/rollup/rollup/issues/5131)) ##### Pull Requests - [#5131](https://togithub.com/rollup/rollup/pull/5131): fix: exports `TreeshakingPreset` ([@moltar](https://togithub.com/moltar)) - [#5134](https://togithub.com/rollup/rollup/pull/5134): docs: steps to enable symlinks on windows ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5137](https://togithub.com/rollup/rollup/pull/5137): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.29.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3291) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.29.0...v3.29.1) *2023-09-10* ##### Bug Fixes - Fix time measurement of plugin hooks in watch mode ([#5114](https://togithub.com/rollup/rollup/issues/5114)) - Ensure accessing document.currentScript in import.meta.url returns correct results ([#5118](https://togithub.com/rollup/rollup/issues/5118)) ##### Pull Requests - [#5114](https://togithub.com/rollup/rollup/pull/5114): fix(perf): avoid superfluous timer wrappings in watch mode ([@ZhengLiu2825](https://togithub.com/ZhengLiu2825)) - [#5118](https://togithub.com/rollup/rollup/pull/5118): fix: access document.currentScript at the top level ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5125](https://togithub.com/rollup/rollup/pull/5125): chore(deps): update actions/checkout action to v4 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5126](https://togithub.com/rollup/rollup/pull/5126): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5129](https://togithub.com/rollup/rollup/pull/5129): re-enbale repl-artefacts workflow for rollup-swc branch ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.29.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3290) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.1...v3.29.0) *2023-09-06* ##### Features - Add output.sourcemapFileNames option ([#5105](https://togithub.com/rollup/rollup/issues/5105)) - Add generic type parameter for `api` to Plugin type ([#5112](https://togithub.com/rollup/rollup/issues/5112)) ##### Bug Fixes - Ensure mutations of CustomEvent details are tracked ([#5123](https://togithub.com/rollup/rollup/issues/5123)) ##### Pull Requests - [#5105](https://togithub.com/rollup/rollup/pull/5105): Added option to name sourcemap files, i.e. a output.sourcemapFileName… ([@atti187](https://togithub.com/atti187)) - [#5108](https://togithub.com/rollup/rollup/pull/5108): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5109](https://togithub.com/rollup/rollup/pull/5109): Docs: load full path of rollup.browser.js for Rollup V4 ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5112](https://togithub.com/rollup/rollup/pull/5112): feat(types): add generic type for plugin api ([@sxzz](https://togithub.com/sxzz)) - [#5115](https://togithub.com/rollup/rollup/pull/5115): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5123](https://togithub.com/rollup/rollup/pull/5123): Deoptimize custom event detail ([@lukastaegert](https://togithub.com/lukastaegert)) ### [`v3.28.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3281) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.28.0...v3.28.1) *2023-08-22* ##### Bug Fixes - Ensure external files with relative import paths outside the target are rendered correctly ([#5099](https://togithub.com/rollup/rollup/issues/5099)) ##### Pull Requests - [#5093](https://togithub.com/rollup/rollup/pull/5093): chore(deps): update dependency eslint-config-prettier to v9 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5094](https://togithub.com/rollup/rollup/pull/5094): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5099](https://togithub.com/rollup/rollup/pull/5099): Fix resolution of relative external files outside target directory ([@lukastaegert](https://togithub.com/lukastaegert)) - [#5101](https://togithub.com/rollup/rollup/pull/5101): chore(deps): update dependency lint-staged to v14 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5102](https://togithub.com/rollup/rollup/pull/5102): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.28.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3280) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.2...v3.28.0) *2023-08-09* ##### Features - Add a new property `preliminaryFileName` to generated chunks containing the file name placeholder ([#5086](https://togithub.com/rollup/rollup/issues/5086)) - Improve performance of sourcemap generation by lazily decoding mappings ([#5087](https://togithub.com/rollup/rollup/issues/5087)) ##### Bug Fixes - Make the `code` property of rendered modules in the output readonly ([#5091](https://togithub.com/rollup/rollup/issues/5091)) ##### Pull Requests - [#5086](https://togithub.com/rollup/rollup/pull/5086): feat: add `preliminaryFileName` to `OutputChunk` ([@lsdsjy](https://togithub.com/lsdsjy)) - [#5087](https://togithub.com/rollup/rollup/pull/5087): perf(sourcemaps): add back lazy sourcemap decode and handling nullish mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) - [#5091](https://togithub.com/rollup/rollup/pull/5091): fix: the type of RenderedModule.code is readonly ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.27.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3272) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.1...v3.27.2) *2023-08-04* ##### Bug Fixes - Revert sourcemap performance improvement for now as it causes issues with Vite ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): Revert perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) ### [`v3.27.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3271) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.27.0...v3.27.1) *2023-08-03* ##### Bug Fixes - Improve performance when generating sourcemaps ([#5075](https://togithub.com/rollup/rollup/issues/5075)) ##### Pull Requests - [#5075](https://togithub.com/rollup/rollup/pull/5075): perf(sourcemap): lazy compute decoded mappings ([@thebanjomatic](https://togithub.com/thebanjomatic)) ### [`v3.27.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3270) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.3...v3.27.0) *2023-07-28* ##### Features - Mark `Object.values` and `Object.entries` as pure if their argument does not contain getters ([#5072](https://togithub.com/rollup/rollup/issues/5072)) ##### Pull Requests - [#5070](https://togithub.com/rollup/rollup/pull/5070): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5071](https://togithub.com/rollup/rollup/pull/5071): docs(tutorial): change the .js extension to .mjs ([@TrickyPi](https://togithub.com/TrickyPi)) - [#5072](https://togithub.com/rollup/rollup/pull/5072): Add known globals ([@sapphi-red](https://togithub.com/sapphi-red)) - [#5078](https://togithub.com/rollup/rollup/pull/5078): chore(deps): update dependency [@vue/eslint-config-prettier](https://togithub.com/vue/eslint-config-prettier) to v8 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5079](https://togithub.com/rollup/rollup/pull/5079): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) ### [`v3.26.3`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3263) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.2...v3.26.3) *2023-07-17* ##### Bug Fixes - Do not pass external modules to `manualChunks` to avoid breaking existing configs ([#5068](https://togithub.com/rollup/rollup/issues/5068)) ##### Pull Requests - [#5056](https://togithub.com/rollup/rollup/pull/5056): chore(deps): lock file maintenance minor/patch updates ([@renovate](https://togithub.com/renovate)\[bot]) - [#5059](https://togithub.com/rollup/rollup/pull/5059): chore(config): migrate renovate config ([@renovate](https://togithub.com/renovate)\[bot]) - [#5064](https://togithub.com/rollup/rollup/pull/5064): chore(deps): update dependency prettier to v3 ([@renovate](https://togithub.com/renovate)\[bot]) - [#5065](https://togithub.com/rollup/rollup/pull/5065): chore(deps): update typescript-eslint monorepo to v6 (major) ([@renovate](https://togithub.com/renovate)\[bot]) - [#5068](https://togithub.com/rollup/rollup/pull/5068): fix: don't pass external modules to the manualChunks function ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.26.2`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3262) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.1...v3.26.2) *2023-07-06* ##### Bug Fixes - Improve error handling when manual chunks would contain external modules ([#5050](https://togithub.com/rollup/rollup/issues/5050)) ##### Pull Requests - [#5050](https://togithub.com/rollup/rollup/pull/5050): fix: improve error for manualChunks' modules that are resolved as an external module ([@TrickyPi](https://togithub.com/TrickyPi)) ### [`v3.26.1`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3261) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.26.0...v3.26.1) *2023-07-05* ##### Bug Fixes - Support `hasOwnProperty` as exported name in CommonJS ([#5010](https://togithub.com/rollup/rollup/issues/5010)) - Properly reference browser types in package file ([#5051](https://togithub.com/rollup/rollup/issues/5051)) ##### Pull Requests - [#5010](https://togithub.com/rollup/rollup/pull/5010): safe hasOwnProperty call ([@LongTengDao](https://togithub.com/LongTengDao)) - [#5051](https://togithub.com/rollup/rollup/pull/5051): [@rollup/browser](https://togithub.com/rollup/browser): fix types export map entry ([@developit](https://togithub.com/developit)) ### [`v3.26.0`](https://togithub.com/rollup/rollup/blob/HEAD/CHANGELOG.md#3260) [Compare Source](https://togithub.com/rollup/rollup/compare/v3.25.3...v3.26.0) *2023-06-30* ##### Features - Add `--filterLogs` CLI flag and `ROLLUP_FILTER_LOGS` environment variable for log filtering ([#5035](https://togithub.com/rollup/rollup/issues/5035)) ##### Pull Requests - [#5035](https://togithub.com/rollup/rollup/pull/5035): Add ability to filterConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), 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.