UNPKG

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