UNPKG

71.8 kBMarkdownView Raw
1# rollup changelog
2
3## 0.61.0
4*2018-06-20*
5* Declare file dependencies via transform plugin hooks ([#2259](https://github.com/rollup/rollup/pull/2259))
6* Handle undefined values when evaluating conditionals ([#2264](https://github.com/rollup/rollup/pull/2264))
7* Handle known undefined properties when evaluating conditionals ([#2265](https://github.com/rollup/rollup/pull/2265))
8* Access watch events via the plugin context ([#2261](https://github.com/rollup/rollup/pull/2261))
9* Add option to suppress `__esModule` flag in output ([#2287](https://github.com/rollup/rollup/pull/2287))
10* Fix issue when re-declaring variables, track reassignments in more cases ([#2279](https://github.com/rollup/rollup/pull/2279))
11* Add VSCode debug settings ([#2276](https://github.com/rollup/rollup/pull/2276))
12
13## 0.60.7
14*2018-06-14*
15* Fix typing issue ([#2269](https://github.com/rollup/rollup/pull/2269))
16
17## 0.60.6
18*2018-06-14*
19* Track mutations of included virtual arrays ([#2263](https://github.com/rollup/rollup/pull/2263))
20* Update readme ([#2266](https://github.com/rollup/rollup/pull/2266))
21
22## 0.60.5
23*2018-06-14*
24* Track deep reassignments of global and exported variables and improve performance ([#2254](https://github.com/rollup/rollup/pull/2254))
25
26## 0.60.4
27*2018-06-13*
28* Properly handle initially uninitialized exports and exports of globals in SystemJS output ([#2258](https://github.com/rollup/rollup/pull/2258))
29
30## 0.60.3
31*2018-06-13*
32* Fix types to allow watching an array of outputs ([#2262](https://github.com/rollup/rollup/pull/2262))
33
34## 0.60.2
35*2018-06-11*
36* Permit setting an asset's source in `generateBundle` ([#2256](https://github.com/rollup/rollup/pull/2256))
37* Add automatic linting ([#2242](https://github.com/rollup/rollup/pull/2242))
38
39## 0.60.1
40*2018-06-07*
41* Fix plugin regressions ([#2246](https://github.com/rollup/rollup/pull/2246))
42* Avoid conflicts for large numbers of variables ([#2244](https://github.com/rollup/rollup/pull/2244))
43
44## 0.60.0
45*2018-06-06*
46* 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))
47* [BREAKING] Deprecate the `legacy` option and thus IE8 support ([#2141](https://github.com/rollup/rollup/pull/2141))
48* Detect more known extensions and load .mjs without extension ([#2211](https://github.com/rollup/rollup/pull/2211))
49* Add compact output mode ([#2151](https://github.com/rollup/rollup/pull/2151))
50* Significantly improve sourcemap generation performance ([#2228](https://github.com/rollup/rollup/pull/2228))
51* Enable naming SystemJS modules ([#2028](https://github.com/rollup/rollup/pull/2028))
52* Do not use alternate screen if clearScreen is set in watch mode ([#2125](https://github.com/rollup/rollup/pull/2125))
53* Allow object input form for code-splitting in watch mode ([#2217](https://github.com/rollup/rollup/pull/2217))
54* Track reassignments of methods of exports from outside ([#2240](https://github.com/rollup/rollup/pull/2240))
55* Preserve id of default exported functions and classes ([#2234](https://github.com/rollup/rollup/pull/2234))
56* Add semicolons after default exports ([#2209](https://github.com/rollup/rollup/pull/2209))
57* Fix build problems on Windows ([#2232](https://github.com/rollup/rollup/pull/2232))
58* Display install size in readme ([#2196](https://github.com/rollup/rollup/pull/2196))
59* Improve preserve modules test ([#2236](https://github.com/rollup/rollup/pull/2236))
60
61## 0.59.4
62*2018-05-28*
63* Fix performance regression when many return statements are used ([#2218](https://github.com/rollup/rollup/pull/2218))
64
65## 0.59.3
66*2018-05-24*
67* Fix reassignment tracking for constructor parameters ([#2214](https://github.com/rollup/rollup/pull/2214))
68
69## 0.59.2
70*2018-05-21*
71* Fix reassignment tracking in for-in loops ([#2205](https://github.com/rollup/rollup/pull/2205))
72
73## 0.59.1
74*2018-05-16*
75* Fix infinite recursion when determining literal values of circular structures ([#2193](https://github.com/rollup/rollup/pull/2193))
76* Fix invalid code when simplifying expressions without spaces ([#2194](https://github.com/rollup/rollup/pull/2194))
77
78## 0.59.0
79*2018-05-15*
80* Tree-shake statically analysable dynamic conditionals ([#2167](https://github.com/rollup/rollup/pull/2167))
81* Do not emit empty chunks when code-splitting or empty files when preserving modules ([#2128](https://github.com/rollup/rollup/pull/2128))
82* Support `import.meta.url` ([#2164](https://github.com/rollup/rollup/pull/2164))
83* Add `esm` format alias ([#2102](https://github.com/rollup/rollup/pull/2102))
84* Use alphanumeric base64 characters when deconflicting variables ([#2188](https://github.com/rollup/rollup/pull/2188))
85* Improve handling of external modules imported as both default and named imports ([#2136](https://github.com/rollup/rollup/pull/2136))
86* Properly deconflict named imports from other chunks ([#2177](https://github.com/rollup/rollup/pull/2177))
87* Fix an issue with namespaces containing reexports ([#2157](https://github.com/rollup/rollup/pull/2157))
88* Fix an issue with with incorrectly mapped default exports when code-splitting CJS or AMD modules ([#2178](https://github.com/rollup/rollup/pull/2178))
89* Fix an issue with wrong paths of relative external imports ([#2160](https://github.com/rollup/rollup/pull/2160))
90* Fix an issue when using default exports and `interop: false` ([#2149](https://github.com/rollup/rollup/pull/2149))
91* Fix in issue with invalid syntax in SystemJS output ([#2187](https://github.com/rollup/rollup/pull/2187))
92* Fix an issue when tree-shaking call expressions and reassigned variables ([#2186](https://github.com/rollup/rollup/pull/2186))
93* Fix file paths in source maps ([#2161](https://github.com/rollup/rollup/pull/2161))
94* Fix wrong file name in error message ([#2137](https://github.com/rollup/rollup/pull/2137))
95* Always use npm 5 on CI ([#2185](https://github.com/rollup/rollup/pull/2185))
96
97## 0.58.2
98*2018-04-23*
99* Fix rendering of certain statically resolvable if statements ([#2146](https://github.com/rollup/rollup/pull/2146))
100
101## 0.58.1
102*2018-04-18*
103* Fix comment detection ([#2129](https://github.com/rollup/rollup/pull/2129))
104
105## 0.58.0
106*2018-04-16*
107* Support individual chunk names with optional content hashes ([#2068](https://github.com/rollup/rollup/pull/2068))
108* Support manually created chunks ([#2084](https://github.com/rollup/rollup/pull/2084))
109* Automatically import deep dependencies when code splitting for better performance ([#2073](https://github.com/rollup/rollup/pull/2073))
110* Automatically minify internal export/import names for esm and system output ([#2087](https://github.com/rollup/rollup/pull/2087))
111* Add option to automatically merge small chunks ([#2090](https://github.com/rollup/rollup/pull/2090))
112* Significantly improve tree-shaking performance ([#2119](https://github.com/rollup/rollup/pull/2119))
113* Enable tree-shaking for logical expressions ([#2098](https://github.com/rollup/rollup/pull/2098))
114* Rework external types and reduce type related dependencies ([#2108](https://github.com/rollup/rollup/pull/2108))
115* Support parallel dependency resolution ([#2116](https://github.com/rollup/rollup/pull/2116))
116* Improve deprecation handling ([#2076](https://github.com/rollup/rollup/pull/2076))
117* Enable `--perf` timings in watch mode ([#2065](https://github.com/rollup/rollup/pull/2065))
118* Improve performance timers ([#2111](https://github.com/rollup/rollup/pull/2111))
119* Improve error handling for plugins ([#2100](https://github.com/rollup/rollup/pull/2100))
120* Improve error when using `--dir` in a single file build ([#2123](https://github.com/rollup/rollup/pull/2123))
121* Do not warn for external imports that are unused due to tree-shaking ([#2124](https://github.com/rollup/rollup/pull/2124))
122* Update mixed export warning message ([#2107](https://github.com/rollup/rollup/pull/2107))
123* Remove duplicate badges from readme ([#2083](https://github.com/rollup/rollup/pull/2083))
124* Update readme examples ([#2086](https://github.com/rollup/rollup/pull/2086))
125
126## 0.57.1
127*2018-03-17*
128* Improve sourcemap generation performance ([#2062](https://github.com/rollup/rollup/pull/2062))
129* Add reserved config option namespace and improve CLI interface ([#2063](https://github.com/rollup/rollup/pull/2063))
130* Fix issue with default exported function and class expressions ([#2059](https://github.com/rollup/rollup/pull/2059))
131* Replace `forEach` with faster `for` loops in some places ([#2064](https://github.com/rollup/rollup/pull/2064))
132
133## 0.57.0
134*2018-03-15*
135* Add option to preserve the module structure instead of bundling ([#1922](https://github.com/rollup/rollup/pull/1922))
136* Enable watch mode when code-splitting ([#2035](https://github.com/rollup/rollup/pull/2035))
137* Optionally pass CLI commands to config file ([#1926](https://github.com/rollup/rollup/pull/1926))
138* Option to add correct `.toString` tags to namespaces ([#2041](https://github.com/rollup/rollup/pull/2041))
139* Option and scripts to display performance timings ([#2045](https://github.com/rollup/rollup/pull/2045))
140* Fixes for exported or early accessed namespaces + improved namespace indentation ([#2041](https://github.com/rollup/rollup/pull/2041))
141* Include missing TypeScript dependencies ([#1965](https://github.com/rollup/rollup/pull/1965))
142* Add #_PURE annotation to frozen namespaces ([#2044](https://github.com/rollup/rollup/pull/2044))
143* Improve sourcemap and tree-shaking performance ([#2052](https://github.com/rollup/rollup/pull/2052))
144* Inline sourcemap lookups and make rollup smaller ([#2055](https://github.com/rollup/rollup/pull/2055))
145* Use updated magic-string types ([#2057](https://github.com/rollup/rollup/pull/2057))
146* [BREAKING] Revert class id preservation from #2025 ([#2048](https://github.com/rollup/rollup/pull/2048))
147* [BREAKING] Refactor missing export plugin hook ([#1987](https://github.com/rollup/rollup/pull/1987))
148
149## 0.56.5
150*2018-03-07*
151* Preserve ids when deconflicting classes ([#2025](https://github.com/rollup/rollup/pull/2025))
152* Fix an issue with re-exported namespace imports ([#2034](https://github.com/rollup/rollup/pull/2034))
153* Prevent an infinite loop when binding member expressions ([#1963](https://github.com/rollup/rollup/pull/1963))
154* Convert code style via prettier ([#2031](https://github.com/rollup/rollup/pull/2031))
155* Fix links in documentation ([#2026](https://github.com/rollup/rollup/pull/2026))
156
157## 0.56.4
158*2018-03-05*
159* Make rollup builds reproducible ([#2024](https://github.com/rollup/rollup/pull/2024))
160* Improve error handling for source maps ([#2012](https://github.com/rollup/rollup/pull/2012))
161* Properly handle SystemJS default exports without semicolons ([#2019](https://github.com/rollup/rollup/pull/2019))
162* Properly handle importing the same variable several times when code-splitting ([#2020](https://github.com/rollup/rollup/pull/2020))
163* Improve re-export tracing ([#2021](https://github.com/rollup/rollup/pull/2021))
164* Apply "prettier" on commit ([#2017](https://github.com/rollup/rollup/pull/2017))
165* Automatically clean up outdated tests ([#2009](https://github.com/rollup/rollup/pull/2009))
166* Add SystemJS output to form tests ([#2022](https://github.com/rollup/rollup/pull/2022))
167* Improve internal build configuration ([#2016](https://github.com/rollup/rollup/pull/2016))
168
169## 0.56.3
170*2018-02-25*
171* Fix issues around default exports and module facades ([#2001](https://github.com/rollup/rollup/pull/2001))
172* Improve and fix internal chunk interface ([#1994](https://github.com/rollup/rollup/pull/1994))
173* Fix superfluous semicolons added after declarations ([#1999](https://github.com/rollup/rollup/pull/1999))
174* Improve code-splitting tests ([#1990](https://github.com/rollup/rollup/pull/1990))
175
176## 0.56.2
177*2018-02-19*
178* Fix handling of reassigned default exports ([#1975](https://github.com/rollup/rollup/pull/1975))
179* Fix handling of renamed exports in entry points ([#1977](https://github.com/rollup/rollup/pull/1977))
180* Update internal TypeScript version ([#1980](https://github.com/rollup/rollup/pull/1980))
181* Omit compiled source files from published types ([#1981](https://github.com/rollup/rollup/pull/1981))
182* Fix example in readme file ([#1984](https://github.com/rollup/rollup/pull/1984))
183* Fix non-replaced dynamic imports in non-ESM output ([#1985](https://github.com/rollup/rollup/pull/1985))
184
185## 0.56.1
186*2018-02-16*
187* Fix regression when rendering switch statements ([#1971](https://github.com/rollup/rollup/pull/1971))
188
189## 0.56.0
190*2018-02-15*
191* Update to ECMAScript 2018 ([#1953](https://github.com/rollup/rollup/pull/1953))
192* Rework tree-shaking rendering algorithm ([#1949](https://github.com/rollup/rollup/pull/1949))
193* Tree-shake pure prototype calls on literals ([#1916](https://github.com/rollup/rollup/pull/1916))
194* Expose AST parser to plugins ([#1945](https://github.com/rollup/rollup/pull/1945))
195* Fix namespace re-export deconflicting ([#1960](https://github.com/rollup/rollup/pull/1960))
196* Allow globals to be re-exported ([#1959](https://github.com/rollup/rollup/pull/1959))
197* Fix internal performance timers ([#1966](https://github.com/rollup/rollup/pull/1966))
198
199## 0.55.5
200*2018-02-10*
201* Remove OpenCollective dependency ([#1915](https://github.com/rollup/rollup/pull/1915))
202
203## 0.55.4
204*2018-02-09*
205* Improve name deconflicting of external variables ([#1930](https://github.com/rollup/rollup/pull/1930))
206* Improve re-export handling ([#1947](https://github.com/rollup/rollup/pull/1947))
207* Mark preserveSymlinks option as optional ([#1939](https://github.com/rollup/rollup/pull/1939))
208* Enable code-splitting tests to check directory structures ([#1924](https://github.com/rollup/rollup/pull/1924))
209* Improve TypeScript definition test ([#1954](https://github.com/rollup/rollup/pull/1954))
210
211## 0.55.3
212*2018-02-01*
213* Remove OpenCollective dependency ([#1915](https://github.com/rollup/rollup/pull/1915))
214
215## 0.55.2
216*2018-02-01*
217* Add option to not follow symlinks ([#1819](https://github.com/rollup/rollup/pull/1819))
218* Fix crash in windows shell ([#1928](https://github.com/rollup/rollup/pull/1928))
219* Fix and test for external TypeScript errors ([#1903](https://github.com/rollup/rollup/pull/1903))
220* Activate OpenCollective ([#1915](https://github.com/rollup/rollup/pull/1915))
221* Optimize CI scripts ([#1921](https://github.com/rollup/rollup/pull/1921))
222
223## 0.55.1
224*2018-01-26*
225* Improve dynamic import workflow ([#1907](https://github.com/rollup/rollup/pull/1907))
226* Properly handle multiple dynamic imports of the same module ([#1911](https://github.com/rollup/rollup/pull/1911))
227* Fix import specifier deshadowing ([#1912](https://github.com/rollup/rollup/pull/1912))
228* Allow plugin load hook to return an empty string ([#1908](https://github.com/rollup/rollup/pull/1908))
229* Let onwarn handler accept strings ([#1905](https://github.com/rollup/rollup/pull/1905))
230
231## 0.55.0
232*2018-01-23*
233* Support code splitting ([#1841](https://github.com/rollup/rollup/pull/1841))
234* Support SystemJS as output format ([#1897](https://github.com/rollup/rollup/pull/1897))
235* Allow injecting acorn plugins ([#1857](https://github.com/rollup/rollup/pull/1857))
236* Add `missingExport` plugin hook ([#1845](https://github.com/rollup/rollup/pull/1845))
237* No longer parse config files via bublé ([#1899](https://github.com/rollup/rollup/pull/1899))
238* Use externally maintained dynamic import acorn plugin ([#1891](https://github.com/rollup/rollup/pull/1891))
239* Fix an error message ([#1886](https://github.com/rollup/rollup/pull/1886))
240* Refactor internal rendering options ([#1900](https://github.com/rollup/rollup/pull/1900))
241* Extract internal path resolution ([#1879](https://github.com/rollup/rollup/pull/1879))
242* Extract internal bundle option handling ([#1880](https://github.com/rollup/rollup/pull/1880))
243* Add import description type ([#1884](https://github.com/rollup/rollup/pull/1884))
244* Clean up watch options types ([#1860](https://github.com/rollup/rollup/pull/1860))
245* Clean up some tests ([#1888](https://github.com/rollup/rollup/pull/1888))
246
247## 0.54.1
248*2018-01-17*
249* Fix TypeScript errors in emitted type definitions ([#1871](https://github.com/rollup/rollup/pull/1871))
250
251## 0.54.0
252*2018-01-12*
253* Automatically inline locally resolvable dynamic imports ([#1816](https://github.com/rollup/rollup/pull/1816))
254* Preserve directives in function bodies ([#1856](https://github.com/rollup/rollup/pull/1856))
255* Refactor an error notification ([#1846](https://github.com/rollup/rollup/pull/1846))
256* Refactor a wrong import ([#1863](https://github.com/rollup/rollup/pull/1863))
257* Improve emitted TypeScript definitions ([#1864](https://github.com/rollup/rollup/pull/1864))
258* Refactor unused import ([#1866](https://github.com/rollup/rollup/pull/1866))
259
260## 0.53.4
261*2018-01-10*
262* More type cleanup ([#1858](https://github.com/rollup/rollup/pull/1858))
263* Use chalks internal helper to detect if colors should be used ([#1853](https://github.com/rollup/rollup/pull/1853))
264* Refactor entity handling to use interfaces ([#1840](https://github.com/rollup/rollup/pull/1840))
265* Use immutable.js internal types ([#1844](https://github.com/rollup/rollup/pull/1844))
266* Ship `TypeScript` declaration files ([#1837](https://github.com/rollup/rollup/pull/1837))
267
268## 0.53.3
269*2018-01-02*
270* Use correct name when re-exporting from external modules ([#1794](https://github.com/rollup/rollup/pull/1794))
271* Disable warnings when `resolveId` returns false ([#1825](https://github.com/rollup/rollup/pull/1825))
272
273## 0.53.2
274*2017-12-30*
275* Properly handle output arrays in the JavaScript API ([#1827](https://github.com/rollup/rollup/pull/1827))
276
277## 0.53.1
278*2017-12-28*
279* Properly deprecate more config options ([#1812](https://github.com/rollup/rollup/pull/1812))
280* Pass output options to `transformBundle` plugin hook ([#1813](https://github.com/rollup/rollup/pull/1813))
281
282## 0.53.0
283*2017-12-22*
284* Experimental dynamic import support ([#1790](https://github.com/rollup/rollup/pull/1790))
285* Unify config validation ([#1805](https://github.com/rollup/rollup/pull/1805))
286
287## 0.52.3
288*2017-12-19*
289* Properly hoist default exported functions in more situations ([#1799](https://github.com/rollup/rollup/pull/1799))
290* Allow plugin transformations to not overwrite source maps by returning null ([#1797](https://github.com/rollup/rollup/pull/1797))
291* Provide more parameters to "external" handler ([#1792](https://github.com/rollup/rollup/pull/1792))
292
293## 0.52.2
294*2017-12-15*
295* No longer ignore side-effects in JSON.parse and JSON.stringify ([#1785](https://github.com/rollup/rollup/pull/1785))
296* Updated links in warnings ([#1776](https://github.com/rollup/rollup/pull/1776))
297* No longer prevent self-imports ([#1777](https://github.com/rollup/rollup/pull/1777))
298* Properly hoist default exported functions ([#1787](https://github.com/rollup/rollup/pull/1787))
299* Prevent corruption when re-exporting default exports ([#1765](https://github.com/rollup/rollup/pull/1765))
300
301## 0.52.1
302*2017-12-05*
303* Improve deprecation warnings ([#1765](https://github.com/rollup/rollup/pull/1765))
304* Properly use stdin ([#1774](https://github.com/rollup/rollup/pull/1774))
305* Let --environment be used multiple times ([#1768](https://github.com/rollup/rollup/pull/1768))
306* Always transpile config files ([#1759](https://github.com/rollup/rollup/pull/1759))
307* Respect globals option in headers of UMD and IIFE files ([#1747](https://github.com/rollup/rollup/pull/1747))
308
309## 0.52.0
310*2017-11-25*
311* Accept config as promise ([#1731](https://github.com/rollup/rollup/pull/1731))
312* Accept promises for intro/outro/banner/footer ([#1253](https://github.com/rollup/rollup/pull/1253))
313* Option to prevent freezing of namespace imports ([#1696](https://github.com/rollup/rollup/pull/1696))
314* Option to retain all output in watch mode ([#1688](https://github.com/rollup/rollup/pull/1688))
315* Options to fine-tune treeshaking ([#1760](https://github.com/rollup/rollup/pull/1760))
316
317## 0.51.8
318*2017-11-19*
319* Fix speed problems by simplifying treeshaking reassignment handling ([#1740](https://github.com/rollup/rollup/pull/1740))
320* Update dependencies ([#1742](https://github.com/rollup/rollup/pull/1742))
321
322## 0.51.7
323*2017-11-17*
324* Keep "this"-context when calling sequence expressions ([#1724](https://github.com/rollup/rollup/pull/1724))
325
326## 0.51.6
327*2017-11-16*
328* Use sourcemaps to determine error locations ([#1728](https://github.com/rollup/rollup/pull/1728))
329
330## 0.51.5
331*2017-11-11*
332* Fix regressions with uninitialised conditional expressions ([#1720](https://github.com/rollup/rollup/pull/1720))
333
334## 0.51.4
335*2017-11-11*
336* Fix regressions preventing builds ([#1725](https://github.com/rollup/rollup/pull/1725))
337
338## 0.51.3
339*2017-11-10*
340* Fix regression when treeshaking sequence expressions ([#1717](https://github.com/rollup/rollup/pull/1717))
341
342## 0.51.2
343*2017-11-09*
344* Fix treeshaking regression when labels are used inside functions ([#1712](https://github.com/rollup/rollup/pull/1712))
345
346## 0.51.1
347*2017-11-08*
348* Fix an issue with empty return statements ([#1704](https://github.com/rollup/rollup/pull/1704))
349
350## 0.51.0
351*2017-11-08*
352* Massive improvements to the treeshaking algorithm ([#1667](https://github.com/rollup/rollup/pull/1667))
353
354## 0.50.1
355*2017-11-08*
356* Fix treeshaking regression ([#1695](https://github.com/rollup/rollup/pull/1695))
357* Treeshaking improvements ([#1650](https://github.com/rollup/rollup/pull/1650))
358* Enable installation from Github ([#1670](https://github.com/rollup/rollup/pull/1670))
359* Update documentation ([#1660](https://github.com/rollup/rollup/pull/1660))
360
361## 0.50.0
362*2017-09-16*
363* Many treeshaking improvements ([#1624](https://github.com/rollup/rollup/pull/1624))
364* Show finish time in watch mode ([#1620](https://github.com/rollup/rollup/pull/1620))
365
366## 0.49.3
367*2017-09-08*
368* Respect `watch` options ([#1596](https://github.com/rollup/rollup/issues/1596))
369* Fix treeshaking regressions ([#1604](https://github.com/rollup/rollup/pull/1604))
370* Allow `-o` to work with `output.format` ([#1606](https://github.com/rollup/rollup/pull/1606))
371
372## 0.49.2
373*2017-08-29*
374* Fix treeshaking regressions ([#1591](https://github.com/rollup/rollup/pull/1591))
375
376## 0.49.1
377*2017-08-28*
378* Fix treeshaking regressions ([#1586](https://github.com/rollup/rollup/pull/1586))
379
380## 0.49.0
381*2017-08-27*
382* Completely update the treeshaking algorithm ([#1582](https://github.com/rollup/rollup/pull/1582))
383* Only flip screen buffer if appropriate ([#1574](https://github.com/rollup/rollup/pull/1574))
384* Guard against two instances creating the same dir ([#1576](https://github.com/rollup/rollup/pull/1576))
385
386## 0.48.2
387
388* Paths is an output option ([#1569](https://github.com/rollup/rollup/pull/1569))
389
390## 0.48.1
391
392* Print deprecation warnings in watch mode, and fix options when watcher restarts ([#1568](https://github.com/rollup/rollup/pull/1568))
393
394## 0.48.0
395
396* 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.
397
398## 0.47.6
399
400* Set `process.env.ROLLUP_WATCH` *before* loading config file
401
402## 0.47.5
403
404* Fix broken multi-bundle configs with `rollup.watch` ([#1532](https://github.com/rollup/rollup/issues/1532))
405
406## 0.47.4
407
408* Delete cached config file before reloading in watch mode
409
410## 0.47.3
411
412* Deshadow aliased imports ([#1550](https://github.com/rollup/rollup/issues/1550))
413
414## 0.47.2
415
416* Rebuild with dependency that npm randomly deleted
417
418## 0.47.1
419
420* Ignore external namespace imports when deshadowing ([#1547](https://github.com/rollup/rollup/issues/1547))
421
422## 0.47.0
423
424* Watch config file, restart `rollup.watch` on change ([#1535](https://github.com/rollup/rollup/issues/1535))
425* Correctly render `export { foo } from` declarations in `es` output ([#1543](https://github.com/rollup/rollup/pull/1543))
426* Reinstate missing `rollup.VERSION`
427
428## 0.46.3
429
430* 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))
431* Fix namespace imports and re-exports in `es` output ([#1511](https://github.com/rollup/rollup/issues/1511))
432* Deshadow indirectly imported namespaces ([#1488](https://github.com/rollup/rollup/issues/1488), [#1505](https://github.com/rollup/rollup/issues/1505))
433
434## 0.46.2
435
436* Pass options to `bundle.write` correctly in `rollup.watch` ([#1533](https://github.com/rollup/rollup/issues/1533))
437* init for-in loop section head with correct scopes ([#1480](https://github.com/rollup/rollup/issues/1480))
438* support `--no-interop` flag ([#1524](https://github.com/rollup/rollup/issues/1524))
439
440## 0.46.1
441
442* Remove `rollup.watch` from browser build ([#1530](https://github.com/rollup/rollup/issues/1530))
443* Remove `source-map-support` dependency ([#1528](https://github.com/rollup/rollup/issues/1528))
444
445## 0.46.0
446
447* `options.format` is now required ([#1491](https://github.com/rollup/rollup/pull/1491))
448* if `options.format` is `es6`, it will now throw an error (should be `es`) ([#1491](https://github.com/rollup/rollup/pull/1491))
449* Add experimental `rollup.watch` method, replacing [rollup-watch](https://github.com/rollup/rollup-watch) ([#1491](https://github.com/rollup/rollup/pull/1491))
450* Batch warnings together in CLI output ([#1491](https://github.com/rollup/rollup/pull/1491))
451* Clear screen between rebuilds in `--watch` mode ([#1491](https://github.com/rollup/rollup/pull/1491))
452* `onwarn` function's second argument is the default handler, allowing easier filtering without reimplementing any logic ([#1491](https://github.com/rollup/rollup/pull/1491))
453* Prevent semi-colon removal after variable declaration that is for loop body ([#1275](https://github.com/rollup/rollup/issues/1275))
454* Return `exports` for namespaced but non-extended IIFE bundles ([#1492](https://github.com/rollup/rollup/issues/1492))
455* Fix scoping in switch statements ([#1498](https://github.com/rollup/rollup/pull/1498))
456* Handle side-effects in tagged template expressions ([#1508](https://github.com/rollup/rollup/pull/1508))
457* More descriptive error for missing options.format ([#1510](https://github.com/rollup/rollup/pull/1510))
458* Refactor scope handling ([#1517](https://github.com/rollup/rollup/pull/1517))
459* Handle failure of a config in multi-config build ([#1513](https://github.com/rollup/rollup/issues/1513))
460
461
462## 0.45.2
463
464* Fix interop when import is a string ([#1486](https://github.com/rollup/rollup/issues/1486))
465* Separate `resolvedIds` from `resolvedExternalIds` ([#1490](https://github.com/rollup/rollup/pull/1490))
466* Add `--extend` flag to CLI ([#1482](https://github.com/rollup/rollup/pull/1482))
467
468## 0.45.1
469
470* Remove `weak` from `optionalDependencies` ([#1483](https://github.com/rollup/rollup/issues/1483))
471
472## 0.45.0
473
474* [BREAKING] `bundle.generate(...)` returns a Promise, so that `transformBundle` plugin hooks can be asynchronous ([#1474](https://github.com/rollup/rollup/issues/1474))
475
476## 0.44.0
477
478* [BREAKING] Don't extend existing globals, unless `options.extend` is true ([#827](https://github.com/rollup/rollup/issues/827))
479* Fix handling of catch clause parameters ([#1462](https://github.com/rollup/rollup/issues/1462))
480
481## 0.43.1
482
483* Fix memory leak on incremental rebuilds ([#883](https://github.com/rollup/rollup/issues/883))
484* 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))
485* Print more useful error if entry module is 'external' ([#1264](https://github.com/rollup/rollup/issues/1264))
486* Catch errors in `bundle.generate` options ([#1463](https://github.com/rollup/rollup/pull/1463))
487* Fix magic-string deprecation warning ([#1445](https://github.com/rollup/rollup/pull/1445))
488
489## 0.43.0
490
491* Allow config files to import JSON ([#1426](https://github.com/rollup/rollup/issues/1426))
492* Allow undefined imports in interop block ([#1341](https://github.com/rollup/rollup/issues/1341))
493* Add `process.env.ROLLUP_WATCH = 'true'` in watch mode ([#1429](https://github.com/rollup/rollup/issues/1429))
494* Add `pureExternalModules` option ([#1352](https://github.com/rollup/rollup/issues/1352))
495* Allow plugins to specify `options.entry` ([#1270](https://github.com/rollup/rollup/issues/1270))
496* Update dependencies
497
498## 0.42.0
499
500* Deprecate `options.moduleId` in favour of `options.amd.id` ([#1365](https://github.com/rollup/rollup/pull/1365))
501* Add `options.amd.define` option to specify name of AMD `define` function ([#1365](https://github.com/rollup/rollup/pull/1365))
502* Fix incorrect class removal with `treeshake: false` ([#1375](https://github.com/rollup/rollup/pull/1375))
503* Deconflict module exports imported as namespaces ([#1384](https://github.com/rollup/rollup/issues/1384))
504* Handle bare self-imports ([#1274](https://github.com/rollup/rollup/issues/1274))
505* Allow config file to export an array of multiple configs ([#1389](https://github.com/rollup/rollup/pull/1389))
506* Handle exponentiation operator, and fail gracefully on unknown operators ([#1416](https://github.com/rollup/rollup/issues/1416))
507* Add `watch` option ([#1424](https://github.com/rollup/rollup/pull/1424))
508
509## 0.41.6
510
511* Preserve `originalSourceMap` on incremental rebuilds for loaders with sourcemaps ([#1336](https://github.com/rollup/rollup/issues/1336))
512
513## 0.41.5
514
515* Wrap ternary consequent/alternate sequences in parens ([#1273](https://github.com/rollup/rollup/issues/1273))
516* Fix erroneous warning on multiple `export * from` declarations with defaults ([#1278](https://github.com/rollup/rollup/issues/1278))
517* Prevent variable conflicts with `treeshake: false` ([#1268](https://github.com/rollup/rollup/issues/1268))
518* Allow missing `source` when collapsing sourcemaps ([#1254](https://github.com/rollup/rollup/issues/1254))
519* Allow plugins to log with strings ([#1316](https://github.com/rollup/rollup/pull/1316))
520
521## 0.41.4
522
523* Fix cases of multiple `export * from 'external'` declarations ([#1252](https://github.com/rollup/rollup/issues/1252))
524* Fix 'TODO' error message ([#1257](https://github.com/rollup/rollup/issues/1257))
525
526## 0.41.3
527
528* Don't treat `this.foo` as possible namespace ([#1258](https://github.com/rollup/rollup/issues/1258))
529
530## 0.41.2
531
532* Optimize `namespace['foo']` references ([#1240](https://github.com/rollup/rollup/pull/1240))
533
534## 0.41.1
535
536* 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))
537
538## 0.41.0
539
540* Add `this.warn(...)` and `this.error(...)` methods to plugin `transform` hook contexts ([#1140](https://github.com/rollup/rollup/issues/1140))
541* `throw` always considered to be a side effect ([#1227](https://github.com/rollup/rollup/pull/1227))
542
543## 0.40.2
544
545* Add `file` property to sourcemaps for bundles with plugins ([#986](https://github.com/rollup/rollup/issues/986))
546* Don't require globals for empty imports ([#1217](https://github.com/rollup/rollup/issues/1217))
547
548## 0.40.1
549
550* Allow missing space between `export default` and declaration ([#1218](https://github.com/rollup/rollup/pull/1218))
551
552## 0.40.0
553
554* [BREAKING] Better, more consistent error logging ([#1212](https://github.com/rollup/rollup/pull/1212))
555* Don't use colours and emojis for non-TTY stderr ([#1201](https://github.com/rollup/rollup/issues/1201))
556
557## 0.39.2
558
559* Prevent mutation of cached ASTs (fixes stack overflow with rollup-watch) ([#1205](https://github.com/rollup/rollup/pull/1205))
560
561## 0.39.1
562
563* Ignore `var` initialisers in dead branches ([#1198](https://github.com/rollup/rollup/issues/1198))
564
565## 0.39.0
566
567* [BREAKING] Warnings are objects, rather than strings ([#1194](https://github.com/rollup/rollup/issues/1194))
568
569## 0.38.3
570
571* More informative warning for implicit external dependencies ([#1051](https://github.com/rollup/rollup/issues/1051))
572* Warn when creating browser bundle with external dependencies on Node built-ins ([#1051](https://github.com/rollup/rollup/issues/1051))
573* Statically analyse LogicalExpression nodes, for better dead code removal ([#1061](https://github.com/rollup/rollup/issues/1061))
574
575## 0.38.2
576
577* Preserve `var` declarations in dead branches ([#997](https://github.com/rollup/rollup/issues/997))
578* Warn if exporting a call expression that looks like a function declaration ([#1011](https://github.com/rollup/rollup/issues/1011))
579* Wrap function expressions in parentheses if necessary ([#1011](https://github.com/rollup/rollup/issues/1011))
580
581## 0.38.1
582
583* Fix sourcemap comment removal ([#1104](https://github.com/rollup/rollup/issues/1104))
584* Warn if empty bundle is generated ([#444](https://github.com/rollup/rollup/issues/444))
585* Support ES2017 syntax ([#492](https://github.com/rollup/rollup/issues/492))
586* Remove unused imports from external modules ([#595](https://github.com/rollup/rollup/issues/595))
587* 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))
588* Deconflict function expression IDs ([#1176](https://github.com/rollup/rollup/issues/1176))
589
590## 0.38.0
591
592* [BREAKING] `export { foo as default }` creates live binding ([#1078](https://github.com/rollup/rollup/issues/1078))
593* Prevent sourceMappingURL removal edge case ([#988](https://github.com/rollup/rollup/issues/988))
594* Bind function expression IDs to the correct scope ([#1083](https://github.com/rollup/rollup/issues/1083))
595* Correctly deshadow destructured parameters with assignments ([#1008](https://github.com/rollup/rollup/issues/1008))
596
597## 0.37.2
598
599* Remove unused `new` expressions without side-effects ([#179](https://github.com/rollup/rollup/issues/179))
600* Only remove valid sourceMappingURL comments ([#1132](https://github.com/rollup/rollup/issues/1132))
601* Ensure blocks containing activated `var` declarations are included in output ([#1113](https://github.com/rollup/rollup/issues/1113))
602* Support plugin outros ([#1116](https://github.com/rollup/rollup/issues/1116))
603
604## 0.37.1
605
606* Follow symlinks ([#447](https://github.com/rollup/rollup/issues/447))
607* 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))
608* Support module names that require quotes ([#582](https://github.com/rollup/rollup/issues/582), [#584](https://github.com/rollup/rollup/issues/584))
609* Fix [#957](https://github.com/rollup/rollup/issues/957)
610
611## 0.37.0
612
613* [BREAKING] Default exports are not included in reified namespaces ([#1028](https://github.com/rollup/rollup/issues/1028))
614* Parentheses do not defeat tree-shaking ([#1101](https://github.com/rollup/rollup/issues/1101), [#1128](https://github.com/rollup/rollup/issues/1128))
615* 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))
616* Fix missing namespace member warnings ([#1045](https://github.com/rollup/rollup/issues/1045))
617* Fix TypeError in arrow function without braces returning a function ([#1062](https://github.com/rollup/rollup/pull/1062))
618
619## 0.36.4
620
621* Only depend on program-level call expressions ([#977](https://github.com/rollup/rollup/issues/977))
622
623## 0.36.3
624
625* Add `legacy` option for IE8 support ([#989](https://github.com/rollup/rollup/pull/989))
626
627## 0.36.2
628
629* Insert semicolons where necessary to fix broken code ([#1004](https://github.com/rollup/rollup/issues/1004))
630* Include module ID and location when warning about top-level `this` ([#1012](https://github.com/rollup/rollup/pull/1012))
631* More informative error for missing exports ([#1033](https://github.com/rollup/rollup/issues/1033))
632* `options.moduleContext` for per-module context overrides ([#1023](https://github.com/rollup/rollup/pull/1023))
633
634## 0.36.1
635
636* Include naked block statements ([#981](https://github.com/rollup/rollup/issues/981))
637* Correctly include falsy alternate statements in optimised if blocks ([#973](https://github.com/rollup/rollup/issues/973))
638* Prevent omission of default exports that are only used by the exporting module ([#967](https://github.com/rollup/rollup/pull/967))
639* Prevent warning on `auto` exports with ES output ([#966](https://github.com/rollup/rollup/pull/966))
640
641## 0.36.0
642
643* `export { foo as default }` no longer creates a live binding ([#860](https://github.com/rollup/rollup/issues/860))
644
645## 0.35.15
646
647* Warn on missing unused imports in deshadowing phase ([#928](https://github.com/rollup/rollup/issues/928))
648* Always add a newline to the end of bundles ([#958](https://github.com/rollup/rollup/issues/958))
649
650## 0.35.14
651
652* Include all parent statements of expression with effects, up to function boundary ([#930](https://github.com/rollup/rollup/issues/930))
653
654## 0.35.13
655
656* Include superclasses when including their subclasses ([#932](https://github.com/rollup/rollup/issues/932))
657
658## 0.35.12
659
660* Add `interop: false` option to disable unwrapping of external imports ([#939](https://github.com/rollup/rollup/issues/939))
661
662## 0.35.11
663
664* Deconflict reified namespaces with other declarations ([#910](https://github.com/rollup/rollup/issues/910))
665
666## 0.35.10
667
668* Only remove EmptyStatement nodes directly inside blocks ([#913](https://github.com/rollup/rollup/issues/931))
669
670## 0.35.9
671
672* Support Node 0.12 ([#909](https://github.com/rollup/rollup/issues/909))
673
674## 0.35.8
675
676* Correctly deshadow re-assigned module functions ([#910](https://github.com/rollup/rollup/issues/910))
677
678## 0.35.7
679
680* Refactor `flushTime.js` ([#922](https://github.com/rollup/rollup/pull/922))
681
682## 0.35.6
683
684* Fix browser build
685
686## 0.35.5
687
688* Allow empty for loop heads ([#919](https://github.com/rollup/rollup/issues/919))
689
690## 0.35.4
691
692* Preserve effects in for-of and for-in loops ([#870](https://github.com/rollup/rollup/issues/870))
693* Remove empty statements ([#918](https://github.com/rollup/rollup/pull/918))
694
695## 0.35.3
696
697* Render identifiers inside template literals
698
699## 0.35.2
700
701* Fix broken build caused by out of date locally installed dependencies
702
703## 0.35.1
704
705* Rewrite deconflicted class identifiers ([#915](https://github.com/rollup/rollup/pull/915))
706* Include `dependencies` in `bundle.modules` objects ([#903](https://github.com/rollup/rollup/issues/903))
707* Update to Acorn 4 ([#914](https://github.com/rollup/rollup/pull/914))
708
709## 0.35.0
710
711* Rewrite analysis/tree-shaking code ([#902](https://github.com/rollup/rollup/pull/902))
712* Include conditional mutations of global objects ([#901](https://github.com/rollup/rollup/issues/901))
713* Only reify namespaces if necessary ([#898](https://github.com/rollup/rollup/issues/898))
714* Track mutations of aliased globals ([#893](https://github.com/rollup/rollup/issues/893))
715* Include duplicated var declarations ([#716](https://github.com/rollup/rollup/issues/716))
716
717## 0.34.13
718
719* Pass `{ format }` through to `transformBundle` ([#867](https://github.com/rollup/rollup/issues/867))
720
721## 0.34.12
722
723* Fix `rollup --watch` ([#887](https://github.com/rollup/rollup/issues/887))
724* Case-sensitive paths ([#862](https://github.com/rollup/rollup/issues/862))
725
726## 0.34.11
727
728* Prevent leaky state when `bundle` is reused ([#875](https://github.com/rollup/rollup/issues/875))
729* Ensure `intro` appears before interop block ([#880](https://github.com/rollup/rollup/issues/880))
730
731## 0.34.10
732
733* Allow custom `options.context` to replace top-level `this` ([#851](https://github.com/rollup/rollup/issues/851))
734* Fix `noConflict` when used via `rollup --config` ([#846](https://github.com/rollup/rollup/issues/846))
735* Place `outro` block *after* export block ([#852](https://github.com/rollup/rollup/issues/852))
736
737## 0.34.9
738
739* Disable indentation by default, for faster bundle generation ([#812](https://github.com/rollup/rollup/pull/812))
740* More helpful error on missing entry file ([#802](https://github.com/rollup/rollup/issues/802))
741* Preserve comments before import declarations ([#815](https://github.com/rollup/rollup/pull/815))
742
743## 0.34.8
744
745* Wrap UMD factory function in parens to avoid lazy parsing ([#774](https://github.com/rollup/rollup/pull/774))
746
747## 0.34.7
748
749* Leave it up to resolveId to normalize the entry path ([#835](https://github.com/rollup/rollup/pull/835))
750* Cache decoded mappings ([#834](https://github.com/rollup/rollup/pull/834))
751
752## 0.34.5
753
754* Fix circular export ([#813](https://github.com/rollup/rollup/issues/813))
755
756## 0.34.4
757
758* Module render performance tweak ([#823](https://github.com/rollup/rollup/pull/823))
759
760## 0.34.3
761
762* Avoid infinite recursion in `Bundle.sort()` ([#800](https://github.com/rollup/rollup/pull/800))
763
764## 0.34.2
765
766* resolveId calls are cached now to improve incremental build
767* Fixed error message recursion in plugins
768
769## 0.34.1
770
771* Support `paths` config ([#754](https://github.com/rollup/rollup/issues/754))
772* Allow `export *` from external module, internally
773
774## 0.34.0
775
776* 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))
777* Ensure reassigned exports are declared in an ES bundle, and remove empty `exports.foo;` statements ([#755](https://github.com/rollup/rollup/issues/755))
778* Add newline after sourcemap comment ([#756](https://github.com/rollup/rollup/issues/756))
779
780## 0.33.2
781
782* Add `bundle` as second argument to `ongenerate` and `onwrite` hooks ([#773](https://github.com/rollup/rollup/pull/773))
783* Warn on top-level `this` ([#770](https://github.com/rollup/rollup/issues/770))
784
785## 0.33.1
786
787* Fix `--no-strict` option ([#751](https://github.com/rollup/rollup/pull/751))
788* Fix Windows edge case with case-sensitive paths ([#760](https://github.com/rollup/rollup/pull/760))
789
790## 0.33.0
791
792* 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))
793* Warn if same name is re-exported from two modules ([#722](https://github.com/rollup/rollup/issues/722))
794
795## 0.32.4
796
797* Add `ongenerate` and `onwrite` plugin hooks ([#742](https://github.com/rollup/rollup/pull/742))
798
799## 0.32.3
800
801* Generated correct sourcemaps with reified namespaces ([#668](https://github.com/rollup/rollup/issues/668))
802* Exclude plugin helper modules from sourcemaps ([#747](https://github.com/rollup/rollup/pull/747))
803
804## 0.32.2
805
806* Allow `--globals` to work with `--external` or `options.external` in whatever configuration ([#743](https://github.com/rollup/rollup/issues/743))
807
808## 0.32.1
809
810* Preserve side-effects to default exports that coincide with used named exports ([#733](https://github.com/rollup/rollup/issues/733))
811* Support `rollup -c node:pkgname` ([#736](https://github.com/rollup/rollup/issues/736))
812
813## 0.32.0
814
815* Deprecate `es6` format in favour of `es` ([#468](https://github.com/rollup/rollup/issues/468))
816* Add correct `jsnext:main` build ([#726](https://github.com/rollup/rollup/pull/726))
817
818## 0.31.2
819
820* Allow `load` plugins to provide sourcemap ([#715](https://github.com/rollup/rollup/pull/715))
821* Allow `sourceMapFile` in config options ([#717](https://github.com/rollup/rollup/issues/717))
822
823## 0.31.1
824
825* Logging for errors emitted by `rollup-watch` ([#712](https://github.com/rollup/rollup/issues/712))
826
827## 0.31.0
828
829* Rewrite top-level `this` as `undefined` ([#707](https://github.com/rollup/rollup/pull/707))
830* Pass `options.acorn` to Acorn ([#564](https://github.com/rollup/rollup/issues/564))
831
832## 0.30.0
833
834* Bundle CLI ([#700](https://github.com/rollup/rollup/issues/700))
835* Ensure absolute paths are normalised ([#704](https://github.com/rollup/rollup/issues/704))
836* Allow `rollup --watch` to work with targets
837
838## 0.29.1
839
840* Merge `target` options with main options ([#701](https://github.com/rollup/rollup/issues/701))
841* Update magic-string ([#690](https://github.com/rollup/rollup/issues/690))
842
843## 0.29.0
844
845* `rollup --watch` ([#284](https://github.com/rollup/rollup/issues/284))
846
847## 0.28.0
848
849* Experimental support for incremental rebuilds ([#658](https://github.com/rollup/rollup/pull/658))
850
851## 0.27.1
852
853* Ensure names exported from a module are not replaced with reserved words ([#696](https://github.com/rollup/rollup/pull/696))
854* Revert ([#692](https://github.com/rollup/rollup/pull/692)) – resolved IDs must be strings
855
856## 0.27.0
857
858* Use native promises instead of `es6-promise` ([#689](https://github.com/rollup/rollup/issues/689))
859* Support multiple targets in config files ([#655](https://github.com/rollup/rollup/issues/655))
860* Allow `resolveId` plugin functions to return non-strings ([#692](https://github.com/rollup/rollup/pull/692))
861
862## 0.26.7
863
864* Distinguish between default and namespace imports of external module ([#637](https://github.com/rollup/rollup/issues/637))
865* Add `__esModule` property to named exports in AMD, CJS and UMD modes ([#650](https://github.com/rollup/rollup/issues/650))
866
867## 0.26.6
868
869* Deconflict named imports from external modules in ES bundles ([#659](https://github.com/rollup/rollup/issues/659))
870* Support `options.preferConst` to generate `const` declarations for exports rather than `var` declarations ([#653](https://github.com/rollup/rollup/issues/653))
871
872## 0.26.5
873
874* Preserve `debugger` statements ([#664](https://github.com/rollup/rollup/issues/664))
875* Allow `options.external` to be a function ([#522](https://github.com/rollup/rollup/issues/522))
876
877## 0.26.4
878
879* Prevent plugin-provided external IDs being normalised ([#630](https://github.com/rollup/rollup/issues/630), [#633](https://github.com/rollup/rollup/issues/633))
880* Throw if module exports/re-exports the same name twice, or has multiple default exports ([#679](https://github.com/rollup/rollup/issues/679))
881* Warn about `eval` security issue ([#675]((https://github.com/rollup/rollup/issues/675)))
882
883
884## 0.26.3
885
886* Ensure reference is not incorrectly marked as a reassignment ([#648](https://github.com/rollup/rollup/issues/648))
887
888## 0.26.2
889
890* Sanity check output of `load` hook ([#607](https://github.com/rollup/rollup/issues/607))
891* Correct scoping for ID class expressions ([#626](https://github.com/rollup/rollup/issues/626))
892* Warn if named and default exports are used together in auto mode ([#587](https://github.com/rollup/rollup/issues/587))
893* Allow variable initialisers to be rewritten if necessary ([#632](https://github.com/rollup/rollup/issues/632))
894* Prevent double `var` with no-treeshake option ([#639](https://github.com/rollup/rollup/pull/639))
895
896## 0.26.1
897
898* Add `treeshake: false`/`--no-treeshake` option for debugging ([#505](https://github.com/rollup/rollup/issues/505))
899* Update build process to use Bublé ([#620](https://github.com/rollup/rollup/pull/620))
900
901## 0.26.0
902
903* Add `noConflict`/`--no-conflict` option for UMD builds ([#580](https://github.com/rollup/rollup/pull/580))
904* Normalise relative external paths ([#591](https://github.com/rollup/rollup/pull/591))
905* Report files causing transform errors ([#609](https://github.com/rollup/rollup/pull/609))
906* Handle sourcemap segments with a single member ([#619](https://github.com/rollup/rollup/pull/619))
907* Update dependencies
908
909## 0.25.8
910
911* Unixize entry path ([#586](https://github.com/rollup/rollup/pull/586))
912
913## 0.25.7
914
915* Expand deshadowed shorthand properties ([#575](https://github.com/rollup/rollup/issues/575))
916* Allow external files to be non-existent ([#532](https://github.com/rollup/rollup/issues/532))
917
918## 0.25.6
919
920* Fix a regression introduced by #566 ([#569](https://github.com/rollup/rollup/issues/569))
921* Prune dead conditional expressions more carefully ([#567](https://github.com/rollup/rollup/issues/567))
922
923## 0.25.5
924
925* Make sure shorthand destructuring assignments don't break ([#528](https://github.com/rollup/rollup/issues/528))
926* Allow 'exports' key ([#542](https://github.com/rollup/rollup/issues/542))
927* Ensure `foo. bar` where `foo` is a namespace import is rewritten correctly ([#566](https://github.com/rollup/rollup/issues/566))
928* Fix an edge case for exported globals (e.g. `export { document }`) ([#562](https://github.com/rollup/rollup/issues/562))
929
930## 0.25.4
931
932* Fix misnamed exports of default imports in ES bundles ([#513](https://github.com/rollup/rollup/issues/513))
933* CLI: warn on missing config ([#515](https://github.com/rollup/rollup/pull/515))
934* Detect side-effects in non-top-level member expression assignment ([#476](https://github.com/rollup/rollup/issues/476))
935* Don't remove computed property class keys ([#504](https://github.com/rollup/rollup/issues/504))
936* Augment existing global object rather than replacing ([#493](https://github.com/rollup/rollup/issues/493))
937* Don't fail on `export {}`, warn instead ([#486](https://github.com/rollup/rollup/issues/486))
938
939## 0.25.3
940
941* Handle non-objects and `null` in `_interopDefault` ([#474](https://github.com/rollup/rollup/issues/474))
942
943## 0.25.2
944
945* Skip dead branches of a conditional expression (#[465](https://github.com/rollup/rollup/pull/465))
946* Allow globals to be exported ([#472](https://github.com/rollup/rollup/pull/472))
947* Ensure reassigned exports are exported ([#484](https://github.com/rollup/rollup/issues/484))
948
949## 0.25.1
950
951* Throw error if namespace is called ([#446](https://github.com/rollup/rollup/issues/446))
952* Prevent shadowing bug in ES6 output ([#441](https://github.com/rollup/rollup/pull/441))
953* Prevent `var exports.foo` ([#426](https://github.com/rollup/rollup/issues/426))
954* Prevent double export of aliased symbols ([#438](https://github.com/rollup/rollup/issues/438))
955* Provide more informative error if Rollup is used in-browser without appropriate `resolveId`/`load` hooks ([#275](https://github.com/rollup/rollup/issues/275))
956* Use `_interopDefault` function to DRY out code with many external dependencies, in CommonJS output ([#458](https://github.com/rollup/rollup/pull/458))
957
958## 0.25.0
959
960* **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))
961* Prevent overly aggressive tree-shaking with complex call expressions ([#440](https://github.com/rollup/rollup/issues/440))
962
963## 0.24.1
964
965* Handle calls to default exports other that are not function expressions or references to function declarations ([#421](https://github.com/rollup/rollup/issues/421))
966* Ensure namespace blocks are created for chained imports ([#430](https://github.com/rollup/rollup/issues/430))
967* Include references in computed property keys ([#434](https://github.com/rollup/rollup/issues/434))
968* Use CLI `--external` option correctly ([#417](https://github.com/rollup/rollup/pull/417))
969* Allow relative imports to be treated as external, if absolute paths are provided in `options.external` ([#410](https://github.com/rollup/rollup/issues/410))
970* Make IIFE output adhere to Crockford style ([#415](https://github.com/rollup/rollup/pull/415))
971
972## 0.24.0
973
974* No longer attempts to resolve IDs in `options.external` ([#407](https://github.com/rollup/rollup/issues/407))
975* Fix broken sourcemap resolution in cases where some modules are transformed and others aren't ([#404](https://github.com/rollup/rollup/issues/404))
976
977## 0.23.2
978
979* Ensure `dest` or `sourceMapFile` is resolved against CWD for purposes of sourcemap generation ([#344](https://github.com/rollup/rollup/issues/344))
980* Support `banner`, `footer`, `intro` and `outro` options via CLI ([#330](https://github.com/rollup/rollup/issues/330))
981* Allow `options.global` to be a function rather than an object, and warn on missing names ([#293](https://github.com/rollup/rollup/issues/293))
982* Ensure side-effects are captured in cyclical call expressions ([#397](https://github.com/rollup/rollup/issues/397))
983* Fix parse error with body-less arrow function expressions ([#403](https://github.com/rollup/rollup/issues/403))
984
985## 0.23.1
986
987* Reinstate missing fix from ([#392](https://github.com/rollup/rollup/pull/392))
988
989## 0.23.0
990
991* Add `bundleTransform` plugin hook and option ([#387](https://github.com/rollup/rollup/pull/387))
992* Correctly store names in sourcemaps, regardless of transformers
993* Add `--environment` option to CLI ([#388](https://github.com/rollup/rollup/pull/388))
994* Handle destructuring in exports ([#374](https://github.com/rollup/rollup/issues/374))
995* Fix UMD global exports bug introduced in 0.22.1 ([#392](https://github.com/rollup/rollup/pull/392))
996
997## 0.22.2
998
999* Prevent lost `var` keywords ([#390](https://github.com/rollup/rollup/issues/390))
1000
1001## 0.22.1
1002
1003* Update expected option keys ([#379](https://github.com/rollup/rollup/issues/379))
1004* Handle transformers that return stringified sourcemaps ([#377](https://github.com/rollup/rollup/issues/377))
1005* Automatically create missing namespaces if `moduleName` contains dots ([#378](https://github.com/rollup/rollup/issues/378))
1006* Ignore external dependency warnings coming from config file ([#333](https://github.com/rollup/rollup/issues/333))
1007* Update to latest magic-string for performance boost
1008
1009## 0.22.0
1010
1011* Duplicate warnings are squelched ([#362](https://github.com/rollup/rollup/issues/362))
1012* Plugins can manipulate or override the `options` object ([#371](https://github.com/rollup/rollup/pull/371))
1013
1014## 0.21.3
1015
1016* Validate option keys ([#348](https://github.com/rollup/rollup/pull/348))
1017* Allow namespaces imports to sit alongside named imports ([#355](https://github.com/rollup/rollup/issues/355))
1018* Count references inside destructured objects ([#364](https://github.com/rollup/rollup/issues/364))
1019* Preserve top-level `delete` statements ([#352](https://github.com/rollup/rollup/issues/352))
1020
1021## 0.21.2
1022
1023* Missing relative imports are an error, not a warning ([#321](https://github.com/rollup/rollup/issues/321))
1024* Fixed incorrectly renamed default exports in ES6 bundles ([#339](https://github.com/rollup/rollup/issues/339))
1025* Fixed infinite recursion bug ([#341](https://github.com/rollup/rollup/issues/341))
1026
1027## 0.21.1
1028
1029* Remove `aggressive: true` (was too aggressive) ([#309](https://github.com/rollup/rollup/pull/309))
1030* Handle top-level block statements ([#326](https://github.com/rollup/rollup/issues/326))
1031* Optimise namespaces with default exports ([#314](https://github.com/rollup/rollup/issues/314))
1032
1033## 0.21.0
1034
1035* 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))
1036* Exclude dead branches from analysis and inclusion ([#249](https://github.com/rollup/rollup/pull/249))
1037* Add `aggressive: true` option to eliminate all side-effects outside entry module
1038* More informative error when re-exporting non-existent binding ([#274](https://github.com/rollup/rollup/issues/274))
1039* Fix infinite recursion bug ([#291](https://github.com/rollup/rollup/issues/291))
1040* Log errors when using `rollup --config` ([#288](https://github.com/rollup/rollup/pull/288))
1041* Return rejected promises on startup instead of throwing error, if options are invalid ([#303](https://github.com/rollup/rollup/pull/303))
1042
1043## 0.20.5
1044
1045* Ensure re-exports don't create a local binding ([#270](https://github.com/rollup/rollup/pull/270))
1046
1047## 0.20.4
1048
1049* Check file exists at resolve time, to allow filenames with non-extension dots in them ([#250](https://github.com/rollup/rollup/pull/250))
1050* Import `Promise` where used, for Node 0.10 support ([#254](https://github.com/rollup/rollup/issues/254))
1051* Allow asynchronous transformer plugins ([#260](https://github.com/rollup/rollup/issues/260))
1052* Don't assume re-exported bindings are globals when deconflicting ([#267](https://github.com/rollup/rollup/issues/267))
1053
1054
1055## 0.20.3
1056
1057* Fix bug where multiple `export *` declarations caused error ([#244](https://github.com/rollup/rollup/pulls/244))
1058* Missing namespace exports are a warning, not an error ([#244](https://github.com/rollup/rollup/pulls/244))
1059* Plugins can provide `banner` and `footer` options (string, or function that returns a string) ([#235](https://github.com/rollup/rollup/issues/235))
1060* Warn on encountering `eval` ([#186](https://github.com/rollup/rollup/issues/186))
1061
1062## 0.20.2
1063
1064* Handle errors in build config file
1065* More robust deconflicting, in cases where e.g. `foo$1` already exists
1066* Use Rollup CLI for own build process
1067
1068## 0.20.1
1069
1070* Support `--config` file to enable plugins with CLI ([#226](https://github.com/rollup/rollup/pulls/226))
1071* Prevent `default` being used as variable name ([#215](https://github.com/rollup/rollup/issues/215))
1072* Update deps
1073
1074## 0.20.0
1075
1076* Support for [plugins](https://github.com/rollup/rollup/wiki/Plugins) ([#207](https://github.com/rollup/rollup/pulls/207))
1077* 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)
1078* 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`
1079
1080## 0.19.2
1081
1082* Fix exporting namespaces to include all of their exports ([#204](https://github.com/rollup/rollup/issues/204))
1083* 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))
1084* Fix `ReferenceError: Promise is not defined` in node v0.10 ([#189](https://github.com/rollup/rollup/issues/189))
1085
1086## 0.19.1
1087
1088* Fix `module.basename()` when used with custom `resolveId` function
1089* Use [rollup-babel](https://github.com/rollup/rollup-babel) to build self
1090* Exposed the version string through the API: `require( 'rollup' ).VERSION`
1091
1092## 0.19.0
1093
1094* **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
1095* `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))
1096* `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))
1097* New `intro` and `outro` options – similar to `banner` and `footer` except inserted *inside* any format-specific wrapper
1098* 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))
1099* More informative error when using a missing namespace property ([#169](https://github.com/rollup/rollup/pull/169))
1100* Update various dependencies
1101
1102## 0.18.5
1103
1104* Allow namespaces to be assigned to variables ([#168](https://github.com/rollup/rollup/issues/168))
1105* Promote `chalk` and `source-map-support` to `dependencies`, as they're used by the CLI ([#167](https://github.com/rollup/rollup/pull/167))
1106
1107## 0.18.4
1108
1109* Make external modules configurable (i.e. `external.config.foo = 'bar'`) without erroring
1110
1111## 0.18.3
1112
1113* Crop indent exclusion ranges to exclude enclosing quotes ([#166](https://github.com/rollup/rollup/issues/166))
1114
1115## 0.18.2
1116
1117* Include definitions of namespace members that are exported as defaults
1118
1119## 0.18.1
1120
1121* Include `acorn.parse` in bundle, remove `sander` from dependencies, simplify build
1122
1123## 0.18.0
1124
1125* Internal rewrite
1126* Reinstate statically-analysable namespace imports
1127* Avoid using getters in namespace blocks where possible ([#144](https://github.com/rollup/rollup/issues/144))
1128* Track variable aliases ([#96](https://github.com/rollup/rollup/issues/96))
1129* Prevent multiline strings being indented ([#164](https://github.com/rollup/rollup/issues/164))
1130
1131## 0.17.4
1132
1133* Allow imports from hidden directories (replay of [#133](https://github.com/rollup/rollup/issues/133))
1134
1135## 0.17.3
1136
1137* Handle parenthesised default exports ([#136](https://github.com/rollup/rollup/issues/136))
1138
1139## 0.17.2
1140
1141* Allow use of scoped npm packages ([#131](https://github.com/rollup/rollup/issues/131))
1142
1143## 0.17.1
1144
1145* Allow namespaces to be passed to a function ([#149](https://github.com/rollup/rollup/issues/149))
1146
1147## 0.17.0
1148
1149* Roll back to 0.15.0 and reapply subsequent fixes pending resolution of ([#132](https://github.com/rollup/rollup/issues/132)) and related issues
1150
1151## 0.16.4
1152
1153* Fix import paths with `.` ([#133](https://github.com/rollup/rollup/issues/133))
1154* Prevent sourceMappingURL confusion leading to broken sourcemap
1155* Add code coverage reporting [#130](https://github.com/rollup/rollup/pull/130))
1156* Add `modules` property to user-facing `bundle` – an array with `{id}` objects ([#128](https://github.com/rollup/rollup/issues/128))
1157
1158## 0.16.3
1159
1160* Prevent adjacent blocks of multiple var declarations causing magic-string failure ([#105](https://github.com/rollup/rollup/issues/105))
1161
1162## 0.16.2
1163
1164* Top-level function calls and assignments to globals are treated as side-effects, and always included
1165* Import files from subdirectories of external packages, e.g. `import mod from 'foo/sub/mod'` ([#126](https://github.com/rollup/rollup/issues/126))
1166
1167## 0.16.1
1168
1169* Handle assignment patterns, and destructured/rest parameters, when analysing scopes
1170* Fix bug preventing project from self-building (make base `Identifier` class markable)
1171
1172## 0.16.0
1173
1174* Internal refactoring ([#99](https://github.com/rollup/rollup/pull/99))
1175* Optimisation for statically-analysable namespace imports ([#99](https://github.com/rollup/rollup/pull/99))
1176* Windows support (theoretically!) ([#117](https://github.com/rollup/rollup/pull/117) / [#119](https://github.com/rollup/rollup/pull/119))
1177
1178## 0.15.0
1179
1180* 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))
1181* Only rewrite `foo` as `exports.foo` when it makes sense to ([#92](https://github.com/rollup/rollup/issues/92))
1182* Fix bug with shadowed variables that are eventually exported ([#91](https://github.com/rollup/rollup/issues/91))
1183* Exclude unused function declarations that happen to modify a used name ([#90](https://github.com/rollup/rollup/pull/90))
1184* Simplify internal `Scope` model – scopes always attach to blocks, never function expressions/declarations
1185
1186## 0.14.1
1187
1188* `export { name } from './other'` does not create a local binding ([#16](https://github.com/rollup/rollup/issues/16))
1189* A single binding can be exported under multiple names ([#18](https://github.com/rollup/rollup/issues/18))
1190* `useStrict` option exposed to CLI as `--strict`/`--no-strict` ([#81](https://github.com/rollup/rollup/issues/81))
1191* Neater exports from ES6 bundles
1192
1193## 0.14.0
1194
1195* Internal refactoring
1196* Correctly deconflict generated default export names ([#72](https://github.com/rollup/rollup/issues/72))
1197* Handle `export { x } from 'y'` declarations ([#74](https://github.com/rollup/rollup/issues/74))
1198* Dedupe named imports from external modules in ES6 bundles ([#77](https://github.com/rollup/rollup/issues/77))
1199
1200## 0.13.0
1201
1202* Support `banner` and `footer` options ([#66](https://github.com/rollup/rollup/pull/66))
1203* Remove pre-existing sourcemap comments ([#66](https://github.com/rollup/rollup/pull/66))
1204* Deconflict external imports ([#66](https://github.com/rollup/rollup/pull/66))
1205* Use existing AST, if provided ([#66](https://github.com/rollup/rollup/pull/66))
1206* Rename internal namespace exports as appropriate ([#66](https://github.com/rollup/rollup/pull/66))
1207* Remove uninitialised var declarations that get exported ([#66](https://github.com/rollup/rollup/pull/66))
1208* Rename variables named `exports` to avoid conflicts ([#66](https://github.com/rollup/rollup/pull/66))
1209
1210## 0.12.1
1211
1212* Don't attempt to mark statements belonging to external modules ([#68](https://github.com/rollup/rollup/issues/68))
1213* Correctly deshadow variables that conflict with imports ([#68](https://github.com/rollup/rollup/issues/68))
1214
1215## 0.12.0
1216
1217* Internal re-architecting, resulting in more efficient bundling with reduced memory usage
1218* Shorthand properties are expanded if necessary ([#61](https://github.com/rollup/rollup/issues/61))
1219* Fixed various bugs with bundle external dependencies, particularly when generating ES6 bundles ([#59](https://github.com/rollup/rollup/issues/59))
1220* Add `--globals` option to CLI ([#60](https://github.com/rollup/rollup/pull/60))
1221* Allow imports of external modules for side-effects ([#55](https://github.com/rollup/rollup/pull/55))
1222* Prevent Rollup hanging on non-existent external module ([#54](https://github.com/rollup/rollup/pull/54))
1223
1224## 0.11.4
1225
1226* Side-effect preservation applies to internal default exports ([#43](https://github.com/rollup/rollup/issues/43))
1227
1228## 0.11.3
1229
1230* Class methods are not incorrectly renamed ([#42](https://github.com/rollup/rollup/issues/42))
1231* External modules are assigned names before canonical names are determined ([#42](https://github.com/rollup/rollup/issues/42))
1232
1233## 0.11.2
1234
1235* Correctly handle computed properties (e.g. `foo[bar]`) when discovering dependencies ([#47](https://github.com/rollup/rollup/pull/47))
1236
1237## 0.11.1
1238
1239* Support for `export * from '..'` ([#46](https://github.com/rollup/rollup/pull/46))
1240
1241## 0.11.0
1242
1243* Experimental browser-friendly build (`dist/rollup.browser.js`) ([#25](https://github.com/rollup/rollup/issues/25))
1244* Internal re-architecting to make discovery process simpler and more performant
1245* Preservation of side-effects that happen in a separate module to the affected definition ([#39](https://github.com/rollup/rollup/issues/39))
1246
1247## 0.10.0
1248
1249* Better sorting algorithm – sorting happens at the module level, rather than the statement level. This avoids certain edge cases
1250* IIFEs are ignored for the purposes of distinguishing between 'strong' and 'weak' dependencies
1251* Empty `var` declarations for exported bindings are omitted
1252
1253## 0.9.1
1254
1255* Much faster statement insertion (fixes major 0.9.0 performance regression)
1256
1257## 0.9.0
1258
1259* 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))
1260* A statement cannot appear after later statements from the same bundle ([#34](https://github.com/rollup/rollup/issues/34))
1261* Tricky cyclical dependencies are handled ([#36](https://github.com/rollup/rollup/issues/36))
1262* `sourcemap` option is used by CLI (was omitted previously)
1263
1264## 0.8.3
1265
1266* Correctly rename functions that have arguments with the same name ([#32](https://github.com/rollup/rollup/issues/32))
1267* Ensure unused default exports are given a legal name ([#33](https://github.com/rollup/rollup/issues/33))
1268
1269## 0.8.2
1270
1271* Support `moduleId` and `moduleName` via CLI ([#24](https://github.com/rollup/rollup/issues/24))
1272
1273## 0.8.1
1274
1275* 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))
1276* Automatically-generated default export names are deconflicted with local definitions ([#29](https://github.com/rollup/rollup/issues/29))
1277
1278## 0.8.0
1279
1280* 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))
1281* `this` at the top level is `undefined` ([#28](https://github.com/rollup/rollup/issues/28))
1282
1283## 0.7.8
1284
1285* Avoid using `path.parse` - unsupported in node 0.10
1286
1287## 0.7.7
1288
1289* Promise `source-map-support` from `devDependencies` to `dependencies` ([#23](https://github.com/rollup/rollup/issues/23))
1290
1291## 0.7.6
1292
1293* Better placement of `export default` statements ([#21](https://github.com/rollup/rollup/issues/21))
1294* Prevent function calls and property assignments from being treated as rebinding for sake of unbound default exports
1295* Add `--external foo,bar,baz` option to CLI (equivalent to `external: ['foo', 'bar', 'baz']`)
1296* Add CLI tests
1297
1298## 0.7.5
1299
1300* Prevent accidental conflicts with the global namespace ([#20](https://github.com/rollup/rollup/issues/20))
1301
1302## 0.7.4
1303
1304* More precise statement re-ordering to satisfy `export default` constraint (fixes bug introduced in 0.7.3)
1305
1306## 0.7.3
1307
1308* 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))
1309* Better positioning of comments ([#14](https://github.com/rollup/rollup/issues/14))
1310* Various fixes to get Travis-CI rigged up
1311
1312## 0.7.2
1313
1314* Fix sourcemap paths on Windows ([#6](https://github.com/rollup/rollup/pull/6))
1315
1316## 0.7.1
1317
1318* Named functions can be used as default exports from a bundle
1319* Method calls are assumed to mutate the owner (i.e. `foo.bar()` mutates `foo`) ([#13](https://github.com/rollup/rollup/issues/13))
1320* `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))
1321
1322## 0.7.0
1323
1324* Ensure statements are always separated by a newline ([#9](https://github.com/rollup/rollup/pull/9))
1325* Use CommonJS `exports` correctly (UMD exports)
1326* Throw error if `moduleName` is required but missing (UMD exports)
1327* Attach IIFE global to `this` rather than `window`
1328* Allow names inside bundle to the the names of `Object.prototype` properties ([#12](https://github.com/rollup/rollup/pull/12))
1329* Keep exports live ([#11](https://github.com/rollup/rollup/pull/11))
1330
1331## 0.6.5
1332
1333* Add sourceMappingURL comment to code, as appropriate
1334* Higher resolution sourcemaps
1335
1336## 0.6.4
1337
1338* Fix CJS bundling with default export
1339
1340## 0.6.3
1341
1342* Fix exports and external module imports with some output formats
1343* Fix endless cycle bug on Windows ([#3](https://github.com/rollup/rollup/pull/3)) - thanks @Bobris
1344
1345## 0.6.2
1346
1347* Permit assignments to properties of imported bindings
1348
1349## 0.6.1
1350
1351* Support for basic transformers
1352
1353## 0.6.0
1354
1355* BREAKING - `rollup.rollup` and `bundle.write` both take a single options argument
1356* BREAKING - external modules must be declared upfront with `options.external: [...]`
1357* 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
1358* Fix sourcemap options
1359* Include CLI files in npm package (duh)
1360
1361## 0.5.0
1362
1363* Command line interface
1364* Sourcemap generation
1365* Correct behaviour with `export { x as y } from 'z'`
1366
1367## 0.4.1
1368
1369* More import name deconflicting
1370
1371## 0.4.0
1372
1373* Self-hosting! `rollup.rollup` now rolls up rollup
1374* Fix bug with comments inside a statement later being appended to it
1375* Prevent shadowing of external modules
1376* Rewrite computed property identifiers where necessary
1377* Preserve original statement order where possible
1378* Internal refactoring
1379
1380## 0.3.1
1381
1382* Saner deconflicting
1383* Rename namespace imports from external modules correctly
1384
1385## 0.3.0
1386
1387* Basic functionality present, mostly spec-compliant
1388
1389## 0.2.1
1390
1391* Include dist files in npm package (duh)
1392
1393## 0.2.0
1394
1395* First release capable of doing anything useful
1396* Still lots of basic functionality missing
1397
1398## 0.1.0
1399
1400* Initial experiment