vue-simple-range-slider
Version:
Change Your numeric value or numeric range value with dragging handles
1,480 lines (842 loc) • 248 kB
Markdown
# rollup changelog
## 2.77.0
_2022-07-15_
### Features
- Introduce `maxParallelFileOps` to limit both read and write operations, default to 20 and replaces `maxParallelFileRead` (#4570)
### Bug Fixes
- Avoid including variables referenced from return statements that are never reached (#4573)
### Pull Requests
- [#4570](https://github.com/rollup/rollup/pull/4570): Introduce maxParallelFileOps to limit parallel writes (@lukastaegert)
- [#4572](https://github.com/rollup/rollup/pull/4572): Document more ways to read package.json in ESM (@berniegp)
- [#4573](https://github.com/rollup/rollup/pull/4573): Do not include unused return expressions (@lukastaegert)
## 2.76.0
_2022-07-08_
### Features
- Allow setting a `sourcmapBaseUrl` for absolute paths in sourcemaps (#4527)
### Bug Fixes
- Support absolute CLI plugin paths on Windows (#4533)
### Pull Requests
- [#4527](https://github.com/rollup/rollup/pull/4527): Add sourcemapBaseUrl option (@nickgarlis)
- [#4533](https://github.com/rollup/rollup/pull/4533): Add support for absolute plugin paths (@ygoe)
- [#4538](https://github.com/rollup/rollup/pull/4538): chore: Included githubactions in the dependabot config (@naveensrinivasan)
- [#4546](https://github.com/rollup/rollup/pull/4546): Adapt Node versions on CI to prepare for v3 (@lukastaegert)
- [#4556](https://github.com/rollup/rollup/pull/4556): Improve error message for invalid patterns (@DysphoricUnicorn)
- [#4559](https://github.com/rollup/rollup/pull/4559): Update dependencies (@lukastaegert)
- [#4560](https://github.com/rollup/rollup/pull/4560): Bump peter-evans/create-or-update-comment from 1 to 2 (@dependabot)
- [#4561](https://github.com/rollup/rollup/pull/4561): Bump peter-evans/find-comment from 1 to 2 (@dependabot)
- [#4562](https://github.com/rollup/rollup/pull/4562): Bump codecov/codecov-action from 1 to 3 (@dependabot)
## 2.75.7
_2022-06-20_
### Bug Fixes
- Mark Array.prototype.group/groupToMap as side effect free. (#4531)
### Pull Requests
- [#4523](https://github.com/rollup/rollup/pull/4523): chore: remove source map workaround, bump deps (@dnalborczyk)
- [#4525](https://github.com/rollup/rollup/pull/4525): Add regression tests for instanceof (@lukastaegert)
- [#4528](https://github.com/rollup/rollup/pull/4528): chore: Set permissions for GitHub actions (@naveensrinivasan)
- [#4531](https://github.com/rollup/rollup/pull/4531): fix: rename Array.prototype.group/groupToMap (@dnalborczyk)
- [#4535](https://github.com/rollup/rollup/pull/4535): chore: bump resolve from 1.22.0 to 1.22.1 (@pos777)
## 2.75.6
_2022-06-07_
### Bug Fixes
- Properly deoptimize "this" when using member expressions with getters/setters in for loops and update expressions (#4522)
### Pull Requests
- [#4522](https://github.com/rollup/rollup/pull/4522): Refactor side effect handling for property interactions (@lukastaegert)
## 2.75.5
_2022-06-01_
### Bug Fixes
- Avoid crashes when using logical expressions for unused constructor arguments (#4519)
- Fix missing parameter defaults for calls from try statements and functions returned by functions (#4520)
### Pull Requests
- [#4519](https://github.com/rollup/rollup/pull/4519): Try to make logical expression deoptimization more robust (@lukastaegert)
- [#4520](https://github.com/rollup/rollup/pull/4520): Roll back parameter default tree shaking (@lukastaegert)
## 2.75.4
_2022-05-31_
### Bug Fixes
- Ensure parameter defaults are retained when a function is used as an object property (#4516)
### Pull Requests
- [#4516](https://github.com/rollup/rollup/pull/4516): Deoptimize parameter defaults when referenced from object/array/class literals (@lukastaegert)
## 2.75.3
_2022-05-29_
### Bug Fixes
- Retain parameter defaults for functions that are defaults themselves (#4515)
- Track mutations for objects as default values (#4515)
### Pull Requests
- [#4515](https://github.com/rollup/rollup/pull/4515): Ensure parameter defaults are deoptimized (@lukastaegert)
## 2.75.1
_2022-05-28_
### Pull Requests
- [#4513](https://github.com/rollup/rollup/pull/4513): Update link to node polyfill repo (@lukastaegert)
## 2.75.0
_2022-05-27_
### Features
- Re-implement default parameter tree-shaking for top-level functions (#4510)
- Do not consider calling string methods like `.trim()` on template literals a side effect (#4511)
### Pull Requests
- [#4510](https://github.com/rollup/rollup/pull/4510): Tree-shake parameter defaults (replaces #4498) (@lukastaegert)
- [#4511](https://github.com/rollup/rollup/pull/4511): Tree-shake side-effect-free string methods on template literals (@lukastaegert)
## 2.74.1
_2022-05-19_
### Bug Fixes
- Revert #4498 until some issues are understood and resolved
## 2.74.0
_2022-05-19_
### Features
- Remove unneeded default values for function parameters (#4498)
### Bug Fixes
- Use a consistent mechanism to resolve the config file to avoid issues on Windows (#4501)
- Avoid an inaccurate warning about an event emitter leak for complicated builds (#4502)
- Ensure that reexporting values from other chunks via dynamic imports does not reference non-imported variables (#4499)
### Pull Requests
- [#4498](https://github.com/rollup/rollup/pull/4498): Tree shake parameter defaults (@lukastaegert)
- [#4499](https://github.com/rollup/rollup/pull/4499): Ensure reexports are available for namespaces (@lukastaegert)
- [#4501](https://github.com/rollup/rollup/pull/4501): fix: config path problem on windows (@pos777)
- [#4502](https://github.com/rollup/rollup/pull/4502): Avoid maximum listeners exceeded warning (@lukastaegert)
## 2.73.0
_2022-05-13_
### Features
- Do not treat Object.defineProperty/ies as side effect when called on an unused object (#4493)
- Do not assume that assigning a property can create a getter with side effects (#4493)
- Do not treat string.prototype.replace(All) as side effect when used with two literals (#4493)
### Bug Fixes
- Detect side effects when manually declaring getters on functions (#4493)
### Pull Requests
- [#4493](https://github.com/rollup/rollup/pull/4493): Handle getters on functions and improve property deoptimization (@lukastaegert)
- [#4494](https://github.com/rollup/rollup/pull/4494): Do not treat string.replace as side effect when used with a literal (@lukastaegert)
- [#4495](https://github.com/rollup/rollup/pull/4495): Update docs for --configPlugin using typescript (@Jimmydalecleveland)
## 2.72.1
_2022-05-07_
### Bug Fixes
- Improve tree-shaking of classes with super classes in certain scenarios (#4489)
### Pull Requests
- [#4489](https://github.com/rollup/rollup/pull/4489): Do not deoptimize entire super class when adding a property (@lukastaegert)
## 2.72.0
_2022-05-05_
### Features
- Add CLI hooks to run external commands at certain points in watch mode (#4457)
### Bug Fixes
- Fix an issue that could accidentally treat relevant assignments as side effect free (#4486)
### Pull Requests
- [#4457](https://github.com/rollup/rollup/pull/4457): feat: CLI event hook flags (@Harris-Miller)
- [#4486](https://github.com/rollup/rollup/pull/4486): Fix reassignment tracking (@lukastaegert)
## 2.71.1
_2022-04-30_
### Bug Fixes
- Allow importing loadConfigFile without extension (#4483)
### Pull Requests
- [#4483](https://github.com/rollup/rollup/pull/4483): Add exports exception for loadConfigFile (@lukastaegert)
## 2.71.0
_2022-04-30_
## Features
- Mark `Object.hasOwn` as pure (#4482)
### Bug Fixes
- Prevent infinite recursion and display proper warning for recursive reexports (#4472)
- Fix type issue in TypeScript nightly (#4471)
### Pull Requests
- [#4467](https://github.com/rollup/rollup/pull/4467): docs: update deprecated option in tools.md (@kimjh96)
- [#4471](https://github.com/rollup/rollup/pull/4471): Fix: tsc did not build (@frank-dspeed)
- [#4472](https://github.com/rollup/rollup/pull/4472): Throw proper error when indirectly reexporting a recursive binding (@lukastaegert)
- [#4475](https://github.com/rollup/rollup/pull/4475): chore: bump deps (#4475) (@dnalborczyk)
- [#4477](https://github.com/rollup/rollup/pull/4477): chore: bump github actions (@dnalborczyk)
- [#4478](https://github.com/rollup/rollup/pull/4478): ci: test with node.js v18, remove v17 (@dnalborczyk)
- [#4479](https://github.com/rollup/rollup/pull/4479): chore(repo): replace `git.io` in the issue template (@SukkaW)
- [#4482](https://github.com/rollup/rollup/pull/4482): feat: add Object.hasOwn as pure function (@dnalborczyk)
## 2.70.2
_2022-04-15_
### Bug Fixes
- Do not enforce undefined return values in TypeScript types (#4463)
### Pull Requests
- [#4463](https://github.com/rollup/rollup/pull/4463): use void for options hook instead of undefined (@ycmjason)
## 2.70.1
_2022-03-14_
### Bug Fixes
- Handle unfinished hook action errors as regular errors and avoid console logging (#4434)
- Allow access to "dist" folder in a Node 17 compatible way (#4436)
### Pull Requests
- [#4434](https://github.com/rollup/rollup/pull/4434): Track unfinished hook actions as regular errors (@lukastaegert)
- [#4436](https://github.com/rollup/rollup/pull/4436): Update package.json (@frank-dspeed)
## 2.70.0
_2022-03-07_
### Features
- Make the `watchChange` and `closeWatcher` hooks asynchronous and make Rollup wait for these hooks before continuing (#4427)
### Bug Fixes
- Do not abort watch mode for errors in `watchChange` but display them properly (#4427)
### Pull Requests
- [#4427](https://github.com/rollup/rollup/pull/4427): Do not abort watch mode on errors in watchChange (@lukastaegert)
## 2.69.2
_2022-03-06_
### Bug Fixes
- Mark `Object.entries` and `Object.fromEntries` as pure (#4429)
- Make sure new properties on Array.prototype and Object.prototype are not evaluated as "undefined" (#4428)
### Pull Requests
- [#4428](https://github.com/rollup/rollup/pull/4428): Treat unknown prototype props as unknown (@lukastaegert)
- [#4429](https://github.com/rollup/rollup/pull/4429): Treat unknown prototype props as unknown (@869288142)
## 2.69.1
_2022-03-04_
### Bug Fixes
- Approximate source position instead of ignoring it when using a low-resolution source map in a transform hook (#4334)
### Pull Requests
- [#4334](https://github.com/rollup/rollup/pull/4334): fix(sourcemap): fall back to low-resolution line mapping (@aleclarson and @lukastaegert)
## 2.69.0
_2022-03-02_
### Features
- Introduce new `output.generatedCode.symbols` to control the usage of Symbols in Rollup-generated code (#4378)
- soft-deprecate `output.namespaceToStringTag` in favor of `output.generatedCode.symbols` (#4378)
### Bug Fixes
- Properly handle `./` and `../` as external dependencies (#4419)
- Make generated "Module" namespace toStringTag non-enumerable for correct Object.assign/spread behaviour (#4378)
- Add file name to error when top-level-await is used in disallowed formats (#4421)
### Pull Requests
- [#4378](https://github.com/rollup/rollup/pull/4378): Make namespace @@toStringTag "Module" non-enumerable (@dnalborczyk and @lukastaegert)
- [#4413](https://github.com/rollup/rollup/pull/4413): refactor: some code and type fixes (@dnalborczyk)
- [#4418](https://github.com/rollup/rollup/pull/4418): chore: bump deps (@dnalborczyk)
- [#4419](https://github.com/rollup/rollup/pull/4419): Properly handle upper directories as external dependencies (@lukastaegert)
- [#4421](https://github.com/rollup/rollup/pull/4421): Improve the error prompt and output the error file name (@caoxiemeihao)
- [#4423](https://github.com/rollup/rollup/pull/4423): Update 999-big-list-of-options.md (@leoj3n)
## 2.68.0
_2022-02-22_
### Features
- provide information about cached import resolutions in `shouldTransformCachedModule` (#4414)
- Add "types" field to Rollup's package exports (#4416)
### Pull Requests
- [#4410](https://github.com/rollup/rollup/pull/4410): refactor: use map for declarations and name suggestions (@dnalborczyk)
- [#4411](https://github.com/rollup/rollup/pull/4411): refactor: use map for namespace reexports by name (@dnalborczyk)
- [#4412](https://github.com/rollup/rollup/pull/4412): refactor: use includes where appropriate (@dnalborczyk)
- [#4414](https://github.com/rollup/rollup/pull/4414): Add resolved sources to shouldTransformCachedModule (@lukastaegert)
- [#4416](https://github.com/rollup/rollup/pull/4416): Add Typescript 4.5 nodenext node12 module resolution support (@frank-dspeed)
## 2.67.3
_2022-02-18_
### Bug Fixes
- Do not swallow other errors when unfinished hook actions are detected (#4409)
- Add additional information to output when there are unfinished hook actions (#4409)
### Pull Requests
- [#4399](https://github.com/rollup/rollup/pull/4399): docs: remove const (@TrickyPi)
- [#4401](https://github.com/rollup/rollup/pull/4401): Improve test stability by getting independent of module id ordering in more places (@lukastaegert)
- [#4403](https://github.com/rollup/rollup/pull/4403): fix: remove unnecessary property descriptor spread (@dnalborczyk)
- [#4404](https://github.com/rollup/rollup/pull/4404): refactor: use map for import descriptions + re-export descriptions (@dnalborczyk)
- [#4405](https://github.com/rollup/rollup/pull/4405): refactor: module exports to map (@dnalborczyk)
- [#4406](https://github.com/rollup/rollup/pull/4406): Fix a typo in 'Direct plugin communication' code example (@younesmln)
- [#4407](https://github.com/rollup/rollup/pull/4407): Document how resolveId is cached (@lukastaegert)
- [#4409](https://github.com/rollup/rollup/pull/4409): Print ids for unfinished moduleParsed and shouldTransformCachedModule hooks (@lukastaegert)
## 2.67.2
_2022-02-10_
### Bug Fixes
- Ensure consistent order between manual chunks to fix hashing issues (#4397)
### Pull Requests
- [#4390](https://github.com/rollup/rollup/pull/4390): refactor: add @types/estree explicitly, fix dynamic type imports (@dnalborczyk)
- [#4391](https://github.com/rollup/rollup/pull/4391): chore: remove acorn-walk ambient type definitions (@dnalborczyk)
- [#4397](https://github.com/rollup/rollup/pull/4397): Sort manual chunks generated via a function by name (@lukastaegert)
## 2.67.1
_2022-02-07_
### Bug Fixes
- Make chunk file and variable names more deterministic when emitting chunks (#4386)
- Improve default module resolver performance by using non-blocking IO (#4386)
### Pull Requests
- [#4373](https://github.com/rollup/rollup/pull/4373): fix: even more types (@dnalborczyk)
- [#4382](https://github.com/rollup/rollup/pull/4382): Update contribution tut link desc (@lemredd)
- [#4383](https://github.com/rollup/rollup/pull/4383): chore: bump deps (@dnalborczyk)
- [#4384](https://github.com/rollup/rollup/pull/4384): chore: move "wait" to utils + re-use (@dnalborczyk)
- [#4385](https://github.com/rollup/rollup/pull/4385): refactor: convert watch tests to async functions (@dnalborczyk)
- [#4386](https://github.com/rollup/rollup/pull/4386): refactor: use fs.promises in resolve id, Part 4 (@dnalborczyk and @lukastaegert)
- [#4389](https://github.com/rollup/rollup/pull/4389): refactor: use fs.promises in generate license file, rollup config, Part 5 (@dnalborczyk)
## 2.67.0
_2022-02-02_
### Features
- Improve side effect detection when using Array.prototype.groupBy/groupByToMap (#4360)
- Allow changing `moduleSideEffects` at any time during the build (#4379)
- Soft-deprecate `ModuleInfo.hasModuleSideEffects` in favour of `ModuleInfo.moduleSideEffects` (#4379)
### Bug Fixes
- Do not include queries and hashes in generated file names when preserving modules (#4374)
### Pull Requests
- [#4319](https://github.com/rollup/rollup/pull/4319): refactor: use fs, fs-extra, remove sander (@dnalborczyk)
- [#4360](https://github.com/rollup/rollup/pull/4360): feat: add Array.prototype.groupBy/groupByToMap (@dnalborczyk)
- [#4361](https://github.com/rollup/rollup/pull/4361): fix: more types (@dnalborczyk)
- [#4369](https://github.com/rollup/rollup/pull/4369): fix: remove acorn-walk patch (@dnalborczyk)
- [#4371](https://github.com/rollup/rollup/pull/4371): refactor: use fs.promises in cli/run (@dnalborczyk)
- [#4372](https://github.com/rollup/rollup/pull/4372): refactor: use fs.promises in module loader (@dnalborczyk)
- [#4374](https://github.com/rollup/rollup/pull/4374): Ignore queries and hashes in file names when preserving modules (@lukastaegert)
- [#4375](https://github.com/rollup/rollup/pull/4375): Fix typo in \_config.js (@eltociear)
- [#4376](https://github.com/rollup/rollup/pull/4376): refactor: fs.promises, move mkdir to writeoutputfile, Part 3 (@dnalborczyk)
- [#4379](https://github.com/rollup/rollup/pull/4379): Deprecate hasModuleSideEffects in favor of moduleSideEffects and ensure it is mutable on ModuleInfo (@lukastaegert)
## 2.66.1
_2022-01-25_
### Bug Fixes
- Only warn for conflicting names in namespace reexports if it actually causes problems (#4363)
- Only allow explicit exports or reexports as synthetic namespaces and hide them from namespace reexports (#4364)
### Pull Requests
- [#4362](https://github.com/rollup/rollup/pull/4362): refactor: convert exportsByName object to map (@dnalborczyk)
- [#4363](https://github.com/rollup/rollup/pull/4363): Do not warn unnecessarily for namespace conflicts (@lukastaegert)
- [#4364](https://github.com/rollup/rollup/pull/4364): Do not expose synthetic namespace export in entries and namespaces (@lukastaegert)
## 2.66.0
_2022-01-22_
### Features
- Note if a module has a default export in ModuleInfo to allow writing better proxy modules (#4356)
- Add option to wait until all imported ids have been resolved when awaiting `this.load` (#4358)
### Pull Requests
- [#4356](https://github.com/rollup/rollup/pull/4356): Add hasDefaultExport to ModuleInfo (@lukastaegert)
- [#4358](https://github.com/rollup/rollup/pull/4358): Add "resolveDependencies" option to "this.load" (@lukastaegert)
## 2.65.0
_2022-01-21_
### Features
- Add complete import resolution objects to ModuleInfo for use in `this.load` (#4354)
### Bug Fixes
- Use correct context in plugin hooks with `perf: true` (#4357)
### Pull Requests
- [#4351](https://github.com/rollup/rollup/pull/4351): refactor: re-use source mapping url (@dnalborczyk)
- [#4352](https://github.com/rollup/rollup/pull/4352): refactor: replace require-relative with built-in require.resolve (@dnalborczyk)
- [#4353](https://github.com/rollup/rollup/pull/4353): chore: bump deps (@dnalborczyk)
- [#4354](https://github.com/rollup/rollup/pull/4354): Add importedIdResolutions to moduleInfo (@lukastaegert)
- [#4355](https://github.com/rollup/rollup/pull/4355): chore: remove external from config (@dnalborczyk)
- [#4357](https://github.com/rollup/rollup/pull/4357): fix: timed plugin context (@dnalborczyk)
## 2.64.0
_2022-01-14_
### Features
- Allow inspecting cached modules and forcing them to be transformed again via shouldTransformCachedModule (#4320)
- Do not wait for the config file to be parsed in watch mode if it is updated before that (#4344)
### Bug Fixes
- Do not mutate objects returned as `meta` from the resolveId hook (#4347)
### Pull Requests
- [#4326](https://github.com/rollup/rollup/pull/4326): refactor: type fixes (@dnalborczyk)
- [#4339](https://github.com/rollup/rollup/pull/4339): More watch test stabilization (@lukastaegert)
- [#4340](https://github.com/rollup/rollup/pull/4340): refactor: performance timers for node.js and browser (@dnalborczyk)
- [#4341](https://github.com/rollup/rollup/pull/4341): Implement shouldTransformCachedModule hook (@lukastaegert)
- [#4344](https://github.com/rollup/rollup/pull/4344): Directly restart Rollup when config file change is detected in watch mode (@lukastaegert)
- [#4347](https://github.com/rollup/rollup/pull/4347): Create a shallow copy when returning meta from resolveId (@lukastaegert)
## 2.63.0
_2022-01-04_
### Features
- Report a helpful error if rollup exits due to an empty event loop when using `this.load` (#4320)
- Allow directly mutating ModuleInfo.meta for modules and never replace this object (#4328)
- Detect additional side effect free array prototype methods (#4332)
### Bug Fixes
- Do not watch if CLI watch options are specified but `--watch` is missing (#4335)
### Pull Requests
- [#4320](https://github.com/rollup/rollup/pull/4320): Detect unfulfilled async hook actions and report error on exit (@kzc)
- [#4328](https://github.com/rollup/rollup/pull/4328): Make initial ModuleInfo.meta mutable and maintain object identity (@lukastaegert)
- [#4318](https://github.com/rollup/rollup/pull/4318): Stabilize watch tests (@lukastaegert)
- [#4331](https://github.com/rollup/rollup/pull/4331): Improve JS docs example (@lukastaegert)
- [#4332](https://github.com/rollup/rollup/pull/4332): add support for Array.prototype.findLast,findLastIndex (@dnalborczyk)
- [#4333](https://github.com/rollup/rollup/pull/4333): convert utils.transform to async function (@dnalborczyk)
- [#4335](https://github.com/rollup/rollup/pull/4335): Do not watch unless --watch is specified explicitly (@lukastaegert)
- [#4338](https://github.com/rollup/rollup/pull/4338): Add build delay for plugin event test (@lukastaegert)
## 2.62.0
_2021-12-24_
### Features
- Mark additional string prototype methods as side-effect-free and correct typings of existing ones (#4299)
- Mark additional array prototype methods as side-effect-free and correct typings of existing ones (#4309)
- Expose if a module is included after tree-shaking in its ModuleInfo (#4305)
### Bug Fixes
- Fix how fsevents is included to improve watch mode on MacOS (#4312)
### Pull Requests
- [#4299](https://github.com/rollup/rollup/pull/4299): Add additional string prototype methods (@dnalborczyk)
- [#4300](https://github.com/rollup/rollup/pull/4300): Bump deps, fix expected test result for core-js (@dnalborczyk)
- [#4302](https://github.com/rollup/rollup/pull/4302): Replace type assertion with type guard (@dnalborczyk)
- [#4304](https://github.com/rollup/rollup/pull/4304): Re-use reserved names set (@dnalborczyk)
- [#4305](https://github.com/rollup/rollup/pull/4305): Expose isIncluded in module info (@william57m)
- [#4306](https://github.com/rollup/rollup/pull/4306): Fix git line breaks on windows (@dnalborczyk)
- [#4307](https://github.com/rollup/rollup/pull/4307): Add macos to pipeline (@dnalborczyk)
- [#4309](https://github.com/rollup/rollup/pull/4309): Add additional array prototype methods (@dnalborczyk)
- [#4311](https://github.com/rollup/rollup/pull/4311): Add Deno instructions to docs (@jespertheend)
- [#4312](https://github.com/rollup/rollup/pull/4312): fsevents integration (@dnalborczyk)
- [#4313](https://github.com/rollup/rollup/pull/4313): Remove non-existing static functions from known globals (@dnalborczyk)
## 2.61.1
_2021-12-11_
### Bug Fixes
- Only resolve this.load once the code of the module is available (#4296)
### Pull Requests
- [#4296](https://github.com/rollup/rollup/pull/4296): Make sure this.load waits for modules that are already loading (@lukastaegert)
- [#4298](https://github.com/rollup/rollup/pull/4298): use set for reserved words (@dnalborczyk)
## 2.61.0
_2021-12-09_
### Features
- Support ergonomic brand checks for private fields (#4293)
### Bug Fixes
- Improve handling of directory creation on systems with restrictive open files limit (#4288)
### Pull Requests
- [#4288](https://github.com/rollup/rollup/pull/4288): modifymkdirpath (@mgrabowski84)
- [#4293](https://github.com/rollup/rollup/pull/4293): bump deps (@dnalborczyk)
## 2.60.2
_2021-11-30_
### Bug Fixes
- Produce correct output when dynamic import paths contain quotes (#4286)
### Pull Requests
- [#4286](https://github.com/rollup/rollup/pull/4286): Escape dynamic import paths (@danielroe)
## 2.60.1
_2021-11-22_
### Bug Fixes
- Make sure virtual files have proper file extensions when preserving modules (#4270)
### Pull Requests
- [#4270](https://github.com/rollup/rollup/pull/4270): Use entryFileNames when generating filenames for virtual modules (@BPScott)
## 2.60.0
_2021-11-11_
### Features
- Add `this.load` context function to load, transform and parse modules without adding them to the graph (#4234)
- Sanitize non-url-safe characters in generated chunk names by default (#4262)
- Support ESM plugins via command line (#4265)
### Pull Requests
- [#4234](https://github.com/rollup/rollup/pull/4234): Plugin context function for pre-loading modules (@lukastaegert)
- [#4262](https://github.com/rollup/rollup/pull/4262): exclude invalid URL chars (@danielroe)
- [#4265](https://github.com/rollup/rollup/pull/4265): support loading ESM plugins from the CLI via --plugin (@kzc)
## 2.59.0
_2021-11-01_
### Features
- Support static class initialization blocks (#4249)
### Bug Fixes
- Fix an issue with the CommonJS plugin when module.exports has inherited properties (#4256)
### Pull Requests
- [#4236](https://github.com/rollup/rollup/pull/4236): typescript bug class field initialization order (@dnalborczyk)
- [#4249](https://github.com/rollup/rollup/pull/4249): Support for class static initialization block (@dnalborczyk and @lukastaegert)
- [#4256](https://github.com/rollup/rollup/pull/4256): Skip inherited properties in synthetic namespaces (@lukastaegert)
## 2.58.3
_2021-10-25_
### Bug Fixes
- Republish 2.58.1 with npm 6 as files were missing
## 2.58.2
_2021-10-25_
### Bug Fixes
- Republish 2.58.1 as files were missing
## 2.58.1
_2021-10-25_
### Bug Fixes
- Fix an issue with the CommonJS plugin when module.exports is falsy (#4247)
### Pull Requests
- [#4247](https://github.com/rollup/rollup/pull/4247): Handle falsy synthetic namespaces (@lukastaegert)
## 2.58.0
_2021-10-01_
### Features
- Add a flag to more reliably identify entry points in the `resolveId` hook (#4230)
### Pull Requests
- [#4230](https://github.com/rollup/rollup/pull/4230): Add isEntry flag to resolveId and this.resolve (@lukastaegert)
- [#4233](https://github.com/rollup/rollup/pull/4233): Remove unused rollup-plugin-typescript ambient module types (@dnalborczyk)
- [#4235](https://github.com/rollup/rollup/pull/4235): Update dependencies (@lukastaegert)
## 2.57.0
_2021-09-22_
### Features
- Add `generatedCode` option to allow Rollup to use es2015 features for smaller output and more efficient helpers (#4215)
- Improve AMD and SystemJS parsing performance by wrapping relevant functions in parentheses (#4215)
- Using `preferConst` will now show a warning with `strictDeprecations: true` (#4215)
### Bug Fixes
- Improve ES3 syntax compatibility by more consequently quoting reserved words as props in generated code (#4215)
- Do not use `Object.assign` in generated code to ensure ES5 compatibility without the need for polyfills (#4215)
- Support live-bindings in dynamic namespace objects that contain reexported external or synthetic namespaces (#4215)
- Use correct "this" binding in dynamic import expressions for CommonJS and AMD (#4215)
- Properly handle `shimMissingExports` for exports that are only used internally (#4215)
- Prevent unhandled rejection for failed module parsing (#4228)
### Pull Requests
- [#4212](https://github.com/rollup/rollup/pull/4212): chore: remove unused ambient types (@dnalborczyk)
- [#4215](https://github.com/rollup/rollup/pull/4215): Use ES2015 features in generated code snippets (@lukastaegert)
- [#4219](https://github.com/rollup/rollup/pull/4219): chore: bump rollup typescript, remove unused micromatch (@dnalborczyk)
- [#4220](https://github.com/rollup/rollup/pull/4220): chore: use forceConsistentCasingInFileNames in ts-config (@dnalborczyk)
- [#4224](https://github.com/rollup/rollup/pull/4224): prepare for useDefineForClassFields (@dnalborczyk)
- [#4228](https://github.com/rollup/rollup/pull/4228): fix: prevent UnhandledPromiseRejectionWarning when module resolution/parsing fails (@kherock)
## 2.56.3
_2021-08-23_
### Bug Fixes
- Make sure moduleInfo contains complete information about imported ids in the moduleParsed hook (#4208)
### Pull Requests
- [#4208](https://github.com/rollup/rollup/pull/4208): `ModuleInfo.importedIds` will return null if `resolvedIds[source]` is undefined (@FoxDaxian and @lukastaegert)
## 2.56.2
_2021-08-10_
### Bug Fixes
- Check if after simplification, an object pattern would become an expression statement or arrow function return value (#4204)
### Pull Requests
- [#4204](https://github.com/rollup/rollup/pull/4204): Do not create invalid code when simplifying object pattern assignments (@lukastaegert)
## 2.56.1
_2021-08-08_
### Bug Fixes
- Fix rendering of SystemJS export declarations initialized with a simplifiable expression (#4202)
### Pull Requests
- [#4202](https://github.com/rollup/rollup/pull/4202): Fix incorrect rendering of export declarations in SystemJS (@lukastaegert)
## 2.56.0
_2021-08-05_
### Features
- Create more efficient code for SystemJS exports (#4199)
- Extend `maxParallelFileReads` option to also throttle plugin load hooks (#4200)
### Bug Fixes
- Return correct value for postfix update expressions of exported variables (#4194)
### Pull Requests
- [#4199](https://github.com/rollup/rollup/pull/4199): Refine SystemJS export rendering (@lukastaegert)
- [#4200](https://github.com/rollup/rollup/pull/4200): Restrict parallel execution of load hook (@schummar)
## 2.55.1
_2021-07-29_
### Bug Fixes
- Improve CLI warning message for unused external imports (#4194)
### Pull Requests
- [#4194](https://github.com/rollup/rollup/pull/4194): Align batch warning for UNUSED_EXTERNAL_IMPORT to individual warning (@benmccann)
## 2.55.0
_2021-07-28_
### Features
- Support default export live-bindings when generating ESM output (#4182)
### Bug Fixes
- Always write `["default"]` as computed property when used as named export (#4182)
- Do not mask default export TDZ errors (#4182)
### Pull Requests
- [#4182](https://github.com/rollup/rollup/pull/4182): Use mutable bindings for default exports (@lukastaegert)
## 2.54.0
_2021-07-25_
### Features
- Extend UMD import.meta.url polyfill to support web workers (#4186)
### Bug Fixes
- Resolve an issue where certain uses of classes could lead to an infinite recursion (#4189)
### Pull Requests
- [#4186](https://github.com/rollup/rollup/pull/4186): Fix UMD import.meta.url inside web workers (@ceifa)
- [#4188](https://github.com/rollup/rollup/pull/4188): Fix typo in renderHelpers.ts (@eltociear)
- [#4189](https://github.com/rollup/rollup/pull/4189): Move long path recursion prevention to MemberExpression (@lukastaegert)
- [#4190](https://github.com/rollup/rollup/pull/4190): Stop recommending node-builtins (@curran)
## 2.53.3
_2021-07-21_
### Bug Fixes
- Solve an issue that could lead to severe memory issues and crashes when there are a lot of hoisted variables (#4183)
### Pull Requests
- [#4183](https://github.com/rollup/rollup/pull/4183): Avoid memory issues with hoisted variables (@lukastaegert)
## 2.53.2
_2021-07-15_
### Bug Fixes
- Identify additional TDZ situations in functions that are run more than once (#4177)
- Fix a scoping issue when a variable inside a catch scope matches the scope parameter's name (#4178)
### Pull Requests
- [#4177](https://github.com/rollup/rollup/pull/4177): Fix additional let/var init bugs (@kzc)
- [#4178](https://github.com/rollup/rollup/pull/4178): Correctly create outside variable when shadowed by catch parameter (@lukastaegert)
## 2.53.1
_2021-07-11_
### Bug Fixes
- Do not omit namespace reexports when `treeshake` is `false` (#4175)
### Pull Requests
- [#4175](https://github.com/rollup/rollup/pull/4175): Generate namespace objects when not tree-shaking (@lukastaegert)
## 2.53.0
_2021-07-09_
### Features
- Add `maxParallelFileReads` option to limit read operations with a default of 20 (#4170)
### Pull Requests
- [#4170](https://github.com/rollup/rollup/pull/4170): Limit parallel file reads to prevent "EMFILE: too many open files" error (@schummar)
## 2.52.8
_2021-07-07_
### Bug Fixes
- Automatically handle many use `var` before declaration and TDZ access scenarios correctly without the need for `treeshake.correctVarValueBeforeDeclaration` (#4148)
### Pull Requests
- [#4148](https://github.com/rollup/rollup/pull/4148): Fix var/const/let variable use before declaration (@kzc and @lukastaegert)
## 2.52.7
_2021-07-02_
### Bug Fixes
- Fix an issue where reassignments where not tracked through async function returns (#4163)
### Pull Requests
- [#4163](https://github.com/rollup/rollup/pull/4163): Deoptimize return values of async functions (@lukastaegert)
## 2.52.6
_2021-07-01_
### Bug Fixes
- Fix an issue where reassignments where not tracked through an await expression (#4162)
### Pull Requests
- [#4162](https://github.com/rollup/rollup/pull/4162): doptimize awaited expressions (@lukastaegert)
## 2.52.5
_2021-07-01_
### Bug Fixes
- Properly display parser errors not tied to a code location (#4160)
### Pull Requests
- [#4160](https://github.com/rollup/rollup/pull/4160): fix: max stack call error is caught on locate (@semoal)
## 2.52.4
_2021-06-30_
### Bug Fixes
- Fix an error when external namespaces are reexported across several files (#4159)
### Pull Requests
- [#4159](https://github.com/rollup/rollup/pull/4159): Properly handle double reexports from external namespaces (@lukastaegert)
## 2.52.3
_2021-06-25_
### Bug Fixes
- Fix an issue where code was wrongly removed when using vars in nested scopes (#4149)
### Pull Requests
- [#4149](https://github.com/rollup/rollup/pull/4149): Make sure the initializer of hoisted variables is deoptimized (@lukastaegert)
## 2.52.2
_2021-06-21_
### Bug Fixes
- Support falsy plugins in types (#4144)
- Do not require return value in renderChunkHook type (#4144)
### Pull Requests
- [#4144](https://github.com/rollup/rollup/pull/4144): Use TypeScript config and improve some types (@lukastaegert)
## 2.52.1
_2021-06-17_
### Bug Fixes
- Fix a memory leak in watch mode (#4142)
### Pull Requests
- [#4142](https://github.com/rollup/rollup/pull/4142): Make array and object prototype singletons immutable for now (@lukastaegert)
## 2.52.0
_2021-06-16_
### Features
- Add `--configPlugin` CLI option to apply plugins to the config file for e.g. TypeScript configs (#3835)
- Add "safest" and "smallest" presets to tree-shaking options for easier configuration (#4131)
- Add `treeshake.correctVarValueBeforeDeclaration` option to deoptimize `var` declarations (#4139)
### Pull Requests
- [#3835](https://github.com/rollup/rollup/pull/3835): Add typescript config support (@TheRealSyler)
- [#4131](https://github.com/rollup/rollup/pull/4131): Add presets to the tree-shaking options (@lukastaegert)
- [#4139](https://github.com/rollup/rollup/pull/4139): Add option to deoptimize var declarations for tree-shaking (@lukastaegert)
- [#4141](https://github.com/rollup/rollup/pull/4141): Update dependencies (@lukastaegert)
## 2.51.2
_2021-06-11_
### Bug Fixes
- Include modules imported from no-treeshake modules even if they would be empty (#4138)
### Pull Requests
- [#4138](https://github.com/rollup/rollup/pull/4138): Include all dependencies from modules with no-treeshake (@lukastaegert)
## 2.51.1
_2021-06-08_
### Bug Fixes
- Fix error when using `defineConfig` (#4134)
### Pull Requests
- [#4134](https://github.com/rollup/rollup/pull/4134): export `rollup.defineConfig` at runtime (@mshrtsr)
## 2.51.0
_2021-06-06_
### Features
- Add a helper for IntelliSense support in config files (#4127)
### Bug Fixes
- Improve performance when generating source maps (#4122)
### Pull Requests
- [#4122](https://github.com/rollup/rollup/pull/4122): User Map to optimize performance (@izevo)
- [#4127](https://github.com/rollup/rollup/pull/4127): Export defineConfig defines the auxiliary function of the configuration (@rxliuli)
## 2.50.6
_2021-06-03_
### Bug Fixes
- Do not consider the object spread operator as side effect when `propertyReadSideEffects` are false (#4119)
- Detect side effects when returning thenables from async arrow functions (#4120)
### Pull Requests
- [#4119](https://github.com/rollup/rollup/pull/4119): Respect propertyReadSideEffects in spread elements (@lukastaegert)
- [#4120](https://github.com/rollup/rollup/pull/4120): Detect async arrow thenable side effects (@lukastaegert)
## 2.50.5
_2021-05-30_
### Bug Fixes
- Detect side effects when accessing thenables (#4115)
### Pull Requests
- [#4114](https://github.com/rollup/rollup/pull/4114): use `colorette` instead of `turbocolor` (@ryuever)
- [#4115](https://github.com/rollup/rollup/pull/4115): Tracks side effects of thenables (@lukastaegert)
## 2.50.4
_2021-05-29_
### Bug Fixes
- Fix a situation where tree-shaking would stop including nodes prematurely (#4111)
- Track mutations and accessor side effects when using `__proto__` in an object literal (#4112)
- Check for getter effects when spreading an object (#4113)
### Pull Requests
- [#4111](https://github.com/rollup/rollup/pull/4111): Always request a new tree-shaking pass when deoptimizations of a node are first included (@lukastaegert)
- [#4112](https://github.com/rollup/rollup/pull/4112): Actually set the prototype when using a **proto** property (@lukastaegert)
- [#4113](https://github.com/rollup/rollup/pull/4113): Track access side effects when using object spread operator (@lukastaegert)
## 2.50.3
_2021-05-28_
### Bug Fixes
- Wrap parentheses around leading elements in simplified sequence expressions if this would otherwise lead to invalid code (#4110)
- Do not associate block soped variables in catch clauses with the clause parameter (#4108)
- Do not associate hoisted variables in catch clauses with outside variables if they match the parameter (#4108)
- Use correct "this" context for tagged template literal member expressions in simplified sequences (#4110)
### Pull Requests
- [#4108](https://github.com/rollup/rollup/pull/4108): Correctly handle catch declarations (@lukastaegert)
- [#4110](https://github.com/rollup/rollup/pull/4110): Invalid sequence expression simplification (@lukastaegert)
## 2.50.2
_2021-05-27_
### Bug Fixes
- Avoid unnecessary side effects when using methods like `.filter` and `.map` (#4103)
- Avoid crash when a module with moduleSideEffects no-treeshake imports a tree-shaken module (#4104)
### Pull Requests
- [#4103](https://github.com/rollup/rollup/pull/4103): Do not track side-effect-free array methods as side effects (@lukastaegert)
- [#4104](https://github.com/rollup/rollup/pull/4104): Fix crash when using inlineDynamicImports with no-treeshake (@lukastaegert)
## 2.50.1
_2021-05-26_
### Bug Fixes
- Do not associate pure annotations in simplified expressions with wrong elements (#4095)
- Prevent invalid code when simplified conditionals start with an IIFE function expression (#4099)
### Pull Requests
- [#4095](https://github.com/rollup/rollup/pull/4095): Correctly associate pure annotations and remove invalid ones (@lukastaegert)
- [#4099](https://github.com/rollup/rollup/pull/4099): Wrap leading function expression iifes in conditionals (@lukastaegert)
## 2.50.0
_2021-05-25_
### Features
- Only include last elements of comma expressions if they are used or have side effects (#4087)
### Bug Fixes
- Prevent a crash that could occur when calling object methods (#4091)
### Pull Requests
- [#4085](https://github.com/rollup/rollup/pull/4085): Switch to ESLint (@lukastaegert)
- [#4087](https://github.com/rollup/rollup/pull/4087): Drop unused last sequence element (@lukastaegert)
- [#4091](https://github.com/rollup/rollup/pull/4091): Prevent crash for recursive "this" deoptimization (@lukastaegert)
## 2.49.0
_2021-05-23_
### Features
- Detect side-effect-free static class methods and properties (#4018)
- Detect side-effect-free array elements (#4018)
- Do not apply deoptimizations from dead code (#4018)
### Bug Fixes
- Handle side effect detection for getters and setters added in untracked code (#4018)
- Track "this" mutations for methods, getters and setters (#4018)
### Pull Requests
- [#4018](https://github.com/rollup/rollup/pull/4018): Class method effects (@marijnh and @lukastaegert)
## 2.48.0
_2021-05-15_
### Features
- Add replacement to conditionally insert asset extensions in `entryFileNames` when preserving modules (#4077)
### Bug Fixes
- Fix crash when dynamically assigning to namespace members (#4070)
- Do not associate pure annotations in front of a semi-colon or comma with succeeding code (#4068)
### Pull Requests
- [#4068](https://github.com/rollup/rollup/pull/4068): ignore invalid trailing pure annotations (@kzc)
- [#4070](https://github.com/rollup/rollup/pull/4070): undefined `deoptimizePath` when the first element is empty string (@si3nloong)
- [#4071](https://github.com/rollup/rollup/pull/4071): add node.js v16 support (@dnalborczyk)
- [#4077](https://github.com/rollup/rollup/pull/4077): Add assetExtname replacement in entryFileNames (@BPScott)
- [#4080](https://github.com/rollup/rollup/pull/4080): Added Rollup logo in README.md (@priyanshurav)
- [#4081](https://github.com/rollup/rollup/pull/4081): fix comment regarding invalid annotation handling (@kzc)
## 2.47.0
_2021-05-04_
### Features
- Warn about ambiguous imports from combined external namespace reexports (#4064)
- In case of combined namespace reexports, always prefer local exports over external namespaces (#4064)
- Treat conflicting names in local namespace reexports as undefined (#4064)
### Pull Requests
- [#4064](https://github.com/rollup/rollup/pull/4064): Prefer locally defined exports and reexports over external namespaces (@lukastaegert)
## 2.46.0
_2021-04-29_
### Features
- Add option to disable file name sanitation (#4058)
- Add information about importers to unused external import warning (#4054)
### Pull Requests
- [#4042](https://github.com/rollup/rollup/pull/4042): Use Github actions only (@lukastaegert)
- [#4045](https://github.com/rollup/rollup/pull/4045): Fix REPL artefact branch reference (@lukastaegert)
- [#4046](https://github.com/rollup/rollup/pull/4046): Use codecov action for coverage (@lukastaegert)
- [#4054](https://github.com/rollup/rollup/pull/4054): Add to `UNUSED_EXTERNAL_IMPORT` warning information about the origin of the problem (@cawa-93)
- [#4058](https://github.com/rollup/rollup/pull/4058): Add sanitizeFileName option (@guybedford)
## 2.45.2
_2021-04-13_
### Bug Fixes
- Do not user a dynamic entry file name for naming a manual chunk (#4040)
### Pull Requests
- [#4040](https://github.com/rollup/rollup/pull/4040): Prioritize manual chunk name over dynamic entry id (@lukastaegert)
## 2.45.1
_2021-04-10_
### Bug Fixes
- Handle falsy return values from async plugin options hooks (#4039)
### Pull Requests
- [#4039](https://github.com/rollup/rollup/pull/4039): Do not fail when returning null or undefined from an async options hook (@lukastaegert)
## 2.45.0
_2021-04-09_
### Features
- Support private class instance methods and accessors (#4034)
### Pull Requests
- [#4034](https://github.com/rollup/rollup/pull/4034): feat: add support for private class methods (@dnalborczyk)
## 2.44.0
_2021-03-29_
### Features
- Add a new option `makeAbsoluteExternalsRelative` to opt out of renormalizing absolute external ids to relative ids (#4021)
- Extend the `resolveId` plugin hook to allow forcing or preventing renormalization of absolute external ids (#4021)
- Make the rendered code of individual modules available in the generated bundle (#4028)
### Bug Fixes
- Handle objects with `__proto__` properties correctly (#4019)
### Pull Requests
- [#4019](https://github.com/rollup/rollup/pull/4019): Deoptimize ObjectExpression when a `__proto__` property is present (@marijnh)
- [#4021](https://github.com/rollup/rollup/pull/4021): Improve absolute path handling (@lukastaegert)
- [#4026](https://github.com/rollup/rollup/pull/4026): chore: fix vscode launch config (change tdd to bdd) (@jameslahm)
- [#4027](https://github.com/rollup/rollup/pull/4027): Post comment for PRs from forks (@lukastaegert)
- [#4028](https://github.com/rollup/rollup/pull/4028): Expose rendered module code to generateBundle hook (@btd)
## 2.43.1
_2021-03-28_
### Bug Fixes
- Prevent infinite recursions in certain scenarios when calling object properties (#4025)
### Pull Requests
- [#4025](https://github.com/rollup/rollup/pull/4025): Handle recursive this mutation detection (@lukastaegert)
## 2.43.0
_2021-03-27_
### Features
- Track side effects of function properties in objects for better tree-shaking (#4011)
### Pull Requests
- [#4011](https://github.com/rollup/rollup/pull/4011): Disable pessimistic object deoptimization for calls when the called function doesn't ref this (@marijnh)
- [#4012](https://github.com/rollup/rollup/pull/4012): fix `sourcemap` reference in docs (@tjenkinson)
- [#4015](https://github.com/rollup/rollup/pull/4015): Use SIGTERM instead of SIGINT to kill test child processes in tests (@marijnh)
## 2.42.4
_2021-03-24_
### Bug Fixes
- Do not discard plugin return values when using perf option (#4010)
### Pull Requests
- [#4010](https://github.com/rollup/rollup/pull/4010): Return hook result inside promise with async timer end (@SuperOleg39)
## 2.42.3
_2021-03-22_
### Bug Fixes
- Do not ignore `#__PURE__` comments in front of optional chaining expressions (#4007)
### Pull Requests
- [#4007](https://github.com/rollup/rollup/pull/4007): Tree-shake pure call expressions with optional chaining (@lukastaegert)
## 2.42.2
_2021-03-22_
### Bug Fixes
- Use correct import.meta.url in relative imports from transpiled config files (#4005)
### Pull Requests
- [#4005](https://github.com/rollup/rollup/pull/4005): Use correct import.meta.url in config files (@lukastaegert)
## 2.42.1
_2021-03-20_
### Bug Fixes
- Do not produce unhandled Promise rejections when plugins throw while using the `perf` option (#4004)
### Pull Requests
- [#4004](https://github.com/rollup/rollup/pull/4004): Fixed unhandled promise rejections (@gluck)
## 2.42.0
_2021-03-19_
### Features
- Prevent infinite loops when several plugins are using `this.resolve` in their resolveId hook (#4000)
### Pull Requests
- [#4000](https://github.com/rollup/rollup/pull/4000): Break infinite loops in this.resolve (@lukastaegert)
## 2.41.5
_2021-03-18_
### Bug Fixes
- Make sure unused property accesses of external namespaces can be tree-shaken (#4001)
### Pull Requests
- [#4001](https://github.com/rollup/rollup/pull/4001): Do not count accessing members of an external namespace as side-effects (@lukastaegert)
## 2.41.4
_2021-03-16_
### Bug Fixes
- Do not replace external namespace imports with individual named imports to avoid changing behaviour with regard to missing exports (#3999)
### Pull Requests
- [#3999](https://github.com/rollup/rollup/pull/3999): Allow to safely probe external namespaces (@lukastaegert)
## 2.41.3
_2021-03-16_
### Bug Fixes
- Always retain arguments passed to empty object pattern parameters (#3998)
### Pull Requests
- [#3998](https://github.com/rollup/rollup/pull/3998): Do not create invalid code if a function argument is an empty object pattern (@lukastaegert)
## 2.41.3
_2021-03-16_
### Bug Fixes
- Always retain arguments passed to empty object pattern parameters (#3998)
### Pull Requests
- [#3998](https://github.com/rollup/rollup/pull/3998): Do not create invalid code if a function argument is an empty object pattern (@lukastaegert)
## 2.41.2
_2021-03-12_
### Bug Fixes
- Also remove sourcemaps comments if plugins return a pre-made ast (#3987)
### Pull Requests
- [#3987](https://github.com/rollup/rollup/pull/3987): Change removal of sourcemap comment (@yannayl)
## 2.41.1
_2021-03-11_
### Pull Requests
- [#3990](https://github.com/rollup/rollup/pull/3990): Add browser sourcemap and remove log (@lukastaegert)
## 2.41.0
_2021-03-09_
### Features
- Add option to `treeshake.propertyReadSideEffects` to keep all property accesses (#3985)
### Bug Fixes
- Also respect pure comment annotations when a plugin provides an AST in the transform hook provided they use this.parse (#3981)
### Pull Requests
- [#3981](https://github.com/rollup/rollup/pull/3981): Move pure comment annotation to Graph.contextParse (@yannayl)
- [#3985](https://github.com/rollup/rollup/pull/3985): implement --treeshake.propertyReadSideEffects=always to handle getters with side effects (@kzc)
## 2.40.0
_2021-02-26_
### Features
- Make sure that entry point variable names take precedence over variable names in dependencies when deconflicting (#3977)
### Bug Fixes
- Replace `:` in generated file names to prevent invalid files on Windows (#3972)
### Pull Requests
- [#3972](https://github.com/rollup/rollup/pull/3972): Don't allow `:` in file names (@lukastaegert)
- [#3976](https://github.com/rollup/rollup/pull/3976): Add soft breaks to guide to improve mobile experience (@lukastaegert)
- [#3977](https://github.com/rollup/rollup/pull/3977): Reverse module deconflicting order (@lukastaegert)
## 2.39.1
_2021-02-23_
### Bug Fixes
- Make sure local variables named Symbol, Object or Promise do not conflict with code generated by Rollup (#3971)
### Pull Requests
- [#3964](https://github.com/rollup/rollup/pull/3964): Remove extra word (@jamonholmgren)
- [#3971](https://github.com/rollup/rollup/pull/3971): Avoid conflicts with local variables named Symbol, Object, Promise (@lukastaegert)
## 2.39.0
_2021-02-12_
### Features
- Add "validate" option to verify generated chunks are valid JavaScript (#3952)
### Bug Fixes
- Always add exports properties for uninitialized named exports (#3957)
- Allow using an external namespace reexport together with named exports (#3959)
- Avoid invalid generated code in certain scenarios with SystemJS exports (#3960)
### Pull Requests
- [#3952](https://github.com/rollup/rollup/pull/3952): implement `validate` output option and `--validate` C