rollup/rollup (rollup)
### [`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 "with" syntax for import attributes is not yet supported, awaiting support in SWC ([#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 `thi s.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))
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:
^3.28.1
->^4.0.0
Release Notes
rollup/rollup (rollup)
### [`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 "with" syntax for import attributes is not yet supported, awaiting support in SWC ([#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 `thi s.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))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.
This PR has been generated by Mend Renovate. View repository job log here.