UNPKG

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