UNPKG

52.2 kBMarkdownView Raw
1# rollup changelog
2
3## 0.52.0
4
5* Accept config as promise ([#1731](https://github.com/rollup/rollup/pull/1731))
6* Accept promises for intro/outro/banner/footer ([#1253](https://github.com/rollup/rollup/pull/1253))
7* Option to prevent freezing of namespace imports ([#1696](https://github.com/rollup/rollup/pull/1696))
8* Option to retain all output in watch mode ([#1688](https://github.com/rollup/rollup/pull/1688))
9* Options to fine-tune treeshaking ([#1760](https://github.com/rollup/rollup/pull/1760))
10
11## 0.51.8
12
13* Fix speed problems by simplifying treeshaking reassignment handling ([#1740](https://github.com/rollup/rollup/pull/1740))
14* Update dependencies ([#1742](https://github.com/rollup/rollup/pull/1742))
15
16## 0.51.7
17
18* Keep "this"-context when calling sequence expressions ([#1724](https://github.com/rollup/rollup/pull/1724))
19
20## 0.51.6
21
22* Use sourcemaps to determine error locations ([#1728](https://github.com/rollup/rollup/pull/1728))
23
24## 0.51.5
25
26* Fix regressions with uninitialised conditional expressions ([#1720](https://github.com/rollup/rollup/pull/1720))
27
28## 0.51.4
29
30* Fix regressions preventing builds ([#1725](https://github.com/rollup/rollup/pull/1725))
31
32## 0.51.3
33
34* Fix regression when treeshaking sequence expressions ([#1717](https://github.com/rollup/rollup/pull/1717))
35
36## 0.51.2
37
38* Fix treeshaking regression when labels are used inside functions ([#1712](https://github.com/rollup/rollup/pull/1712))
39
40## 0.51.1
41
42* Fix an issue with empty return statements ([#1704](https://github.com/rollup/rollup/pull/1704))
43
44## 0.51.0
45
46* Massive improvements to the treeshaking algorithm ([#1667](https://github.com/rollup/rollup/pull/1667))
47
48## 0.50.1
49
50* Fix treeshaking regression ([#1695](https://github.com/rollup/rollup/pull/1695))
51* Treeshaking improvements ([#1650](https://github.com/rollup/rollup/pull/1650))
52* Enable installation from Github ([#1670](https://github.com/rollup/rollup/pull/1670))
53* Update documentation ([#1660](https://github.com/rollup/rollup/pull/1660))
54
55## 0.50.0
56
57* Many treeshaking improvements ([#1624](https://github.com/rollup/rollup/pull/1624))
58* Show finish time in watch mode ([#1620](https://github.com/rollup/rollup/pull/1620))
59
60## 0.49.3
61
62* Respect `watch` options ([#1596](https://github.com/rollup/rollup/issues/1596))
63* Fix treeshaking regressions ([#1604](https://github.com/rollup/rollup/pull/1604))
64* Allow `-o` to work with `output.format` ([#1606](https://github.com/rollup/rollup/pull/1606))
65
66## 0.49.2
67
68* Fix treeshaking regressions ([#1591](https://github.com/rollup/rollup/pull/1591))
69
70## 0.49.1
71
72* Fix treeshaking regressions ([#1586](https://github.com/rollup/rollup/pull/1586))
73
74## 0.49.0
75
76* Completely update the treeshaking algorithm ([#1582](https://github.com/rollup/rollup/pull/1582))
77* Only flip screen buffer if appropriate ([#1574](https://github.com/rollup/rollup/pull/1574))
78* Guard against two instances creating the same dir ([#1576](https://github.com/rollup/rollup/pull/1576))
79
80## 0.48.2
81
82* Paths is an output option ([#1569](https://github.com/rollup/rollup/pull/1569))
83
84## 0.48.1
85
86* Print deprecation warnings in watch mode, and fix options when watcher restarts ([#1568](https://github.com/rollup/rollup/pull/1568))
87
88## 0.48.0
89
90* Numerous changes to the `options` object and CLI arguments ([#1479](https://github.com/rollup/rollup/issues/1479)). See [this gist](https://gist.github.com/Rich-Harris/d472c50732dab03efeb37472b08a3f32) for a rundown.
91
92## 0.47.6
93
94* Set `process.env.ROLLUP_WATCH` *before* loading config file
95
96## 0.47.5
97
98* Fix broken multi-bundle configs with `rollup.watch` ([#1532](https://github.com/rollup/rollup/issues/1532))
99
100## 0.47.4
101
102* Delete cached config file before reloading in watch mode
103
104## 0.47.3
105
106* Deshadow aliased imports ([#1550](https://github.com/rollup/rollup/issues/1550))
107
108## 0.47.2
109
110* Rebuild with dependency that npm randomly deleted
111
112## 0.47.1
113
114* Ignore external namespace imports when deshadowing ([#1547](https://github.com/rollup/rollup/issues/1547))
115
116## 0.47.0
117
118* Watch config file, restart `rollup.watch` on change ([#1535](https://github.com/rollup/rollup/issues/1535))
119* Correctly render `export { foo } from` declarations in `es` output ([#1543](https://github.com/rollup/rollup/pull/1543))
120* Reinstate missing `rollup.VERSION`
121
122## 0.46.3
123
124* init for/for-of loop section head with correct scopes ([#1538](https://github.com/rollup/rollup/issues/1538), [#1539](https://github.com/rollup/rollup/issues/1539))
125* Fix namespace imports and re-exports in `es` output ([#1511](https://github.com/rollup/rollup/issues/1511))
126* Deshadow indirectly imported namespaces ([#1488](https://github.com/rollup/rollup/issues/1488), [#1505](https://github.com/rollup/rollup/issues/1505))
127
128## 0.46.2
129
130* Pass options to `bundle.write` correctly in `rollup.watch` ([#1533](https://github.com/rollup/rollup/issues/1533))
131* init for-in loop section head with correct scopes ([#1480](https://github.com/rollup/rollup/issues/1480))
132* support `--no-interop` flag ([#1524](https://github.com/rollup/rollup/issues/1524))
133
134## 0.46.1
135
136* Remove `rollup.watch` from browser build ([#1530](https://github.com/rollup/rollup/issues/1530))
137* Remove `source-map-support` dependency ([#1528](https://github.com/rollup/rollup/issues/1528))
138
139## 0.46.0
140
141* `options.format` is now required ([#1491](https://github.com/rollup/rollup/pull/1491))
142* if `options.format` is `es6`, it will now throw an error (should be `es`) ([#1491](https://github.com/rollup/rollup/pull/1491))
143* Add experimental `rollup.watch` method, replacing [rollup-watch](https://github.com/rollup/rollup-watch) ([#1491](https://github.com/rollup/rollup/pull/1491))
144* Batch warnings together in CLI output ([#1491](https://github.com/rollup/rollup/pull/1491))
145* Clear screen between rebuilds in `--watch` mode ([#1491](https://github.com/rollup/rollup/pull/1491))
146* `onwarn` function's second argument is the default handler, allowing easier filtering without reimplementing any logic ([#1491](https://github.com/rollup/rollup/pull/1491))
147* Prevent semi-colon removal after variable declaration that is for loop body ([#1275](https://github.com/rollup/rollup/issues/1275))
148* Return `exports` for namespaced but non-extended IIFE bundles ([#1492](https://github.com/rollup/rollup/issues/1492))
149* Fix scoping in switch statements ([#1498](https://github.com/rollup/rollup/pull/1498))
150* Handle side-effects in tagged template expressions ([#1508](https://github.com/rollup/rollup/pull/1508))
151* More descriptive error for missing options.format ([#1510](https://github.com/rollup/rollup/pull/1510))
152* Refactor scope handling ([#1517](https://github.com/rollup/rollup/pull/1517))
153* Handle failure of a config in multi-config build ([#1513](https://github.com/rollup/rollup/issues/1513))
154
155
156## 0.45.2
157
158* Fix interop when import is a string ([#1486](https://github.com/rollup/rollup/issues/1486))
159* Separate `resolvedIds` from `resolvedExternalIds` ([#1490](https://github.com/rollup/rollup/pull/1490))
160* Add `--extend` flag to CLI ([#1482](https://github.com/rollup/rollup/pull/1482))
161
162## 0.45.1
163
164* Remove `weak` from `optionalDependencies` ([#1483](https://github.com/rollup/rollup/issues/1483))
165
166## 0.45.0
167
168* [BREAKING] `bundle.generate(...)` returns a Promise, so that `transformBundle` plugin hooks can be asynchronous ([#1474](https://github.com/rollup/rollup/issues/1474))
169
170## 0.44.0
171
172* [BREAKING] Don't extend existing globals, unless `options.extend` is true ([#827](https://github.com/rollup/rollup/issues/827))
173* Fix handling of catch clause parameters ([#1462](https://github.com/rollup/rollup/issues/1462))
174
175## 0.43.1
176
177* Fix memory leak on incremental rebuilds ([#883](https://github.com/rollup/rollup/issues/883))
178* Allow `this.warn` and `this.error` to accept a `{line, column}` object as an alternative to a character index ([#1265](https://github.com/rollup/rollup/issues/1265))
179* Print more useful error if entry module is 'external' ([#1264](https://github.com/rollup/rollup/issues/1264))
180* Catch errors in `bundle.generate` options ([#1463](https://github.com/rollup/rollup/pull/1463))
181* Fix magic-string deprecation warning ([#1445](https://github.com/rollup/rollup/pull/1445))
182
183## 0.43.0
184
185* Allow config files to import JSON ([#1426](https://github.com/rollup/rollup/issues/1426))
186* Allow undefined imports in interop block ([#1341](https://github.com/rollup/rollup/issues/1341))
187* Add `process.env.ROLLUP_WATCH = 'true'` in watch mode ([#1429](https://github.com/rollup/rollup/issues/1429))
188* Add `pureExternalModules` option ([#1352](https://github.com/rollup/rollup/issues/1352))
189* Allow plugins to specify `options.entry` ([#1270](https://github.com/rollup/rollup/issues/1270))
190* Update dependencies
191
192## 0.42.0
193
194* Deprecate `options.moduleId` in favour of `options.amd.id` ([#1365](https://github.com/rollup/rollup/pull/1365))
195* Add `options.amd.define` option to specify name of AMD `define` function ([#1365](https://github.com/rollup/rollup/pull/1365))
196* Fix incorrect class removal with `treeshake: false` ([#1375](https://github.com/rollup/rollup/pull/1375))
197* Deconflict module exports imported as namespaces ([#1384](https://github.com/rollup/rollup/issues/1384))
198* Handle bare self-imports ([#1274](https://github.com/rollup/rollup/issues/1274))
199* Allow config file to export an array of multiple configs ([#1389](https://github.com/rollup/rollup/pull/1389))
200* Handle exponentiation operator, and fail gracefully on unknown operators ([#1416](https://github.com/rollup/rollup/issues/1416))
201* Add `watch` option ([#1424](https://github.com/rollup/rollup/pull/1424))
202
203## 0.41.6
204
205* Preserve `originalSourceMap` on incremental rebuilds for loaders with sourcemaps ([#1336](https://github.com/rollup/rollup/issues/1336))
206
207## 0.41.5
208
209* Wrap ternary consequent/alternate sequences in parens ([#1273](https://github.com/rollup/rollup/issues/1273))
210* Fix erroneous warning on multiple `export * from` declarations with defaults ([#1278](https://github.com/rollup/rollup/issues/1278))
211* Prevent variable conflicts with `treeshake: false` ([#1268](https://github.com/rollup/rollup/issues/1268))
212* Allow missing `source` when collapsing sourcemaps ([#1254](https://github.com/rollup/rollup/issues/1254))
213* Allow plugins to log with strings ([#1316](https://github.com/rollup/rollup/pull/1316))
214
215## 0.41.4
216
217* Fix cases of multiple `export * from 'external'` declarations ([#1252](https://github.com/rollup/rollup/issues/1252))
218* Fix 'TODO' error message ([#1257](https://github.com/rollup/rollup/issues/1257))
219
220## 0.41.3
221
222* Don't treat `this.foo` as possible namespace ([#1258](https://github.com/rollup/rollup/issues/1258))
223
224## 0.41.2
225
226* Optimize `namespace['foo']` references ([#1240](https://github.com/rollup/rollup/pull/1240))
227
228## 0.41.1
229
230* Include `new` expressions where callee is a class with side-effects ([#980](https://github.com/rollup/rollup/issues/980) [#1233](https://github.com/rollup/rollup/issues/1233))
231
232## 0.41.0
233
234* Add `this.warn(...)` and `this.error(...)` methods to plugin `transform` hook contexts ([#1140](https://github.com/rollup/rollup/issues/1140))
235* `throw` always considered to be a side effect ([#1227](https://github.com/rollup/rollup/pull/1227))
236
237## 0.40.2
238
239* Add `file` property to sourcemaps for bundles with plugins ([#986](https://github.com/rollup/rollup/issues/986))
240* Don't require globals for empty imports ([#1217](https://github.com/rollup/rollup/issues/1217))
241
242## 0.40.1
243
244* Allow missing space between `export default` and declaration ([#1218](https://github.com/rollup/rollup/pull/1218))
245
246## 0.40.0
247
248* [BREAKING] Better, more consistent error logging ([#1212](https://github.com/rollup/rollup/pull/1212))
249* Don't use colours and emojis for non-TTY stderr ([#1201](https://github.com/rollup/rollup/issues/1201))
250
251## 0.39.2
252
253* Prevent mutation of cached ASTs (fixes stack overflow with rollup-watch) ([#1205](https://github.com/rollup/rollup/pull/1205))
254
255## 0.39.1
256
257* Ignore `var` initialisers in dead branches ([#1198](https://github.com/rollup/rollup/issues/1198))
258
259## 0.39.0
260
261* [BREAKING] Warnings are objects, rather than strings ([#1194](https://github.com/rollup/rollup/issues/1194))
262
263## 0.38.3
264
265* More informative warning for implicit external dependencies ([#1051](https://github.com/rollup/rollup/issues/1051))
266* Warn when creating browser bundle with external dependencies on Node built-ins ([#1051](https://github.com/rollup/rollup/issues/1051))
267* Statically analyse LogicalExpression nodes, for better dead code removal ([#1061](https://github.com/rollup/rollup/issues/1061))
268
269## 0.38.2
270
271* Preserve `var` declarations in dead branches ([#997](https://github.com/rollup/rollup/issues/997))
272* Warn if exporting a call expression that looks like a function declaration ([#1011](https://github.com/rollup/rollup/issues/1011))
273* Wrap function expressions in parentheses if necessary ([#1011](https://github.com/rollup/rollup/issues/1011))
274
275## 0.38.1
276
277* Fix sourcemap comment removal ([#1104](https://github.com/rollup/rollup/issues/1104))
278* Warn if empty bundle is generated ([#444](https://github.com/rollup/rollup/issues/444))
279* Support ES2017 syntax ([#492](https://github.com/rollup/rollup/issues/492))
280* Remove unused imports from external modules ([#595](https://github.com/rollup/rollup/issues/595))
281* Remove unused function and class declarations inside function bodies ([#1108](https://github.com/rollup/rollup/issues/1108), [#1178](https://github.com/rollup/rollup/issues/1178))
282* Deconflict function expression IDs ([#1176](https://github.com/rollup/rollup/issues/1176))
283
284## 0.38.0
285
286* [BREAKING] `export { foo as default }` creates live binding ([#1078](https://github.com/rollup/rollup/issues/1078))
287* Prevent sourceMappingURL removal edge case ([#988](https://github.com/rollup/rollup/issues/988))
288* Bind function expression IDs to the correct scope ([#1083](https://github.com/rollup/rollup/issues/1083))
289* Correctly deshadow destructured parameters with assignments ([#1008](https://github.com/rollup/rollup/issues/1008))
290
291## 0.37.2
292
293* Remove unused `new` expressions without side-effects ([#179](https://github.com/rollup/rollup/issues/179))
294* Only remove valid sourceMappingURL comments ([#1132](https://github.com/rollup/rollup/issues/1132))
295* Ensure blocks containing activated `var` declarations are included in output ([#1113](https://github.com/rollup/rollup/issues/1113))
296* Support plugin outros ([#1116](https://github.com/rollup/rollup/issues/1116))
297
298## 0.37.1
299
300* Follow symlinks ([#447](https://github.com/rollup/rollup/issues/447))
301* Fix tree-shaking of recursive functions and other cases ([#1120](https://github.com/rollup/rollup/issues/1120), [#1142](https://github.com/rollup/rollup/issues/1142))
302* Support module names that require quotes ([#582](https://github.com/rollup/rollup/issues/582), [#584](https://github.com/rollup/rollup/issues/584))
303* Fix [#957](https://github.com/rollup/rollup/issues/957)
304
305## 0.37.0
306
307* [BREAKING] Default exports are not included in reified namespaces ([#1028](https://github.com/rollup/rollup/issues/1028))
308* Parentheses do not defeat tree-shaking ([#1101](https://github.com/rollup/rollup/issues/1101), [#1128](https://github.com/rollup/rollup/issues/1128))
309* More `legacy` fixes: do not create getters ([#1069](https://github.com/rollup/rollup/pull/1069)), do not include `__esModule` ([#1068](https://github.com/rollup/rollup/pull/1068)), quote reserved property names ([#1057](https://github.com/rollup/rollup/pull/1057))
310* Fix missing namespace member warnings ([#1045](https://github.com/rollup/rollup/issues/1045))
311* Fix TypeError in arrow function without braces returning a function ([#1062](https://github.com/rollup/rollup/pull/1062))
312
313## 0.36.4
314
315* Only depend on program-level call expressions ([#977](https://github.com/rollup/rollup/issues/977))
316
317## 0.36.3
318
319* Add `legacy` option for IE8 support ([#989](https://github.com/rollup/rollup/pull/989))
320
321## 0.36.2
322
323* Insert semicolons where necessary to fix broken code ([#1004](https://github.com/rollup/rollup/issues/1004))
324* Include module ID and location when warning about top-level `this` ([#1012](https://github.com/rollup/rollup/pull/1012))
325* More informative error for missing exports ([#1033](https://github.com/rollup/rollup/issues/1033))
326* `options.moduleContext` for per-module context overrides ([#1023](https://github.com/rollup/rollup/pull/1023))
327
328## 0.36.1
329
330* Include naked block statements ([#981](https://github.com/rollup/rollup/issues/981))
331* Correctly include falsy alternate statements in optimised if blocks ([#973](https://github.com/rollup/rollup/issues/973))
332* Prevent omission of default exports that are only used by the exporting module ([#967](https://github.com/rollup/rollup/pull/967))
333* Prevent warning on `auto` exports with ES output ([#966](https://github.com/rollup/rollup/pull/966))
334
335## 0.36.0
336
337* `export { foo as default }` no longer creates a live binding ([#860](https://github.com/rollup/rollup/issues/860))
338
339## 0.35.15
340
341* Warn on missing unused imports in deshadowing phase ([#928](https://github.com/rollup/rollup/issues/928))
342* Always add a newline to the end of bundles ([#958](https://github.com/rollup/rollup/issues/958))
343
344## 0.35.14
345
346* Include all parent statements of expression with effects, up to function boundary ([#930](https://github.com/rollup/rollup/issues/930))
347
348## 0.35.13
349
350* Include superclasses when including their subclasses ([#932](https://github.com/rollup/rollup/issues/932))
351
352## 0.35.12
353
354* Add `interop: false` option to disable unwrapping of external imports ([#939](https://github.com/rollup/rollup/issues/939))
355
356## 0.35.11
357
358* Deconflict reified namespaces with other declarations ([#910](https://github.com/rollup/rollup/issues/910))
359
360## 0.35.10
361
362* Only remove EmptyStatement nodes directly inside blocks ([#913](https://github.com/rollup/rollup/issues/931))
363
364## 0.35.9
365
366* Support Node 0.12 ([#909](https://github.com/rollup/rollup/issues/909))
367
368## 0.35.8
369
370* Correctly deshadow re-assigned module functions ([#910](https://github.com/rollup/rollup/issues/910))
371
372## 0.35.7
373
374* Refactor `flushTime.js` ([#922](https://github.com/rollup/rollup/pull/922))
375
376## 0.35.6
377
378* Fix browser build
379
380## 0.35.5
381
382* Allow empty for loop heads ([#919](https://github.com/rollup/rollup/issues/919))
383
384## 0.35.4
385
386* Preserve effects in for-of and for-in loops ([#870](https://github.com/rollup/rollup/issues/870))
387* Remove empty statements ([#918](https://github.com/rollup/rollup/pull/918))
388
389## 0.35.3
390
391* Render identifiers inside template literals
392
393## 0.35.2
394
395* Fix broken build caused by out of date locally installed dependencies
396
397## 0.35.1
398
399* Rewrite deconflicted class identifiers ([#915](https://github.com/rollup/rollup/pull/915))
400* Include `dependencies` in `bundle.modules` objects ([#903](https://github.com/rollup/rollup/issues/903))
401* Update to Acorn 4 ([#914](https://github.com/rollup/rollup/pull/914))
402
403## 0.35.0
404
405* Rewrite analysis/tree-shaking code ([#902](https://github.com/rollup/rollup/pull/902))
406* Include conditional mutations of global objects ([#901](https://github.com/rollup/rollup/issues/901))
407* Only reify namespaces if necessary ([#898](https://github.com/rollup/rollup/issues/898))
408* Track mutations of aliased globals ([#893](https://github.com/rollup/rollup/issues/893))
409* Include duplicated var declarations ([#716](https://github.com/rollup/rollup/issues/716))
410
411## 0.34.13
412
413* Pass `{ format }` through to `transformBundle` ([#867](https://github.com/rollup/rollup/issues/867))
414
415## 0.34.12
416
417* Fix `rollup --watch` ([#887](https://github.com/rollup/rollup/issues/887))
418* Case-sensitive paths ([#862](https://github.com/rollup/rollup/issues/862))
419
420## 0.34.11
421
422* Prevent leaky state when `bundle` is reused ([#875](https://github.com/rollup/rollup/issues/875))
423* Ensure `intro` appears before interop block ([#880](https://github.com/rollup/rollup/issues/880))
424
425## 0.34.10
426
427* Allow custom `options.context` to replace top-level `this` ([#851](https://github.com/rollup/rollup/issues/851))
428* Fix `noConflict` when used via `rollup --config` ([#846](https://github.com/rollup/rollup/issues/846))
429* Place `outro` block *after* export block ([#852](https://github.com/rollup/rollup/issues/852))
430
431## 0.34.9
432
433* Disable indentation by default, for faster bundle generation ([#812](https://github.com/rollup/rollup/pull/812))
434* More helpful error on missing entry file ([#802](https://github.com/rollup/rollup/issues/802))
435* Preserve comments before import declarations ([#815](https://github.com/rollup/rollup/pull/815))
436
437## 0.34.8
438
439* Wrap UMD factory function in parens to avoid lazy parsing ([#774](https://github.com/rollup/rollup/pull/774))
440
441## 0.34.7
442
443* Leave it up to resolveId to normalize the entry path ([#835](https://github.com/rollup/rollup/pull/835))
444* Cache decoded mappings ([#834](https://github.com/rollup/rollup/pull/834))
445
446## 0.34.5
447
448* Fix circular export ([#813](https://github.com/rollup/rollup/issues/813))
449
450## 0.34.4
451
452* Module render performance tweak ([#823](https://github.com/rollup/rollup/pull/823))
453
454## 0.34.3
455
456* Avoid infinite recursion in `Bundle.sort()` ([#800](https://github.com/rollup/rollup/pull/800))
457
458## 0.34.2
459
460* resolveId calls are cached now to improve incremental build
461* Fixed error message recursion in plugins
462
463## 0.34.1
464
465* Support `paths` config ([#754](https://github.com/rollup/rollup/issues/754))
466* Allow `export *` from external module, internally
467
468## 0.34.0
469
470* Use resolved IDs for relative imports that are also external modules, to allow `options.globals` to work with them ([#763](https://github.com/rollup/rollup/issues/763))
471* Ensure reassigned exports are declared in an ES bundle, and remove empty `exports.foo;` statements ([#755](https://github.com/rollup/rollup/issues/755))
472* Add newline after sourcemap comment ([#756](https://github.com/rollup/rollup/issues/756))
473
474## 0.33.2
475
476* Add `bundle` as second argument to `ongenerate` and `onwrite` hooks ([#773](https://github.com/rollup/rollup/pull/773))
477* Warn on top-level `this` ([#770](https://github.com/rollup/rollup/issues/770))
478
479## 0.33.1
480
481* Fix `--no-strict` option ([#751](https://github.com/rollup/rollup/pull/751))
482* Fix Windows edge case with case-sensitive paths ([#760](https://github.com/rollup/rollup/pull/760))
483
484## 0.33.0
485
486* Downgrade missing transformer sourcemap to a warning, not an error, and print the name of the offending plugin if possible ([#746](https://github.com/rollup/rollup/issues/746))
487* Warn if same name is re-exported from two modules ([#722](https://github.com/rollup/rollup/issues/722))
488
489## 0.32.4
490
491* Add `ongenerate` and `onwrite` plugin hooks ([#742](https://github.com/rollup/rollup/pull/742))
492
493## 0.32.3
494
495* Generated correct sourcemaps with reified namespaces ([#668](https://github.com/rollup/rollup/issues/668))
496* Exclude plugin helper modules from sourcemaps ([#747](https://github.com/rollup/rollup/pull/747))
497
498## 0.32.2
499
500* Allow `--globals` to work with `--external` or `options.external` in whatever configuration ([#743](https://github.com/rollup/rollup/issues/743))
501
502## 0.32.1
503
504* Preserve side-effects to default exports that coincide with used named exports ([#733](https://github.com/rollup/rollup/issues/733))
505* Support `rollup -c node:pkgname` ([#736](https://github.com/rollup/rollup/issues/736))
506
507## 0.32.0
508
509* Deprecate `es6` format in favour of `es` ([#468](https://github.com/rollup/rollup/issues/468))
510* Add correct `jsnext:main` build ([#726](https://github.com/rollup/rollup/pull/726))
511
512## 0.31.2
513
514* Allow `load` plugins to provide sourcemap ([#715](https://github.com/rollup/rollup/pull/715))
515* Allow `sourceMapFile` in config options ([#717](https://github.com/rollup/rollup/issues/717))
516
517## 0.31.1
518
519* Logging for errors emitted by `rollup-watch` ([#712](https://github.com/rollup/rollup/issues/712))
520
521## 0.31.0
522
523* Rewrite top-level `this` as `undefined` ([#707](https://github.com/rollup/rollup/pull/707))
524* Pass `options.acorn` to Acorn ([#564](https://github.com/rollup/rollup/issues/564))
525
526## 0.30.0
527
528* Bundle CLI ([#700](https://github.com/rollup/rollup/issues/700))
529* Ensure absolute paths are normalised ([#704](https://github.com/rollup/rollup/issues/704))
530* Allow `rollup --watch` to work with targets
531
532## 0.29.1
533
534* Merge `target` options with main options ([#701](https://github.com/rollup/rollup/issues/701))
535* Update magic-string ([#690](https://github.com/rollup/rollup/issues/690))
536
537## 0.29.0
538
539* `rollup --watch` ([#284](https://github.com/rollup/rollup/issues/284))
540
541## 0.28.0
542
543* Experimental support for incremental rebuilds ([#658](https://github.com/rollup/rollup/pull/658))
544
545## 0.27.1
546
547* Ensure names exported from a module are not replaced with reserved words ([#696](https://github.com/rollup/rollup/pull/696))
548* Revert ([#692](https://github.com/rollup/rollup/pull/692)) – resolved IDs must be strings
549
550## 0.27.0
551
552* Use native promises instead of `es6-promise` ([#689](https://github.com/rollup/rollup/issues/689))
553* Support multiple targets in config files ([#655](https://github.com/rollup/rollup/issues/655))
554* Allow `resolveId` plugin functions to return non-strings ([#692](https://github.com/rollup/rollup/pull/692))
555
556## 0.26.7
557
558* Distinguish between default and namespace imports of external module ([#637](https://github.com/rollup/rollup/issues/637))
559* Add `__esModule` property to named exports in AMD, CJS and UMD modes ([#650](https://github.com/rollup/rollup/issues/650))
560
561## 0.26.6
562
563* Deconflict named imports from external modules in ES bundles ([#659](https://github.com/rollup/rollup/issues/659))
564* Support `options.preferConst` to generate `const` declarations for exports rather than `var` declarations ([#653](https://github.com/rollup/rollup/issues/653))
565
566## 0.26.5
567
568* Preserve `debugger` statements ([#664](https://github.com/rollup/rollup/issues/664))
569* Allow `options.external` to be a function ([#522](https://github.com/rollup/rollup/issues/522))
570
571## 0.26.4
572
573* Prevent plugin-provided external IDs being normalised ([#630](https://github.com/rollup/rollup/issues/630), [#633](https://github.com/rollup/rollup/issues/633))
574* Throw if module exports/re-exports the same name twice, or has multiple default exports ([#679](https://github.com/rollup/rollup/issues/679))
575* Warn about `eval` security issue ([#675]((https://github.com/rollup/rollup/issues/675)))
576
577
578## 0.26.3
579
580* Ensure reference is not incorrectly marked as a reassignment ([#648](https://github.com/rollup/rollup/issues/648))
581
582## 0.26.2
583
584* Sanity check output of `load` hook ([#607](https://github.com/rollup/rollup/issues/607))
585* Correct scoping for ID class expressions ([#626](https://github.com/rollup/rollup/issues/626))
586* Warn if named and default exports are used together in auto mode ([#587](https://github.com/rollup/rollup/issues/587))
587* Allow variable initialisers to be rewritten if necessary ([#632](https://github.com/rollup/rollup/issues/632))
588* Prevent double `var` with no-treeshake option ([#639](https://github.com/rollup/rollup/pull/639))
589
590## 0.26.1
591
592* Add `treeshake: false`/`--no-treeshake` option for debugging ([#505](https://github.com/rollup/rollup/issues/505))
593* Update build process to use Bublé ([#620](https://github.com/rollup/rollup/pull/620))
594
595## 0.26.0
596
597* Add `noConflict`/`--no-conflict` option for UMD builds ([#580](https://github.com/rollup/rollup/pull/580))
598* Normalise relative external paths ([#591](https://github.com/rollup/rollup/pull/591))
599* Report files causing transform errors ([#609](https://github.com/rollup/rollup/pull/609))
600* Handle sourcemap segments with a single member ([#619](https://github.com/rollup/rollup/pull/619))
601* Update dependencies
602
603## 0.25.8
604
605* Unixize entry path ([#586](https://github.com/rollup/rollup/pull/586))
606
607## 0.25.7
608
609* Expand deshadowed shorthand properties ([#575](https://github.com/rollup/rollup/issues/575))
610* Allow external files to be non-existent ([#532](https://github.com/rollup/rollup/issues/532))
611
612## 0.25.6
613
614* Fix a regression introduced by #566 ([#569](https://github.com/rollup/rollup/issues/569))
615* Prune dead conditional expressions more carefully ([#567](https://github.com/rollup/rollup/issues/567))
616
617## 0.25.5
618
619* Make sure shorthand destructuring assignments don't break ([#528](https://github.com/rollup/rollup/issues/528))
620* Allow 'exports' key ([#542](https://github.com/rollup/rollup/issues/542))
621* Ensure `foo. bar` where `foo` is a namespace import is rewritten correctly ([#566](https://github.com/rollup/rollup/issues/566))
622* Fix an edge case for exported globals (e.g. `export { document }`) ([#562](https://github.com/rollup/rollup/issues/562))
623
624## 0.25.4
625
626* Fix misnamed exports of default imports in ES bundles ([#513](https://github.com/rollup/rollup/issues/513))
627* CLI: warn on missing config ([#515](https://github.com/rollup/rollup/pull/515))
628* Detect side-effects in non-top-level member expression assignment ([#476](https://github.com/rollup/rollup/issues/476))
629* Don't remove computed property class keys ([#504](https://github.com/rollup/rollup/issues/504))
630* Augment existing global object rather than replacing ([#493](https://github.com/rollup/rollup/issues/493))
631* Don't fail on `export {}`, warn instead ([#486](https://github.com/rollup/rollup/issues/486))
632
633## 0.25.3
634
635* Handle non-objects and `null` in `_interopDefault` ([#474](https://github.com/rollup/rollup/issues/474))
636
637## 0.25.2
638
639* Skip dead branches of a conditional expression (#[465](https://github.com/rollup/rollup/pull/465))
640* Allow globals to be exported ([#472](https://github.com/rollup/rollup/pull/472))
641* Ensure reassigned exports are exported ([#484](https://github.com/rollup/rollup/issues/484))
642
643## 0.25.1
644
645* Throw error if namespace is called ([#446](https://github.com/rollup/rollup/issues/446))
646* Prevent shadowing bug in ES6 output ([#441](https://github.com/rollup/rollup/pull/441))
647* Prevent `var exports.foo` ([#426](https://github.com/rollup/rollup/issues/426))
648* Prevent double export of aliased symbols ([#438](https://github.com/rollup/rollup/issues/438))
649* Provide more informative error if Rollup is used in-browser without appropriate `resolveId`/`load` hooks ([#275](https://github.com/rollup/rollup/issues/275))
650* Use `_interopDefault` function to DRY out code with many external dependencies, in CommonJS output ([#458](https://github.com/rollup/rollup/pull/458))
651
652## 0.25.0
653
654* **breaking** Module order is determined according to spec, rather than in a way designed to prevent runtime errors. Rollup will warn if it detects runtime errors are likely ([#435](https://github.com/rollup/rollup/issues/435))
655* Prevent overly aggressive tree-shaking with complex call expressions ([#440](https://github.com/rollup/rollup/issues/440))
656
657## 0.24.1
658
659* Handle calls to default exports other that are not function expressions or references to function declarations ([#421](https://github.com/rollup/rollup/issues/421))
660* Ensure namespace blocks are created for chained imports ([#430](https://github.com/rollup/rollup/issues/430))
661* Include references in computed property keys ([#434](https://github.com/rollup/rollup/issues/434))
662* Use CLI `--external` option correctly ([#417](https://github.com/rollup/rollup/pull/417))
663* Allow relative imports to be treated as external, if absolute paths are provided in `options.external` ([#410](https://github.com/rollup/rollup/issues/410))
664* Make IIFE output adhere to Crockford style ([#415](https://github.com/rollup/rollup/pull/415))
665
666## 0.24.0
667
668* No longer attempts to resolve IDs in `options.external` ([#407](https://github.com/rollup/rollup/issues/407))
669* Fix broken sourcemap resolution in cases where some modules are transformed and others aren't ([#404](https://github.com/rollup/rollup/issues/404))
670
671## 0.23.2
672
673* Ensure `dest` or `sourceMapFile` is resolved against CWD for purposes of sourcemap generation ([#344](https://github.com/rollup/rollup/issues/344))
674* Support `banner`, `footer`, `intro` and `outro` options via CLI ([#330](https://github.com/rollup/rollup/issues/330))
675* Allow `options.global` to be a function rather than an object, and warn on missing names ([#293](https://github.com/rollup/rollup/issues/293))
676* Ensure side-effects are captured in cyclical call expressions ([#397](https://github.com/rollup/rollup/issues/397))
677* Fix parse error with body-less arrow function expressions ([#403](https://github.com/rollup/rollup/issues/403))
678
679## 0.23.1
680
681* Reinstate missing fix from ([#392](https://github.com/rollup/rollup/pull/392))
682
683## 0.23.0
684
685* Add `bundleTransform` plugin hook and option ([#387](https://github.com/rollup/rollup/pull/387))
686* Correctly store names in sourcemaps, regardless of transformers
687* Add `--environment` option to CLI ([#388](https://github.com/rollup/rollup/pull/388))
688* Handle destructuring in exports ([#374](https://github.com/rollup/rollup/issues/374))
689* Fix UMD global exports bug introduced in 0.22.1 ([#392](https://github.com/rollup/rollup/pull/392))
690
691## 0.22.2
692
693* Prevent lost `var` keywords ([#390](https://github.com/rollup/rollup/issues/390))
694
695## 0.22.1
696
697* Update expected option keys ([#379](https://github.com/rollup/rollup/issues/379))
698* Handle transformers that return stringified sourcemaps ([#377](https://github.com/rollup/rollup/issues/377))
699* Automatically create missing namespaces if `moduleName` contains dots ([#378](https://github.com/rollup/rollup/issues/378))
700* Ignore external dependency warnings coming from config file ([#333](https://github.com/rollup/rollup/issues/333))
701* Update to latest magic-string for performance boost
702
703## 0.22.0
704
705* Duplicate warnings are squelched ([#362](https://github.com/rollup/rollup/issues/362))
706* Plugins can manipulate or override the `options` object ([#371](https://github.com/rollup/rollup/pull/371))
707
708## 0.21.3
709
710* Validate option keys ([#348](https://github.com/rollup/rollup/pull/348))
711* Allow namespaces imports to sit alongside named imports ([#355](https://github.com/rollup/rollup/issues/355))
712* Count references inside destructured objects ([#364](https://github.com/rollup/rollup/issues/364))
713* Preserve top-level `delete` statements ([#352](https://github.com/rollup/rollup/issues/352))
714
715## 0.21.2
716
717* Missing relative imports are an error, not a warning ([#321](https://github.com/rollup/rollup/issues/321))
718* Fixed incorrectly renamed default exports in ES6 bundles ([#339](https://github.com/rollup/rollup/issues/339))
719* Fixed infinite recursion bug ([#341](https://github.com/rollup/rollup/issues/341))
720
721## 0.21.1
722
723* Remove `aggressive: true` (was too aggressive) ([#309](https://github.com/rollup/rollup/pull/309))
724* Handle top-level block statements ([#326](https://github.com/rollup/rollup/issues/326))
725* Optimise namespaces with default exports ([#314](https://github.com/rollup/rollup/issues/314))
726
727## 0.21.0
728
729* Only include statements whose side-effects are relevant (i.e. contribute to exports or affect global state) ([#253](https://github.com/rollup/rollup/pull/253)) ([#253](https://github.com/rollup/rollup/pull/253))
730* Exclude dead branches from analysis and inclusion ([#249](https://github.com/rollup/rollup/pull/249))
731* Add `aggressive: true` option to eliminate all side-effects outside entry module
732* More informative error when re-exporting non-existent binding ([#274](https://github.com/rollup/rollup/issues/274))
733* Fix infinite recursion bug ([#291](https://github.com/rollup/rollup/issues/291))
734* Log errors when using `rollup --config` ([#288](https://github.com/rollup/rollup/pull/288))
735* Return rejected promises on startup instead of throwing error, if options are invalid ([#303](https://github.com/rollup/rollup/pull/303))
736
737## 0.20.5
738
739* Ensure re-exports don't create a local binding ([#270](https://github.com/rollup/rollup/pull/270))
740
741## 0.20.4
742
743* Check file exists at resolve time, to allow filenames with non-extension dots in them ([#250](https://github.com/rollup/rollup/pull/250))
744* Import `Promise` where used, for Node 0.10 support ([#254](https://github.com/rollup/rollup/issues/254))
745* Allow asynchronous transformer plugins ([#260](https://github.com/rollup/rollup/issues/260))
746* Don't assume re-exported bindings are globals when deconflicting ([#267](https://github.com/rollup/rollup/issues/267))
747
748
749## 0.20.3
750
751* Fix bug where multiple `export *` declarations caused error ([#244](https://github.com/rollup/rollup/pulls/244))
752* Missing namespace exports are a warning, not an error ([#244](https://github.com/rollup/rollup/pulls/244))
753* Plugins can provide `banner` and `footer` options (string, or function that returns a string) ([#235](https://github.com/rollup/rollup/issues/235))
754* Warn on encountering `eval` ([#186](https://github.com/rollup/rollup/issues/186))
755
756## 0.20.2
757
758* Handle errors in build config file
759* More robust deconflicting, in cases where e.g. `foo$1` already exists
760* Use Rollup CLI for own build process
761
762## 0.20.1
763
764* Support `--config` file to enable plugins with CLI ([#226](https://github.com/rollup/rollup/pulls/226))
765* Prevent `default` being used as variable name ([#215](https://github.com/rollup/rollup/issues/215))
766* Update deps
767
768## 0.20.0
769
770* Support for [plugins](https://github.com/rollup/rollup/wiki/Plugins) ([#207](https://github.com/rollup/rollup/pulls/207))
771* BREAKING – `options.transform`, `options.load`, `options.resolveId`, `options.resolveExternal` and `options.external` are no longer supported, and should be handled by plugins. [More info](https://github.com/rollup/rollup/wiki/Plugins)
772* BREAKING – the .js extension is only added if it looks like there's no extension, allowing e.g. `import data from 'data.json'` (with the appropriate transformer). For safety, always include the file extension – import `./foo.js`, not `./foo`
773
774## 0.19.2
775
776* Fix exporting namespaces to include all of their exports ([#204](https://github.com/rollup/rollup/issues/204))
777* Namespace exotic objects are frozen to ensure that its properties cannot be modified, reconfigured, redefined or deleted ([#203](https://github.com/rollup/rollup/pulls/203))
778* Fix `ReferenceError: Promise is not defined` in node v0.10 ([#189](https://github.com/rollup/rollup/issues/189))
779
780## 0.19.1
781
782* Fix `module.basename()` when used with custom `resolveId` function
783* Use [rollup-babel](https://github.com/rollup/rollup-babel) to build self
784* Exposed the version string through the API: `require( 'rollup' ).VERSION`
785
786## 0.19.0
787
788* **breaking** The `transform` option is no longer passed through to custom loaders. Loaders should only concern themselves with providing source code; transformation will *always* take place
789* `options.transform` functions can return a string, or a `{code, map, ast}` object. Where possible, sourcemap chains will be flattened ([#175](https://github.com/rollup/rollup/pull/175))
790* `options.resolveId`, `options.resolveExternal` and `options.load` can each be a function or an array of functions. If an array, the first non-null/undefined return value is used. In both cases, failed resolution/loading will fall back to the defaults, unless an error is thrown. ([#174](https://github.com/rollup/rollup/pull/174))
791* New `intro` and `outro` options – similar to `banner` and `footer` except inserted *inside* any format-specific wrapper
792* Multiple var declarations in an export block (e.g. `export let a = 1, b = 2`) are split up to facilitate tree-shaking ([#171](https://github.com/rollup/rollup/issues/171))
793* More informative error when using a missing namespace property ([#169](https://github.com/rollup/rollup/pull/169))
794* Update various dependencies
795
796## 0.18.5
797
798* Allow namespaces to be assigned to variables ([#168](https://github.com/rollup/rollup/issues/168))
799* Promote `chalk` and `source-map-support` to `dependencies`, as they're used by the CLI ([#167](https://github.com/rollup/rollup/pull/167))
800
801## 0.18.4
802
803* Make external modules configurable (i.e. `external.config.foo = 'bar'`) without erroring
804
805## 0.18.3
806
807* Crop indent exclusion ranges to exclude enclosing quotes ([#166](https://github.com/rollup/rollup/issues/166))
808
809## 0.18.2
810
811* Include definitions of namespace members that are exported as defaults
812
813## 0.18.1
814
815* Include `acorn.parse` in bundle, remove `sander` from dependencies, simplify build
816
817## 0.18.0
818
819* Internal rewrite
820* Reinstate statically-analysable namespace imports
821* Avoid using getters in namespace blocks where possible ([#144](https://github.com/rollup/rollup/issues/144))
822* Track variable aliases ([#96](https://github.com/rollup/rollup/issues/96))
823* Prevent multiline strings being indented ([#164](https://github.com/rollup/rollup/issues/164))
824
825## 0.17.4
826
827* Allow imports from hidden directories (replay of [#133](https://github.com/rollup/rollup/issues/133))
828
829## 0.17.3
830
831* Handle parenthesised default exports ([#136](https://github.com/rollup/rollup/issues/136))
832
833## 0.17.2
834
835* Allow use of scoped npm packages ([#131](https://github.com/rollup/rollup/issues/131))
836
837## 0.17.1
838
839* Allow namespaces to be passed to a function ([#149](https://github.com/rollup/rollup/issues/149))
840
841## 0.17.0
842
843* Roll back to 0.15.0 and reapply subsequent fixes pending resolution of ([#132](https://github.com/rollup/rollup/issues/132)) and related issues
844
845## 0.16.4
846
847* Fix import paths with `.` ([#133](https://github.com/rollup/rollup/issues/133))
848* Prevent sourceMappingURL confusion leading to broken sourcemap
849* Add code coverage reporting [#130](https://github.com/rollup/rollup/pull/130))
850* Add `modules` property to user-facing `bundle` – an array with `{id}` objects ([#128](https://github.com/rollup/rollup/issues/128))
851
852## 0.16.3
853
854* Prevent adjacent blocks of multiple var declarations causing magic-string failure ([#105](https://github.com/rollup/rollup/issues/105))
855
856## 0.16.2
857
858* Top-level function calls and assignments to globals are treated as side-effects, and always included
859* Import files from subdirectories of external packages, e.g. `import mod from 'foo/sub/mod'` ([#126](https://github.com/rollup/rollup/issues/126))
860
861## 0.16.1
862
863* Handle assignment patterns, and destructured/rest parameters, when analysing scopes
864* Fix bug preventing project from self-building (make base `Identifier` class markable)
865
866## 0.16.0
867
868* Internal refactoring ([#99](https://github.com/rollup/rollup/pull/99))
869* Optimisation for statically-analysable namespace imports ([#99](https://github.com/rollup/rollup/pull/99))
870* Windows support (theoretically!) ([#117](https://github.com/rollup/rollup/pull/117) / [#119](https://github.com/rollup/rollup/pull/119))
871
872## 0.15.0
873
874* Load all modules specified by `import` statements, and do tree-shaking synchronously once loading is complete. This results in simpler and faster code, and enables future improvements ([#97](https://github.com/rollup/rollup/pull/97))
875* Only rewrite `foo` as `exports.foo` when it makes sense to ([#92](https://github.com/rollup/rollup/issues/92))
876* Fix bug with shadowed variables that are eventually exported ([#91](https://github.com/rollup/rollup/issues/91))
877* Exclude unused function declarations that happen to modify a used name ([#90](https://github.com/rollup/rollup/pull/90))
878* Simplify internal `Scope` model – scopes always attach to blocks, never function expressions/declarations
879
880## 0.14.1
881
882* `export { name } from './other'` does not create a local binding ([#16](https://github.com/rollup/rollup/issues/16))
883* A single binding can be exported under multiple names ([#18](https://github.com/rollup/rollup/issues/18))
884* `useStrict` option exposed to CLI as `--strict`/`--no-strict` ([#81](https://github.com/rollup/rollup/issues/81))
885* Neater exports from ES6 bundles
886
887## 0.14.0
888
889* Internal refactoring
890* Correctly deconflict generated default export names ([#72](https://github.com/rollup/rollup/issues/72))
891* Handle `export { x } from 'y'` declarations ([#74](https://github.com/rollup/rollup/issues/74))
892* Dedupe named imports from external modules in ES6 bundles ([#77](https://github.com/rollup/rollup/issues/77))
893
894## 0.13.0
895
896* Support `banner` and `footer` options ([#66](https://github.com/rollup/rollup/pull/66))
897* Remove pre-existing sourcemap comments ([#66](https://github.com/rollup/rollup/pull/66))
898* Deconflict external imports ([#66](https://github.com/rollup/rollup/pull/66))
899* Use existing AST, if provided ([#66](https://github.com/rollup/rollup/pull/66))
900* Rename internal namespace exports as appropriate ([#66](https://github.com/rollup/rollup/pull/66))
901* Remove uninitialised var declarations that get exported ([#66](https://github.com/rollup/rollup/pull/66))
902* Rename variables named `exports` to avoid conflicts ([#66](https://github.com/rollup/rollup/pull/66))
903
904## 0.12.1
905
906* Don't attempt to mark statements belonging to external modules ([#68](https://github.com/rollup/rollup/issues/68))
907* Correctly deshadow variables that conflict with imports ([#68](https://github.com/rollup/rollup/issues/68))
908
909## 0.12.0
910
911* Internal re-architecting, resulting in more efficient bundling with reduced memory usage
912* Shorthand properties are expanded if necessary ([#61](https://github.com/rollup/rollup/issues/61))
913* Fixed various bugs with bundle external dependencies, particularly when generating ES6 bundles ([#59](https://github.com/rollup/rollup/issues/59))
914* Add `--globals` option to CLI ([#60](https://github.com/rollup/rollup/pull/60))
915* Allow imports of external modules for side-effects ([#55](https://github.com/rollup/rollup/pull/55))
916* Prevent Rollup hanging on non-existent external module ([#54](https://github.com/rollup/rollup/pull/54))
917
918## 0.11.4
919
920* Side-effect preservation applies to internal default exports ([#43](https://github.com/rollup/rollup/issues/43))
921
922## 0.11.3
923
924* Class methods are not incorrectly renamed ([#42](https://github.com/rollup/rollup/issues/42))
925* External modules are assigned names before canonical names are determined ([#42](https://github.com/rollup/rollup/issues/42))
926
927## 0.11.2
928
929* Correctly handle computed properties (e.g. `foo[bar]`) when discovering dependencies ([#47](https://github.com/rollup/rollup/pull/47))
930
931## 0.11.1
932
933* Support for `export * from '..'` ([#46](https://github.com/rollup/rollup/pull/46))
934
935## 0.11.0
936
937* Experimental browser-friendly build (`dist/rollup.browser.js`) ([#25](https://github.com/rollup/rollup/issues/25))
938* Internal re-architecting to make discovery process simpler and more performant
939* Preservation of side-effects that happen in a separate module to the affected definition ([#39](https://github.com/rollup/rollup/issues/39))
940
941## 0.10.0
942
943* Better sorting algorithm – sorting happens at the module level, rather than the statement level. This avoids certain edge cases
944* IIFEs are ignored for the purposes of distinguishing between 'strong' and 'weak' dependencies
945* Empty `var` declarations for exported bindings are omitted
946
947## 0.9.1
948
949* Much faster statement insertion (fixes major 0.9.0 performance regression)
950
951## 0.9.0
952
953* BREAKING - `resolvePath` is now `resolveId`. The returned `id` (which by default is a filepath) is passed to the `load` function, which can optionally be overridden, and which is applied to all modules including the entry module. This allows custom resolver and loading logic for integration with third party systems (e.g. JSPM) or, eventually, in-browser usage ([#30](https://github.com/rollup/rollup/issues/30))
954* A statement cannot appear after later statements from the same bundle ([#34](https://github.com/rollup/rollup/issues/34))
955* Tricky cyclical dependencies are handled ([#36](https://github.com/rollup/rollup/issues/36))
956* `sourcemap` option is used by CLI (was omitted previously)
957
958## 0.8.3
959
960* Correctly rename functions that have arguments with the same name ([#32](https://github.com/rollup/rollup/issues/32))
961* Ensure unused default exports are given a legal name ([#33](https://github.com/rollup/rollup/issues/33))
962
963## 0.8.2
964
965* Support `moduleId` and `moduleName` via CLI ([#24](https://github.com/rollup/rollup/issues/24))
966
967## 0.8.1
968
969* Anonymous functions that are exported as default are converted to named function declarations for correct hoisting, rather than being bound to functions ([#29](https://github.com/rollup/rollup/issues/29))
970* Automatically-generated default export names are deconflicted with local definitions ([#29](https://github.com/rollup/rollup/issues/29))
971
972## 0.8.0
973
974* Top-level variable declarations with multiple declarators are split up, to avoid unnecessary code importing and incorrectly-ordered statements ([#26](https://github.com/rollup/rollup/issues/26))
975* `this` at the top level is `undefined` ([#28](https://github.com/rollup/rollup/issues/28))
976
977## 0.7.8
978
979* Avoid using `path.parse` - unsupported in node 0.10
980
981## 0.7.7
982
983* Promise `source-map-support` from `devDependencies` to `dependencies` ([#23](https://github.com/rollup/rollup/issues/23))
984
985## 0.7.6
986
987* Better placement of `export default` statements ([#21](https://github.com/rollup/rollup/issues/21))
988* Prevent function calls and property assignments from being treated as rebinding for sake of unbound default exports
989* Add `--external foo,bar,baz` option to CLI (equivalent to `external: ['foo', 'bar', 'baz']`)
990* Add CLI tests
991
992## 0.7.5
993
994* Prevent accidental conflicts with the global namespace ([#20](https://github.com/rollup/rollup/issues/20))
995
996## 0.7.4
997
998* More precise statement re-ordering to satisfy `export default` constraint (fixes bug introduced in 0.7.3)
999
1000## 0.7.3
1001
1002* Default exports are not bound. To enable this, statements within a module are sorted to retain their original order ([#15](https://github.com/rollup/rollup/issues/15))
1003* Better positioning of comments ([#14](https://github.com/rollup/rollup/issues/14))
1004* Various fixes to get Travis-CI rigged up
1005
1006## 0.7.2
1007
1008* Fix sourcemap paths on Windows ([#6](https://github.com/rollup/rollup/pull/6))
1009
1010## 0.7.1
1011
1012* Named functions can be used as default exports from a bundle
1013* Method calls are assumed to mutate the owner (i.e. `foo.bar()` mutates `foo`) ([#13](https://github.com/rollup/rollup/issues/13))
1014* `options.indent` can be used to control indentation of resulting bundle. `options.true` (default) means 'auto', `options.false` means empty string. Alternatively specify whitespace e.g. `' '` or `'\t'` ([#5](https://github.com/rollup/rollup/issues/5))
1015
1016## 0.7.0
1017
1018* Ensure statements are always separated by a newline ([#9](https://github.com/rollup/rollup/pull/9))
1019* Use CommonJS `exports` correctly (UMD exports)
1020* Throw error if `moduleName` is required but missing (UMD exports)
1021* Attach IIFE global to `this` rather than `window`
1022* Allow names inside bundle to the the names of `Object.prototype` properties ([#12](https://github.com/rollup/rollup/pull/12))
1023* Keep exports live ([#11](https://github.com/rollup/rollup/pull/11))
1024
1025## 0.6.5
1026
1027* Add sourceMappingURL comment to code, as appropriate
1028* Higher resolution sourcemaps
1029
1030## 0.6.4
1031
1032* Fix CJS bundling with default export
1033
1034## 0.6.3
1035
1036* Fix exports and external module imports with some output formats
1037* Fix endless cycle bug on Windows ([#3](https://github.com/rollup/rollup/pull/3)) - thanks @Bobris
1038
1039## 0.6.2
1040
1041* Permit assignments to properties of imported bindings
1042
1043## 0.6.1
1044
1045* Support for basic transformers
1046
1047## 0.6.0
1048
1049* BREAKING - `rollup.rollup` and `bundle.write` both take a single options argument
1050* BREAKING - external modules must be declared upfront with `options.external: [...]`
1051* Non-relative module paths will be resolved by looking for `jsnext:main` fields in the appropriate `package.json` files. This behaviour can be overridden by passing an alternative `resolveExternal` function
1052* Fix sourcemap options
1053* Include CLI files in npm package (duh)
1054
1055## 0.5.0
1056
1057* Command line interface
1058* Sourcemap generation
1059* Correct behaviour with `export { x as y } from 'z'`
1060
1061## 0.4.1
1062
1063* More import name deconflicting
1064
1065## 0.4.0
1066
1067* Self-hosting! `rollup.rollup` now rolls up rollup
1068* Fix bug with comments inside a statement later being appended to it
1069* Prevent shadowing of external modules
1070* Rewrite computed property identifiers where necessary
1071* Preserve original statement order where possible
1072* Internal refactoring
1073
1074## 0.3.1
1075
1076* Saner deconflicting
1077* Rename namespace imports from external modules correctly
1078
1079## 0.3.0
1080
1081* Basic functionality present, mostly spec-compliant
1082
1083## 0.2.1
1084
1085* Include dist files in npm package (duh)
1086
1087## 0.2.0
1088
1089* First release capable of doing anything useful
1090* Still lots of basic functionality missing
1091
1092## 0.1.0
1093
1094* Initial experiment