UNPKG

39.3 kBMarkdownView Raw
1<a name="10.9.0"></a>
2# [10.9.0](https://github.com/staltz/xstream/compare/v10.8.0...v10.9.0) (2017-07-13)
3
4
5### Features
6
7* **compose:** support any return value for compose method ([330aaba](https://github.com/staltz/xstream/commit/330aaba))
8
9
10
11<a name="10.8.0"></a>
12# [10.8.0](https://github.com/staltz/xstream/compare/v10.7.0...v10.8.0) (2017-05-12)
13
14
15### Bug Fixes
16
17* **buffer:** fix semantics of buffer when source completes ([3063ae9](https://github.com/staltz/xstream/commit/3063ae9))
18
19
20### Features
21
22* **extra:** buffer operator that splits input stream into arrays by separator stream ([6df1974](https://github.com/staltz/xstream/commit/6df1974))
23
24
25
26<a name="10.7.0"></a>
27# [10.7.0](https://github.com/staltz/xstream/compare/v10.6.0...v10.7.0) (2017-05-02)
28
29
30
31<a name="10.6.0"></a>
32# [10.6.0](https://github.com/staltz/xstream/compare/v10.5.0...v10.6.0) (2017-04-27)
33
34
35### Features
36
37* **fromPromise:** widen support for promise types ([12da02d](https://github.com/staltz/xstream/commit/12da02d))
38
39
40
41<a name="10.5.0"></a>
42# [10.5.0](https://github.com/staltz/xstream/compare/v10.4.0...v10.5.0) (2017-04-07)
43
44
45### Features
46
47* **src:** move to [@types](https://github.com/types) declaration files ([ff2c637](https://github.com/staltz/xstream/commit/ff2c637)), closes [#176](https://github.com/staltz/xstream/issues/176)
48
49
50
51<a name="10.4.0"></a>
52# [10.4.0](https://github.com/staltz/xstream/compare/v10.3.0...v10.4.0) (2017-04-03)
53
54
55### Bug Fixes
56
57* **map:** remove operator fusion to avoid bugs ([f16e6a9](https://github.com/staltz/xstream/commit/f16e6a9))
58
59
60
61<a name="10.3.0"></a>
62# [10.3.0](https://github.com/staltz/xstream/compare/v10.2.0...v10.3.0) (2017-03-03)
63
64
65### Bug Fixes
66
67* **combine:** do array cloning to avoid several bugs ([e8b2eef](https://github.com/staltz/xstream/commit/e8b2eef))
68
69
70### Performance Improvements
71
72* **dist:** use Google Closure Compiler instead of uglify-js ([ed6f793](https://github.com/staltz/xstream/commit/ed6f793))
73
74
75
76<a name="10.2.0"></a>
77# [10.2.0](https://github.com/staltz/xstream/compare/v10.1.0...v10.2.0) (2017-02-03)
78
79
80### Performance Improvements
81
82* **fromObservable:** avoid converting from xs stream to xs stream ([04031c6](https://github.com/staltz/xstream/commit/04031c6))
83* **index:** drop curly braces wherever possible ([26d0299](https://github.com/staltz/xstream/commit/26d0299))
84* **Stream:** speed up Stream next, error, complete handlers ([b32ffe3](https://github.com/staltz/xstream/commit/b32ffe3))
85
86
87
88<a name="10.1.0"></a>
89# [10.1.0](https://github.com/staltz/xstream/compare/v9.3.0...v10.1.0) (2017-01-31)
90
91
92### Bug Fixes
93
94* **flatten:** fix type inference hinting ([df6d720](https://github.com/staltz/xstream/commit/df6d720))
95
96
97
98<a name="9.3.0"></a>
99# [9.3.0](https://github.com/staltz/xstream/compare/v10.0.0...v9.3.0) (2016-12-22)
100
101
102### Bug Fixes
103
104* **take:** terminate stream emission when TakeOperator recursively call itself ([3581857](https://github.com/staltz/xstream/commit/3581857))
105
106
107### Performance Improvements
108
109* update benchmarks ([b12065d](https://github.com/staltz/xstream/commit/b12065d))
110* **core:** improve performance by encapsulating try/catch ([31fab06](https://github.com/staltz/xstream/commit/31fab06))
111* **core:** merge together core.ts and index.ts ([a03e418](https://github.com/staltz/xstream/commit/a03e418))
112
113
114
115<a name="10.0.0"></a>
116# [10.0.0](https://github.com/staltz/xstream/compare/v9.1.0...v10.0.0) (2016-12-21)
117
118
119### Bug Fixes
120
121* **src:** usage of TypeScript v2.1 is a breaking change ([c69327e](https://github.com/staltz/xstream/commit/c69327e))
122
123
124### BREAKING CHANGES
125
126* **src:** This version of xstream can only be used with TypeScript v2.1 or higher.
127
128
129
130<a name="9.1.0"></a>
131# [9.1.0](https://github.com/staltz/xstream/compare/v9.0.0...v9.1.0) (2016-12-12)
132
133
134### Bug Fixes
135
136* **fromObservable:** support synchronous unsubscribe on completion ([e82b8da](https://github.com/staltz/xstream/commit/e82b8da))
137* **src:** update to TypeScript 2.1 ([b3a0cf6](https://github.com/staltz/xstream/commit/b3a0cf6))
138
139
140
141<a name="9.0.0"></a>
142# [9.0.0](https://github.com/staltz/xstream/compare/v8.0.0...v9.0.0) (2016-11-28)
143
144
145### Bug Fixes
146
147* **flattenSequentially:** stop execution of interrupted inner streams ([b8d6995](https://github.com/staltz/xstream/commit/b8d6995))
148* **stream:** throw error when there are no error listeners ([e512c3e](https://github.com/staltz/xstream/commit/e512c3e)), closes [#121](https://github.com/staltz/xstream/issues/121)
149
150
151### BREAKING CHANGES
152
153* **flattenSequentially:** ![maybe won't](https://img.shields.io/badge/will%20it%20affect%20me%3F-maybe%20won't-yellowgreen.svg)
154This is likely a breaking change for people using flattenSequentially,
155specially given that xstream core was fixed so that errors are not swallowed.
156Most flattenSequentially code should still work, but upgrade carefully anyway.
157* **stream:** ![maybe
158will](https://img.shields.io/badge/will%20it%20affect%20me%3F-maybe%20will-yellow.svg)
159This changes the behavior of most xstream code because errors are no
160longer swallowed. When you update xstream to this version, you may
161experience new errors thrown that you haven't seen before. Upgrade
162carefully, keeping in mind that these thrown errors were always there,
163but only now are surfaced.
164
165
166
167<a name="8.0.0"></a>
168# [8.0.0](https://github.com/staltz/xstream/compare/v7.0.0...v8.0.0) (2016-11-17)
169
170
171### Bug Fixes
172
173* **flattenSequentially:** fix behaviour of outer stream completion ([fd31d49](https://github.com/staltz/xstream/commit/fd31d49))
174
175
176### BREAKING CHANGES
177
178* **flattenSequentially:** If your code was relying on buggy behavior, you may need to migrate carefully. Check your usages of
179flattenSequentially and how the outer stream completes.
180![maybe
181won't](https://img.shields.io/badge/will%20it%20affect%20me%3F-maybe%20won't-yellowgreen.svg)
182
183ISSUES CLOSED: #141.
184
185
186
187<a name="7.0.0"></a>
188# [7.0.0](https://github.com/staltz/xstream/compare/v6.6.0...v7.0.0) (2016-10-24)
189
190
191### Bug Fixes
192
193* **map:** remove map+map fusion optimization ([1ca6a5c](https://github.com/staltz/xstream/commit/1ca6a5c)), closes [#98](https://github.com/staltz/xstream/issues/98) [#108](https://github.com/staltz/xstream/issues/108) [#93](https://github.com/staltz/xstream/issues/93)
194* **MemoryStream:** fix a leaking execution bug ([47e67ff](https://github.com/staltz/xstream/commit/47e67ff)), closes [#53](https://github.com/staltz/xstream/issues/53)
195
196
197### BREAKING CHANGES
198
199* **map:** This change will remove map+map fusions. Your application code may or
200may not rely on the bugs that map+map fusion caused, so we advise to
201update carefully, testing your application code as you go. Generally
202this is very straightforward and safe to update, as there are no visible
203API changes.
204* **MemoryStream:** This is generally safe to update, but note that the behavior around
205MemoryStream, startWith, take, imitate etc may have slightly changed, so
206it is recommended to run tests on your application and see if it is
207working, in case your application code was relying on buggy behavior.
208
209
210
211<a name="6.6.0"></a>
212# [6.6.0](https://github.com/staltz/xstream/compare/v6.5.0...v6.6.0) (2016-10-19)
213
214
215### Features
216
217* **Stream:** accept partially defined listeners ([e9d005d](https://github.com/staltz/xstream/commit/e9d005d))
218
219
220
221<a name="6.5.0"></a>
222# [6.5.0](https://github.com/staltz/xstream/compare/v6.4.1...v6.5.0) (2016-10-17)
223
224
225### Bug Fixes
226
227* **delay,dropRepeats,dropUnti,split:** improve TypeScript typings with better inference ([c96ff10](https://github.com/staltz/xstream/commit/c96ff10))
228
229
230### Features
231
232* **throttle:** add throttle extra operator ([8b5c211](https://github.com/staltz/xstream/commit/8b5c211))
233
234
235
236<a name="6.4.1"></a>
237## [6.4.1](https://github.com/staltz/xstream/compare/v6.4.0...v6.4.1) (2016-09-28)
238
239
240### Bug Fixes
241
242* **debounce:** improve TypeScript typings with better inference ([7bbba73](https://github.com/staltz/xstream/commit/7bbba73))
243
244
245
246<a name="6.4.0"></a>
247# [6.4.0](https://github.com/staltz/xstream/compare/v6.3.2...v6.4.0) (2016-09-25)
248
249
250### Bug Fixes
251
252* **combine:** increase variadic type count to 10 ([b4fb52d](https://github.com/staltz/xstream/commit/b4fb52d))
253* **combine:** tiny fixes and perf improvements ([9090b59](https://github.com/staltz/xstream/commit/9090b59))
254* **merge:** correct typo in MergeSignature ([7a7cd64](https://github.com/staltz/xstream/commit/7a7cd64))
255* **sampleCombine:** change API to fit compose() usage ([38782d8](https://github.com/staltz/xstream/commit/38782d8))
256* **sampleCombine:** do not sample until all streams have emitted ([9882e89](https://github.com/staltz/xstream/commit/9882e89))
257
258
259### Features
260
261* **sampleCombine:** add sampleCombine extra ([d3aceed](https://github.com/staltz/xstream/commit/d3aceed)), closes [staltz/xstream#102](https://github.com/staltz/xstream/issues/102)
262
263
264
265<a name="6.3.2"></a>
266## [6.3.2](https://github.com/staltz/xstream/compare/v6.3.1...v6.3.2) (2016-09-21)
267
268
269### Bug Fixes
270
271* **pairwise:** support use of pairwise in synchronous recursive situations ([530dc25](https://github.com/staltz/xstream/commit/530dc25))
272
273
274
275<a name="6.3.1"></a>
276## [6.3.1](https://github.com/staltz/xstream/compare/v6.3.0...v6.3.1) (2016-09-20)
277
278
279### Bug Fixes
280
281* **merge:** increase variadic type count to max 10 ([2909a78](https://github.com/staltz/xstream/commit/2909a78))
282
283
284
285<a name="6.3.0"></a>
286# [6.3.0](https://github.com/staltz/xstream/compare/v6.2.0...v6.3.0) (2016-09-15)
287
288
289### Bug Fixes
290
291* **core:** fix observable producer ([0229338](https://github.com/staltz/xstream/commit/0229338))
292* **src:** create Observable type for fromInput; export from index ([42984ac](https://github.com/staltz/xstream/commit/42984ac))
293
294
295### Features
296
297* **core:** implement basic Observable interop. ([8fe7069](https://github.com/staltz/xstream/commit/8fe7069))
298
299
300
301<a name="6.2.0"></a>
302# [6.2.0](https://github.com/staltz/xstream/compare/v6.1.0...v6.2.0) (2016-08-29)
303
304
305### Features
306
307* **filter:** support type guard predicates ([34e529a](https://github.com/staltz/xstream/commit/34e529a))
308
309
310
311<a name="6.1.0"></a>
312# [6.1.0](https://github.com/staltz/xstream/compare/v6.0.0...v6.1.0) (2016-08-22)
313
314
315### Features
316
317* **Stream:** add new method setDebugListener on streams ([d0ee240](https://github.com/staltz/xstream/commit/d0ee240))
318
319
320
321<a name="6.0.0"></a>
322# [6.0.0](https://github.com/staltz/xstream/compare/v5.3.6...v6.0.0) (2016-08-20)
323
324
325### Bug Fixes
326
327* **core:** teardown and stop producer before complete/error ([ec8d6e8](https://github.com/staltz/xstream/commit/ec8d6e8)), closes [#91](https://github.com/staltz/xstream/issues/91)
328
329
330### BREAKING CHANGES
331
332* **core:** in this version, when a stream completes or errors, its producer has already been
333stopped. In previous versions, the stream first completes, propagates the complete to other
334listeners and operators, and then its producer is stopped. You may barely notice this breaking
335change when updating your code. Most existing code will still work like before.
336
337
338
339<a name="5.3.6"></a>
340## [5.3.6](https://github.com/staltz/xstream/compare/v5.3.5...v5.3.6) (2016-08-17)
341
342
343### Bug Fixes
344
345* **dropRepeats:** fix usage with xs.combine ([4b3d65c](https://github.com/staltz/xstream/commit/4b3d65c)), closes [#105](https://github.com/staltz/xstream/issues/105)
346
347
348
349<a name="5.3.5"></a>
350## [5.3.5](https://github.com/staltz/xstream/compare/v5.3.4...v5.3.5) (2016-08-17)
351
352
353### Bug Fixes
354
355* **take:** fix behavior for take(0) ([d965294](https://github.com/staltz/xstream/commit/d965294)), closes [#107](https://github.com/staltz/xstream/issues/107)
356
357
358
359<a name="5.3.4"></a>
360## [5.3.4](https://github.com/staltz/xstream/compare/v5.3.3...v5.3.4) (2016-08-15)
361
362
363### Bug Fixes
364
365* **flatten:** do not restart inner stream if equals the previous inner ([9973eca](https://github.com/staltz/xstream/commit/9973eca)), closes [#103](https://github.com/staltz/xstream/issues/103) [#103](https://github.com/staltz/xstream/issues/103)
366
367
368
369<a name="5.3.3"></a>
370## [5.3.3](https://github.com/staltz/xstream/compare/v5.3.2...v5.3.3) (2016-08-15)
371
372
373### Bug Fixes
374
375* **dropRepeats:** handle circular dependencies ([38052da](https://github.com/staltz/xstream/commit/38052da))
376
377
378
379<a name="5.3.2"></a>
380## [5.3.2](https://github.com/staltz/xstream/compare/v5.3.1...v5.3.2) (2016-07-23)
381
382
383### Bug Fixes
384
385* **flatten:** when same inner stream, restart ([819bc94](https://github.com/staltz/xstream/commit/819bc94)), closes [#90](https://github.com/staltz/xstream/issues/90)
386
387
388
389<a name="5.3.1"></a>
390## [5.3.1](https://github.com/staltz/xstream/compare/v5.3.0...v5.3.1) (2016-07-22)
391
392
393### Bug Fixes
394
395* **debug:** support usage with no argument given ([6cefc81](https://github.com/staltz/xstream/commit/6cefc81)), closes [#87](https://github.com/staltz/xstream/issues/87)
396
397
398
399<a name="5.3.0"></a>
400# [5.3.0](https://github.com/staltz/xstream/compare/v5.2.4...v5.3.0) (2016-07-22)
401
402
403### Features
404
405* **fromEvent:** Aggregate multiple arguments ([714dd01](https://github.com/staltz/xstream/commit/714dd01)), closes [staltz/xstream#84](https://github.com/staltz/xstream/issues/84) [#89](https://github.com/staltz/xstream/issues/89)
406
407
408
409<a name="5.2.4"></a>
410## [5.2.4](https://github.com/staltz/xstream/compare/v5.2.3...v5.2.4) (2016-07-20)
411
412
413### Bug Fixes
414
415* **filter:** consecutive filtering respects original order ([fdbd00a](https://github.com/staltz/xstream/commit/fdbd00a)), closes [#85](https://github.com/staltz/xstream/issues/85)
416
417
418
419<a name="5.2.3"></a>
420## [5.2.3](https://github.com/staltz/xstream/compare/v5.2.2...v5.2.3) (2016-07-20)
421
422
423### Bug Fixes
424
425* **merge:** support union types ([5327cb0](https://github.com/staltz/xstream/commit/5327cb0)), closes [staltz/xstream#80](https://github.com/staltz/xstream/issues/80)
426
427
428
429<a name="5.2.2"></a>
430## [5.2.2](https://github.com/staltz/xstream/compare/v5.2.1...v5.2.2) (2016-07-19)
431
432
433### Bug Fixes
434
435* **remember:** bypass on MemoryStream ([34b8ddc](https://github.com/staltz/xstream/commit/34b8ddc))
436
437
438
439<a name="5.2.1"></a>
440## [5.2.1](https://github.com/staltz/xstream/compare/v5.2.0...v5.2.1) (2016-07-12)
441
442
443### Bug Fixes
444
445* **merge:** fix completion and disposal ([5bbcade](https://github.com/staltz/xstream/commit/5bbcade))
446* **operators:** improve resistence against disposal bugs ([ff36fbd](https://github.com/staltz/xstream/commit/ff36fbd))
447
448
449
450<a name="5.2.0"></a>
451# [5.2.0](https://github.com/staltz/xstream/compare/v5.1.4...v5.2.0) (2016-07-11)
452
453
454### Features
455
456* **fromEvent:** support NodeJS Event Emitters ([c203801](https://github.com/staltz/xstream/commit/c203801))
457
458
459
460<a name="5.1.4"></a>
461## [5.1.4](https://github.com/staltz/xstream/compare/v5.1.3...v5.1.4) (2016-07-08)
462
463
464### Bug Fixes
465
466* **MemoryStream:** fix teardown of MemoryStream to forget past executions ([6bdf596](https://github.com/staltz/xstream/commit/6bdf596)), closes [#71](https://github.com/staltz/xstream/issues/71)
467
468
469
470<a name="5.1.3"></a>
471## [5.1.3](https://github.com/staltz/xstream/compare/v5.1.2...v5.1.3) (2016-07-06)
472
473
474### Bug Fixes
475
476* **remember:** remembers also explicitly sent events ([1cdef65](https://github.com/staltz/xstream/commit/1cdef65)), closes [#69](https://github.com/staltz/xstream/issues/69)
477
478
479
480<a name="5.1.2"></a>
481## [5.1.2](https://github.com/staltz/xstream/compare/v5.1.1...v5.1.2) (2016-07-06)
482
483
484### Bug Fixes
485
486* **flatten:** fix broken flatten on empty outer ([8172ffe](https://github.com/staltz/xstream/commit/8172ffe))
487
488
489
490<a name="5.1.1"></a>
491## [5.1.1](https://github.com/staltz/xstream/compare/v5.1.0...v5.1.1) (2016-07-05)
492
493
494### Bug Fixes
495
496* **flatten:** fix automatic removal of inner listeners ([1c6ed5c](https://github.com/staltz/xstream/commit/1c6ed5c)), closes [#68](https://github.com/staltz/xstream/issues/68)
497* **fromDiagram:** fix support for falsey values ([85c9ca7](https://github.com/staltz/xstream/commit/85c9ca7))
498* **imitate:** fix issue [#66](https://github.com/staltz/xstream/issues/66) with imitate() ([7aa3a04](https://github.com/staltz/xstream/commit/7aa3a04))
499
500
501
502<a name="5.1.0"></a>
503# [5.1.0](https://github.com/staltz/xstream/compare/v5.0.6...v5.1.0) (2016-07-01)
504
505
506### Features
507
508* **extra:** add new extra factory tween() ([9ee12a7](https://github.com/staltz/xstream/commit/9ee12a7))
509
510
511
512<a name="5.0.6"></a>
513## [5.0.6](https://github.com/staltz/xstream/compare/v5.0.5...v5.0.6) (2016-06-17)
514
515
516### Bug Fixes
517
518* **imitate:** fix stack overflow when pruning cycles ([02b0327](https://github.com/staltz/xstream/commit/02b0327))
519
520
521
522<a name="5.0.5"></a>
523## [5.0.5](https://github.com/staltz/xstream/compare/v5.0.4...v5.0.5) (2016-06-14)
524
525
526### Bug Fixes
527
528* **imitate:** fix against cyclic propagation of errors ([1aa0549](https://github.com/staltz/xstream/commit/1aa0549))
529
530
531
532<a name="5.0.4"></a>
533## [5.0.4](https://github.com/staltz/xstream/compare/v5.0.3...v5.0.4) (2016-06-14)
534
535
536### Bug Fixes
537
538* **imitate:** fix cyclic execution leaks ([8658aa0](https://github.com/staltz/xstream/commit/8658aa0)), closes [#51](https://github.com/staltz/xstream/issues/51)
539
540
541
542<a name="5.0.3"></a>
543## [5.0.3](https://github.com/staltz/xstream/compare/v5.0.2...v5.0.3) (2016-06-13)
544
545
546### Bug Fixes
547
548* **imitate:** fix imitate() isomorphism ([d9970cc](https://github.com/staltz/xstream/commit/d9970cc))
549
550
551### Performance Improvements
552
553* **dataflow:** add dataflow perf benchmark ([9b8730a](https://github.com/staltz/xstream/commit/9b8730a))
554
555
556
557<a name="5.0.2"></a>
558## [5.0.2](https://github.com/staltz/xstream/compare/v4.0.4...v5.0.2) (2016-06-12)
559
560
561### Bug Fixes
562
563* **imitate:** fix cyclic execution leak, and refactor ([8a432b6](https://github.com/staltz/xstream/commit/8a432b6)), closes [#51](https://github.com/staltz/xstream/issues/51) [#49](https://github.com/staltz/xstream/issues/49)
564* **take:** remove redundant stop() call ([625fb3e](https://github.com/staltz/xstream/commit/625fb3e))
565
566
567### Features
568
569* **combine:** change API for combine() operator ([a2aa0a6](https://github.com/staltz/xstream/commit/a2aa0a6))
570* **imitate:** move imitate() from MimicStream to Stream ([ad63372](https://github.com/staltz/xstream/commit/ad63372))
571
572
573### BREAKING CHANGES
574
575* **combine:** combine() now takes only streams as argument, no more project function. combine() will return an
576stream that emits arrays of the collected values from each input stream. To transform that array,
577you should now use map() operator after combine(), to take the array of collected values and return
578a combination value. See tests for examples.
579* **imitate:** MimicStream and xs.createMimic() were removed entirely. The imitate() method now exists on every
580Stream instance. To use the proxy stream technique, use xs.create() to create the proxy, then call
581proxy.imitate(other).
582
583
584
585<a name="4.0.4"></a>
586## [4.0.4](https://github.com/staltz/xstream/compare/v4.0.3...v4.0.4) (2016-06-09)
587
588
589
590<a name="4.0.3"></a>
591## [4.0.3](https://github.com/staltz/xstream/compare/v4.0.2...v4.0.3) (2016-06-08)
592
593
594### Bug Fixes
595
596* **remember:** fix remember() on producer-less streams ([cbe806d](https://github.com/staltz/xstream/commit/cbe806d))
597
598
599
600<a name="4.0.2"></a>
601## [4.0.2](https://github.com/staltz/xstream/compare/v4.0.1...v4.0.2) (2016-06-08)
602
603
604### Bug Fixes
605
606* **Stream:** fix small issue with private Stream members ([61b5c12](https://github.com/staltz/xstream/commit/61b5c12))
607
608
609
610<a name="4.0.1"></a>
611## [4.0.1](https://github.com/staltz/xstream/compare/v4.0.0...v4.0.1) (2016-06-03)
612
613
614### Bug Fixes
615
616* **compose:** improve compose type signature ([38b1064](https://github.com/staltz/xstream/commit/38b1064))
617
618
619
620<a name="4.0.0"></a>
621# [4.0.0](https://github.com/staltz/xstream/compare/v3.0.0...v4.0.0) (2016-06-03)
622
623
624### Bug Fixes
625
626* **core:** remove instance combine() and merge() ([00fc72c](https://github.com/staltz/xstream/commit/00fc72c))
627
628
629### Features
630
631* **core:** improve signature of operators regarding types ([#43](https://github.com/staltz/xstream/issues/43)) ([116e9f2](https://github.com/staltz/xstream/commit/116e9f2))
632
633
634### BREAKING CHANGES
635
636* **core:** Instance operators stream.combine() and stream.merge() removed. Use
637xs.combine() and xs.merge() instead.
638* **core:** debug() now returns a MemoryStream if the input was also a MemoryStream.
639endWhen() now returns a MemoryStream if the input was also a MemoryStream.
640fold() now returns always a MemoryStream, not Stream.
641imitate() only works on conventional Stream, will throw error on
642MemoryStream.
643map() now returns a MemoryStream if the input was also a MemoryStream.
644mapTo() now returns a MemoryStream if the input was also a MemoryStream.
645replaceError() now returns a MemoryStream if the input was also a MemoryStream.
646startWith() now returns always a MemoryStream, not Stream.
647take() now returns a MemoryStream if the input was also a MemoryStream.
648
649
650
651<a name="3.0.0"></a>
652# [3.0.0](https://github.com/staltz/xstream/compare/v2.6.2...v3.0.0) (2016-06-02)
653
654
655### Bug Fixes
656
657* **extra:** change flattenSequentially and pairwise signatures ([71df158](https://github.com/staltz/xstream/commit/71df158))
658* **extra:** move flattenConcurrently from core to extra ([7d0fc01](https://github.com/staltz/xstream/commit/7d0fc01))
659* **imitate:** fix imitate, should not add listener immediately ([a6e39d2](https://github.com/staltz/xstream/commit/a6e39d2)), closes [#5](https://github.com/staltz/xstream/issues/5) [#5](https://github.com/staltz/xstream/issues/5)
660
661
662### BREAKING CHANGES
663
664* **extra:** Usage of flattenSequentially have changed, from
665compose(flattenSequentially()) to compose(flattenSequentially) and from
666compose(pairwise()) and compose(pairwise).
667* **extra:** flattenConcurrently must be separately imported as an extra operator and
668used with .compose()
669* **imitate:** imitate() method on Stream removed. New type introduced: MimicStream,
670which can be created through xs.createMimic(). A MimicStream has the
671method imitate(), which has the same API as before, but imitate does not
672trigger any Stream/Producer to start.
673
674
675
676<a name="2.6.2"></a>
677## [2.6.2](https://github.com/staltz/xstream/compare/v2.6.1...v2.6.2) (2016-05-25)
678
679
680### Bug Fixes
681
682* **debug:** improve printing of objects from debug() ([9cf630b](https://github.com/staltz/xstream/commit/9cf630b)), closes [#38](https://github.com/staltz/xstream/issues/38)
683
684
685
686<a name="2.6.1"></a>
687## [2.6.1](https://github.com/staltz/xstream/compare/v2.6.0...v2.6.1) (2016-05-23)
688
689
690### Bug Fixes
691
692* **MemoryStream:** fix tear down logic to reset memory ([524d68e](https://github.com/staltz/xstream/commit/524d68e)), closes [#36](https://github.com/staltz/xstream/issues/36)
693
694
695
696<a name="2.6.0"></a>
697# [2.6.0](https://github.com/staltz/xstream/compare/v2.5.0...v2.6.0) (2016-05-21)
698
699
700### Features
701
702* **debug:** add support for label argument to debug() ([9231851](https://github.com/staltz/xstream/commit/9231851))
703
704
705
706<a name="2.5.0"></a>
707# [2.5.0](https://github.com/staltz/xstream/compare/v2.4.3...v2.5.0) (2016-05-21)
708
709
710### Features
711
712* **extra:** add new extra factory fromDiagram ([d6c4ae5](https://github.com/staltz/xstream/commit/d6c4ae5))
713
714
715
716<a name="2.4.3"></a>
717## [2.4.3](https://github.com/staltz/xstream/compare/v2.4.2...v2.4.3) (2016-05-16)
718
719
720### Bug Fixes
721
722* **extra:** add safety check against nulls for next() etc ([cf82a8b](https://github.com/staltz/xstream/commit/cf82a8b))
723
724
725### Performance Improvements
726
727* **debounce:** improve debounce speed/rate ([8bf7903](https://github.com/staltz/xstream/commit/8bf7903))
728
729
730
731<a name="2.4.2"></a>
732## [2.4.2](https://github.com/staltz/xstream/compare/v2.4.1...v2.4.2) (2016-05-13)
733
734
735### Bug Fixes
736
737* **flatten:** fix map+flatten fusion to respect filter+map fusion ([6520550](https://github.com/staltz/xstream/commit/6520550))
738
739
740
741<a name="2.4.1"></a>
742## [2.4.1](https://github.com/staltz/xstream/compare/v2.4.0...v2.4.1) (2016-05-13)
743
744
745### Bug Fixes
746
747* **operators:** add safety check against nulls for next() etc ([5d433c3](https://github.com/staltz/xstream/commit/5d433c3))
748* **operators:** improve *type* metadata for operators with fusion ([fb1e81c](https://github.com/staltz/xstream/commit/fb1e81c))
749
750
751
752<a name="2.4.0"></a>
753# [2.4.0](https://github.com/staltz/xstream/compare/v2.3.0...v2.4.0) (2016-05-12)
754
755
756### Bug Fixes
757
758* **flatten:** add ins field as metadata to flatten ([cbc1f8b](https://github.com/staltz/xstream/commit/cbc1f8b))
759
760
761### Features
762
763* **extra:** implement new extra operator: dropUntil ([e06d502](https://github.com/staltz/xstream/commit/e06d502))
764* **extra:** implement new extra operator: split ([84742e8](https://github.com/staltz/xstream/commit/84742e8))
765
766
767
768<a name="2.3.0"></a>
769# [2.3.0](https://github.com/staltz/xstream/compare/v2.2.1...v2.3.0) (2016-05-09)
770
771
772### Bug Fixes
773
774* **combine:** fix combine() to export its Producer class ([700a129](https://github.com/staltz/xstream/commit/700a129))
775
776
777### Features
778
779* **operators:** add type metadata string to all operators/producers ([a734fd4](https://github.com/staltz/xstream/commit/a734fd4))
780
781
782
783<a name="2.2.1"></a>
784## [2.2.1](https://github.com/staltz/xstream/compare/v2.2.0...v2.2.1) (2016-05-03)
785
786
787### Performance Improvements
788
789* **combine:** apply some perf optimizations to combine ([ee4ec4c](https://github.com/staltz/xstream/commit/ee4ec4c))
790
791
792
793<a name="2.2.0"></a>
794# [2.2.0](https://github.com/staltz/xstream/compare/v2.1.4...v2.2.0) (2016-05-02)
795
796
797### Features
798
799* **combine:** support zero streams args to combine() ([1b3ca90](https://github.com/staltz/xstream/commit/1b3ca90))
800
801
802
803<a name="2.1.4"></a>
804## [2.1.4](https://github.com/staltz/xstream/compare/v2.1.3...v2.1.4) (2016-05-02)
805
806
807### Bug Fixes
808
809* **combine:** guard CombineListener against invalid out stream ([74c6061](https://github.com/staltz/xstream/commit/74c6061))
810
811
812### Performance Improvements
813
814* **flatten:** avoid cut() method in flattening ([28afee9](https://github.com/staltz/xstream/commit/28afee9))
815
816
817
818<a name="2.1.3"></a>
819## [2.1.3](https://github.com/staltz/xstream/compare/v2.1.2...v2.1.3) (2016-04-30)
820
821
822### Bug Fixes
823
824* **remember:** return MemoryStream, not Stream ([4f50922](https://github.com/staltz/xstream/commit/4f50922))
825
826
827
828<a name="2.1.2"></a>
829## [2.1.2](https://github.com/staltz/xstream/compare/v2.1.1...v2.1.2) (2016-04-30)
830
831
832### Bug Fixes
833
834* **combine:** fix CombineFactorySignature ([c65bd0b](https://github.com/staltz/xstream/commit/c65bd0b))
835
836
837
838<a name="2.1.1"></a>
839## [2.1.1](https://github.com/staltz/xstream/compare/v2.1.0...v2.1.1) (2016-04-30)
840
841
842### Bug Fixes
843
844* **remember:** build safety against map+map fusion ([079602c](https://github.com/staltz/xstream/commit/079602c))
845
846
847
848<a name="2.1.0"></a>
849# [2.1.0](https://github.com/staltz/xstream/compare/v2.0.2...v2.1.0) (2016-04-30)
850
851
852### Bug Fixes
853
854* **flatten:** fix TypeScript output type ([26f2241](https://github.com/staltz/xstream/commit/26f2241)), closes [#4](https://github.com/staltz/xstream/issues/4)
855* **flattenConcurrently:** fix TypeScript output type ([b5445a5](https://github.com/staltz/xstream/commit/b5445a5)), closes [#4](https://github.com/staltz/xstream/issues/4)
856
857
858### Features
859
860* **create:** Throw an error if for incomplete producer ([39c7c80](https://github.com/staltz/xstream/commit/39c7c80))
861
862
863
864<a name="2.0.2"></a>
865## [2.0.2](https://github.com/staltz/xstream/compare/v2.0.1...v2.0.2) (2016-04-28)
866
867
868### Bug Fixes
869
870* **filter:** fix filter fusion logic. ([8c417f9](https://github.com/staltz/xstream/commit/8c417f9))
871
872
873### Performance Improvements
874
875* **Stream:** improve way of fixing ils array concurrency ([accd2d0](https://github.com/staltz/xstream/commit/accd2d0))
876
877
878
879<a name="2.0.1"></a>
880## [2.0.1](https://github.com/staltz/xstream/compare/v2.0.0...v2.0.1) (2016-04-28)
881
882
883### Bug Fixes
884
885* **take:** fix take() behavior when stopping ([438fc0f](https://github.com/staltz/xstream/commit/438fc0f))
886
887
888
889<a name="2.0.0"></a>
890# [2.0.0](https://github.com/staltz/xstream/compare/v1.1.1...v2.0.0) (2016-04-27)
891
892
893### Bug Fixes
894
895* **package:** put extra operators in xstream/extra ([2735a74](https://github.com/staltz/xstream/commit/2735a74))
896
897
898### BREAKING CHANGES
899
900* **package:** Import extra operators from xstream/extra/the-operator-you-want not from
901xstream/lib/extra/the-operator-you-want
902
903
904
905<a name="1.1.1"></a>
906## [1.1.1](https://github.com/staltz/xstream/compare/v1.1.0...v1.1.1) (2016-04-27)
907
908
909### Features
910
911* **addListener:** throw an error if next, error or complete functions are missing ([b6e9df3](https://github.com/staltz/xstream/commit/b6e9df3))
912
913
914
915<a name="1.1.0"></a>
916# [1.1.0](https://github.com/staltz/xstream/compare/v1.0.1...v1.1.0) (2016-04-26)
917
918
919### Bug Fixes
920
921* **core:** export all operator classes ([10ef8f3](https://github.com/staltz/xstream/commit/10ef8f3))
922* **package:** fix TS dependency on es6-promise, and bump ([4c8adb8](https://github.com/staltz/xstream/commit/4c8adb8))
923* **package.json:** add typings field, bump to 1.0.4 ([bffd84b](https://github.com/staltz/xstream/commit/bffd84b))
924* **typings:** fix usage of ambient es6-promise ([6b4ae8e](https://github.com/staltz/xstream/commit/6b4ae8e))
925* **typings:** make es6-promise an ambient dep, and bump ([49edd74](https://github.com/staltz/xstream/commit/49edd74))
926
927
928### Features
929
930* **extra:** implement new flattenSequentially() extra operator ([4a6e63e](https://github.com/staltz/xstream/commit/4a6e63e))
931
932
933
934<a name="1.0.1"></a>
935## [1.0.1](https://github.com/staltz/xstream/compare/a3a08e7...v1.0.1) (2016-04-22)
936
937
938### Bug Fixes
939
940* **compose2:** fix type signature errors ([5c77ff9](https://github.com/staltz/xstream/commit/5c77ff9))
941* **core:** fix map type signature ([133c400](https://github.com/staltz/xstream/commit/133c400))
942* **dropRepeats:** move dropRepeats from core to extra ([78851c8](https://github.com/staltz/xstream/commit/78851c8))
943* **filterMap:** properly catch errors that could be thrown ([8ff48a5](https://github.com/staltz/xstream/commit/8ff48a5))
944* **flattenConcurrently:** fix inner management when optimization is off ([da1f379](https://github.com/staltz/xstream/commit/da1f379))
945* **fromArray:** rename from() producer to fromArray() ([05f519a](https://github.com/staltz/xstream/commit/05f519a))
946* **fromEvent:** rename static domEvent() to fromEvent() as extra ([c481cc8](https://github.com/staltz/xstream/commit/c481cc8))
947* **MemoryStream:** fix how MemoryStream handles late sync emissions ([00de09d](https://github.com/staltz/xstream/commit/00de09d))
948* **operator:** add more tear down logic in _stop() in operators ([2483107](https://github.com/staltz/xstream/commit/2483107))
949* **operator:** fix all operators redirection of error/complete ([2caa2ca](https://github.com/staltz/xstream/commit/2caa2ca))
950* **package.json:** no postinstall npm script anymore ([4011aa1](https://github.com/staltz/xstream/commit/4011aa1))
951* **periodic:** rename interval() factory to periodic() ([6a2adc5](https://github.com/staltz/xstream/commit/6a2adc5))
952* **src:** make index be an import facade for core.ts ([180f7c4](https://github.com/staltz/xstream/commit/180f7c4))
953* **Stream:** fix unsubscription semantics w.r.t. restarting ([9a0f3af](https://github.com/staltz/xstream/commit/9a0f3af))
954* **Stream:** stop the producer syncly after stream completes ([faba7bf](https://github.com/staltz/xstream/commit/faba7bf))
955* **Stream:** stop the producer syncly after the Stream errors ([6c803ac](https://github.com/staltz/xstream/commit/6c803ac))
956* **Stream:** use underscore for pseudo-private fields in Stream ([95f2ebb](https://github.com/staltz/xstream/commit/95f2ebb))
957* **take:** fix take() operator, and also combine and merge ([c5fdfc0](https://github.com/staltz/xstream/commit/c5fdfc0))
958
959
960### Features
961
962* **concat:** implement extra concat() operator ([7652011](https://github.com/staltz/xstream/commit/7652011))
963* **core:** flatten and flattenConcurrently should optimize for FilterMapOperator ([e1bebff](https://github.com/staltz/xstream/commit/e1bebff))
964* **core:** implement filter + map fusion ([b0507e6](https://github.com/staltz/xstream/commit/b0507e6))
965* **core:** use filterMap fusion for map() + filter ([a723fa4](https://github.com/staltz/xstream/commit/a723fa4))
966* **createWithMemory:** rename xs.MemoryStream to xs.createWithMemory ([c88d6c2](https://github.com/staltz/xstream/commit/c88d6c2))
967* **debounce:** implement debounce operator ([7dfb709](https://github.com/staltz/xstream/commit/7dfb709))
968* **debounce:** make debounce an extra operator ([34fd6c1](https://github.com/staltz/xstream/commit/34fd6c1))
969* **delay:** implement extra operator delay() and compose() ([48c5abc](https://github.com/staltz/xstream/commit/48c5abc))
970* **domEvent:** implement domEvent stream constructor ([ad40a08](https://github.com/staltz/xstream/commit/ad40a08))
971* **drop:** rename skip() to drop() ([cab26a9](https://github.com/staltz/xstream/commit/cab26a9))
972* **dropRepeats:** implement core instance operator dropRepeats() ([b7dccf9](https://github.com/staltz/xstream/commit/b7dccf9))
973* **emptyObserver:** makes emptyObserver noop functions instead of null ([e1d2537](https://github.com/staltz/xstream/commit/e1d2537))
974* **endWhen:** implement operator endWhen(), add tests ([23099ef](https://github.com/staltz/xstream/commit/23099ef))
975* **factory:** add factory from() with FromMachine ([e76acef](https://github.com/staltz/xstream/commit/e76acef))
976* **factory:** implement merge() with MergeProducer ([42b6f12](https://github.com/staltz/xstream/commit/42b6f12))
977* **filterMap:** implement all combinations of filter and map fusion ([5eb5822](https://github.com/staltz/xstream/commit/5eb5822))
978* **flatten:** implement flatten operator, a.k.a. switch() ([6255e53](https://github.com/staltz/xstream/commit/6255e53))
979* **flattenConcurrently:** rename flatten to flattenConcurrently ([b3a87ee](https://github.com/staltz/xstream/commit/b3a87ee))
980* **fromPromise:** implement factory fromPromise() ([ad0ccfd](https://github.com/staltz/xstream/commit/ad0ccfd))
981* **imitate:** implement imitate() operator for circular dependencies ([6545670](https://github.com/staltz/xstream/commit/6545670))
982* **index:** export new domEvent constructor ([870fdc6](https://github.com/staltz/xstream/commit/870fdc6))
983* **mapTo:** implement mapTo ([f73bc8e](https://github.com/staltz/xstream/commit/f73bc8e))
984* **MapTo:** adjust to more private variables ([a5ed5ab](https://github.com/staltz/xstream/commit/a5ed5ab))
985* **Observer:** rename complete() callback to end() ([d282684](https://github.com/staltz/xstream/commit/d282684))
986* **operator:** implement combine(), both static and instance ([f65a6a3](https://github.com/staltz/xstream/commit/f65a6a3))
987* **operator:** implement debug() operator with DebugMachine ([e2a0342](https://github.com/staltz/xstream/commit/e2a0342))
988* **operator:** implement filter operator with FilterMachine ([a74f160](https://github.com/staltz/xstream/commit/a74f160))
989* **operator:** implement flatten() operator ([4800873](https://github.com/staltz/xstream/commit/4800873))
990* **operator:** implement fold operator with FoldMachine ([57453f2](https://github.com/staltz/xstream/commit/57453f2))
991* **operator:** implement last() operator with LastMachine ([747e255](https://github.com/staltz/xstream/commit/747e255))
992* **operator:** implement map operator with MapMachine ([76df500](https://github.com/staltz/xstream/commit/76df500))
993* **operator:** implement skip operator with SkipMachine ([32dd8ac](https://github.com/staltz/xstream/commit/32dd8ac))
994* **operator:** implement take operator with TakeMachine ([6e1d0db](https://github.com/staltz/xstream/commit/6e1d0db))
995* **pairwise:** implement extra operator pairwise() ([5b1ec51](https://github.com/staltz/xstream/commit/5b1ec51))
996* **remember:** implement RememeberProducer ([7279ad8](https://github.com/staltz/xstream/commit/7279ad8))
997* **RememberOperator:** adjust to work with MemoryStream ([0898404](https://github.com/staltz/xstream/commit/0898404))
998* **replaceError:** implement replaceError(), wrap code with try-catch ([ffa5976](https://github.com/staltz/xstream/commit/ffa5976))
999* **shamefullySendNext:** introduce shamefullySendNext and hide _next callback ([552caff](https://github.com/staltz/xstream/commit/552caff))
1000* **startWith:** implement startWith operator ([3489ce3](https://github.com/staltz/xstream/commit/3489ce3))
1001* **Stream:** add a concept of current value ([cc5650f](https://github.com/staltz/xstream/commit/cc5650f))
1002* **Stream:** add debounce to Stream prototype ([f44b819](https://github.com/staltz/xstream/commit/f44b819))
1003* **Stream:** add mapTo to Stream prototype ([58c83f9](https://github.com/staltz/xstream/commit/58c83f9))
1004* **Stream:** add never() and empty() stream factories ([04f59b0](https://github.com/staltz/xstream/commit/04f59b0))
1005* **Stream:** implement really simply Stream and interval() factory ([a3a08e7](https://github.com/staltz/xstream/commit/a3a08e7))
1006* **Stream:** implement Stream ([86d68ff](https://github.com/staltz/xstream/commit/86d68ff))
1007* **Stream:** implement xs.of() ([f86fd49](https://github.com/staltz/xstream/commit/f86fd49))
1008* **takeUntil:** implement and test takeUntil() ([304bed1](https://github.com/staltz/xstream/commit/304bed1))
1009* **throw:** implement new static factory throw() ([76879a5](https://github.com/staltz/xstream/commit/76879a5))
1010
1011
1012### Performance Improvements
1013
1014* **core:** have FilterMapOperator extend MapOperator ([e0c153a](https://github.com/staltz/xstream/commit/e0c153a))
1015* **debug:** improve performance of debug() operator, using Proxy class ([9f766af](https://github.com/staltz/xstream/commit/9f766af))
1016* **filter-map-reduce:** add preliminary perf micro benchmarks ([8b1f2d3](https://github.com/staltz/xstream/commit/8b1f2d3))
1017* **filter-map-reduce:** improve filter-map-reduce test to actually do reduce() too ([7ff9fd0](https://github.com/staltz/xstream/commit/7ff9fd0))
1018* **fold:** improve performance by using shorter names ([8a25fe7](https://github.com/staltz/xstream/commit/8a25fe7))
1019* **from:** improve from factory perf by renaming a var ([a814c8a](https://github.com/staltz/xstream/commit/a814c8a))
1020* **fromArray:** rename/fix from() to fromArray() in perf benchmarks ([a433dd5](https://github.com/staltz/xstream/commit/a433dd5))
1021* **merge:** add merge performance benchmark ([de9f002](https://github.com/staltz/xstream/commit/de9f002))
1022* **operator:** fix all operators to refer this.proxy initially to emptyObserver ([ad210fc](https://github.com/staltz/xstream/commit/ad210fc))
1023* **operator:** replace operator proxies with class, improves perf ([2e6ec27](https://github.com/staltz/xstream/commit/2e6ec27))
1024* **perf:** fix xstream perf benchmark for merge() ([4758a1d](https://github.com/staltz/xstream/commit/4758a1d))
1025* **scan:** add performance benchmark for fold ([5d5ef94](https://github.com/staltz/xstream/commit/5d5ef94))
1026* **skip:** improve skip perf by using Proxy Observer class ([5233f43](https://github.com/staltz/xstream/commit/5233f43))
1027* **Stream:** improve performance of Observer methods in Stream ([465f22d](https://github.com/staltz/xstream/commit/465f22d))
1028* **Stream:** remove this.num in Stream to improve perf ([53bcaad](https://github.com/staltz/xstream/commit/53bcaad))
1029* **Stream:** squeeze kB size in map and filter fusion ([23ac9d0](https://github.com/staltz/xstream/commit/23ac9d0))
1030* **Stream:** tiny saving of lookups and source code size ([6527129](https://github.com/staltz/xstream/commit/6527129))
1031* **take:** improve take() perf by using Proxy Observer class ([6eae1a9](https://github.com/staltz/xstream/commit/6eae1a9))
1032
1033
1034### Reverts
1035
1036* **takeUntil:** revert takeUntil implementation ([6f62fc1](https://github.com/staltz/xstream/commit/6f62fc1))
1037
1038
1039