UNPKG

191 kBMarkdownView Raw
1# rollup changelog
2
3## 2.33.3
4*2020-11-18*
5
6### Bug Fixes
7* Do not use `.js` extension when importing AMD files from a UMD bundle (#3872)
8
9### Pull Requests
10* [#3861](https://github.com/rollup/rollup/pull/3861): Update chat/support links (@shellscape)
11* [#3872](https://github.com/rollup/rollup/pull/3872): Also removeExtensionFromRelativeAmdId in UMD finaliser (@tjenkinson)
12
13## 2.33.2
14*2020-11-14*
15
16### Bug Fixes
17* Fix an issue where statements were ignored after a conditional return in a labeled statement (#3871)
18
19### Pull Requests
20* [#3871](https://github.com/rollup/rollup/pull/3871): Correctly track label usage in try statements (@Amareis)
21
22## 2.33.1
23*2020-11-02*
24
25### Bug Fixes
26* Add `syntheticNamedExports` to `this.getModuleInfo` to align with documentation (#3847)
27
28### Pull Requests
29* [#3847](https://github.com/rollup/rollup/pull/3847): Expose syntheticNamedExports to ModuleInfo (@Amareis)
30* [#3852](https://github.com/rollup/rollup/pull/3852): Fix typo on docs (@jpsc)
31
32## 2.33.0
33*2020-11-01*
34
35### Features
36* Add parameter to "watchChange" hook to denote if a change was an addition, update or deletion (#3841)
37* Add "closeWatcher" hook to allow plugins to clean up resources when the watcher is closed (#3841)
38* Add "this.getWatchFiles" function to plugin context to get the current set of watched files (#3841)
39
40### Pull Requests
41* [#3841](https://github.com/rollup/rollup/pull/3841): Improved watcher hooks (@Amareis)
42* [#3848](https://github.com/rollup/rollup/pull/3848): Add options hook to asyncpluginhooks (@intrnl)
43
44## 2.32.1
45*2020-10-21*
46
47### Bug Fixes
48* Print warning location for plugin warnings if only `loc` is supplied (#3824)
49
50### Pull Requests
51* [#3824](https://github.com/rollup/rollup/pull/3824): plugin warnings not showing warning.loc (@luciotato)
52
53## 2.32.0
54*2020-10-16*
55
56### Features
57* Extend `preserveEntrySignatures` with a value `"exports-only"` to allow extension only if an entry does not have exports (#3823)
58
59### Pull Requests
60* [#3823](https://github.com/rollup/rollup/pull/3823): Add "exports-only" option to preserveSignature (@lukastaegert)
61
62## 2.31.0
63*2020-10-15*
64
65### Features
66* When using the `output.moduleToStringTag` option, also add the tag to entries with exports and simulated external namespaces (#3822)
67* Add the `__esModule` interop marker to IIFE global variables unless `output.esModule` is turned off (#3822)
68
69### Pull Requests
70* [#3822](https://github.com/rollup/rollup/pull/3822): Add module toStringTag to entries and interop namespaces (@lukastaegert)
71
72## 2.30.0
73*2020-10-13*
74
75### Features
76* Add `moduleParsed` hook that is called for each module once code and AST are available (#3813)
77* Include code and AST in `this.getModuleInfo` (#3813)
78
79### Bug Fixes
80* Provide the original Acorn AST instead of the internal one when resolving dynamic imports that contain non-trivial expressions (#3813)
81
82### Pull Requests
83* [#3813](https://github.com/rollup/rollup/pull/3813): Add moduleParsed plugin hook (@lukastaegert)
84* [#3815](https://github.com/rollup/rollup/pull/3815): Docs: wile => while (@tjenkinson)
85* [#3817](https://github.com/rollup/rollup/pull/3817): Docs: fix code snippet (@codefrau)
86* [#3818](https://github.com/rollup/rollup/pull/3818): Update documentation on configuring Babel, removing the section on passing '{"modules": false}' as that is no longer needed since Babel 7 (@Robin-Hoodie)
87
88## 2.29.0
89*2020-10-08*
90
91### Features
92* Allow passing custom options to other plugins via `this.resolve` (#3807)
93* Allow attaching custom meta information to modules when resolving, loading or transforming (#3807)
94* Do not throw but return `null` when using `this.getModuleInfo` for an unknown id (#3807)
95
96### Bug Fixes
97* Trigger build in watch mode when files are added to a watched directory (#3812)
98* Make `code` optional when transforming modules (#3807)
99
100### Pull Requests
101* [#3807](https://github.com/rollup/rollup/pull/3807): Implement new APIs for inter-plugin communication (@lukastaegert)
102* [#3808](https://github.com/rollup/rollup/pull/3808): Document that the default value of --format is 'es' (@jameshfisher)
103* [#3812](https://github.com/rollup/rollup/pull/3812): Watch: listen for new files added to a directory (@dmitrage)
104
105## 2.28.2
106*2020-09-24*
107
108### Bug Fixes
109* Fix a source of possible variable name conflicts when using preserveModules with SystemJS (#3796)
110
111### Pull Requests
112* [#3792](https://github.com/rollup/rollup/pull/3792): add documentation for output.PreserveModulesRoot (@davidroeca)
113* [#3796](https://github.com/rollup/rollup/pull/3796): Fix SystemJS default variable conflict (@lukastaegert)
114
115## 2.28.1
116*2020-09-21*
117
118### Bug Fixes
119* Fix a path slash issue when using the preserveModulesRoot option on Windows (#3791)
120
121### Pull Requests
122* [#3791](https://github.com/rollup/rollup/pull/3791): Fix preserveModulesRoot path on Windows (@lukastaegert)
123
124## 2.28.0
125*2020-09-21*
126
127### Features
128* Add an option to treat modules at a given path as located at root when preserving modules (#3786)
129
130### Pull Requests
131* [#3786](https://github.com/rollup/rollup/pull/3786): Add preserveModulesRoot config option (@davidroeca)
132
133## 2.27.1
134*2020-09-17*
135
136### Bug Fixes
137* Do not fail when using ES module imports in symlinked config files (#3783)
138
139### Pull Requests
140* [#3783](https://github.com/rollup/rollup/pull/3783): Handle loading symlinked config files (@lukastaegert)
141
142## 2.27.0
143*2020-09-16*
144
145### Features
146* Support specifying a file extension when reading from stdin (#3775)
147
148### Bug Fixes
149* Do not break logic if a branch with hoisted variables is tree-shaken in an else-if statement (#3782)
150
151### Pull Requests
152* [#3770](https://github.com/rollup/rollup/pull/3770): Docs: Exception for babel plugin and commonjs plugin (@jsk7)
153* [#3775](https://github.com/rollup/rollup/pull/3775): add ability to specify stdin file extension via --stdin=ext (@kzc)
154* [#3782](https://github.com/rollup/rollup/pull/3782): Handle hoisted variables in dead branches of nested if statements (@lukastaegert)
155
156## 2.26.11
157*2020-09-08*
158
159### Bug Fixes
160* Do not fail for unknown nodes as if statement branches (#3769)
161
162### Pull Requests
163* [#3769](https://github.com/rollup/rollup/pull/3769): Handle debugger statements as if-statement branches (@lukastaegert)
164
165## 2.26.10
166*2020-09-04*
167
168### Bug Fixes
169* Do not create invalid code when simplifying expressions in return statements that contain line comments (#3762)
170
171### Pull Requests
172* [#3757](https://github.com/rollup/rollup/pull/3757): Fix api docs loadconfigfile (@maxwell8888)
173* [#3762](https://github.com/rollup/rollup/pull/3762): Handle line-comments when removing line-breaks to prevent ASI (@lukastaegert)
174
175## 2.26.9
176*2020-09-01*
177
178### Bug Fixes
179* Add regular expression support to watch include/exclude types (#3754)
180
181### Pull Requests
182* [#3754](https://github.com/rollup/rollup/pull/3754): Add RegExp to the include and exclude fields of the WatcherOptions type (@dagda1)
183* [#3756](https://github.com/rollup/rollup/pull/3756): Update FAQ: I think it was meant "external" instead of "other-entry.js" (@madacol)
184
185## 2.26.8
186*2020-08-29*
187
188### Bug Fixes
189* Make sure that both unresolved and resolved ids are passed to the `external` option in all cases (#3753)
190
191### Pull Requests
192* [#3753](https://github.com/rollup/rollup/pull/3753): Also pass resolved ids to external if they use the object for (@lukastaegert)
193
194## 2.26.7
195*2020-08-28*
196
197### Bug Fixes
198* Avoid invalid code when rendering hoisted variable declarations from dead branches (#3752)
199* Mark the `options` parameter of `this.parse` as optional for TypeScript plugins (#3750)
200
201### Pull Requests
202* [#3750](https://github.com/rollup/rollup/pull/3750): Make `options` of `PluginContext#parse` optional (@intrnl)
203* [#3752](https://github.com/rollup/rollup/pull/3752): Extract hoisted variables from dead branches (@lukastaegert)
204
205## 2.26.6
206*2020-08-27*
207
208### Bug Fixes
209* Avoid conflicts between the namespace of synthetic named exports and local variables (#3747)
210
211### Pull Requests
212* [#3747](https://github.com/rollup/rollup/pull/3747): Properly deconflict synthetic named exports (@lukastaegert)
213
214## 2.26.5
215*2020-08-22*
216
217### Bug Fixes
218* Use correctly deconflicted variable names for reexported namespaces in ES formats (#3742)
219
220### Pull Requests
221* [#3742](https://github.com/rollup/rollup/pull/3742): Avoid variable name conflict when reexporting several namespaces from a chunk (@lukastaegert)
222
223## 2.26.4
224*2020-08-19*
225
226### Bug Fixes
227* Fix a situation where invalid code was rendered when dynamically importing a module with synthetic named exports when preserving modules (#3738)
228* Create a proper namespace object when in a non-es format, a namespace is imported from a chunk with `default` export mode (#3738)
229* Use the same variable when in a chunk, a namespace is both imported and reexported as a binding (#3738)
230* Do not include the synthetic namespace in static entry points unless it is actually used (#3738)
231* Make sure the chunking of one output does not interfere with the namespace objects of another output (#3738)
232
233### Pull Requests
234* [#3738](https://github.com/rollup/rollup/pull/3738): Improve synthetic entry handling (@lukastaegert)
235
236## 2.26.3
237*2020-08-16*
238
239### Bug Fixes
240* Fix a situation where line-breaks in a nested simplified conditional expression could result in broken code (#3734)
241
242### Pull Requests
243* [#3734](https://github.com/rollup/rollup/pull/3734): Prevent ASI when simplifying a nested logical expression (@lukastaegert)
244
245## 2.26.2
246*2020-08-16*
247
248### Bug Fixes
249* Fix a situation where line-breaks in a simplified conditional expression could result in broken code (#3732)
250
251### Pull Requests
252* [#3732](https://github.com/rollup/rollup/pull/3732): Prevent unintended ASI for nested conditionals (@lukastaegert)
253
254## 2.26.1
255*2020-08-16*
256
257### Bug Fixes
258* Correctly render external namespace imports when only generating SystemJS output (#3731)
259
260### Pull Requests
261* [#3731](https://github.com/rollup/rollup/pull/3731): Render system namespace import (@sastan and @lukastaegert)
262
263## 2.26.0
264*2020-08-15*
265
266### Features
267* Add a new entry `importedBindings` to the bundle information to list bindings per dependency (#3722)
268
269### Bug Fixes
270* Do not render an invalid UMD wrapper when no bindings are imported from a dependency (#3724)
271* Avoid situations where removing the `else` branch from an `if` statement might catch the `else` branch from another one (#3725)
272
273### Pull Requests
274* [#3722](https://github.com/rollup/rollup/pull/3722): Add import specifiers to bundle information (@lukastaegert)
275* [#3724](https://github.com/rollup/rollup/pull/3724): Fix missing variables for UMD and IIFE builds (@lukastaegert)
276* [#3725](https://github.com/rollup/rollup/pull/3725): Do not entirely remove else branch if another else branch might accidentally be referenced (@lukastaegert)
277
278## 2.25.0
279*2020-08-14*
280
281### Features
282* Add `--failAfterWarnings` CLI flag that will complete builds with warnings but return an error at the end (#3712)
283
284### Pull Requests
285* [#3712](https://github.com/rollup/rollup/pull/3712): Implement `--failAfterWarnings` flag (@tjenkinson)
286
287## 2.24.0
288*2020-08-13*
289
290### Features
291* Allow defining interop per dependency via a function (#3710)
292* Support interop "auto" as a more compatible version of "true" (#3710)
293* Support interop "default" and "esModule" to avoid unnecessary interop helpers (#3710)
294* Support interop "defaultOnly" for simplified helpers and Node ESM interop compatible output (#3710)
295* Respect interop option for external dynamic imports (#3710)
296* Support live-bindings for external default imports in non-ES formats unless "externalLiveBindings" is "false" (#3710)
297* Use shared default interop helpers for AMD, UMD and IIFE formats (#3710)
298* Avoid unnecessarily deconflicted module variables in non-ES formats (#3710)
299* Freeze generated interop namespace objects (#3710)
300* Always mark interop helpers as pure (#3710)
301* Avoid default export interop if there is already an interop namespace object (#3710)
302* Sort all `require` statements to the top in CommonJS output for easier back-transpilation to ES modules by other tools (#3710)
303
304### Bug Fixes
305* Handle accessing `super` in static class fields (#3720)
306* Deconflict the names of helper variables introduced for interop (#3710)
307* Generate proper namespace objects for static namespace imports in non-ES formats (#3710)
308* Do not add unused interop helpers when using the renderDynamicImport hook (#3710)
309
310### Pull Requests
311* [#3710](https://github.com/rollup/rollup/pull/3710): Rework interop handling (@lukastaegert)
312* [#3720](https://github.com/rollup/rollup/pull/3720): Handle super in static class fields (@lukastaegert)
313
314## 2.23.1
315*2020-08-07*
316
317### Bug Fixes
318* Fix an issue where dynamically importing an entry point could return a malformed namespace for CJS and AMD formats (#3709)
319
320### Pull Requests
321* [#3709](https://github.com/rollup/rollup/pull/3709): Properly construct namespace when dynamically importing chunks with facades in default export mode (@lukastaegert)
322
323## 2.23.0
324*2020-07-23*
325
326### Features
327* Handle environments with only globalThis in UMD output (#3691)
328
329### Pull Requests
330* [#3691](https://github.com/rollup/rollup/pull/3691): Check for globalThis in UMD wrapper (@lukastaegert)
331
332## 2.22.2
333*2020-07-21*
334
335### Bug Fixes
336* Always generate correct exports when an implicit entry is reexporting from another module (#3688)
337
338### Pull Requests
339* [#3688](https://github.com/rollup/rollup/pull/3688): Include all relevant modules to generate reexports for implicit dependencies (@lukastaegert)
340
341## 2.22.1
342*2020-07-18*
343
344### Bug Fixes
345* Remove unused arguments when calling a conditional expression (#3680)
346
347### Pull Requests
348* [#3680](https://github.com/rollup/rollup/pull/3680): Allow tree-shaking of arguments of functions that are returned by conditional expressions (@lukastaegert)
349
350## 2.22.0
351*2020-07-18*
352
353### Features
354* Allow resolving synthetic named exports via an arbitrary export name (#3657)
355* Display a warning when the user does not explicitly select an export mode and would generate a chunk with default export mode when targeting CommonJS (#3657)
356
357### Pull Requests
358* [#3657](https://github.com/rollup/rollup/pull/3657): Add basic support for using a non-default export for syntheticNamedExports (@lukastaegert)
359* [#3659](https://github.com/rollup/rollup/pull/3659): Warn when implicitly using default export mode (@lukastaegert)
360
361## 2.21.0
362*2020-07-07*
363
364### Features
365* Allow plugins to disable tree-shaking for individual modules to ensure even empty modules are associated with chunks (#3663)
366
367### Pull Requests
368* [#3663](https://github.com/rollup/rollup/pull/3663): Disable treeshaking per module (@lukastaegert)
369
370## 2.20.0
371*2020-07-06*
372
373### Features
374* Support using a function to generate different chunk and asset naming patterns per chunk or asset (#3658)
375* Add `referencedFiles` property to the chunk info in generateBundle to list referenced assets (#3661)
376
377### Pull Requests
378* [#3658](https://github.com/rollup/rollup/pull/3658): Add ability to use a function that returns a pattern string in all places where you could use a pattern string before (@frank-dspeed)
379* [#3661](https://github.com/rollup/rollup/pull/3661): Add referenced files to bundle (@lukastaegert)
380
381## 2.19.0
382*2020-07-05*
383
384### Features
385* Allow plugins to return a Promise in the options hook (#3660)
386
387### Pull Requests
388* [#3660](https://github.com/rollup/rollup/pull/3660): Make options hooks async (@TomerAberbach)
389
390## 2.18.2
391*2020-07-02*
392
393### Bug Fixes
394* Do not remove spread element args when the corresponding positional parameter is unused (#3652)
395
396### Pull Requests
397* [#3652](https://github.com/rollup/rollup/pull/3652): Do not tree-shake arguments that contain a spread element (@lukastaegert)
398
399## 2.18.1
400*2020-06-26*
401
402### Bug Fixes
403* Make sure synthetic exports are present when a module is imported dynamically (#3648)
404* Strip the `rollup-plugin-` prefix off the plugin name when looking for the plugin export in a CLI plugin without a default export (#3647)
405* Convert plugin names with dashes to camel case when looking for the plugin export in a CLI plugin without a default export (#3647)
406
407### Pull Requests
408* [#3647](https://github.com/rollup/rollup/pull/3647): Strip rollup-plugin prefix to find named plugin exports, throw when export cannot be found (@lukastaegert)
409* [#3648](https://github.com/rollup/rollup/pull/3648): Always create a dynamic namespace object when a module with synthetic named exports is imported dynamically (@lukastaegert)
410
411## 2.18.0
412*2020-06-22*
413
414### Features
415* `inlineDynamicImports`, `manualChunks` and `preserveModules` can now be used as output options (#3645)
416* Use sourcemaps for certain warnings that reference source code locations (#3645)
417
418### Bug Fixes
419* `this.getFileName` will now always return the correct file name for chunks when multiple outputs are created (#3645)
420
421### Pull Requests
422* [#3645](https://github.com/rollup/rollup/pull/3645): Per output chunking (@lukastaegert)
423
424## 2.17.1
425*2020-06-19*
426
427### Bug Fixes
428* Properly resolve accessing properties of namespace members again (#3643)
429
430### Pull Requests
431* [#3643](https://github.com/rollup/rollup/pull/3643): Fix accessing nested properties of namespaces (@lukastaegert)
432
433## 2.17.0
434*2020-06-17*
435
436### Features
437* When importing Rollup via package.exports, always fall back to the browser ESM build for non-Node environments (#3634)
438* Create more efficient code when handling namespace mutations (#3637)
439
440### Bug Fixes
441* Fix a severe performance regression when the same module is imported by a lot of modules (#3641)
442* Properly escape special characters in imports (#3638)
443
444### Pull Requests
445* [#3634](https://github.com/rollup/rollup/pull/3634): Set browser build in exports (@guybedford)
446* [#3637](https://github.com/rollup/rollup/pull/3637): Do not include the whole namespace when illegally mutating a namespace (@lukastaegert)
447* [#3638](https://github.com/rollup/rollup/pull/3638): Support backslash escaping, retain exact newline escaping (@guybedford)
448* [#3641](https://github.com/rollup/rollup/pull/3641): Fix performance regression when a file is imported by many importers (@lukastaegert)
449
450## 2.16.1
451*2020-06-13*
452
453### Bug Fixes
454* Do not produce invalid code when an external or chunk id contain quotes or line-breaks (#3632)
455* Do not fail but emit a warning when mutating a namespace object (#3633)
456
457### Pull Requests
458* [#3632](https://github.com/rollup/rollup/pull/3632): Handle single quote escaping in ids (@guybedford)
459* [#3633](https://github.com/rollup/rollup/pull/3633): Turn namespace assignment error into a warning (@guybedford)
460
461## 2.16.0
462*2020-06-12*
463
464### Features
465* Add support for numeric separators (#3626)
466* Switch to finalized ESTree optional chaining AST (#3628)
467
468### Pull Requests
469* [#3626](https://github.com/rollup/rollup/pull/3626): Support numeric separator (@TrySound)
470* [#3628](https://github.com/rollup/rollup/pull/3628): Acorn 7.3.0 upgrade (@guybedford)
471* [#3631](https://github.com/rollup/rollup/pull/3631): Improve discoverability of `manualChunks` for code splitting (@zlamma)
472
473## 2.15.0
474*2020-06-08*
475
476### Features
477* Allow to skip watching some configs via `watch: false` (#3620)
478* Provide the resolved sourcemap path to `sourcemapPathTransform` (#3617)
479
480### Pull Requests
481* [#3617](https://github.com/rollup/rollup/pull/3617): Update sourcemapPathTransform to also take the path to the sourcemap file as a second argument (@dgoldstein0)
482* [#3620](https://github.com/rollup/rollup/pull/3620): Rollup watch only one config in exported array (@luwol03)
483
484## 2.14.0
485*2020-06-07*
486
487### Features
488* Make `this.meta.watchMode` available for plugins to detect watch mode (#3616)
489
490### Bug Fixes
491* Handle exporting the same binding with different names in SystemJS (#3575)
492
493### Pull Requests
494* [#3575](https://github.com/rollup/rollup/pull/3575): Handle some cases of duplicate export bindings (@joeljeske)
495* [#3616](https://github.com/rollup/rollup/pull/3616): Make watch mode available in plugins (@lukastaegert)
496
497## 2.13.1
498*2020-06-04*
499
500### Bug Fixes
501* Prevent conflicts in SystemJS when `module` is used as a top-level variable (#3614)
502
503### Pull Requests
504* [#3614](https://github.com/rollup/rollup/pull/3614): Handle system reserved identifier dedupes (@guybedford)
505
506## 2.13.0
507*2020-06-03*
508
509### Features
510* Allow to specify that an emitted chunk is only loaded after a given module has loaded to improve chunking (#3606)
511
512### Pull Requests
513* [#3606](https://github.com/rollup/rollup/pull/3606): Enable specifying implicit dependencies when emitting chunks (@lukastaegert)
514
515## 2.12.1
516*2020-06-02*
517
518### Bug Fixes
519* Render valid imports when chunk names correspond to directory names in virtual setups (#3609)
520
521### Pull Requests
522* [#3609](https://github.com/rollup/rollup/pull/3609): Handle imports from chunks with names that correspond to parent directory names of other chunks (@guybedford)
523
524## 2.12.0
525*2020-05-31*
526
527### Features
528* Add an option `--waitForBundleInput` to let the build wait until all entry point files are available before starting (#3577)
529
530### Pull Requests
531* [#3577](https://github.com/rollup/rollup/pull/3577): Wait for bundle input option (@Heerschop)
532
533## 2.11.2
534*2020-05-28*
535
536### Bug Fixes
537* Include side-effects in the second argument of `Array.from` (#3604)
538
539### Pull Requests
540* [#3604](https://github.com/rollup/rollup/pull/3604): Mark `Array.from` as side-effectful, use two-argument Array.from when mapping Sets (@lukastaegert)
541
542## 2.11.1
543*2020-05-28*
544
545### Bug Fixes
546* Also include side-effects in files that are marked as side-effect-free if they contain an included default export that is reexported (#3602)
547
548### Pull Requests
549* [#3602](https://github.com/rollup/rollup/pull/3602): Handle side-effects next to side-effect-free default exports in case the default export is reexported (@lukastaegert)
550
551## 2.11.0
552*2020-05-27*
553
554### Features
555* Add basic support for optional chaining (#3582)
556* Provide a normalized set of options with proper default values to `buildStart` and `renderStart` (#3597)
557* Do not count adding properties to the prototype of an unused class as a side-effect (#3598)
558* Support providing `null` for empty setters in SystemJS via option (#3592)
559
560### Bug Fixes
561* Do not fail when using a `/*#__PURE__*/` annotation inside a class field (#3599)
562* Allow using `--watch` and `--treeshake` together with sub-options such as `--watch.clearScreen` on the command line (#3597)
563
564### Pull Requests
565* [#3582](https://github.com/rollup/rollup/pull/3582): Support optional chaining via acorn fork(@guybedford)
566* [#3592](https://github.com/rollup/rollup/pull/3592): System format optional setters(@guybedford)
567* [#3597](https://github.com/rollup/rollup/pull/3597): Provide normalized options (@lukastaegert)
568* [#3598](https://github.com/rollup/rollup/pull/3598): Treeshake prototype modifications in classes (@lukastaegert)
569* [#3599](https://github.com/rollup/rollup/pull/3599): Retain pure annotations in class fields (@lukastaegert)
570* [#3601](https://github.com/rollup/rollup/pull/3601): Fix white-space in docs (@tu4mo)
571
572## 2.10.9
573*2020-05-24*
574
575### Bug Fixes
576* Prevent invalid exports when facades are created (#3590)
577
578### Pull Requests
579* [#3590](https://github.com/rollup/rollup/pull/3590): Prevent unneeded exports when entry facades are created and ensure all exported variables in facades are imported (@lukastaegert)
580
581## 2.10.8
582*2020-05-23*
583
584### Bug Fixes
585* Fix issues when synthetic named exports are reexported as default exports (#3586)
586
587### Pull Requests
588* [#3584](https://github.com/rollup/rollup/pull/3584): Clarify documentation for `output.paths` (@jacksteamdev)
589* [#3585](https://github.com/rollup/rollup/pull/3585): Target Node.js v14 instead of v13 in Windows tests (@mangs)
590* [#3586](https://github.com/rollup/rollup/pull/3586): Handle default reexports of synthetic named exports over several stages (@lukastaegert)
591
592## 2.10.7
593*2020-05-22*
594
595### Bug Fixes
596* Handle modules re-exporting namespaces without further own code (#3576)
597
598### Pull Requests
599* [#3576](https://github.com/rollup/rollup/pull/3576): Fix "cannot read exports of undefined" error (@guybedford)
600
601## 2.10.6
602*2020-05-22*
603
604### Bug Fixes
605* Fix some issues around class fields (#3580)
606* Prevent a maximum call stack error when a called entity references itself in its declaration (#3581)
607
608### Pull Requests
609* [#3580](https://github.com/rollup/rollup/pull/3580): Update acorn class features (@guybedford)
610* [#3581](https://github.com/rollup/rollup/pull/3581): Do not fail when including call arguments of recursively defined variables (@lukastaegert)
611
612## 2.10.5
613*2020-05-19*
614
615### Bug Fixes
616* Do not remove side-effects that may influence an included default export declaration when side-effects are disabled (#3572)
617
618### Pull Requests
619* [#3572](https://github.com/rollup/rollup/pull/3572): Observe side-effects in files containing a default export declaration that reexports a variable (@lukastaegert)
620
621## 2.10.4
622*2020-05-19*
623
624### Bug Fixes
625* Tree-shake unused classes with fields unless there are side-effects in the field declaration (#3569)
626
627### Pull Requests
628* [#3569](https://github.com/rollup/rollup/pull/3569): Make sure unused classes with fields are tree-shaken if possible (@lukastaegert)
629
630## 2.10.3
631*2020-05-18*
632
633### Bug Fixes
634* Validate return value of sourcemapPathTransform option (#3561)
635
636### Pull Requests
637* [#3561](https://github.com/rollup/rollup/pull/3561): Throw error if sourcemapPathTransform-option does not return a string (@Simonwep)
638
639## 2.10.2
640*2020-05-15*
641
642### Bug Fixes
643* Properly include calls to mutating array methods in certain scenarios (#3559)
644
645### Pull Requests
646* [#3559](https://github.com/rollup/rollup/pull/3559): Make sure UnknownFooExpressions are included when referenced as return values in a MultiExpression (@lukastaegert)
647
648## 2.10.1
649*2020-05-15*
650
651### Bug Fixes
652* Do not throw when "undefined" is used as a default export (#3558)
653
654### Pull Requests
655* [#3558](https://github.com/rollup/rollup/pull/3558): Properly handle default exporting undefined (@lukastaegert)
656
657## 2.10.0
658*2020-05-13*
659
660### Features
661* Avoid unnecessary empty imports from a facade chunk to the original chunk (#3552)
662* Pin facade creation order so that if several user-defined chunks reference the same module, the first always becomes the "actual" chunk while the later ones become facades (#3552)
663
664### Bug Fixes
665* Do not omit reexports from secondary chunks when creating facades for entry points without hoisting transitive dependencies (#3552)
666
667### Pull Requests
668* [#3552](https://github.com/rollup/rollup/pull/3552): Avoid unnecessary facade dependency inlining (@guybedford)
669
670## 2.9.1
671*2020-05-11*
672
673### Bug Fixes
674* Do not create unintended live-bindings or invalid reexports when reexporting global variables (#3550)
675
676### Pull Requests
677* [#3550](https://github.com/rollup/rollup/pull/3550): Track updates of globals that are exported as default (@lukastaegert)
678
679## 2.9.0
680*2020-05-10*
681
682### Features
683* Add ids of static and dynamic imports to `this.getModuleInfo` (#3542)
684* Provide `getModuleInfo` and `getModuleIds` to `manualChunks` functions (#3542)
685* Add nullish coalescing support (#3548)
686* Make the rebuild delay in watch mode configurable and set the default to `0` for snappy rebuilds (#3502)
687* Add `this.getModuleIds` to the plugin context as future replacement for `this.moduleIds` (#3542)
688
689### Pull Requests
690* [#3502](https://github.com/rollup/rollup/pull/3502): Configurable build delay (@mattdesl)
691* [#3542](https://github.com/rollup/rollup/pull/3542): Extend manualChunks API (@lukastaegert)
692* [#3548](https://github.com/rollup/rollup/pull/3548): Support nullish coalescing with tree-shaking (@lukastaegert)
693
694## 2.8.2
695*2020-05-07*
696
697### Bug Fixes
698* Avoid invalid code when simplifying the body of a shorthand arrow function expression (#3540)
699
700### Pull Requests
701* [#3540](https://github.com/rollup/rollup/pull/3540): Wrap object expressions in parentheses if they become children of an arrow function expression (@lukastaegert)
702
703## 2.8.1
704*2020-05-07*
705
706### Bug Fixes
707* Allow using plugins on CLI that are exported as `exports.default` (#3529)
708* Do not fail side-effect detection in nested callbacks of builtins (#3539)
709
710### Pull Requests
711* [#3529](https://github.com/rollup/rollup/pull/3529): Use default named export with plugins (@NotWoods)
712* [#3539](https://github.com/rollup/rollup/pull/3539): Track call side-effects both by entity and CallExpression to avoid untracked side-effects in nested calls (@lukastaegert)
713
714## 2.8.0
715*2020-05-06*
716
717### Features
718* When a dynamically imported chunk contains more exports than the imported module namespace, do not create a facade chunk but an inline namespace (#3535)
719
720### Bug Fixes
721* Do not execute dynamically imported code before synchronous code in the importing module when generating CommonJS (#3535)
722
723### Pull Requests
724* [#3535](https://github.com/rollup/rollup/pull/3535): Avoid dynamic facade chunks (@lukastaegert)
725
726## 2.7.6
727*2020-04-30*
728
729### Bug Fixes
730* Fix a type issue when a default export references a global variable (#3526)
731
732### Pull Requests
733* [#3526](https://github.com/rollup/rollup/pull/3526): Handles default exporting global variables (@lukastaegert)
734
735## 2.7.5
736*2020-04-29*
737
738### Bug Fixes
739* Prevent infinite loop when default values of function parameters in a default export contain a slash (#3522)
740
741### Pull Requests
742* [#3522](https://github.com/rollup/rollup/pull/3522): Avoid infinite loop when finding position for id insertion in default export (@lukastaegert)
743
744## 2.7.4
745*2020-04-29*
746
747### Bug Fixes
748* Fix an issue where wrong variable names were used when preserving modules (#3521)
749
750### Pull Requests
751* [#3521](https://github.com/rollup/rollup/pull/3521): Fix and improve default export alias logic (@lukastaegert)
752
753## 2.7.3
754*2020-04-27*
755
756### Bug Fixes
757* Do not access `__proto__` when running Rollup (#3518)
758
759### Pull Requests
760* [#3518](https://github.com/rollup/rollup/pull/3518): use acorn-class-fields and acorn-static-class-features from npm (@nitsky)
761
762## 2.7.2
763*2020-04-22*
764
765### Bug Fixes
766* Prevent an infinite loop when creating separate manual chunks with circular dependencies (#3510)
767* Do not fail if "super" is used in the definition of a class field (#3511)
768* Throw if a plugin tries to emit a file with an absolute Windows path (#3509)
769
770### Pull Requests
771* [#3509](https://github.com/rollup/rollup/pull/3509): Ban emitFile via absolute paths on Windows OS (@SASUKE40)
772* [#3510](https://github.com/rollup/rollup/pull/3510): Do not fail for circular imports between manual chunks (@lukastaegert)
773* [#3511](https://github.com/rollup/rollup/pull/3511): Support "super" in class fields (@lukastaegert)
774
775## 2.7.1
776*2020-04-21*
777
778### Bug Fixes
779* Use correct path for dynamic imports if `output.paths` is used (#3508)
780
781### Pull Requests
782* [#3508](https://github.com/rollup/rollup/pull/3508): Respect output.paths in dynamic imports (@lukastaegert)
783
784## 2.7.0
785*2020-04-21*
786
787### Features
788* Add `preserveEntrySignatures` option to control how exports of entry points are handled (#3498)
789* Add `preserveSignature` flag to `this.emitFile` to control exports of emitted chunks (#3498)
790* Add `output.minifyInternalExports` option to control if internal exports are minified (#3498)
791
792### Pull Requests
793* [#3498](https://github.com/rollup/rollup/pull/3498): Add option to configure if entry signatures are preserved (@lukastaegert)
794
795## 2.6.1
796*2020-04-12*
797
798### Bug Fixes
799* Close watch mode when stdin closes in a non-TTY environment (#3493)
800
801### Pull Requests
802* [#3493](https://github.com/rollup/rollup/pull/3493): Ensure --watch mode exits correctly when stdin is closed (@jakesgordon)
803
804## 2.6.0
805*2020-04-10*
806
807### Features
808* Allow regular expressions to declare external modules (#3482)
809
810### Pull Requests
811* [#3482](https://github.com/rollup/rollup/pull/3482): Allow regular expressions in config.external (@johannes-z)
812
813## 2.5.0
814This version is identical to 2.4.0
815
816## 2.4.0
817*2020-04-09*
818
819### Features
820* Add support for most private and public class field features (#3488)
821
822### Bug Fixes
823* Do not replace `this` with `undefined` in class field definitions (#3488)
824
825### Pull Requests
826* [#3488](https://github.com/rollup/rollup/pull/3488): Rollup class fields support (@guybedford and @lukastaegert)
827
828## 2.3.5
829*2020-04-09*
830
831### Bug Fixes
832* Never remove labels when tree-shaking is disabled (#3492)
833
834### Pull Requests
835* [#3492](https://github.com/rollup/rollup/pull/3492): Always use a new inclusion context when including declarations of variables, always inlcude labels when not treeshaking (@lukastaegert)
836
837## 2.3.4
838*2020-04-07*
839
840### Bug Fixes
841* Handle re-exporting synthetic exports from entry-points (#3319)
842* Fix cross-chunk imports of synthetic exports (#3319)
843* Handle namespace objects that contain re-exported synthetic namespaces (#3319)
844
845### Pull Requests
846* [#3319](https://github.com/rollup/rollup/pull/3319): Handle re-exports of synthetic named exports (@manucorporat and @lukastaegert)
847
848## 2.3.3
849*2020-04-04*
850
851### Bug Fixes
852* Add external namespaces to dynamic namespace objects (#3474)
853
854### Pull Requests
855* [#3474](https://github.com/rollup/rollup/pull/3474): Support external star exports on namespace objects (@guybedford)
856
857## 2.3.2
858*2020-03-31*
859
860### Bug Fixes
861* Only warn but do not fail build when a namespace is called as a function (#3475)
862* Make sure pre-existing sourcemap comments are also removed when rebuilding using the cache (#3476)
863
864### Pull Requests
865* [#3475](https://github.com/rollup/rollup/pull/3475): Call namespace error as a warning (@guybedford)
866* [#3476](https://github.com/rollup/rollup/pull/3476): Store locations for removed comments in cache (@lukastaegert)
867
868## 2.3.1
869*2020-03-30*
870
871### Bug Fixes
872* Do not fail if the config file returns an function returning a Promise (#3472)
873
874### Pull Requests
875* [#3472](https://github.com/rollup/rollup/pull/3472): Fix support for async functions as config (@lukastaegert)
876
877## 2.3.0
878*2020-03-29*
879
880### Features
881* Do not transpile config files with `.mjs` extension in Node 13+ or `.cjs` extension in any Node version and load them appropriately (#3445)
882* Extract helper to load a config file the way rollup does it via `rollup/dist/loadConfigFile` (#3445)
883
884### Bug Fixes
885* Keep watching the config file if an error occurs during initial load in watch node (#3445)
886* Add a helpful error message when using a transpiled config in a repository with "type": "module" (#3445)
887
888### Pull Requests
889* [#3445](https://github.com/rollup/rollup/pull/3445): Support native ESM configs in Node 13, support untranspiled configs (@lukastaegert)
890* [#3468](https://github.com/rollup/rollup/pull/3468): Don't use esm output format alias in the documentation (@vsn4ik)
891
892## 2.2.0
893*2020-03-24*
894
895### Features
896* Add `renderDynamicImport` hook to rewrite dynamic import expressions (#3449)
897* Add information about dynamically imported modules to `this.getModuleInfo` (#3449)
898
899### Bug Fixes
900* Make file emission work with Uin8Array sources when using Rollup in the browser (#3452)
901* Fix types to allow watch to accept an array of configs (#3453)
902* Do not strip `.js` extensions from AMD imports when the import is a user-supplied replacement for a non-resolvable dynamic import target (#3453)
903
904### Pull Requests
905* [#3449](https://github.com/rollup/rollup/pull/3449): Add hook to rewrite dynamic import expressions (@lukastaegert)
906* [#3452](https://github.com/rollup/rollup/pull/3452): Avoid the assumption of Buffer in browser envs (@JoviDeCroock)
907* [#3453](https://github.com/rollup/rollup/pull/3453): fix types since watch accepts single or array config (@lukeed)
908* [#3456](https://github.com/rollup/rollup/pull/3456): fix SystemJS url in tutorial (@guybedford)
909
910## 2.1.0
911*2020-03-18*
912
913### Features
914* Allow specifying an importer when emitting files to resolve relative ids (#3442)
915
916### Pull Requests
917* [#3442](https://github.com/rollup/rollup/pull/3442): Add optional `importer` parameter to `this.emitFile` (@lukastaegert)
918
919## 2.0.6
920*2020-03-13*
921
922### Bug Fixes
923* Do not use file names from different outputs when generating sourcemaps using the `dir` option (#3440)
924
925### Pull Requests
926* [#3440](https://github.com/rollup/rollup/pull/3440): Use correct file names when writing sourcemaps for multiple outputs (@lukastaegert)
927
928## 2.0.5
929*2020-03-12*
930
931### Bug Fixes
932* Fix an issue where conditional statements would assume they have the wrong test value (#3438)
933
934### Pull Requests
935* [#3438](https://github.com/rollup/rollup/pull/3438): Make sure logical expressions always check the left argument for side-effects (@lukastaegert)
936
937## 2.0.4
938*2020-03-12*
939
940### Bug Fixes
941* Avoid conflicts between namespace imports when preserving modules (#3435)
942
943### Pull Requests
944* [#3435](https://github.com/rollup/rollup/pull/3435): Deconflict multiple `index` imports for ES format using nested export star statements (@kamranayub)
945
946## 2.0.3
947*2020-03-10*
948
949### Bug Fixes
950* Add type for this.getCombinedSourcemap to transform context (#3431)
951
952### Pull Requests
953* [#3377](https://github.com/rollup/rollup/pull/3377): Switch to yargs-parser lib (@jamesgeorge007)
954* [#3426](https://github.com/rollup/rollup/pull/3426): Use strict types with PluginDriver (@NotWoods)
955* [#3431](https://github.com/rollup/rollup/pull/3431): Add missing type declaration for getCombinedSourcemap (@Anidetrix)
956* [#3432](https://github.com/rollup/rollup/pull/3432): Detail how return values from `augmentChunkHash` are used (@jakearchibald)
957
958## 2.0.2
959*2020-03-07*
960
961### Bug Fixes
962* Make sure the ESM import still works (#3430)
963
964### Pull Requests
965* [#3430](https://github.com/rollup/rollup/pull/3430): Fix conditional exports again (@lukastaegert)
966
967## 2.0.1
968*2020-03-07*
969
970### Bug Fixes
971* Reenable importing rollup in Node 13.0 - 13.7 (#3428)
972
973### Pull Requests
974* [#3428](https://github.com/rollup/rollup/pull/3428): Fix conditional exports in Node 13.0 - 13.7 (@lukastaegert)
975
976## 2.0.0
977*2020-03-06*
978
979### Breaking Changes
980* Rollup now requires at least Node 10 to run, or a sufficiently modern browser (#3346)
981* The file structure of Rollup's ESM builds has changed:
982 - The main ESM entry point is now at `rollup/dist/es/rollup.js` instead of `rollup/dist/rollup.es.js`
983 - The ESM browser build is at `rollup/dist/es/rollup.browser.js` instead of `rollup/dist/rollup.browser.es.js`
984
985 In general, the ESM builds now follow the same naming scheme as the CJS builds but are located in the `rollup/dist/es` subfolder instead of `rollup/dist` (#3391)
986* The "watch.chokidar" option no longer accepts a `boolean` value but only an object of parameters that is passed to the bundled Chokidar instance. Chokidar installations by the user will be ignored in favour of the bundled instance (#3331)
987* Modules that are completely tree-shaken will no longer be listed as part of any chunks in `generateBundle`
988* The `experimentalOptimizeChunks` and `chunkGroupingSize` options have been removed
989* [acorn](https://github.com/acornjs/acorn) plugins can only be used if they accept a passed-in acorn instance instead of importing it themselves. See https://github.com/acornjs/acorn/pull/870#issuecomment-527339830 for what needs to be done to make plugins compatible that do not support this yet (#3391)
990* Emitted chunks now have the TypeScript type `Uint8Array` instead of `Buffer`. A `Buffer` can still be used, though (#3395)
991* The TypeScript types no longer use ESTree types for AST nodes but a very generic type that does not contain information specific to certain node types (#3395)
992* The signature of the `writeBundle` plugin hook has been changed to match `generateBundle`: The bundle object is now passed as second parameter instead of first and the first parameter is the output options (#3361)
993* The following plugin hooks have been removed:
994 - ongenerate: use `generateBundle` instead
995 - onwrite: use `writeBundle` instead
996 - transformBundle: use `renderChunk` instead
997 - transformChunk: use `renderChunk` instead
998* You can no longer access `this.watcher` on the plugin context.
999* The `transform` hook can no longer return `dependencies`.
1000* The `treeshake.pureExternalModules` option will now show a deprecation warning when used: use `treeshake.moduleSideEffects: 'no-external'` instead
1001* Using `import.meta.ROLLUP_ASSET_URL_<..>` and `import.meta.ROLLUP_CHUNK_URL_<..>` in code will now show warnings: use `import.meta.ROLLUP_FILE_URL_<..>` instead
1002* The `resolveAssetUrl` hook will now show a deprecation warning when used: use `resolveFileUrl` instead
1003* The following plugin context functions will show warnings when used:
1004 - `this.emitAsset`: use `this.emitFile`
1005 - `this.emitChunk`: use `this.emitFile`
1006 - `this.getAssetFileName`: use `this.getFileName`
1007 - `this.getChunkFileName`: use `this.getFileName`
1008 - `this.isExternal`: use `this.resolve`
1009 - `this.resolveId`: use `this.resolve`
1010* Directly adding properties to the bundle object in the `generateBundle` is deprecated will show a warning (removing properties is allowed, though): Use `this.emitFile`
1011* Accessing `chunk.isAsset` on the bundle is deprecated: Use `chunk.type === 'asset'` instead
1012* The error code for a missing `name` property when targeting UMD has been changed to `MISSING_NAME_OPTION_FOR_IIFE_EXPORT` to emphasize this is needed for the IIFE part of UMD (#3393)
1013
1014### Features
1015* Rollup now bundles [Chokidar](https://github.com/paulmillr/chokidar) for a better watch experience (#3331)
1016* Rollup now bundles [acorn](https://github.com/acornjs/acorn) again, removing its only external dependency (#3391)
1017* Do not consider empty imports from side-effect-free modules for chunking and hoist side-effect imports if necessary (#3369)
1018* Rollup can now be imported as an ES module in Node via `import {rollup} from 'rollup'`. Note that this relies on Node's experimental [conditional package exports](https://nodejs.org/dist/latest-v13.x/docs/api/esm.html#esm_conditional_exports) feature and is therefore itself experimental (#3391)
1019* `systemjs` can be used as format alias for `system` (#3381)
1020
1021### Bug Fixes
1022* Unknown output options now trigger a warning when using the JavaScript API (#3352)
1023* Rollup will no longer introduce Node types into TypeScript projects that do not use them (#3395)
1024* Generate correct sourcemaps when tree-shaking occurs in a multi-file bundle (#3423)
1025
1026### Pull Requests
1027* [#3331](https://github.com/rollup/rollup/pull/3331): Bundle Chokidar (@lukastaegert)
1028* [#3343](https://github.com/rollup/rollup/pull/3343): Remove experimentalOptimizeChunks (@lukastaegert)
1029* [#3346](https://github.com/rollup/rollup/pull/3346): Update minimum required Node version to 10 (@lukastaegert)
1030* [#3352](https://github.com/rollup/rollup/pull/3352): Remove active deprecations (@lukastaegert)
1031* [#3361](https://github.com/rollup/rollup/pull/3361): Change writeBundle signature to match generateBundle (@lukastaegert)
1032* [#3369](https://github.com/rollup/rollup/pull/3369): Avoid empty imports from side-effect-free chunks (@lukastaegert)
1033* [#3381](https://github.com/rollup/rollup/pull/3381): Rename esm to es everywhere, add systemjs alias (@lukastaegert)
1034* [#3391](https://github.com/rollup/rollup/pull/3391): Bundle acorn, allow importing Rollup as Node ES module, update dependencies (@lukastaegert)
1035* [#3393](https://github.com/rollup/rollup/pull/3393): Better error code for name-less umd bundle (@rail44)
1036* [#3395](https://github.com/rollup/rollup/pull/3395): Remove `@types` dependencies (@lukastaegert)
1037* [#3423](https://github.com/rollup/rollup/pull/3423): Update magic-string and fix sourcemaps (@lukastaegert)
1038
1039## 1.32.1
1040*2020-03-06*
1041
1042### Bug Fixes
1043* Handle default export detection for AMD and IIFE externals that do not have a prototype (#3420)
1044* Handle missing whitespace when the else branch of an if-statement is simplified (#3421)
1045* Mention the importing module when reporting errors for missing named exports (#3401)
1046* Add code to warning for missing output.name of IIFE bundles (#3372)
1047
1048### Pull Requests
1049* [#3372](https://github.com/rollup/rollup/pull/3372): Add warning code for missing output.name of IIFE bundle that has export (@rail44)
1050* [#3401](https://github.com/rollup/rollup/pull/3401): Missing exports errors now print the importing module (@timiyay)
1051* [#3418](https://github.com/rollup/rollup/pull/3418): Structure lifecycle hooks, add links to build time hooks (@lukastaegert)
1052* [#3420](https://github.com/rollup/rollup/pull/3420): Update generated code of getInteropBlock() to work with null prototype objects (@jdalton)
1053* [#3421](https://github.com/rollup/rollup/pull/3421): Avoid invalid code when "else" branch is simplified (@lukastaegert)
1054
1055## 1.32.0
1056*2020-02-28*
1057
1058### Features
1059* Allow adding plugins on the command line via `--plugin <plugin>` (#3379)
1060
1061### Pull Requests
1062* [#3379](https://github.com/rollup/rollup/pull/3379): introduce CLI --plugin support (@kzc)
1063* [#3390](https://github.com/rollup/rollup/pull/3390): fix typo: this.addWatchfile (@mistlog)
1064* [#3392](https://github.com/rollup/rollup/pull/3392): Bump codecov from 3.6.1 to 3.6.5
1065* [#3404](https://github.com/rollup/rollup/pull/3404): Update resolveFileUrl docs (@jakearchibald)
1066
1067## 1.31.1
1068*2020-02-14*
1069
1070### Bug Fixes
1071* Make sure errored files are always re-evaluated in watch mode to avoid an issue in the typescript plugin (#3388)
1072
1073### Pull Requests
1074* [#3366](https://github.com/rollup/rollup/pull/3366): Correct spelling minifaction to minification (@VictorHom)
1075* [#3371](https://github.com/rollup/rollup/pull/3371): Adjust bug template to mention REPL.it (@lukastaegert)
1076* [#3388](https://github.com/rollup/rollup/pull/3388): Run transform hooks again in watch mode on files that errored (@lukastaegert)
1077
1078## 1.31.0
1079*2020-01-31*
1080
1081### Features
1082* Always disable tree-shaking for asm.js functions to maintain semantics (#3362)
1083
1084### Pull Requests
1085* [#3362](https://github.com/rollup/rollup/pull/3362): Preserve asm.js code (@lukastaegert)
1086
1087## 1.30.1
1088*2020-01-27*
1089
1090### Bug Fixes
1091* Do not mistreat static entgry points as dynamic ones when chunking (#3357)
1092* Resolve a crash when chunking circular dynamic imports (#3357)
1093
1094### Pull Requests
1095* [#3357](https://github.com/rollup/rollup/pull/3357): Resolve issues with circular dynamic entries (@lukastaegert)
1096
1097## 1.30.0
1098*2020-01-27*
1099
1100### Features
1101* Do not split chunks when dynamically imported modules import modules that are already loaded by all dynamic importers (#3354)
1102* Add `hoistTransitiveImports` option to disable hoisting imports of static dependencies into entry chunks (#3353)
1103
1104### Bug Fixes
1105* Make sure polyfills are always loaded first when each static entry point contains them as first import (#3354)
1106
1107### Pull Requests
1108* [#3353](https://github.com/rollup/rollup/pull/3353): Add option to avoid hoisting transitive imports (@lukastaegert)
1109* [#3354](https://github.com/rollup/rollup/pull/3354): Improve chunking algorithm for dynamic imports (@tjenkinson and @lukastaegert)
1110
1111## 1.29.1
1112*2020-01-21*
1113
1114### Bug Fixes
1115* Avoid crashes for circular reexports when named exports cannot be found (#3350)
1116
1117### Pull Requests
1118* [#3335](https://github.com/rollup/rollup/pull/3335): Fix typo (@robbinworks)
1119* [#3342](https://github.com/rollup/rollup/pull/3342): Remove ":" from test file names for Windows and update dependencies (@lukastaegert)
1120* [#3350](https://github.com/rollup/rollup/pull/3350): Properly handle circular reexports (@lukastaegert)
1121
1122## 1.29.0
1123*2020-01-08*
1124
1125### Features
1126* Enable top-level await by default (#3089)
1127* Add typings for watch events (#3302)
1128
1129### Bug Fixes
1130* Deconflict files that would conflict only on a case-insensitive OS (#3317)
1131* Do not fail in certain scenarios where a logical expression inside a sequence expression was being directly included (#3327)
1132
1133### Pull Requests
1134* [#3089](https://github.com/rollup/rollup/pull/3089): Move top-level await out of experimental (@guybedford)
1135* [#3302](https://github.com/rollup/rollup/pull/3302): Adds type definitions for RollupWatcher events (@NotWoods)
1136* [#3317](https://github.com/rollup/rollup/pull/3317): Fix module id conflict on a case insensitive OS (@yesmeck)
1137* [#3327](https://github.com/rollup/rollup/pull/3327): Handle deoptimizations while a node is being included (@lukastaegert)
1138
1139## 1.28.0
1140*2020-01-04*
1141
1142### Features
1143* Allow piping in stdin via the command line interface (#3312, #3290)
1144* Allow plugins to mark modules as having syntheticNamedExports for e.g. better CJS interoperability (#3295)
1145* Ignore variable reassignments in dead code when tree-shaking to remove more unneeded code (#3212)
1146
1147### Bug Fixes
1148* Properly respect tree-shaken code when generating sourcemaps (#3318)
1149
1150### Pull Requests
1151* [#3212](https://github.com/rollup/rollup/pull/3212): Handle assignments in dead code (@tjenkinson)
1152* [#3290](https://github.com/rollup/rollup/pull/3290): Implement stdin input with optional "-" as the file name (@kzc)
1153* [#3295](https://github.com/rollup/rollup/pull/3295): Add syntheticNamedExports (@manucorporat)
1154* [#3300](https://github.com/rollup/rollup/pull/3300): Add note about setting `types` in tsconfig file (@tjenkinson)
1155* [#3303](https://github.com/rollup/rollup/pull/3303): Use ! to assert not-null in TypeScript (@NotWoods)
1156* [#3312](https://github.com/rollup/rollup/pull/3312): Implement stdin input (@lukastaegert)
1157* [#3318](https://github.com/rollup/rollup/pull/3318): Update magic-string and other dependencies (@lukastaegert)
1158
1159## 1.27.14
1160*2019-12-22*
1161
1162### Bug Fixes
1163* Update references to official rollup plugins in error messages (#3297, #3298)
1164
1165### Pull Requests
1166* [#3286](https://github.com/rollup/rollup/pull/3286): Update link to JavaScript API documentation (@romankaravia)
1167* [#3294](https://github.com/rollup/rollup/pull/3294): Update deprecated references to the node-resolve plugin in the documentation (@Vlad-Shcherbina)
1168* [#3297](https://github.com/rollup/rollup/pull/3297): Update references to rollup-plugin-json (@cprecioso)
1169* [#3298](https://github.com/rollup/rollup/pull/3298): Update references to official rollup plugins (@cprecioso)
1170
1171## 1.27.13
1172*2019-12-14*
1173
1174### Bug Fixes
1175* Do not truncate environment variable values at the first colon when using the `--environment` option (#3283)
1176
1177### Pull Requests
1178* [#3283](https://github.com/rollup/rollup/pull/3283): Allow environment variables to contain colons (@tlaverdure)
1179
1180## 1.27.12
1181*2019-12-13*
1182
1183### Bug Fixes
1184* Prevent invalid AMD or SystemJS code when accessing `import.meta` (#3282)
1185
1186### Pull Requests
1187* [#3282](https://github.com/rollup/rollup/pull/3282): Always make "module" available for SystemJS and AMD formats if `import.meta` is accessed directly (@lukastaegert)
1188
1189## 1.27.11
1190*2019-12-12*
1191
1192### Bug Fixes
1193* Resolve a crash due to an infinite loop (#3280)
1194
1195### Pull Requests
1196* [#3280](https://github.com/rollup/rollup/pull/3280): Prevent infinite deoptimizations (@lukastaegert)
1197
1198## 1.27.10
1199*2019-12-11*
1200
1201### Bug Fixes
1202* Keep track of function return values in more situations (#3278)
1203
1204### Pull Requests
1205* [#3278](https://github.com/rollup/rollup/pull/3278): Avoid some unnecessary value tracking deoptimizations (@lukastaegert)
1206
1207## 1.27.9
1208*2019-12-07*
1209
1210### Bug Fixes
1211* Fix an issue where reexports could be missing when preserving modules (#3273)
1212* Allow turning of color output via NO_COLOR or FORCE_COLOR=0 environment variables (#3272)
1213
1214### Pull Requests
1215* [#3272](https://github.com/rollup/rollup/pull/3272): Support either NO_COLOR or FORCE_COLOR=0 to turn off color (@kikonen)
1216* [#3273](https://github.com/rollup/rollup/pull/3273): Make sure that indirectly reexported modules also become chunk dependencies when preserving modules(@lukastaegert)
1217
1218## 1.27.8
1219*2019-12-02*
1220
1221### Bug Fixes
1222* Deoptimize objects when a method is called on them to make sure modifications via "this" are observed (#3266)
1223
1224### Pull Requests
1225* [#3266](https://github.com/rollup/rollup/pull/3266): Workaround for various object literal mutation bugs (@kzc)
1226
1227## 1.27.7
1228*2019-12-01*
1229
1230### Bug Fixes
1231* Fix a scenario where a reassignments to computed properties were not tracked (#3267)
1232
1233### Pull Requests
1234* [#3267](https://github.com/rollup/rollup/pull/3267): Fix incomplete computed property deoptimization (@lukastaegert)
1235
1236## 1.27.6
1237*2019-11-30*
1238
1239### Bug Fixes
1240* Use "auto" export mode by default for all modules when preserving modules (#3265)
1241* Observe "output.exports" when preserving modules and warn for mixed exports if necessary (#3265)
1242
1243### Pull Requests
1244* [#3265](https://github.com/rollup/rollup/pull/3265): Use export mode "auto" by default when preserving modules (@lukastaegert)
1245
1246## 1.27.5
1247*2019-11-25*
1248
1249### Bug Fixes
1250* Make sure namespaces for inlined dynamic imports are treated as variable accesses when deconflicting (#3256)
1251
1252### Pull Requests
1253* [#3256](https://github.com/rollup/rollup/pull/3256): Avoid name conflicts when inlining dynamic imports nested in functions (@lukastaegert)
1254* [#3257](https://github.com/rollup/rollup/pull/3257): Update dependencies (@lukastaegert)
1255
1256## 1.27.4
1257*2019-11-22*
1258
1259### Bug Fixes
1260* Aggregate circular dependency warnings in the CLI (#3249)
1261* Do not defer non-aggregated handlers in the CLI (#3249)
1262
1263### Pull Requests
1264* [#3249](https://github.com/rollup/rollup/pull/3249): Fix broken Windows CLI tests (@lukastaegert)
1265* [#3251](https://github.com/rollup/rollup/pull/3251): Add installation as a separate header (@ashrith-kulai)
1266
1267## 1.27.3
1268*2019-11-20*
1269
1270### Bug Fixes
1271* Provide better warning when empty chunks are created in a code-splitting scenario (#3244)
1272
1273### Pull Requests
1274* [#3244](https://github.com/rollup/rollup/pull/3244): Clearer empty chunk warning (@tjenkinson)
1275
1276## 1.27.2
1277*2019-11-18*
1278
1279### Bug Fixes
1280* Fix an issue where live bindings were not working correctly when using `+=` in SystemJS (#3242)
1281
1282### Pull Requests
1283* [#3242](https://github.com/rollup/rollup/pull/3242): Export updated assignments when using shorthand update assignment expressions in SystemJS (@lukastaegert)
1284
1285## 1.27.1
1286*2019-11-18*
1287
1288### Bug Fixes
1289* Fix an issue where code after a switch-statement with removed cases was erroneously not included (#3241)
1290
1291### Pull Requests
1292* [#3237](https://github.com/rollup/rollup/pull/3237): make `acornOptions` optional in `parse()` in docs (@tjenkinson)
1293* [#3240](https://github.com/rollup/rollup/pull/3240): Update dependencies and fix vulnerability (@lukastaegert)
1294* [#3241](https://github.com/rollup/rollup/pull/3241): Do not truncate after switch-statement with removed case (@lukastaegert)
1295
1296## 1.27.0
1297*2019-11-12*
1298
1299### Features
1300* Add support for output-specific plugins (#3218)
1301* Reenable parallel output processing when using the CLI (#3218)
1302* Warn if files are emitted that would overwrite previously emitted files (#3218)
1303
1304### Bug Fixes
1305* Do not overwrite files emitted in other builds if outputs are generated in parallel (#3218)
1306
1307### Pull Requests
1308* [#3218](https://github.com/rollup/rollup/pull/3218): Per output plugins (@lukastaegert)
1309
1310## 1.26.5
1311*2019-11-11*
1312
1313### Bug Fixes
1314* Fix a regression where it was no longer to pass a certain option format to generate (#3223)
1315
1316### Pull Requests
1317* [#3223](https://github.com/rollup/rollup/pull/3223): Allow passing input options to output (@lukastaegert)
1318
1319## 1.26.4
1320*2019-11-09*
1321
1322### Bug Fixes
1323* Keep watching known files after a plugin error during the initial build (#3219)
1324
1325### Pull Requests
1326* [#3216](https://github.com/rollup/rollup/pull/3216): Fix small typo (@kaisermann)
1327* [#3217](https://github.com/rollup/rollup/pull/3217): Update dependencies and fix security vulnerability (@lukastaegert)
1328* [#3219](https://github.com/rollup/rollup/pull/3219): Also recover from plugin errors during the initial build (@lukastaegert)
1329
1330## 1.26.3
1331*2019-11-02*
1332
1333### Bug Fixes
1334* Work around an incompatibility with rollup-plugin-dts (#3211)
1335
1336### Pull Requests
1337* [#3211](https://github.com/rollup/rollup/pull/3211): Do no fail if the source attribute is `undefined` in an unused named export (@lukastaegert)
1338
1339## 1.26.2
1340*2019-10-31*
1341
1342### Bug Fixes
1343* Do not create invalid code when using `treeshake: false` and star re-exports (#3209)
1344
1345### Pull Requests
1346* [#3209](https://github.com/rollup/rollup/pull/3209): Also remove export-all declarations when not tree-shaking (@lukastaegert)
1347
1348## 1.26.1
1349*2019-10-31*
1350
1351### Bug Fixes
1352* Prevent an issue where outputs would overwrite files emitted by other outputs (#3201)
1353* Do not throw an error if the config file does not have a .js extension (#3204)
1354
1355### Pull Requests
1356* [#3201](https://github.com/rollup/rollup/pull/3201): Make the CLI run generate/output in serial (@marijnh)
1357* [#3204](https://github.com/rollup/rollup/pull/3204): support all config file extensions (.js,.mjs,...) (@arlac77)
1358
1359## 1.26.0
1360*2019-10-27*
1361
1362### Features
1363* Only warn when no output is provided for an IIFE bundle but still produce valid code (#3181)
1364* Support reexporting namespaces as a binding (#3193)
1365* Switch from hash.js to crypto for hashing in the Node build for better performance and support for very large assets (#3194)
1366
1367### Bug Fixes
1368* Correctly handle chunks reexporting the same namespace as two different bindings (#3193)
1369
1370### Pull Requests
1371* [#3181](https://github.com/rollup/rollup/pull/3181): Remove the need to provide an output name for IIFE bundles (@bterrier)
1372* [#3193](https://github.com/rollup/rollup/pull/3193): Add support for "export * as name from …" (@lukastaegert)
1373* [#3194](https://github.com/rollup/rollup/pull/3194): Add support for large assets (> 100 MB) (@SebastianNiemann)
1374
1375## 1.25.2
1376*2019-10-23*
1377
1378### Bug Fixes
1379* Improve performance of bundled UMD code by adding additional parentheses to enforce eager parsing (#3183)
1380* Improve types to tolerate passing a Rollup config with multiple outputs to `rollup.rollup` (#3184)
1381
1382### Pull Requests
1383* [#3183](https://github.com/rollup/rollup/pull/3183): Add parentheses to factory function of UMD bundles (@ajihyf)
1384* [#3184](https://github.com/rollup/rollup/pull/3184): RollupOptions accept output as array (@imcotton)
1385
1386## 1.25.1
1387*2019-10-20*
1388
1389### Bug Fixes
1390* Handle a situation where code was not included after a switch statement (#3178)
1391* Handle a situation where code was not included after a do-while loop (#3180)
1392* Do not fail if different outputs emit the same file (#3175)
1393* Give access to the original acorn error for parse errors (#3176)
1394
1395### Pull Requests
1396* [#3175](https://github.com/rollup/rollup/pull/3175): Disable errors for duplicate emitted file names (@marijnh)
1397* [#3176](https://github.com/rollup/rollup/pull/3176): Add original parser error to rollup error; Update tests (@gribnoysup)
1398* [#3178](https://github.com/rollup/rollup/pull/3178): Fix switch case not being included correctly (@lukastaegert)
1399* [#3179](https://github.com/rollup/rollup/pull/3179): Update dependencies (@lukastaegert)
1400* [#3180](https://github.com/rollup/rollup/pull/3180): Handle conditional breaks in do-while loops with unconditional return (@lukastaegert)
1401
1402## 1.25.0
1403*2019-10-18*
1404
1405### Features
1406* Remove try-catch if there is no side-effect in the try-block (#3166)
1407* Omit side-effect-free trailing cases in switch-statements (#3166)
1408* Remove unused labels (#3170)
1409
1410### Bug Fixes
1411* Do not remove code after labeled statements that contain a throw or return if the label is used (#3170)
1412* Prevent invalid code when expressions are simplified that do not follow a white-space character (#3173)
1413* Do not remove continue statements inside switch statements (#3166)
1414* Prevent trailing empty lines when tree-shaking inside switch statements (#3166)
1415
1416### Pull Requests
1417* [#3166](https://github.com/rollup/rollup/pull/3166): Better try statement tree shaking (@lukastaegert)
1418* [#3170](https://github.com/rollup/rollup/pull/3170): Handle optional control flow in labeled statements, remove unused labels (@lukastaegert)
1419* [#3173](https://github.com/rollup/rollup/pull/3173): Add missing spaces in certain statements and expressions to avoid invalid code (@lukastaegert)
1420
1421## 1.24.0
1422*2019-10-15*
1423
1424### Features
1425* Respect `break`, `continue`, `return` and `throw` when tree-shaking to detect dead code (#3153)
1426* Do treat treat hoisted function declarations as "unknown" when checking for call side-effects (#3153)
1427
1428### Bug Fixes
1429* Make sure that unknown `import.meta` properties produce valid code in SystemJS (#3152)
1430* Make sure `treeshake.annotations: false` is respected for class instantiation (#3153)
1431* Check property access side-effects for class instantiation (#3153)
1432* Do not suppress break statements inside labeled statements (#3153)
1433
1434### Pull Requests
1435* [#3152](https://github.com/rollup/rollup/pull/3152): Allow import.meta.* for systemjs format (@dmail)
1436* [#3153](https://github.com/rollup/rollup/pull/3153): Get rid of immutable.js and implement tree-shaking for broken control flow (@lukastaegert)
1437
1438## 1.23.1
1439*2019-10-05*
1440
1441### Bug Fixes
1442* Fix a regression where the node types had a specific minimal version (#3143)
1443
1444### Pull Requests
1445* [#3143](https://github.com/rollup/rollup/pull/3143): Ensure that types packages have star version ranges (@lukastaegert)
1446
1447## 1.23.0
1448*2019-10-03*
1449
1450### Features
1451* Add placeholders for extensions when preserving modules (#3116)
1452
1453### Pull Requests
1454* [#3116](https://github.com/rollup/rollup/pull/3116): Include extensions in preserveModules output filenames for scriptified assets (@Andarist)
1455* [#3142](https://github.com/rollup/rollup/pull/3142): Fix typo (@tu4mo)
1456
1457## 1.22.0
1458*2019-09-29*
1459
1460### Features
1461* Add a new "hidden" sourcemap type that generates the map files but omits the sourcemap comment (#3120)
1462* Generate more efficient code when using `namespaceToStringTag: true` (#3135)
1463* Make sure namespace objects do not have a prototype (#3136)
1464
1465### Bug Fixes
1466* Do not ignore side-effectful iterators by always preserving for..of loops for now (#3132)
1467* Make sure `--context` is observed as a CLI option (#3134)
1468* Do not require specific versions for @types dependencies (#3131)
1469
1470### Pull Requests
1471* [#3120](https://github.com/rollup/rollup/pull/3120): Generate sourcemaps but omit the comment (@rohitmohan96)
1472* [#3131](https://github.com/rollup/rollup/pull/3131): Use asterisk for @types/* dependencies (@frenzzy)
1473* [#3132](https://github.com/rollup/rollup/pull/3132): Preserve empty for...of loops (@imatlopez)
1474* [#3133](https://github.com/rollup/rollup/pull/3133): Update dependencies (@lukastaegert)
1475* [#3134](https://github.com/rollup/rollup/pull/3134): Wire up --context CLI flag (@tchetwin)
1476* [#3135](https://github.com/rollup/rollup/pull/3135): Remove Symbol polyfill in module namespaces (@mkubilayk)
1477* [#3136](https://github.com/rollup/rollup/pull/3136): Set null prototype on namespace objects (@rpamely)
1478
1479## 1.21.4
1480*2019-09-16*
1481
1482### Bug Fixes
1483* Recognize common browser globals (#3117)
1484* Do not treat "typeof <global>" as a side-effect (#3117)
1485
1486### Pull Requests
1487* [#3117](https://github.com/rollup/rollup/pull/3117): Add browser globals to known globals and prevent "typeof" side-effects (@lukastaegert)
1488
1489## 1.21.3
1490*2019-09-14*
1491
1492### Bug Fixes
1493* Fix a regression where modifying a watched file did not trigger a rebuild (#3112)
1494
1495### Pull Requests
1496* [#3112](https://github.com/rollup/rollup/pull/3112): Fix .addWatchFile() dependencies failing to invalidate in watch mode (@tivac)
1497
1498## 1.21.2
1499*2019-09-09*
1500
1501### Bug Fixes
1502* Fix wrong deprecation message to direct to `this.emitFile` instead of `this.emitAsset`
1503
1504## 1.21.1
1505*2019-09-09*
1506
1507### Bug Fixes
1508* Allow legacy plugins to still add assets directly to the bundle object (#3105)
1509
1510### Pull Requests
1511* [#3105](https://github.com/rollup/rollup/pull/3105): Allow legacy plugins to still add assets directly to the bundle object (@lukastaegert)
1512
1513## 1.21.0
1514*2019-09-08*
1515
1516### Features
1517* Respect `output.entryFileNames` when preserving modules (#3088)
1518* Make accessing unknown globals a side-effect unless this is deactivated via `treeshake.unknownGlobalSideEffects` (#3068)
1519* Respect global objects when checking for pure global functions (#3068)
1520* Introduce a `type` to more easily distinguish chunks and assets in the output bundle (#3080)
1521
1522### Bug Fixes
1523* Recover in watch mode when the initial build fails (#3081)
1524* Make sure `output.strict` is respected for SystemJS output (#3101)
1525
1526### Pull Requests
1527* [#3068](https://github.com/rollup/rollup/pull/3068): Make accessing unknown globals a side-effect (@lukastaegert)
1528* [#3080](https://github.com/rollup/rollup/pull/3080): OutputBundle Tagged union with 'type = chunk|asset' (@askbeka)
1529* [#3081](https://github.com/rollup/rollup/pull/3081): Watch files onbuild, even if build fails (@mhkeller)
1530* [#3088](https://github.com/rollup/rollup/pull/3088): Add support for entryFileNames pattern used in combination with preserveModules option (@Andarist)
1531* [#3101](https://github.com/rollup/rollup/pull/3101): Remove 'use strict'; from systemjs when strict=false (@askbeka)
1532
1533## 1.20.3
1534*2019-08-28*
1535
1536### Bug Fixes
1537* Make sure file hashes change when a change of the naming pattern leads to a file name change of a dependency (#3083)
1538* Fix several issues where reexporting an external "default" export could lead to invalid or incorrect code (#3084)
1539
1540### Pull Requests
1541* [#3078](https://github.com/rollup/rollup/pull/3078): Add github actions workflow config for windows (@shellscape)
1542* [#3083](https://github.com/rollup/rollup/pull/3083): Properly reflect dependency file names in hash (@lukastaegert)
1543* [#3084](https://github.com/rollup/rollup/pull/3084): Fix "default" reexport issues in non ESM/System formats (@lukastaegert)
1544
1545## 1.20.2
1546*2019-08-25*
1547
1548### Bug Fixes
1549* Avoid an issue where circular namespace reexports would crash Rollup (#3074)
1550
1551### Pull Requests
1552* [#3077](https://github.com/rollup/rollup/pull/3077): Handle namespaces that reexport themselves (@lukastaegert)
1553
1554## 1.20.1
1555*2019-08-22*
1556
1557### Bug Fixes
1558* Fix an issue where variable names inside dynamic import expressions were not rendered correctly (#3073)
1559* Fix type definition to allow a single watcher config as well as an array (#3074)
1560
1561### Pull Requests
1562* [#3073](https://github.com/rollup/rollup/pull/3073): Fix wrong variable name in import expression (@lukastaegert)
1563* [#3074](https://github.com/rollup/rollup/pull/3074): Fixes type definition on watch and Watcher constructor (@MicahZoltu)
1564
1565## 1.20.0
1566*2019-08-21*
1567
1568### Features
1569* Add augmentChunkHash plugin hook to be able to reflect changes in renderChunk in the chunk hash (#2921)
1570
1571### Bug Fixes
1572* Do not mutate the acorn options object (#3051)
1573* Make sure the order of emitted chunks always reflects the order in which they were emitted (#3055)
1574* Do not hang when there are strings containing comment-like syntax in some scenarios (#3069)
1575
1576### Pull Requests
1577* [#2921](https://github.com/rollup/rollup/pull/2921): Add augmentChunkHash plugin hook (@isidrok)
1578* [#2995](https://github.com/rollup/rollup/pull/2995): Add info on installing locally to docs (@mesqueeb)
1579* [#3037](https://github.com/rollup/rollup/pull/3037): Refresh pull request labels (@shellscape)
1580* [#3048](https://github.com/rollup/rollup/pull/3048): Document ROLLUP_WATCH environment variable (@shellscape)
1581* [#3051](https://github.com/rollup/rollup/pull/3051): Avoid changes to the original options (.acorn) object (@LongTengDao)
1582* [#3052](https://github.com/rollup/rollup/pull/3052): Minor refactoring: Remove one try-catch (@KSXGitHub)
1583* [#3053](https://github.com/rollup/rollup/pull/3053): Refactor to use async-await in more places (@KSXGitHub)
1584* [#3055](https://github.com/rollup/rollup/pull/3055): Provide consistent chunking via a consistent order of entry modules when emitting chunks (@lukastaegert)
1585* [#3058](https://github.com/rollup/rollup/pull/3058): Remove acorn-bigint and acorn-dynamic-import from bundle (@LongTengDao)
1586* [#3061](https://github.com/rollup/rollup/pull/3061): Update to acorn@7 (@lukastaegert)
1587* [#3063](https://github.com/rollup/rollup/pull/3063): Auto-generate license file (@lukastaegert)
1588* [#3069](https://github.com/rollup/rollup/pull/3069): Prevent infinite loop when scanning for line-breaks and there are comment-like strings (@lukastaegert)
1589
1590## 1.19.4
1591*2019-08-07*
1592
1593### Bug Fixes
1594* Prevent invalid code when exporting an external namespace (#3034)
1595* Prevent invalid or non-equivalent code when simplifying expressions in return and throw statements (#3035)
1596
1597### Pull Requests
1598* [#3034](https://github.com/rollup/rollup/pull/3034): Avoid generating .* as export (@LongTengDao)
1599* [#3035](https://github.com/rollup/rollup/pull/3035): Prevent ASI errors for conditional expressions (@lukastaegert)
1600* [#3036](https://github.com/rollup/rollup/pull/3036): Fix documents to use https, not http (@giraffate)
1601
1602## 1.19.3
1603*2019-08-06*
1604
1605### Bug Fixes
1606* Fix wrong URLs in error messages (#3033)
1607
1608### Pull Requests
1609* [#3033](https://github.com/rollup/rollup/pull/3033): Fix wrong URLs in error messages (@giraffate)
1610
1611## 1.19.2
1612*2019-08-05*
1613
1614### Bug Fixes
1615* Add bin file to package
1616
1617## 1.19.1
1618*2019-08-05*
1619
1620### Bug Fixes
1621* Remove wrong extension in package.json file (#3031)
1622
1623### Pull Requests
1624* [#3031](https://github.com/rollup/rollup/pull/3031): Fix wrong extension (@lukastaegert)
1625
1626## 1.19.0
1627*2019-08-05*
1628
1629### Features
1630* Implement a new unified file emission API for assets and chunks with support for explicit file names (#2999)
1631* Use the id of the last module in a chunk as base for the chunk name if no better name is available (#3025)
1632* Use the id of the last module in a chunk as base for the variable name of a chunk in some formats if no better name is available (#2999)
1633
1634### Bug Fixes
1635* Do not produce invalid variable names if an empty name is chosen for a virtual module (#3026)
1636* Fix an issue where a module variable name would conflict with a local variable name in some formats (#3020)
1637
1638### Pull Requests
1639* [#2999](https://github.com/rollup/rollup/pull/2999): Unified file emission api (@lukastaegert)
1640* [#3020](https://github.com/rollup/rollup/pull/3020): Switch to a code-splitting build and update dependencies (@lukastaegert)
1641* [#3025](https://github.com/rollup/rollup/pull/3025): Use id of last module in chunk as name base for auto-generated chunks (@lukastaegert)
1642* [#3026](https://github.com/rollup/rollup/pull/3026): Avoid variable from empty module name be empty (@LongTengDao)
1643
1644## 1.18.0
1645*2019-08-01*
1646
1647### Features
1648* Add `externalLiveBindings: false` option to optimize code when live bindings are not needed (#3010)
1649
1650### Pull Requests
1651* [#2997](https://github.com/rollup/rollup/pull/2997): Integrate coverage into CI setup (@lukastaegert)
1652* [#2998](https://github.com/rollup/rollup/pull/2998): Update readme badges (@lukastaegert)
1653* [#3010](https://github.com/rollup/rollup/pull/3010): Add option to prevent code for external live bindings (@lukastaegert)
1654
1655## 1.17.0
1656*2019-07-15*
1657
1658### Features
1659* Allow plugins to access current combined sourcemap in transform hook for coverage instrumentation (#2993)
1660
1661### Pull Requests
1662* [#2987](https://github.com/rollup/rollup/pull/2987): Fix code fences for link (@johanholmerin)
1663* [#2989](https://github.com/rollup/rollup/pull/2989): Bump lodash from 4.17.11 to 4.17.14 (@dependabot)
1664* [#2993](https://github.com/rollup/rollup/pull/2993): Add getCombinedSourceMap in transform plugin context (@billowz)
1665
1666## 1.16.7
1667*2019-07-09*
1668
1669### Bug Fixes
1670* Fix an issue where exported import.meta properties would lead to invalid code (#2986)
1671
1672### Pull Requests
1673* [#2985](https://github.com/rollup/rollup/pull/2985): Improve sourcemap types (@jridgewell)
1674* [#2986](https://github.com/rollup/rollup/pull/2986): Only overwrite content when resolving import.meta properties (@lukastaegert)
1675
1676## 1.16.6
1677*2019-07-04*
1678
1679### Bug Fixes
1680* Do not pass undefined to resolveDynamicImport for unresolvable template literals (#2984)
1681
1682### Pull Requests
1683* [#2984](https://github.com/rollup/rollup/pull/2984): Always forward AST nodes for unresolvable dynamic imports (@lukastaegert)
1684
1685## 1.16.5
1686*2019-07-04*
1687
1688### Bug Fixes
1689* onwarn should still be called when --silent is used (#2982)
1690* Properly clean up watchers for files that are deleted between builds (#2982)
1691
1692### Pull Requests
1693* [#2981](https://github.com/rollup/rollup/pull/2981): Do not skip onwarn handler when --silent is used (@lukastaegert)
1694* [#2982](https://github.com/rollup/rollup/pull/2982): Make tests run on Node 12, fix watcher cleanup issue (@lukastaegert)
1695
1696## 1.16.4
1697*2019-07-02*
1698
1699### Bug Fixes
1700* Do not show a TypeScript error when providing a location as number to this.warn and this.error (#2974)
1701* Use the correct TypeScript type for Sourcemap.version (#2976)
1702
1703### Pull Requests
1704* [#2965](https://github.com/rollup/rollup/pull/2965): Use async readFile in getRollupDefaultPlugin (@kaksmet)
1705* [#2974](https://github.com/rollup/rollup/pull/2974): Align TS types, docs and implementation for this.warn and this.error (@lukastaegert)
1706* [#2976](https://github.com/rollup/rollup/pull/2976): Fix sourcemap type and update dependencies (@lukastaegert)
1707
1708## 1.16.3
1709*2019-06-29*
1710
1711### Bug Fixes
1712* Prevent name conflicts with unused function parameters (#2972)
1713
1714### Pull Requests
1715* [#2972](https://github.com/rollup/rollup/pull/2972): Deconflict unused parameters (@lukastaegert)
1716
1717## 1.16.2
1718*2019-06-22*
1719
1720### Bug Fixes
1721* Properly wrap dynamic imports in Promises that can be caught when generating CJS output (#2958)
1722
1723### Pull Requests
1724* [#2958](https://github.com/rollup/rollup/pull/2958): Make sure errors from dynamic imports can be caught (@lukastaegert)
1725
1726## 1.16.1
1727*2019-06-21*
1728
1729### Pull Requests
1730* [#2956](https://github.com/rollup/rollup/pull/2956): Add missing CLI docs for strictDeprecations (@lukastaegert)
1731
1732## 1.16.0
1733*2019-06-21*
1734
1735### Features
1736* Add strictDeprecations option to throw when currently or upcoming deprecated features are used (#2945)
1737* Keep annotations and comments when simplifying logical and conditional expressions (#2955)
1738
1739### Bug Fixes
1740* Generate proper namespace objects when dynamically importing external dependencies for AMD or CJS formats (#2954)
1741* Fix dynamically imported variables not being resolved correctly when importing from an entry chunk with only a default export (#2954)
1742* Do not reexport default when reexporting a namespace (#2954)
1743
1744### Pull Requests
1745* [#2945](https://github.com/rollup/rollup/pull/2945): Add option to handle use of features marked for deprecation as errors (@lukastaegert)
1746* [#2954](https://github.com/rollup/rollup/pull/2954): Improve dynamic import interop (@lukastaegert)
1747* [#2955](https://github.com/rollup/rollup/pull/2955): Keep annotations and comments when simplifying logical and conditional expressions (@lukastaegert)
1748
1749## 1.15.6
1750*2019-06-16*
1751
1752### Bug Fixes
1753* No longer use an alternate screen in watch mode to allow scrolling (#2942)
1754* Prioritize non-external imports over external ones when resolving conflicting namespace re-exports (#2893)
1755
1756### Pull Requests
1757* [#2893](https://github.com/rollup/rollup/pull/2893): Improve handling of conflicting namespace exports (@aleclarson)
1758* [#2942](https://github.com/rollup/rollup/pull/2942): Get rid of alternate screen and simplify screen clearing (@lukastaegert)
1759
1760## 1.15.5
1761*2019-06-14*
1762
1763### Bug Fixes
1764* Do not include any comments for completely tree-shaken files so that `renderedLength === 0` is a reliable check (#2940)
1765* Do not cause type errors when returning `null` from `resolveId` (#2941)
1766
1767### Pull Requests
1768* [#2940](https://github.com/rollup/rollup/pull/2940): Completely omit files that do not have any included statements (@lukastaegert)
1769* [#2941](https://github.com/rollup/rollup/pull/2941): Explicitly allow null as return value for various hooks (@lukastaegert)
1770
1771## 1.15.4
1772*2019-06-14*
1773
1774### Bug Fixes
1775* Improve how asset and chunk URLs are resolved for UMD, IIFE and CJS output (#2937)
1776
1777### Pull Requests
1778* [#2937](https://github.com/rollup/rollup/pull/2937): Fix URL resolution to work when the current script contains query parameters (@lukastaegert)
1779
1780## 1.15.3
1781*2019-06-13*
1782
1783### Bug Fixes
1784* Always reemit assets and chunks from cached transform hooks (#2936)
1785
1786### Pull Requests
1787* [#2936](https://github.com/rollup/rollup/pull/2936): Fix repeated re-emission of files emitted from a transform hook (@lukastaegert)
1788
1789## 1.15.2
1790*2019-06-13*
1791
1792### Bug Fixes
1793* Make sure chunks emitted from transform hooks are also emitted for incremental builds in watch mode (#2933)
1794
1795### Pull Requests
1796* [#2933](https://github.com/rollup/rollup/pull/2933): Reemit chunks emitted from transform hooks (@lukastaegert)
1797
1798## 1.15.1
1799*2019-06-11*
1800
1801### Bug Fixes
1802* Do not fail when reexporting variables in dynamic entry points from other chunks (#2928)
1803
1804### Pull Requests
1805* [#2928](https://github.com/rollup/rollup/pull/2928): Handle reexports from dynamic entries across chunk (@lukastaegert)
1806
1807## 1.15.0
1808*2019-06-11*
1809
1810### Features
1811* Tone down try-catch deoptimization while maintaining polyfill support (#2918)
1812
1813### Bug Fixes
1814* Handle feature detection with "typeof" for regular expressios (#2916)
1815* Deoptimize `'' + variable'` type coercion as expression statement for feature detection (#2917)
1816* Always observe argument side-effects when tree-shaking (#2924)
1817
1818### Pull Requests
1819* [#2916](https://github.com/rollup/rollup/pull/2916): Deoptimize typeof for regular expression literals to better support es6-shim (@lukastaegert)
1820* [#2917](https://github.com/rollup/rollup/pull/2917): Support implicit type coercion errors in es5-shim (@lukastaegert)
1821* [#2918](https://github.com/rollup/rollup/pull/2918): Deoptimize try-catch less radically (@lukastaegert)
1822* [#2924](https://github.com/rollup/rollup/pull/2924): Do not tree-shake arguments with side-effects (@lukastaegert)
1823
1824## 1.14.6
1825*2019-06-10*
1826
1827### Bug Fixes
1828* Fix an issue where call arguments were not included in try statements (#2914)
1829
1830### Pull Requests
1831* [#2914](https://github.com/rollup/rollup/pull/2914): Properly include try statements for each pass when deoptimization is deactivated (@lukastaegert)
1832
1833## 1.14.5
1834*2019-06-09*
1835
1836### Bug Fixes
1837* Keep external ids unmodified when using the object form of resolveId (#2907)
1838* Cache dynamic import resolutions when using Rollup cache (#2908)
1839* Keep all necessary parentheses when tree-shaking call arguments (#2911)
1840
1841### Pull Requests
1842* [#2906](https://github.com/rollup/rollup/pull/2906): Update dependencies (@lukastaegert)
1843* [#2907](https://github.com/rollup/rollup/pull/2907): Do not renormalize external ids when using the object form (@lukastaegert)
1844* [#2908](https://github.com/rollup/rollup/pull/2908): Cache dynamic ids if possible (@lukastaegert)
1845* [#2911](https://github.com/rollup/rollup/pull/2911): Fix treeshaken parameters around parentheses (@manucorporat)
1846
1847## 1.14.4
1848*2019-06-07*
1849
1850### Bug Fixes
1851* Do not omit external re-exports for `moduleSideEffects: false` (#2905)
1852
1853### Pull Requests
1854* [#2905](https://github.com/rollup/rollup/pull/2905): Make sure external re-exports are included for moduleSideEffects: false (@lukastaegert)
1855
1856## 1.14.3
1857*2019-06-06*
1858
1859### Bug Fixes
1860* Generate correct external imports when importing from a directory that would be above the root of the current working directory (#2902)
1861
1862### Pull Requests
1863* [#2902](https://github.com/rollup/rollup/pull/2902): Use browser relative path algorithm for chunks (@lukastaegert)
1864
1865## 1.14.2
1866*2019-06-05*
1867
1868### Bug Fixes
1869* Prevent unnecessary inclusion of external namespace import in certain situations (#2900)
1870
1871### Pull Requests
1872* [#2900](https://github.com/rollup/rollup/pull/2900): Handle early bind for member expressions (@lukastaegert)
1873
1874## 1.14.1
1875*2019-06-05*
1876
1877### Bug Fixes
1878* Fix an issue where try-statements were not included properly when a variable declared inside the statement was accessed outside it (#2898)
1879* Fix an issue where `await` expressions were not included properly (#2899)
1880
1881### Pull Requests
1882* [#2898](https://github.com/rollup/rollup/pull/2898): Properly include try-catch-statements even if they have already been included in some way (@lukastaegert)
1883* [#2899](https://github.com/rollup/rollup/pull/2899): Fix unintended early return in await inclusion handling (@lukastaegert)
1884
1885## 1.14.0
1886*2019-06-05*
1887
1888### Features
1889* Deoptimize code inside and called from try-statements for feature detection (#2892)
1890* Tree-shake unused call arguments (#2892)
1891
1892### Pull Requests
1893* [#2892](https://github.com/rollup/rollup/pull/2892): Implement try-statement-deoptimization for feature detection, tree-shake unused arguments (@lukastaegert)
1894
1895
1896## 1.13.1
1897*2019-06-01*
1898
1899### Bug Fixes
1900* Avoid conflicts between top-level module, require etc. and CommonJS runtimes (#2889)
1901
1902### Pull Requests
1903* [#2888](https://github.com/rollup/rollup/pull/2888): Enable full TypeScript strict mode (@lukastaegert)
1904* [#2889](https://github.com/rollup/rollup/pull/2889): Protect all module globals for CJS output from being redefined (@lukastaegert)
1905
1906## 1.13.0
1907*2019-05-31*
1908
1909### Features
1910* Omit `exports` and `module` from SystemJS wrapper if possible (#2880)
1911* Try to use the first letters of names when mangling exports (#2885)
1912
1913### Bug Fixes
1914* Avoid conflicts with local variables when using format specific globals to render dynamic imports and file URLs (#2880)
1915* Do not produce undefined reexports when reexporting from entry points (#2885)
1916
1917### Pull Requests
1918* [#2880](https://github.com/rollup/rollup/pull/2880): Deconflict global variables used inside format-specific code (@lukastaegert)
1919* [#2885](https://github.com/rollup/rollup/pull/2885): Do not produce undefined reexports when reexporting from entry points and refactor chunk linking (@lukastaegert)
1920
1921## 1.12.5
1922*2019-05-30*
1923
1924### Pull Requests
1925* [#2884](https://github.com/rollup/rollup/pull/2884): Update pluginutils for new micormatch and reduced bundle size (@lukastaegert)
1926
1927## 1.12.4
1928*2019-05-27*
1929
1930### Bug Fixes
1931* Show correct error stack trace for errors throw in "load" hooks (#2871)
1932
1933### Pull Requests
1934* [#2875](https://github.com/rollup/rollup/pull/2875): Mention subfolders in docs (@lukastaegert)
1935* [#2871](https://github.com/rollup/rollup/pull/2871): Reserve error stack information (@LongTengDao)
1936
1937## 1.12.3
1938*2019-05-19*
1939
1940### Bug Fixes
1941* Prevent duplicate imports when exports are reexported as default exports (#2866)
1942
1943### Pull Requests
1944* [#2755](https://github.com/rollup/rollup/pull/2755): Enable TypeScript strictNullChecks (@edsrzf)
1945* [#2866](https://github.com/rollup/rollup/pull/2866): Properly deduplicate reexported default exports (@lukastaegert)
1946
1947## 1.12.2
1948*2019-05-17*
1949
1950### Bug Fixes
1951* Do not fail when using clearScreen:false in watchMode (#2858)
1952* Properly resolve star reexports when preserving modules (#2860)
1953
1954### Pull Requests
1955* [#2858](https://github.com/rollup/rollup/pull/2858): Declare processConfigsErr before use (@humphd)
1956* [#2860](https://github.com/rollup/rollup/pull/2860): Keep nested exports with preserveModules (@TomCaserta)
1957* [#2864](https://github.com/rollup/rollup/pull/2864): Cache transitive reexport detection (@lukastaegert)
1958
1959## 1.12.1
1960*2019-05-16*
1961
1962### Bug Fixes
1963* Extend file name sanitation to also replace "?" and "*" e.g. when preserving modules with the updated commonjs plugin (#2860)
1964* Do not ignore module transformer that return an empty string (#2861)
1965
1966### Pull Requests
1967* [#2860](https://github.com/rollup/rollup/pull/2860): Update to latest plugins and extend file name sanitation (@lukastaegert)
1968* [#2861](https://github.com/rollup/rollup/pull/2861): Allow transformers to return an empty string (@lukastaegert)
1969
1970## 1.12.0
1971*2019-05-15*
1972
1973### Features
1974* Add `treeshake.moduleSideEffects` option to allow removing empty imports without a side-effect check (#2844)
1975* Extend plugin API to allow marking modules as side-effect-free (#2844)
1976* Extend `this.resolve` plugin context function with an option to skip the `resolveId` hook of the calling plugin (#2844)
1977* Add `isEntry` flag to `this.getModuleInfo` plugin context function (#2844)
1978* Distribute Rollup as optimized ES2015 code (#2851)
1979
1980### Pull Requests
1981* [#2844](https://github.com/rollup/rollup/pull/2844): Add options and hooks to control module side effects (@lukastaegert)
1982* [#2851](https://github.com/rollup/rollup/pull/2851): Switch to ES2015 output (@lukastaegert)
1983
1984## 1.11.3
1985*2019-05-05*
1986
1987### Bug Fixes
1988* Quote es3 keywords in namespace objects (#2825)
1989
1990### Pull Requests
1991* [#2825](https://github.com/rollup/rollup/pull/2825): Add es3 support for namespace object import (@sormy)
1992
1993## 1.11.2
1994*2019-05-04*
1995
1996### Bug Fixes
1997* Prevent a crash when handling circular namespace exports (#2836)
1998
1999### Pull Requests
2000* [#2836](https://github.com/rollup/rollup/pull/2836): Make sure circular `export * from X` does not stack overflow (@Swatinem)
2001
2002## 1.11.1
2003*2019-05-04*
2004
2005### Bug Fixes
2006* Fix an issue where rendered exports were reported as "removed" in the bundle information (#2835)
2007
2008### Pull Requests
2009* [#2835](https://github.com/rollup/rollup/pull/2835): Fix `removedExports` to correctly track the exported item (@Swatinem)
2010
2011## 1.11.0
2012*2019-05-03*
2013
2014### Features
2015* Add `emitChunk` plugin context function to emit additional entry chunks that can be referenced from the code (#2809)
2016* Allow `manualChunks` to be a function (#2831)
2017* Omit `.js` extensions in AMD imports to make sure an AMD `baseUrl` would work (#2809)
2018* Automatically use the name of the imported module as a base for dynamically imported chunks (#2809)
2019* Add `resolveFileUrl` plugin hook to replace `resolveAssetUrl` and handle emitted chunks as well (#2809)
2020* Add `resolve` plugin hook to replace `resolveId` and `isExternal` that returns an object (#2829)
2021* Allow `resolveDynamicImport` to return an `{id, external}` object to also resolve unresolvable dynamic imports to a module (#2829)
2022
2023### Bug Fixes
2024* Do not create invalid code if a dynamic import contains nothing but reexports (#2809)
2025* Do not fail if modules that define a manual chunk depend on each other (#2809)
2026* Do not fail if a module that defines a manual chunk is the dependency of a module defining a different manual chunk (#2809)
2027* No longer fail for unnamed duplicate entry points but combine them (#2809)
2028* Always return `string | null` from `this.resolveId` even if some `resolveId` hooks return objects (#2829)
2029* Show proper warnings when `resolveDynamicImport` resolves to a non-external module that does not exist (#2829)
2030
2031### Pull Requests
2032* [#2809](https://github.com/rollup/rollup/pull/2809): Add hook for dynamic entry chunk emission (@lukastaegert)
2033* [#2821](https://github.com/rollup/rollup/pull/2821): Fix syntax error in documentation (@FFxSquall)
2034* [#2829](https://github.com/rollup/rollup/pull/2829): Improve id resolution (@lukastaegert)
2035* [#2831](https://github.com/rollup/rollup/pull/2831): Allow manualChunks to be a function (@lukastaegert)
2036* [#2832](https://github.com/rollup/rollup/pull/2832): Improve `generateBundle` documentation (@lukastaegert)
2037* [#2833](https://github.com/rollup/rollup/pull/2833): Update dependencies (@lukastaegert)
2038
2039## 1.10.1
2040*2019-04-19*
2041
2042### Bug Fixes
2043* Invalid options.format values will now trigger a helpful error (#2813)
2044
2045### Pull Requests
2046* [#2812](https://github.com/rollup/rollup/pull/2812): Minor documentation update (@dnalborczyk)
2047* [#2813](https://github.com/rollup/rollup/pull/2813): Catch invalid options.format values (@marijnh)
2048* [#2816](https://github.com/rollup/rollup/pull/2816): Update all dependencies to fix security issues (@lukastaegert)
2049
2050## 1.10.0
2051*2019-04-11*
2052
2053### Features
2054* Improve generated code to polyfill `import.meta.url` (#2785)
2055* Add plugin hook to configure handling of `import.meta` (#2785)
2056* Improve generated code when accessing URLs of emitted assets (#2796)
2057* Add plugin hook to configure the generated code when accessing URLs of emitted assets (#2796)
2058
2059### Bug Fixes
2060* No longer resolve assets to their parent URL in some cases (#2796)
2061
2062### Pull Requests
2063* [#2785](https://github.com/rollup/rollup/pull/2785): Refactor handling of import.meta.url and add option to configure behaviour (@lukastaegert)
2064* [#2796](https://github.com/rollup/rollup/pull/2796): Improve and fix asset emission (@lukastaegert)
2065
2066## 1.9.3
2067*2019-04-10*
2068
2069### Bug Fixes
2070* Simplify return expressions that are evaluated before the surrounding function is bound (#2803)
2071
2072### Pull Requests
2073* [#2803](https://github.com/rollup/rollup/pull/2803): Handle out-of-order binding of identifiers to improve tree-shaking (@lukastaegert)
2074
2075## 1.9.2
2076*2019-04-10*
2077
2078### Bug Fixes
2079* Allowing replacing `output.file` with `output.dir` in the `outputOptions` hook (#2802)
2080
2081### Pull Requests
2082* [#2802](https://github.com/rollup/rollup/pull/2802): Observe modified output options in bundle.write (@lukastaegert)
2083
2084## 1.9.1
2085*2019-04-10*
2086
2087### Bug Fixes
2088* Make sure inline comments in dynamic imports are preserved (#2797)
2089
2090### Pull Requests
2091* [#2797](https://github.com/rollup/rollup/pull/2797): Emit inline comments inside dynamic import (@manucorporat)
2092
2093## 1.9.0
2094*2019-04-05*
2095
2096### Features
2097* Add built-in support for bigint (#2789)
2098
2099### Pull Requests
2100* [#2789](https://github.com/rollup/rollup/pull/2789): Ship with bigint support built-in (@danielgindi)
2101* [#2791](https://github.com/rollup/rollup/pull/2791): Use shared extractAssignedNames from rollup-pluginutils (@lukastaegert)
2102* [#2792](https://github.com/rollup/rollup/pull/2792): Test that rollup-plugin-commonjs works with preserveModules (@lukastaegert)
2103
2104## 1.8.0
2105*2019-04-02*
2106
2107### Features
2108* Support `module` as alias for `esm` and `commonjs` for `cjs` to match Node (#2783)
2109
2110### Pull Requests
2111* [#2782](https://github.com/rollup/rollup/pull/2782): Inline interopDefault in config loading (@guybedford)
2112* [#2783](https://github.com/rollup/rollup/pull/2783): Support Node-style format aliases (@guybedford)
2113
2114## 1.7.4
2115*2019-03-28*
2116
2117### Bug Fixes
2118* Improve TypeScript type of the treeshaking options (#2779)
2119
2120### Pull Requests
2121* [#2779](https://github.com/rollup/rollup/pull/2779): Make all properties in TreeshakingOptions optional (@ndelangen)
2122
2123## 1.7.3
2124*2019-03-24*
2125
2126### Bug Fixes
2127* Use getters when re-exporting live-bindings (#2765)
2128
2129### Pull Requests
2130* [#2765](https://github.com/rollup/rollup/pull/2765): Support exporting live-bindings from other chunks or external dependencies (@lukastaegert)
2131
2132## 1.7.2
2133*2019-03-24*
2134
2135### Bug Fixes
2136* Make sure relative external ids are resolved correctly (#2774)
2137
2138### Pull Requests
2139* [#2774](https://github.com/rollup/rollup/pull/2774): Resolve relative external ids (@lukastaegert)
2140
2141## 1.7.1
2142*2019-03-24*
2143
2144### Bug Fixes
2145* Prevent invalid code when exporting several hundred identifiers from a chunk (#2768)
2146* Do not wrongly deconflict labels (#2776)
2147
2148### Pull Requests
2149* [#2768](https://github.com/rollup/rollup/pull/2768): Sanitize shortened internal export names (@lukastaegert)
2150* [#2769](https://github.com/rollup/rollup/pull/2769): Update dependencies and fix security issue (@lukastaegert)
2151* [#2776](https://github.com/rollup/rollup/pull/2776): Do not treat break labels as identifiers (@lukastaegert)
2152
2153## 1.7.0
2154*2019-03-20*
2155
2156### Features
2157* Sort chunk exports by name for greater consistency (#2757)
2158
2159### Bug Fixes
2160* Fix a situation where tree-shakeable code would not be removed in an indeterminate manner (#2757)
2161
2162### Pull Requests
2163* [#2757](https://github.com/rollup/rollup/pull/2757): Sort modules before binding, sort exports (@lukastaegert)
2164
2165## 1.6.1
2166*2019-03-20*
2167
2168### Bug Fixes
2169* Avoid name clashes of unused default exports when tree-shaking is false (#2758)
2170* Do not crash when generating SystemJS bundles containing array patterns with member expressions (#2760)
2171
2172### Pull Requests
2173* [#2758](https://github.com/rollup/rollup/pull/2758): Make sure unused default exports are deconflicted when tree-shaking is false (@lukastaegert)
2174* [#2760](https://github.com/rollup/rollup/pull/2760): Handle member expressions in array patterns (@lukastaegert)
2175
2176## 1.6.0
2177*2019-03-08*
2178
2179### Features
2180* Add plugin hook to modify output options (#2736)
2181
2182### Pull Requests
2183* [#2736](https://github.com/rollup/rollup/pull/2736): Add hook for modifying OutputOptions (@Comandeer)
2184
2185## 1.5.0
2186*2019-03-07*
2187
2188### Features
2189* Allow resolving to a different id while marking it as external at the same time (#2734)
2190
2191### Pull Requests
2192* [#2734](https://github.com/rollup/rollup/pull/2734): Allow resolveId to return an object (@lukastaegert)
2193
2194## 1.4.2
2195*2019-03-07*
2196
2197### Bug Fixes
2198* Respect variable identity of exports when hashing (#2741)
2199* Resolve a situations where a variable was imported twice with the same name (#2737)
2200
2201### Pull Requests
2202* [#2741](https://github.com/rollup/rollup/pull/2741): Fix hashing when different variable are exported using the same name (@lukastaegert)
2203* [#2737](https://github.com/rollup/rollup/pull/2737): Fix duplicate imports with conflicting names (@lukastaegert)
2204
2205## 1.4.1
2206*2019-03-04*
2207
2208### Bug Fixes
2209* Do not treat the import target "" as external by default (#2733)
2210
2211### Pull Requests
2212* [#2733](https://github.com/rollup/rollup/pull/2733): Do not treat the import target "" as external by default (@LongTengDao)
2213
2214## 1.4.0
2215*2019-03-01*
2216
2217### Features
2218* Add option to change the name of the dynamic import function to allow polyfilling it (#2723)
2219
2220### Pull Requests
2221* [#2723](https://github.com/rollup/rollup/pull/2723): Add dynamicImportFunction option (@keithamus)
2222
2223## 1.3.3
2224*2019-03-01*
2225
2226### Bug Fixes
2227* Fix performance regression when handling long chains of calls to property methods (#2732)
2228
2229### Pull Requests
2230* [#2730](https://github.com/rollup/rollup/pull/2730): Order types, interfaces, classes, and object members (@lukastaegert)
2231* [#2732](https://github.com/rollup/rollup/pull/2732): Take chunk export mode into account when reexporting default (@lukastaegert)
2232
2233## 1.3.2
2234*2019-02-27*
2235
2236### Bug Fixes
2237* Allow ids of default exported classes to be exported separately (#2728)
2238
2239### Pull Requests
2240* [#2728](https://github.com/rollup/rollup/pull/2728): Update dependencies (@lukastaegert)
2241
2242## 1.3.1
2243*2019-02-27*
2244
2245### Bug Fixes
2246* Correctly reexport the default export from entry chunks (#2727)
2247
2248### Pull Requests
2249* [#2727](https://github.com/rollup/rollup/pull/2727): Take chunk export mode into account when reexporting default (@lukastaegert)
2250
2251## 1.3.0
2252*2019-02-26*
2253
2254### Features
2255* Treeshake call expressions prefixed with UglifyJS style `@__PURE__` annotations (#2429)
2256
2257### Pull Requests
2258* [#2429](https://github.com/rollup/rollup/pull/2429): Add support for /*#__PURE__*/ comments (@conartist6 and @lukastaegert)
2259
2260## 1.2.5
2261*2019-02-26*
2262
2263### Bug Fixes
2264* Store external ids reported by plugins in watch mode (#2718)
2265
2266### Pull Requests
2267* [#2718](https://github.com/rollup/rollup/pull/2718): Incremental external (@andreas-karlsson)
2268
2269## 1.2.4
2270*2019-02-26*
2271
2272### Bug Fixes
2273* Fix an issue where a variable was imported twice under the same name (#2715)
2274
2275### Pull Requests
2276* [#2715](https://github.com/rollup/rollup/pull/2715): Deduplicate imports referencing default exports and their original variables (@lukastaegert)
2277
2278## 1.2.3
2279*2019-02-23*
2280
2281### Bug Fixes
2282* Use correct path when rendering dynamic imports where the entry module is empty (#2714)
2283
2284### Pull Requests
2285* [#2714](https://github.com/rollup/rollup/pull/2714): Properly render dynamic imports when imported module is empty (@lukastaegert)
2286
2287## 1.2.2
2288*2019-02-19*
2289
2290### Bug Fixes
2291* Fix wrong external imports when using the `paths` options only for some outputs (#2706)
2292
2293### Pull Requests
2294* [#2706](https://github.com/rollup/rollup/pull/2706): Always recreate paths for external modules (@lukastaegert)
2295
2296## 1.2.1
2297*2019-02-17*
2298
2299### Bug Fixes
2300* Fix ESM version of Rollup (#2705)
2301
2302### Pull Requests
2303* [#2705](https://github.com/rollup/rollup/pull/2705): Fix ESM version of Rollup (@lukastaegert)
2304
2305## 1.2.0
2306*2019-02-17*
2307
2308### Features
2309* Fewer renamed variables due to a completely reimplemented deconflicting logic (#2689)
2310
2311### Bug Fixes
2312* Respect rendered and tree-shaken exports when determining chunk hashes (#2695)
2313* Fix an error when dynamic imports end up in the same chunk as one of their importees (#2677)
2314* Do not generate invalid code when expressions containing IIFEs are simplified (#2696)
2315* Do not throw an error when more than ten bundles are watched (#2700)
2316* Treat re-exported globals in a spec-compliant way (#2691)
2317* Fix issues related to wrongly renamed variables (#2689)
2318* Do not throw an error if config files contain non-default exports (#2673)
2319* Improve type of `RollupOutput.output` to guarantee at least one chunk (#2679)
2320
2321### Pull Requests
2322* [#2673](https://github.com/rollup/rollup/pull/2673): Allow config files to have non-default exports (@swansontec)
2323* [#2677](https://github.com/rollup/rollup/pull/2677): Prevent final resolution and facade creation for inlined dynamic imports (@Rich-Harris and @lukastaegert)
2324* [#2679](https://github.com/rollup/rollup/pull/2679): Improve type of `RollupOutput.output` (@MattiasBuelens)
2325* [#2689](https://github.com/rollup/rollup/pull/2689): Reimplement variable deconflicting logic (@lukastaegert)
2326* [#2691](https://github.com/rollup/rollup/pull/2691): Fix CI issues and update acorn dependency (@lukastaegert)
2327* [#2693](https://github.com/rollup/rollup/pull/2693): Fix typo in export-globals test (@MattiasBuelens)
2328* [#2695](https://github.com/rollup/rollup/pull/2695): Respect rendered exports when generating chunk hashes (@lukastaegert)
2329* [#2696](https://github.com/rollup/rollup/pull/2696): Correctly render function expression inside simplified expression statements (@lukastaegert)
2330* [#2700](https://github.com/rollup/rollup/pull/2700): Add a fix for MaxListenersExceededWarning (@luwes)
2331* [#2703](https://github.com/rollup/rollup/pull/2703): Update rollup-pluginutils (@lukastaegert)
2332
2333## 1.1.2
2334*2019-01-21*
2335
2336### Bug Fixes
2337* Tree-shaken dynamic imports no longer leave behind `undefined` entries in the bundle information (#2663)
2338* Dynamic imports in dynamically imported files could lead to crashes and would not always create new chunks (#2664)
2339
2340### Pull Requests
2341* [#2663](https://github.com/rollup/rollup/pull/2663): Do not include tree-shaken dynamic imports in bundle information (@lukastaegert)
2342* [#2664](https://github.com/rollup/rollup/pull/2664): Properly handle dynamic imports declared in dynamically imported files (@everdimension)
2343
2344## 1.1.1
2345*2019-01-19*
2346
2347### Bug Fixes
2348* Make sure object prototype methods are not considered to be falsy when tree-shaking (#2652)
2349
2350### Pull Requests
2351* [#2652](https://github.com/rollup/rollup/pull/2652): Make sure object prototype methods are not considered to be falsy (@lukastaegert)
2352* [#2654](https://github.com/rollup/rollup/pull/2654): Use correct signature for `this.setAssetSource` in docs (@everdimension)
2353* [#2656](https://github.com/rollup/rollup/pull/2656): Swap descriptions for `[extname]` and `[ext]` in docs (@tivac)
2354
2355## 1.1.0
2356*2019-01-09*
2357
2358### Features
2359* Make `this.meta` available from the `options` plugin hook (#2642)
2360* Add a new `writeBundle` plugin hook that is called *after* all files have been written (#2643)
2361
2362### Bug Fixes
2363* Make sure the `acorn` import of the bundled non-ESM acorn plugins is correctly translated to ESM (#2636)
2364* Make sure input options are actually passed to the `buildStart` hook (#2642)
2365
2366### Pull Requests
2367* [#2636](https://github.com/rollup/rollup/pull/2636): Improve how acorn is imported, update dependencies (@lukastaegert)
2368* [#2642](https://github.com/rollup/rollup/pull/2642): Make this.meta available in options hook, pass input options to buildStart (@lukastaegert)
2369* [#2643](https://github.com/rollup/rollup/pull/2643): Implement writeBundle hook (@lukastaegert)
2370
2371## 1.0.2
2372*2019-01-05*
2373
2374### Bug Fixes
2375* Make sure the transform hook is always reevaluated when a file watched by the hook changes (#2633)
2376* Fix a crash when generating hashes for tree-shaken dynamic imports (#2638)
2377* Fix a crash and some inconsistencies when using the acorn-bigint plugin (#2640)
2378
2379### Pull Requests
2380* [#2633](https://github.com/rollup/rollup/pull/2633): Document `this.addWatchFile` and make sure it also declares transform dependencies (@lukastaegert)
2381* [#2635](https://github.com/rollup/rollup/pull/2635): Make sure `code` is optional in warning type (@lukastaegert)
2382* [#2638](https://github.com/rollup/rollup/pull/2638): Do not fail when generating hashes for tree-shaken dynamic imports (@lukastaegert)
2383* [#2640](https://github.com/rollup/rollup/pull/2640): Always treat bigints as unknown (@lukastaegert)
2384* [#2641](https://github.com/rollup/rollup/pull/2641): Make sure all CLI options are listed in the summary (@lukastaegert)
2385
2386## 1.0.1
2387*2019-01-03*
2388
2389### Bug Fixes
2390* Properly handle reexporting an external default export for non-ESM targets when using named exports mode (#2620)
2391* Do not (wrongly) re-declare input options in the merged `RollupOptions` type (#2622)
2392
2393### Pull Requests
2394* [#2620](https://github.com/rollup/rollup/pull/2620): Fixed issue with reexporting default as default with `{exports: named, interop: true}` options (@Andarist)
2395* [#2622](https://github.com/rollup/rollup/pull/2622): Simplify RollupOptions (@Kinrany)
2396* [#2627](https://github.com/rollup/rollup/pull/2627): Show how to skip imports for optional plugins (@chris-morgan)
2397
2398## 1.0.0
2399*2018-12-28*
2400
2401### Breaking Changes
2402* Several (mostly deprecated) options have been removed or renamed (#2293, #2409):
2403 - banner -> output.banner
2404 - dest -> output.file
2405 - entry -> input
2406 - experimentalCodeSplitting -> now always active
2407 - experimentalDynamicImport -> now always active
2408 - experimentalPreserveModules -> preserveModules
2409 - exports -> output.exports
2410 - extend -> output.extend
2411 - footer -> output.footer
2412 - format -> output.format
2413 - freeze -> output.freeze
2414 - globals -> output.globals
2415 - indent -> output.indent
2416 - interop -> output.interop
2417 - intro -> output.intro
2418 - load -> use plugin API
2419 - moduleName -> output.name
2420 - name -> output.name
2421 - noConflict -> output.noConflict
2422 - output.moduleId -> output.amd.id
2423 - outro -> output.outro
2424 - paths -> output.paths
2425 - preferConst -> output.preferConst
2426 - pureExternalModules -> treeshake.pureExternalModules
2427 - resolveExternal -> use plugin API
2428 - resolveId -> use plugin API
2429 - sourcemap -> output.sourcemap
2430 - sourceMap -> output.sourcemap
2431 - sourceMapFile -> output.sourcemapFile
2432 - strict -> output.strict
2433 - targets -> use output as an array
2434 - transform -> use plugin API
2435 - useStrict -> output.strict
2436* In general, output options can no longer be used as input options (#2409)
2437* `bundle.generate` and `bundle.write` now return a new format (#2293)
2438* Several plugin hooks have become deprecated and will display warnings when used (#2409):
2439 - transformBundle
2440 - transformChunk
2441 - ongenerate
2442 - onwrite
2443* Plugin transform dependencies are deprecated in favour of using the `this.addWatchFile` plugin context function (#2409)
2444* Accessing `this.watcher` in plugin hooks is deprecated in favour of the `watchChange` plugin hook and the `this.addWatchFile` plugin context function (#2409)
2445* Using dynamic import statements will by default create a new chunk unless `inlineDynamicImports` is used (#2293)
2446* Rollup now uses acorn@6 which means that acorn plugins must be compatible with this version; acorn is now external for non-browser builds to make plugins work (#2293)
2447
2448### Features
2449* The `--dir` ClI option can now be aliased as `-d` (#2293)
2450* The `--input` option now supports named entry points via `=` (#2293)
2451
2452### Bug Fixes
2453* Both the `--input` option as well as the default CLI option now support named inputs (#2293)
2454
2455### Pull Requests
2456* [#2293](https://github.com/rollup/rollup/pull/2293): Unify code paths for 1.0 relase and update documentation (@guybedford and @lukastaegert)
2457* [#2409](https://github.com/rollup/rollup/pull/2409): Remove old deprecated features and add new deprecation warnings (@guybedford)
2458* [#2486](https://github.com/rollup/rollup/pull/2486): Upgrade to acorn 6 (@marijnh)
2459* [#2611](https://github.com/rollup/rollup/pull/2611): Fix hook's name in test description (@Andarist)
2460* [#2612](https://github.com/rollup/rollup/pull/2612): Fix a self-contradicting comment in the docs (@LongTengDao)
2461
2462## 0.68.2
2463*2018-12-23*
2464
2465### Bug Fixes
2466* Do not assume hoisted variables to have been initialized (#2607)
2467
2468### Pull Requests
2469* [#2607](https://github.com/rollup/rollup/pull/2607): Fix an issues where hoisted variables were assumed to have been initialized (@lye)
2470
2471## 0.68.1
2472*2018-12-19*
2473
2474### Bug Fixes
2475* Fix an issue with UMD wrappers where a variable is used without being defined (#2600)
2476
2477### Pull Requests
2478* [#2600](https://github.com/rollup/rollup/pull/2600): Fix UMD and IIFE wrapper issues and add comprehensive functional wrapper tests (@lukastaegert)
2479
2480## 0.68.0
2481*2018-12-16*
2482
2483### Breaking Changes
2484* `optimizeChunks` is renamed to `experimentalOptimizeChunks` to reflect this feature is not production-ready yet (#2575)
2485
2486### Features
2487* Plugins can iterate all module ids via `this.moduleIds` (#2565)
2488* Plugins can get graph information about a module via `this.getModuleInfo(id)` (#2565)
2489* Plugins and JS API users get more information about the generated chunks: `dynamicImports`, `facadeModuleId`, `isDynamicEntry`, `name` (#2575)
2490* Tree-shaken dynamic imports will no longer create chunks or influence chunking in any way (#2575)
2491* Dynamic imports will no longer follow the `entryFileNames` but the `chunkFileNames` property reflecting those are solely internally used (#2575)
2492* If there are chunk naming conflicts, entry chunks will always take precedence (#2575)
2493* If an entry facade is created, only the facade chunk is marked as `isEntry` (#2575)
2494* Dynamic chunks will only be marked as `isEntry` if they are actually entry chunks as well; thus there is now a 1-to-1 correspondence between modules listed in `input` and chunks marked as `isEntry` (#2575)
2495* Chunks no longer contain imports for variables that are tree-shaken in the chunk but used in other chunks (#2584)
2496* Chunks will always import re-exported variables directly from the chunk where they are originally exported from (#2584)
2497* Null characters will be pruned from chunk ids to allow for virtually created chunks and make `rollup-plugin-multi-entry` compatible with code-splitting and thus the upcoming 1.0 version (#2590)
2498* Simplify the UMD wrapper code as much as possible, especially if there are no exports (#2594)
2499* The UMD wrapper will now work in strict mode by checking for `self` before `this` when determining the global variable (#2594)
2500
2501### Bug Fixes
2502* If a facade is created for a dynamic entry point, this facade will be imported instead of the facaded chunk (#2575)
2503* Manual chunks that include multiple entry points will have proper facades created for all entry points if necessary (#2575)
2504* If missing exports are shimmed, the shim variable will not be global but created on a per-module basis and is deconflicted with variables having the same name (#2584)
2505* Missing export shims work properly in SystemJS (#2584)
2506* `preserveModules` now handles dynamic namespace imports (#2584)
2507* Fix chunk execution order in certain scenarios (#2584)
2508* Exports and assignments using destructuring syntax will properly update the exported variables when generating SystemJS output (#2587)
2509* Hashes in chunk names will now also take dynamic imports into account (#2596)
2510
2511### Pull Requests
2512* [#2565](https://github.com/rollup/rollup/pull/2565): Provide module graph information on the plugin context (@samccone)
2513* [#2575](https://github.com/rollup/rollup/pull/2575): Extend bundle information, tree-shake dynamic imports, fix dynamic import facade creation, support manual chunks with multiple entry points, make `optimizeChunks` experimental (@lukastaegert)
2514* [#2577](https://github.com/rollup/rollup/pull/2577): Update dependencies (@lukastaegert)
2515* [#2584](https://github.com/rollup/rollup/pull/2584): Prune tree-shaken chunk imports, fix missing export shimming, support dynamic namespaces when preserving modules, improve chunk execution order (@lukastaegert)
2516* [#2587](https://github.com/rollup/rollup/pull/2587): Support exports using destructuring declarations and assignments in SystemJS (@lukastaegert)
2517* [#2590](https://github.com/rollup/rollup/pull/2590): Make sure chunk ids do not contain invalid characters to allow for chunks to correspond to virtual modules (@lukastaegert)
2518* [#2594](https://github.com/rollup/rollup/pull/2594): Simplify UMD wrapper code and make sure it works in strict mode (@lukastaegert)
2519* [#2596](https://github.com/rollup/rollup/pull/2596): Take both static and dynamic dependencies into account when calculating hashes (@lukastaegert)
2520
2521## 0.67.4
2522*2018-12-03*
2523
2524### Bug Fixes
2525* Prevent corrupt source maps for files with very long lines (#2571)
2526
2527### Pull Requests
2528* [#2571](https://github.com/rollup/rollup/pull/2571): Fix an issue with long lines in sourcemaps (@mislav)
2529
2530## 0.67.3
2531*2018-11-17*
2532
2533### Bug Fixes
2534* Make sure the ESM browser build is actually published to npm (#2560)
2535* Throw proper error when using `inlineDynamicImports` with `experimentalPreserveModules` (#2560)
2536
2537### Pull Requests
2538* [#2552](https://github.com/rollup/rollup/pull/2552): Properly include ESM browser build in package (@lukastaegert)
2539* [#2560](https://github.com/rollup/rollup/pull/2560): Show proper error when using `inlineDynamicImports` with `experimentalPreserveModules` (@clarkdo)
2540
2541## 0.67.2
2542*2018-11-17*
2543
2544### Bug Fixes
2545* Prevent crash when not returning sourcemaps from `renderChunk` plugin hook (#2558)
2546
2547### Pull Requests
2548* [#2558](https://github.com/rollup/rollup/pull/2558): Prevent crash when not returning sourcemaps from `renderChunk` (@kyle1320)
2549
2550## 0.67.1
2551*2018-11-11*
2552
2553### Bug Fixes
2554* Deconflict CLI entry points with same name but on different paths if no explicit naming is used (#2548)
2555
2556### Pull Requests
2557* [#2548](https://github.com/rollup/rollup/pull/2548): Deconflict CLI entry points with same name but on different paths if no explicit naming is used (@lukastaegert)
2558
2559## 0.67.0
2560*2018-11-04*
2561
2562### Breaking Changes
2563none
2564
2565### Features
2566* Do not resolve external dynamic imports via plugins to match the logic for static external imports again (#2505)
2567* Support virtual modules created by plugins when preserving modules (#2511)
2568* Add new `output.sourcemapExcludeSources` option to exclude the actual sources from sourcemaps (#2531)
2569
2570### Bug Fixes
2571* Fix TypeScript type for sourcemaps (#2507)
2572* Fix order of external and inter-chunk imports to match the proper execution order (#2508)
2573* Do not tree-shake children of unknown nodes to e.g. properly handle do-expressions via acorn plugin (#2510)
2574* Prevent memory leak when using the bundle as cache (#2522)
2575* Fix mis-placed semicolons for certain SystemJS exports (#2529)
2576
2577### Pull Requests
2578* [#2505](https://github.com/rollup/rollup/pull/2505): Do not resolve external dynamic imports via plugins (@lukastaegert)
2579* [#2507](https://github.com/rollup/rollup/pull/2507): Fix public sourcemap type (@aMarCruz)
2580* [#2508](https://github.com/rollup/rollup/pull/2508): Improve execution order of chunks and externals (@lukastaegert)
2581* [#2510](https://github.com/rollup/rollup/pull/2510): Do not tree-shake children of unknown nodes to e.g. properly handle do-expressions via acorn plugin (@devsnek)
2582* [#2511](https://github.com/rollup/rollup/pull/2511): Create chunks for virtual modules when preserving modules (@lukastaegert)
2583* [#2522](https://github.com/rollup/rollup/pull/2522): Prevent memory leak when using the bundle as cache (@kyle1320)
2584* [#2529](https://github.com/rollup/rollup/pull/2529): Fix mis-placed semicolons for certain SystemJS exports (@kyle1320)
2585* [#2531](https://github.com/rollup/rollup/pull/2531): add `sourcemapExcludeSources` option to exclude the source content from sourcemaps (@kitsonk)
2586
2587## 0.66.6
2588*2018-10-10*
2589* Properly deconflict function and class declaration ids of reassigned default exports ([#2502](https://github.com/rollup/rollup/pull/2502))
2590
2591## 0.66.5
2592*2018-10-09*
2593* Remove cache from memory once no longer needed ([#2496](https://github.com/rollup/rollup/pull/2496))
2594* Provide better error message when reexporting external namespace reexports ([#2499](https://github.com/rollup/rollup/pull/2499))
2595
2596## 0.66.4
2597*2018-10-04*
2598* Fix links in warnings and errors ([#2471](https://github.com/rollup/rollup/pull/2471))
2599
2600## 0.66.3
2601*2018-10-03*
2602* Detect side-effects in string.replace function arguments ([#2476](https://github.com/rollup/rollup/pull/2476))
2603* Make sure chunk ids are assigned before creating output bundle ([#2483](https://github.com/rollup/rollup/pull/2483))
2604* Use proper plugin name in error ([#2470](https://github.com/rollup/rollup/pull/2470))
2605* Update TypeScript version and fix type errors ([#2488](https://github.com/rollup/rollup/pull/2488))
2606
2607## 0.66.2
2608*2018-09-21*
2609* Add additional information to parse errors messages in JSON and other non-JS files ([#2466](https://github.com/rollup/rollup/pull/2466))
2610
2611## 0.66.1
2612*2018-09-19*
2613* Ignore falsy plugins ([#2464](https://github.com/rollup/rollup/pull/2464))
2614* Switch back to official TypeScript plugin ([#2465](https://github.com/rollup/rollup/pull/2465))
2615
2616## 0.66.0
2617*2018-09-16*
2618* Support ES2019 optional catch bindings ([#2455](https://github.com/rollup/rollup/pull/2455))
2619* Add option to transform paths within sourcemaps ([#2430](https://github.com/rollup/rollup/pull/2430))
2620* Add renderStart and renderEnd plugin hooks ([#2438](https://github.com/rollup/rollup/pull/2438))
2621* Expose ESM browser build and minify browser builds ([#2437](https://github.com/rollup/rollup/pull/2437)
2622* Associate hoisted variables in function bodys with function parameters ([#2456](https://github.com/rollup/rollup/pull/2456))
2623* Fix issue when deconflicting variables used as pattern defaults ([#2446](https://github.com/rollup/rollup/pull/2446))
2624* Properly deconflict default exported class and function expressions with ids ([#2458](https://github.com/rollup/rollup/pull/2458))
2625* Faster internal test builds ([#2457](https://github.com/rollup/rollup/pull/2457))
2626* Switch to rollup-plugin-typescript2 ([#2460](https://github.com/rollup/rollup/pull/2460))
2627* Fix internal "perf" script ([#2433](https://github.com/rollup/rollup/pull/2433))
2628* Test that errors are passed to the buildEnd hook ([#2450](https://github.com/rollup/rollup/pull/2450))
2629
2630## 0.65.2
2631*2018-09-05*
2632* Prevent watch mode memory leak ([#2441](https://github.com/rollup/rollup/pull/2441))
2633
2634## 0.65.1
2635*2018-09-05*
2636* Prevent globbing when using chokidar ([#2432](https://github.com/rollup/rollup/pull/2432))
2637
2638## 0.65.0
2639*2018-08-25*
2640* Refactor and unify plugin system ([#2382](https://github.com/rollup/rollup/pull/2382))
2641* Implement plugin cache API ([#2389](https://github.com/rollup/rollup/pull/2389))
2642* Add watchChange plugin hook to watch changed files, deprecate asset dependencies ([#2405](https://github.com/rollup/rollup/pull/2405))
2643* Refine asset handling ([#2369](https://github.com/rollup/rollup/pull/2369))
2644* Implement `renderChunk` hook to replace `transformChunk` and `transformBundle` hooks ([#2406](https://github.com/rollup/rollup/pull/2406))
2645* Add rollup version to plugin context ([#2394](https://github.com/rollup/rollup/pull/2394))
2646* Do not resume stdin in watch mode to fix it for Lerna users ([#2410](https://github.com/rollup/rollup/pull/2410))
2647* Allow `[format]` placeholder for id generation ([#2387](https://github.com/rollup/rollup/pull/2387))
2648* Always log error stacks even when a code frame is given ([#2417](https://github.com/rollup/rollup/pull/2417))
2649* Do not test module ids starting with `\0` as external ([#2400](https://github.com/rollup/rollup/pull/2400))
2650* Fix tracing of namespace variables ([#2408](https://github.com/rollup/rollup/pull/2408))
2651* Fix re-tracing of namespace variables ([#2420](https://github.com/rollup/rollup/pull/2420))
2652* Properly wrap comment annotations in SystemJS exports ([#2408](https://github.com/rollup/rollup/pull/2408))
2653* Fix renaming of destructured parameters ([#2419](https://github.com/rollup/rollup/pull/2419))
2654* Do not display version in watch mode when using `--silent` ([#2392](https://github.com/rollup/rollup/pull/2392))
2655* Make `cacheExpiry` an experimental option for now ([#2401](https://github.com/rollup/rollup/pull/2401))
2656* Lint test configs on commit ([#2402](https://github.com/rollup/rollup/pull/2402))
2657* Add code of conduct ([#2388](https://github.com/rollup/rollup/pull/2388))
2658* Move to CircleCI ([#2390](https://github.com/rollup/rollup/pull/2390))
2659* Update pull request template ([#2404](https://github.com/rollup/rollup/pull/2404))
2660
2661## 0.64.1
2662*2018-08-07*
2663* Do not render initializers of hoisted variables in dead branches ([#2384](https://github.com/rollup/rollup/pull/2384))
2664
2665## 0.64.0
2666*2018-08-07*
2667* Print memory consumption together with performance timings ([#2370](https://github.com/rollup/rollup/pull/2370))
2668* Enable plugins to mark imports as external by returning false for resolveId ([#2351](https://github.com/rollup/rollup/pull/2351))
2669* Always retain empty manual chunks ([#2362](https://github.com/rollup/rollup/pull/2362))
2670* Ensure CLI warnings are shown on errors and add error for external id collisions ([#2334](https://github.com/rollup/rollup/pull/2334))
2671* Remove unnecessary dependency, update dependencies, fix linting of test config ([#2376](https://github.com/rollup/rollup/pull/2376))
2672* Add targeted Github issue templates ([#2356](https://github.com/rollup/rollup/pull/2356))
2673
2674## 0.63.5
2675*2018-08-01*
2676* Ensure onwrite plugin hooks execute in sequence ([#2364](https://github.com/rollup/rollup/pull/2364))
2677* Always warn when no name is provided for a global module ([#2359](https://github.com/rollup/rollup/pull/2359))
2678* Add utility type for user created plugins ([#2355](https://github.com/rollup/rollup/pull/2355))
2679* Remove deprecated es6 format from types ([#2349](https://github.com/rollup/rollup/pull/2349))
2680* Mark inlineDynamicImports as optional in types ([#2348](https://github.com/rollup/rollup/pull/2348))
2681
2682## 0.63.4
2683*2018-07-20*
2684* Use turbocolor instead of chalk ([#2339](https://github.com/rollup/rollup/pull/2339))
2685
2686## 0.63.3
2687*2018-07-20*
2688* Handle expressions where "in" and "instanceof" are applied to primitive values ([#2344](https://github.com/rollup/rollup/pull/2344))
2689
2690## 0.63.2
2691*2018-07-18*
2692* Fix bind order in for-of loops ([#2338](https://github.com/rollup/rollup/pull/2338))
2693
2694## 0.63.1
2695*2018-07-18*
2696
2697## 0.63.0
2698*2018-07-17*
2699* Fix many tree-shaking related issues ([#2315](https://github.com/rollup/rollup/pull/2315))
2700* Add experimental support for top-level await ([#2235](https://github.com/rollup/rollup/pull/2235))
2701* Prevent duplicate version printout in watch mode ([#2325](https://github.com/rollup/rollup/pull/2325))
2702* Respect error frames provided by plugins ([#2309](https://github.com/rollup/rollup/pull/2309))
2703* Add `esm` format alias to types ([#2327](https://github.com/rollup/rollup/pull/2327))
2704* Further unify internal test setup ([#2329](https://github.com/rollup/rollup/pull/2329))
2705
2706## 0.62.0
2707*2018-06-27*
2708* Add option to automatically shim missing exports ([#2118](https://github.com/rollup/rollup/pull/2118))
2709* Inline dynamic imports that are also imported statically and only used in a single chunk ([#2295](https://github.com/rollup/rollup/pull/2295))
2710* Handle caching and invalidation of assets ([#2267](https://github.com/rollup/rollup/pull/2267))
2711* Fix plugin related types ([#2299](https://github.com/rollup/rollup/pull/2299))
2712
2713## 0.61.2
2714*2018-06-23*
2715* Improve watcher error handling, only rebuild invalidated outputs ([#2296](https://github.com/rollup/rollup/pull/2296))
2716* Update dependencies, make watcher more stable ([#2297](https://github.com/rollup/rollup/pull/2297))
2717
2718## 0.61.1
2719*2018-06-21*
2720* Do not try to deconflict "undefined" ([#2291](https://github.com/rollup/rollup/pull/2291))
2721* Properly track values for loop interator declarations and reassigned namespaces, add smoke test ([#2292](https://github.com/rollup/rollup/pull/2292))
2722
2723## 0.61.0
2724*2018-06-20*
2725* Declare file dependencies via transform plugin hooks ([#2259](https://github.com/rollup/rollup/pull/2259))
2726* Handle undefined values when evaluating conditionals ([#2264](https://github.com/rollup/rollup/pull/2264))
2727* Handle known undefined properties when evaluating conditionals ([#2265](https://github.com/rollup/rollup/pull/2265))
2728* Access watch events via the plugin context ([#2261](https://github.com/rollup/rollup/pull/2261))
2729* Add option to suppress `__esModule` flag in output ([#2287](https://github.com/rollup/rollup/pull/2287))
2730* Fix issue when re-declaring variables, track reassignments in more cases ([#2279](https://github.com/rollup/rollup/pull/2279))
2731* Add VSCode debug settings ([#2276](https://github.com/rollup/rollup/pull/2276))
2732
2733## 0.60.7
2734*2018-06-14*
2735* Fix typing issue ([#2269](https://github.com/rollup/rollup/pull/2269))
2736
2737## 0.60.6
2738*2018-06-14*
2739* Track mutations of included virtual arrays ([#2263](https://github.com/rollup/rollup/pull/2263))
2740* Update readme ([#2266](https://github.com/rollup/rollup/pull/2266))
2741
2742## 0.60.5
2743*2018-06-14*
2744* Track deep reassignments of global and exported variables and improve performance ([#2254](https://github.com/rollup/rollup/pull/2254))
2745
2746## 0.60.4
2747*2018-06-13*
2748* Properly handle initially uninitialized exports and exports of globals in SystemJS output ([#2258](https://github.com/rollup/rollup/pull/2258))
2749
2750## 0.60.3
2751*2018-06-13*
2752* Fix types to allow watching an array of outputs ([#2262](https://github.com/rollup/rollup/pull/2262))
2753
2754## 0.60.2
2755*2018-06-11*
2756* Permit setting an asset's source in `generateBundle` ([#2256](https://github.com/rollup/rollup/pull/2256))
2757* Add automatic linting ([#2242](https://github.com/rollup/rollup/pull/2242))
2758
2759## 0.60.1
2760*2018-06-07*
2761* Fix plugin regressions ([#2246](https://github.com/rollup/rollup/pull/2246))
2762* Avoid conflicts for large numbers of variables ([#2244](https://github.com/rollup/rollup/pull/2244))
2763
2764## 0.60.0
2765*2018-06-06*
2766* New plugin hooks: transformChunk, buildStart, buildEnd; extended plugin context with warn, error, resolveId, isExternal, emitAsset, setAssetSource and getAssetFileName available to any hook ([#2208](https://github.com/rollup/rollup/pull/2208))
2767* [BREAKING] Deprecate the `legacy` option and thus IE8 support ([#2141](https://github.com/rollup/rollup/pull/2141))
2768* Detect more known extensions and load .mjs without extension ([#2211](https://github.com/rollup/rollup/pull/2211))
2769* Add compact output mode ([#2151](https://github.com/rollup/rollup/pull/2151))
2770* Significantly improve sourcemap generation performance ([#2228](https://github.com/rollup/rollup/pull/2228))
2771* Enable naming SystemJS modules ([#2028](https://github.com/rollup/rollup/pull/2028))
2772* Do not use alternate screen if clearScreen is set in watch mode ([#2125](https://github.com/rollup/rollup/pull/2125))
2773* Allow object input form for code-splitting in watch mode ([#2217](https://github.com/rollup/rollup/pull/2217))
2774* Track reassignments of methods of exports from outside ([#2240](https://github.com/rollup/rollup/pull/2240))
2775* Preserve id of default exported functions and classes ([#2234](https://github.com/rollup/rollup/pull/2234))
2776* Add semicolons after default exports ([#2209](https://github.com/rollup/rollup/pull/2209))
2777* Fix build problems on Windows ([#2232](https://github.com/rollup/rollup/pull/2232))
2778* Display install size in readme ([#2196](https://github.com/rollup/rollup/pull/2196))
2779* Improve preserve modules test ([#2236](https://github.com/rollup/rollup/pull/2236))
2780
2781## 0.59.4
2782*2018-05-28*
2783* Fix performance regression when many return statements are used ([#2218](https://github.com/rollup/rollup/pull/2218))
2784
2785## 0.59.3
2786*2018-05-24*
2787* Fix reassignment tracking for constructor parameters ([#2214](https://github.com/rollup/rollup/pull/2214))
2788
2789## 0.59.2
2790*2018-05-21*
2791* Fix reassignment tracking in for-in loops ([#2205](https://github.com/rollup/rollup/pull/2205))
2792
2793## 0.59.1
2794*2018-05-16*
2795* Fix infinite recursion when determining literal values of circular structures ([#2193](https://github.com/rollup/rollup/pull/2193))
2796* Fix invalid code when simplifying expressions without spaces ([#2194](https://github.com/rollup/rollup/pull/2194))
2797
2798## 0.59.0
2799*2018-05-15*
2800* Tree-shake statically analysable dynamic conditionals ([#2167](https://github.com/rollup/rollup/pull/2167))
2801* Do not emit empty chunks when code-splitting or empty files when preserving modules ([#2128](https://github.com/rollup/rollup/pull/2128))
2802* Support `import.meta.url` ([#2164](https://github.com/rollup/rollup/pull/2164))
2803* Add `esm` format alias ([#2102](https://github.com/rollup/rollup/pull/2102))
2804* Use alphanumeric base64 characters when deconflicting variables ([#2188](https://github.com/rollup/rollup/pull/2188))
2805* Improve handling of external modules imported as both default and named imports ([#2136](https://github.com/rollup/rollup/pull/2136))
2806* Properly deconflict named imports from other chunks ([#2177](https://github.com/rollup/rollup/pull/2177))
2807* Fix an issue with namespaces containing reexports ([#2157](https://github.com/rollup/rollup/pull/2157))
2808* Fix an issue with with incorrectly mapped default exports when code-splitting CJS or AMD modules ([#2178](https://github.com/rollup/rollup/pull/2178))
2809* Fix an issue with wrong paths of relative external imports ([#2160](https://github.com/rollup/rollup/pull/2160))
2810* Fix an issue when using default exports and `interop: false` ([#2149](https://github.com/rollup/rollup/pull/2149))
2811* Fix in issue with invalid syntax in SystemJS output ([#2187](https://github.com/rollup/rollup/pull/2187))
2812* Fix an issue when tree-shaking call expressions and reassigned variables ([#2186](https://github.com/rollup/rollup/pull/2186))
2813* Fix file paths in source maps ([#2161](https://github.com/rollup/rollup/pull/2161))
2814* Fix wrong file name in error message ([#2137](https://github.com/rollup/rollup/pull/2137))
2815* Always use npm 5 on CI ([#2185](https://github.com/rollup/rollup/pull/2185))
2816
2817## 0.58.2
2818*2018-04-23*
2819* Fix rendering of certain statically resolvable if statements ([#2146](https://github.com/rollup/rollup/pull/2146))
2820
2821## 0.58.1
2822*2018-04-18*
2823* Fix comment detection ([#2129](https://github.com/rollup/rollup/pull/2129))
2824
2825## 0.58.0
2826*2018-04-16*
2827* Support individual chunk names with optional content hashes ([#2068](https://github.com/rollup/rollup/pull/2068))
2828* Support manually created chunks ([#2084](https://github.com/rollup/rollup/pull/2084))
2829* Automatically import deep dependencies when code splitting for better performance ([#2073](https://github.com/rollup/rollup/pull/2073))
2830* Automatically minify internal export/import names for esm and system output ([#2087](https://github.com/rollup/rollup/pull/2087))
2831* Add option to automatically merge small chunks ([#2090](https://github.com/rollup/rollup/pull/2090))
2832* Significantly improve tree-shaking performance ([#2119](https://github.com/rollup/rollup/pull/2119))
2833* Enable tree-shaking for logical expressions ([#2098](https://github.com/rollup/rollup/pull/2098))
2834* Rework external types and reduce type related dependencies ([#2108](https://github.com/rollup/rollup/pull/2108))
2835* Support parallel dependency resolution ([#2116](https://github.com/rollup/rollup/pull/2116))
2836* Improve deprecation handling ([#2076](https://github.com/rollup/rollup/pull/2076))
2837* Enable `--perf` timings in watch mode ([#2065](https://github.com/rollup/rollup/pull/2065))
2838* Improve performance timers ([#2111](https://github.com/rollup/rollup/pull/2111))
2839* Improve error handling for plugins ([#2100](https://github.com/rollup/rollup/pull/2100))
2840* Improve error when using `--dir` in a single file build ([#2123](https://github.com/rollup/rollup/pull/2123))
2841* Do not warn for external imports that are unused due to tree-shaking ([#2124](https://github.com/rollup/rollup/pull/2124))
2842* Update mixed export warning message ([#2107](https://github.com/rollup/rollup/pull/2107))
2843* Remove duplicate badges from readme ([#2083](https://github.com/rollup/rollup/pull/2083))
2844* Update readme examples ([#2086](https://github.com/rollup/rollup/pull/2086))
2845
2846## 0.57.1
2847*2018-03-17*
2848* Improve sourcemap generation performance ([#2062](https://github.com/rollup/rollup/pull/2062))
2849* Add reserved config option namespace and improve CLI interface ([#2063](https://github.com/rollup/rollup/pull/2063))
2850* Fix issue with default exported function and class expressions ([#2059](https://github.com/rollup/rollup/pull/2059))
2851* Replace `forEach` with faster `for` loops in some places ([#2064](https://github.com/rollup/rollup/pull/2064))
2852
2853## 0.57.0
2854*2018-03-15*
2855* Add option to preserve the module structure instead of bundling ([#1922](https://github.com/rollup/rollup/pull/1922))
2856* Enable watch mode when code-splitting ([#2035](https://github.com/rollup/rollup/pull/2035))
2857* Optionally pass CLI commands to config file ([#1926](https://github.com/rollup/rollup/pull/1926))
2858* Option to add correct `.toString` tags to namespaces ([#2041](https://github.com/rollup/rollup/pull/2041))
2859* Option and scripts to display performance timings ([#2045](https://github.com/rollup/rollup/pull/2045))
2860* Fixes for exported or early accessed namespaces + improved namespace indentation ([#2041](https://github.com/rollup/rollup/pull/2041))
2861* Include missing TypeScript dependencies ([#1965](https://github.com/rollup/rollup/pull/1965))
2862* Add #_PURE annotation to frozen namespaces ([#2044](https://github.com/rollup/rollup/pull/2044))
2863* Improve sourcemap and tree-shaking performance ([#2052](https://github.com/rollup/rollup/pull/2052))
2864* Inline sourcemap lookups and make rollup smaller ([#2055](https://github.com/rollup/rollup/pull/2055))
2865* Use updated magic-string types ([#2057](https://github.com/rollup/rollup/pull/2057))
2866* [BREAKING] Revert class id preservation from #2025 ([#2048](https://github.com/rollup/rollup/pull/2048))
2867* [BREAKING] Refactor missing export plugin hook ([#1987](https://github.com/rollup/rollup/pull/1987))
2868
2869## 0.56.5
2870*2018-03-07*
2871* Preserve ids when deconflicting classes ([#2025](https://github.com/rollup/rollup/pull/2025))
2872* Fix an issue with re-exported namespace imports ([#2034](https://github.com/rollup/rollup/pull/2034))
2873* Prevent an infinite loop when binding member expressions ([#1963](https://github.com/rollup/rollup/pull/1963))
2874* Convert code style via prettier ([#2031](https://github.com/rollup/rollup/pull/2031))
2875* Fix links in documentation ([#2026](https://github.com/rollup/rollup/pull/2026))
2876
2877## 0.56.4
2878*2018-03-05*
2879* Make rollup builds reproducible ([#2024](https://github.com/rollup/rollup/pull/2024))
2880* Improve error handling for source maps ([#2012](https://github.com/rollup/rollup/pull/2012))
2881* Properly handle SystemJS default exports without semicolons ([#2019](https://github.com/rollup/rollup/pull/2019))
2882* Properly handle importing the same variable several times when code-splitting ([#2020](https://github.com/rollup/rollup/pull/2020))
2883* Improve re-export tracing ([#2021](https://github.com/rollup/rollup/pull/2021))
2884* Apply "prettier" on commit ([#2017](https://github.com/rollup/rollup/pull/2017))
2885* Automatically clean up outdated tests ([#2009](https://github.com/rollup/rollup/pull/2009))
2886* Add SystemJS output to form tests ([#2022](https://github.com/rollup/rollup/pull/2022))
2887* Improve internal build configuration ([#2016](https://github.com/rollup/rollup/pull/2016))
2888
2889## 0.56.3
2890*2018-02-25*
2891* Fix issues around default exports and module facades ([#2001](https://github.com/rollup/rollup/pull/2001))
2892* Improve and fix internal chunk interface ([#1994](https://github.com/rollup/rollup/pull/1994))
2893* Fix superfluous semicolons added after declarations ([#1999](https://github.com/rollup/rollup/pull/1999))
2894* Improve code-splitting tests ([#1990](https://github.com/rollup/rollup/pull/1990))
2895
2896## 0.56.2
2897*2018-02-19*
2898* Fix handling of reassigned default exports ([#1975](https://github.com/rollup/rollup/pull/1975))
2899* Fix handling of renamed exports in entry points ([#1977](https://github.com/rollup/rollup/pull/1977))
2900* Update internal TypeScript version ([#1980](https://github.com/rollup/rollup/pull/1980))
2901* Omit compiled source files from published types ([#1981](https://github.com/rollup/rollup/pull/1981))
2902* Fix example in readme file ([#1984](https://github.com/rollup/rollup/pull/1984))
2903* Fix non-replaced dynamic imports in non-ESM output ([#1985](https://github.com/rollup/rollup/pull/1985))
2904
2905## 0.56.1
2906</