@thi.ng/rstream 7.0.9 → 7.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,91 +1,927 @@
1
1
  # Change Log
2
2
 
3
+ - **Last updated**: 2021-12-13T10:26:00Z
4
+ - **Generator**: [thi.ng/monopub](https://thi.ng/monopub)
5
+
3
6
  All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
7
+ See [Conventional Commits](https://conventionalcommits.org/) for commit guidelines.
8
+
9
+ **Note:** Unlisted _patch_ versions only involve non-code or otherwise excluded changes
10
+ and/or version bumps of transitive dependencies.
11
+
12
+ ## [7.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.2.0) (2021-11-21)
13
+
14
+ #### 🚀 Features
15
+
16
+ - update defWorker() arg types ([e07521e](https://github.com/thi-ng/umbrella/commit/e07521e))
17
+ - add `WorkerSource` type alias
18
+ - add support for zero-arg fns returning a worker instance
19
+ - helps v. much with Vite's `xxx?worker` imports
20
+ - see /examples/mandelbrot for usage
21
+
22
+ ### [7.1.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.1.1) (2021-11-19)
23
+
24
+ #### 🩹 Bug fixes
25
+
26
+ - add note about Awaited<T> type sig (1c82afa7e) ([efd8647](https://github.com/thi-ng/umbrella/commit/efd8647))
27
+
28
+ ## [7.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.1.0) (2021-11-17)
29
+
30
+ #### 🚀 Features
31
+
32
+ - Using workspaces for local tools ([bf7a404](https://github.com/thi-ng/umbrella/commit/bf7a404))
33
+ Improving the overall build ergonomics
34
+ - introduced a tools workspaces
35
+ - imported it in all needed packages/examples
36
+ - inclusive project root
37
+ - add fromNodeJS/linesFromNodeJS() ([d56026d](https://github.com/thi-ng/umbrella/commit/d56026d))
38
+ - add NodeJS stream adapter bridges
39
+ - update readme
40
+
41
+ #### ♻️ Refactoring
42
+
43
+ - testrunner to binary ([4ebbbb2](https://github.com/thi-ng/umbrella/commit/4ebbbb2))
44
+ this commit reverts (partly) changes made in:
45
+ ef346d7a8753590dc9094108a3d861a8dbd5dd2c
46
+ overall purpose is better testament ergonomics:
47
+ instead of having to pass NODE_OPTIONS with every invocation
48
+ having a binary to handle this for us.
49
+
50
+ ### [7.0.9](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.0.9) (2021-11-10)
51
+
52
+ #### ♻️ Refactoring
53
+
54
+ - update all countdown loops ([a5f374b](https://github.com/thi-ng/umbrella/commit/a5f374b))
55
+
56
+ ### [7.0.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.0.1) (2021-10-13)
57
+
58
+ #### ♻️ Refactoring
59
+
60
+ - update imports in all tests/pkgs ([effd591](https://github.com/thi-ng/umbrella/commit/effd591))
61
+ - update imports in all pkgs ([5fa2b6f](https://github.com/thi-ng/umbrella/commit/5fa2b6f))
62
+ - add .js suffix for all relative imports
63
+
64
+ # [7.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@7.0.0) (2021-10-12)
65
+
66
+ #### 🛑 Breaking changes
67
+
68
+ - major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea))
69
+ - BREAKING CHANGE: discontinue CommonJS & UMD versions
70
+ - only ESM modules will be published from now on
71
+ - CJS obsolete due to ESM support in recent versions of node:
72
+ - i.e. launch NodeJS via:
73
+ - `node --experimental-specifier-resolution=node --experimental-repl-await`
74
+ - in the node REPL use `await import(...)` instead of `require()`
75
+ - UMD obsolete due to widespread browser support for ESM
76
+ Also:
77
+ - normalize/restructure/reorg all package.json files
78
+ - cleanup all build scripts, remove obsolete
79
+ - switch from mocha to [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament) for all tests
80
+
81
+ #### ♻️ Refactoring
82
+
83
+ - dedupe removeAllIDs() impls ([57e57cc](https://github.com/thi-ng/umbrella/commit/57e57cc))
84
+ - major pkg restructure ([831c113](https://github.com/thi-ng/umbrella/commit/831c113))
85
+ - flatten /src folder for easier imports in userland
86
+ - move logging from api.ts => logger.ts
87
+ - rename internal helpers (__nextID, __optsWithID, defWorker, ...)
88
+ - update imports
89
+ - update deps & imports in various pkgs ([e1cf29e](https://github.com/thi-ng/umbrella/commit/e1cf29e))
90
+ - largely related to recent updates/restructuring of these packages:
91
+ - api
92
+ - defmulti
93
+ - errors
94
+ - logger
95
+ - update imports (transducers) ([7fc60cd](https://github.com/thi-ng/umbrella/commit/7fc60cd))
96
+ - update imports ([138571a](https://github.com/thi-ng/umbrella/commit/138571a))
97
+ - update all tests in _all_ pkgs ([8b582bc](https://github.com/thi-ng/umbrella/commit/8b582bc))
98
+ - update all to use [@thi.ng/testament](https://github.com/thi-ng/umbrella/tree/main/packages/testament)
99
+
100
+ ### [6.0.14](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@6.0.14) (2021-08-08)
101
+
102
+ #### 🩹 Bug fixes
103
+
104
+ - fix [#305](https://github.com/thi-ng/umbrella/issues/305), metaStream() factory arg type ([2bc7bff](https://github.com/thi-ng/umbrella/commit/2bc7bff))
105
+ - add test case
106
+
107
+ # [6.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@6.0.0) (2021-03-12)
108
+
109
+ #### 🛑 Breaking changes
110
+
111
+ - further simplify ISubscribable & impls ([9e290fe](https://github.com/thi-ng/umbrella/commit/9e290fe))
112
+ - BREAKING CHANGE: remove `.subscribe(sub, xform, opts)` signature.
113
+ Transducer now supplied via `xform` key in `opts` (or use `.transform()`
114
+ instead of `.subscribe()`)
115
+ - further simplify `Subscription.subscribe()` / `.transform()`
116
+ - update Subscription ctor args
117
+ - make `.subscribe()` child subs partial again
118
+ - remove temporary & obsolete again `DUMMY` subscriber
119
+ - add docs
120
+ - update tests
121
+ - add PubSub.transformTopic() ([123e15d](https://github.com/thi-ng/umbrella/commit/123e15d))
122
+ - BREAKING CHANGE: replace transducer only version of
123
+ `PubSub.subscribeTopic()` with new `.transformTopic()`.
124
+ Similarly to [22c6f7cb2](https://github.com/thi-ng/umbrella/commit/22c6f7cb2), `.subscribeTopic()` subs also need to
125
+ provide at least a `next` key (for typechecking only)
126
+ - add .transformTopic() w/ opt error handling support
127
+ - TODO multi-transducer overrides for .transformTopic()
128
+ - add .transform() error handler opt ([#276](https://github.com/thi-ng/umbrella/issues/276)) ([22c6f7c](https://github.com/thi-ng/umbrella/commit/22c6f7c))
129
+ - BREAKING CHANGE: update ISubscribable contract, remove transducer
130
+ only version of `.subscribe()`, MUST provide dummy sub w/ transducer
131
+ OR (better) use `.transform()` instead (which also more clearly
132
+ communicates intention...)
133
+ - another breaking change side effect for `.subscribe()`:
134
+ `next()` handlers MUST be provided now in first arg (child sub), this
135
+ is NOT because they're mandatory now, but TS won't be able to
136
+ correctly infer arg types when using `Partial<ISubscriber<T>>`
137
+ - add `DUMMY` subscriber constant w/ empty `next() {}`
138
+ - simplify internal `.subscribe()` logic
139
+ - add `WithErrorHandlerOpts` interface
140
+ - update `.transform()` & `.map()`: add error handling support
141
+
142
+ #### 🚀 Features
143
+
144
+ - update Subscription FSM, add/update tests ([ea1d0c1](https://github.com/thi-ng/umbrella/commit/ea1d0c1))
145
+ - add state check in .subscribe()
146
+ - set both parent & child sub to ACTIVE
147
+ - add StreamSource error handling ([73023b6](https://github.com/thi-ng/umbrella/commit/73023b6))
148
+ - update stream() opts arg type
149
+ - update Stream.subscribe() to use opt error handler to deal w/ errors
150
+ during execution of stream source function
151
+ - add test
152
+ - update DONE state & teardown logic ([a8a8c44](https://github.com/thi-ng/umbrella/commit/a8a8c44))
153
+ - DONE state now only valid during depth-first stage of .done()
154
+ - state switches to UNSUBSCRIBED during recursive teardown (unless ERROR)
155
+ - update tests
156
+ - [#281](https://github.com/thi-ng/umbrella/issues/281) update Subscription error/teardown logic ([a9e4040](https://github.com/thi-ng/umbrella/commit/a9e4040))
157
+ - replace old `Subscription` class w/ what was recently `Sub2` (removed)
158
+ - update/fix done(), subscribe()/unsubscribe() logic
159
+ - update related constructs (Stream, StreamSync, MetaStream, etc.)
160
+ - update Stream ctor (and factory fns) to support error handler opts arg
161
+ - update Timeout error dispatch
162
+ - fix typehints
163
+ - update Sub2, State enum ([db0ab34](https://github.com/thi-ng/umbrella/commit/db0ab34))
164
+ - add State.UNSUBSCRIBED
165
+ - add missing Sub2.done() handling
166
+ - add Sub2.map()
167
+ - refactor Sub2 value/phase dispatch logic
168
+ - add logging
169
+ - add Sub2 WIP impl ([de4149b](https://github.com/thi-ng/umbrella/commit/de4149b))
170
+ - update error handler sig ([#281](https://github.com/thi-ng/umbrella/issues/281)) ([015380a](https://github.com/thi-ng/umbrella/commit/015380a))
171
+ - add `ErrorHandler` type, update to return boolean
172
+ - update `ISubscribable`, `ITransformable` to only refer to `ISubscription`
173
+ interface (rather than `Subscription` class itself)
174
+ - refactor `Subscription.next()`, add `.dispatchXform()`
175
+ - update various error handlers (add return values)
176
+ - update tests
177
+ - add sidechainPartitionRAF() ([a101626](https://github.com/thi-ng/umbrella/commit/a101626))
178
+ - update PubSub ([fa87168](https://github.com/thi-ng/umbrella/commit/fa87168))
179
+ - update PubSub generics
180
+ - update .subscribeTopic() opts to use `TransformableOpts`
181
+ - add ISubscription interface ([98edee0](https://github.com/thi-ng/umbrella/commit/98edee0))
182
+ - replaces obsolete `ISubscribableSubscriber`
183
+ - add generic type for PubSub topics ([08adc5f](https://github.com/thi-ng/umbrella/commit/08adc5f))
184
+ - update PubSub, PubSubOpts w/ new generic for topic types (default: any)
185
+ - update ITransformable.transform() ([fe0eaa9](https://github.com/thi-ng/umbrella/commit/fe0eaa9))
186
+ - add new `transform()` override to supply transducer as part of options arg
187
+ - update/fix opts arg type in other `transform()` versions
188
+ - add `WithTransform`, `WithErrorHandler` interfaces
189
+ - update `TransformableOpts`, `WithErrorHandlerOpts`
190
+ - log error to console ([594d806](https://github.com/thi-ng/umbrella/commit/594d806))
191
+ - update Subscription.error() and ensure error is at least written to
192
+ console, even if the default `NULL_LOGGER` is used
193
+ - addresses [#125](https://github.com/thi-ng/umbrella/issues/125), [#276](https://github.com/thi-ng/umbrella/issues/276)
194
+
195
+ #### 🩹 Bug fixes
196
+
197
+ - update failing tests ([ae591a1](https://github.com/thi-ng/umbrella/commit/ae591a1))
198
+ - PubSub dispatch & error handling ([cca0f34](https://github.com/thi-ng/umbrella/commit/cca0f34))
199
+ - store last received value (if caching enabled)
200
+ - update error handler logic
201
+ - fix wrong imports ([ae4866a](https://github.com/thi-ng/umbrella/commit/ae4866a))
202
+ - minor update/revert sub ctor args ([c651421](https://github.com/thi-ng/umbrella/commit/c651421))
203
+
204
+ #### ⏱ Performance improvements
205
+
206
+ - revert to storing child subs in array ([014bf20](https://github.com/thi-ng/umbrella/commit/014bf20))
207
+
208
+ #### ♻️ Refactoring
209
+
210
+ - update types/generics ([c982288](https://github.com/thi-ng/umbrella/commit/c982288))
211
+ - remove default generics from ISubscription due to inference troubles
212
+ - add ITransformable.map()
213
+ - fix unsubscribe() arg types in various classes
214
+ - update tests (generics only)
215
+
216
+ ### [5.1.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.1.2) (2021-02-22)
217
+
218
+ #### 🩹 Bug fixes
219
+
220
+ - add auto IDs for bisect/debounce() ([89b1def](https://github.com/thi-ng/umbrella/commit/89b1def))
221
+
222
+ ## [5.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.1.0) (2021-01-22)
223
+
224
+ #### 🚀 Features
225
+
226
+ - add CommonOpts for .map() ([6324123](https://github.com/thi-ng/umbrella/commit/6324123))
227
+
228
+ ### [5.0.10](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.0.10) (2020-12-07)
229
+
230
+ #### ♻️ Refactoring
231
+
232
+ - update type-only imports ([cdf5d62](https://github.com/thi-ng/umbrella/commit/cdf5d62))
233
+ - update type-only imports in various tests/pkgs ([3fd9c24](https://github.com/thi-ng/umbrella/commit/3fd9c24))
234
+
235
+ ### [5.0.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.0.5) (2020-09-22)
236
+
237
+ #### ♻️ Refactoring
238
+
239
+ - add isFirstOrLastInput(), update StreamMerge/Sync ([ebab5a0](https://github.com/thi-ng/umbrella/commit/ebab5a0))
240
+
241
+ ### [5.0.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.0.4) (2020-09-13)
242
+
243
+ #### 🩹 Bug fixes
244
+
245
+ - update PubSub.subscribeTopic(), fix [#248](https://github.com/thi-ng/umbrella/issues/248) ([3e2240a](https://github.com/thi-ng/umbrella/commit/3e2240a))
246
+ - use CloseMode.NEVER for internal topic subs
247
+
248
+ #### ♻️ Refactoring
249
+
250
+ - update imports ([a35efa8](https://github.com/thi-ng/umbrella/commit/a35efa8))
251
+
252
+ ### [5.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.0.3) (2020-08-28)
253
+
254
+ #### ♻️ Refactoring
255
+
256
+ - update delete op (TS4.0) ([cef8674](https://github.com/thi-ng/umbrella/commit/cef8674))
257
+
258
+ # [5.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@5.0.0) (2020-07-28)
259
+
260
+ #### 🛑 Breaking changes
261
+
262
+ - fix/update StreamSync type inference ([c9d983d](https://github.com/thi-ng/umbrella/commit/c9d983d))
263
+ - BREAKING CHANGE: better StreamSync generics handling/inference &
264
+ updated StreamSyncOpts
265
+ - `src` opt (input sources) MUST be given as object now
266
+ (specifying inputs as array not supported anymore, use `autoObj()`
267
+ from transducers package to convert array into auto-labeled object)
268
+ - update StreamSync inference rules to better determine result type
269
+ - simplify .addAll()
270
+ - generics now *usually* don't need to manually be specified anymore
271
+ (with some exceptions)
272
+ - update tests
273
+
274
+ #### ♻️ Refactoring
275
+
276
+ - update StreamMerge method args ([da648af](https://github.com/thi-ng/umbrella/commit/da648af))
277
+ - update StreamSync generics & args ([0a182b0](https://github.com/thi-ng/umbrella/commit/0a182b0))
278
+ - update forkJoin() & tween() impls (StreamSync) ([08ca3e1](https://github.com/thi-ng/umbrella/commit/08ca3e1))
279
+ - add opts arg for trigger() ([32340f0](https://github.com/thi-ng/umbrella/commit/32340f0))
280
+
281
+ ## [4.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.6.0) (2020-07-08)
282
+
283
+ #### 🚀 Features
284
+
285
+ - add Subscription.map() syntax sugar ([a00485e](https://github.com/thi-ng/umbrella/commit/a00485e))
286
+
287
+ ## [4.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.5.0) (2020-07-02)
288
+
289
+ #### 🚀 Features
290
+
291
+ - add reactive(), update readme ([e508faa](https://github.com/thi-ng/umbrella/commit/e508faa))
292
+
293
+ ## [4.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.4.0) (2020-06-14)
294
+
295
+ #### 🚀 Features
296
+
297
+ - add debounce() sub & tests ([9c53bb4](https://github.com/thi-ng/umbrella/commit/9c53bb4))
298
+ - add emitLast metastream option ([1073735](https://github.com/thi-ng/umbrella/commit/1073735))
299
+ - add error handling for transducer phase ([609424e](https://github.com/thi-ng/umbrella/commit/609424e))
300
+ - update Subscription.next()
301
+ - update transduce()
302
+
303
+ ### [4.3.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.3.1) (2020-05-16)
304
+
305
+ #### 🩹 Bug fixes
306
+
307
+ - initial default val handling in fromObject() ([25117e3](https://github.com/thi-ng/umbrella/commit/25117e3))
308
+ - defaults now applied to initial seed values (if enabled)
309
+ - update tests
310
+
311
+ ## [4.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.3.0) (2020-05-16)
312
+
313
+ #### 🚀 Features
314
+
315
+ - extend fromObject() features/opts ([975f74c](https://github.com/thi-ng/umbrella/commit/975f74c))
316
+ - add support for default values, dedupe, equiv predicate
317
+
318
+ ## [4.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.2.0) (2020-05-15)
319
+
320
+ #### 🚀 Features
321
+
322
+ - update fromObject(), add StreamObjOpts, update docs ([f3ca3b6](https://github.com/thi-ng/umbrella/commit/f3ca3b6))
323
+ - add fromObject(), add docs & tests ([5e854eb](https://github.com/thi-ng/umbrella/commit/5e854eb))
324
+
325
+ ## [4.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.1.0) (2020-05-14)
326
+
327
+ #### 🚀 Features
328
+
329
+ - [#221](https://github.com/thi-ng/umbrella/issues/221), update StreamSync input removal ([52ee040](https://github.com/thi-ng/umbrella/commit/52ee040))
330
+ - add StreamSyncOpts.clean option (disabled by default)
331
+ - add support for cleaning result tuple when removing inputs
332
+ - update input add/removal ops to use new partitionSync() hooks
333
+ - add/update tests
334
+
335
+ #### ♻️ Refactoring
336
+
337
+ - update opts handling (TS3.9) ([ba76da6](https://github.com/thi-ng/umbrella/commit/ba76da6))
338
+
339
+ ### [4.0.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.0.8) (2020-05-03)
340
+
341
+ #### 🩹 Bug fixes
342
+
343
+ - MetaStream close mode handling ([2d9e907](https://github.com/thi-ng/umbrella/commit/2d9e907))
344
+ - never go into DONE state if `closeIn == CloseMode.NEVER`
345
+ - fix/update unsubscribe() & pass arg
346
+ - update detach() to consider `closeOut` mode
347
+ - add tests
348
+
349
+ ### [4.0.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.0.7) (2020-04-28)
350
+
351
+ #### 🩹 Bug fixes
352
+
353
+ - subscribe() w/ xform, add test ([20ce586](https://github.com/thi-ng/umbrella/commit/20ce586))
354
+ - fixes `.subscribe(sub, xform)` where child `sub` was an actual instance
355
+ of `Subscription` and the given `xform` transducer was silently
356
+ ignored in that case...
357
+ - add test
358
+
359
+ ### [4.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.0.3) (2020-04-06)
360
+
361
+ #### 🩹 Bug fixes
362
+
363
+ - fix Subscription.subscribe() ([2a7f6ad](https://github.com/thi-ng/umbrella/commit/2a7f6ad))
364
+ - check if opts arg given, but nullish
365
+ - fixes PubSub.subscribeTopic(id, xform) version, which would wrongly
366
+ infer `xform` as subscriber instead of transducer
367
+ - add tests
368
+ - update readme
369
+
370
+ ### [4.0.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.0.2) (2020-04-05)
371
+
372
+ #### ♻️ Refactoring
373
+
374
+ - switch to non-const enums ([1f6221d](https://github.com/thi-ng/umbrella/commit/1f6221d))
375
+
376
+ # [4.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@4.0.0) (2020-03-28)
377
+
378
+ #### 🛑 Breaking changes
379
+
380
+ - update/rename fromView() ([f5df4ab](https://github.com/thi-ng/umbrella/commit/f5df4ab))
381
+ - BREAKING CHANGE: update/rename fromView(), add fromViewUnsafe()
382
+ - fromView() now performs type checking on given path and/or view transform
383
+ - existing `fromView()` renamed to `fromViewUnsafe()` (this is in line w/ related
384
+ updates in [@thi.ng/atom](https://github.com/thi-ng/umbrella/tree/main/packages/atom) & [@thi.ng/paths](https://github.com/thi-ng/umbrella/tree/main/packages/paths) pkgs)
385
+
386
+ #### ♻️ Refactoring
387
+
388
+ - update fromView value type inference ([ba20557](https://github.com/thi-ng/umbrella/commit/ba20557))
389
+ - update fromView() & options ([7565448](https://github.com/thi-ng/umbrella/commit/7565448))
390
+
391
+ ### [3.0.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@3.0.3) (2020-02-25)
392
+
393
+ #### ♻️ Refactoring
394
+
395
+ - update imports ([d529e86](https://github.com/thi-ng/umbrella/commit/d529e86))
396
+ - fix [#201](https://github.com/thi-ng/umbrella/issues/201), extract ASidechain ([b88fa04](https://github.com/thi-ng/umbrella/commit/b88fa04))
397
+ - extract abstract ASidechain base class
398
+ - update SidechainPartition/Toggle classes
399
+
400
+ # [3.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@3.0.0) (2019-11-30)
401
+
402
+ #### 🛑 Breaking changes
403
+
404
+ - update readme ([4ecdbf9](https://github.com/thi-ng/umbrella/commit/4ecdbf9))
405
+ - BREAKING CHANGE: document new stream/sub config opts in readme
406
+ - update args for various fromXXX() stream factories ([b466ebc](https://github.com/thi-ng/umbrella/commit/b466ebc))
407
+ - add types for options objects
408
+ - update tests
409
+ - BREAKING CHANGE: update stream factories to use options object args
410
+ - fromAtom
411
+ - fromInterval
412
+ - fromIterable
413
+ - fromView
414
+ - fromWorker
415
+
416
+ #### 🚀 Features
417
+
418
+ - add CommonOpts support for ISubscribable & ITransformable ([0a70b90](https://github.com/thi-ng/umbrella/commit/0a70b90))
419
+ - update sidechainPartition/Toggle and timeout ([898eb53](https://github.com/thi-ng/umbrella/commit/898eb53))
420
+ - use options objects for args
421
+ - update tests
422
+
423
+ #### ♻️ Refactoring
424
+
425
+ - re-use `Path` from [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) ([7e7ef8f](https://github.com/thi-ng/umbrella/commit/7e7ef8f))
426
+
427
+ ### [2.5.5](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.5.5) (2019-09-21)
428
+
429
+ #### 🚀 Features
430
+
431
+ - update Stream cancel & reset behavior for CloseMode.NEVER ([250dfe1](https://github.com/thi-ng/umbrella/commit/250dfe1))
432
+ - don't call cancel() if `closeOut` is CloseMODE.NEVER
433
+ - only initialize stream once and don't re-init on 1st re-sub after
434
+ all other subs have left
435
+ - add Subscription.done() error handling ([c911006](https://github.com/thi-ng/umbrella/commit/c911006))
436
+ - add/update fork/joinBuffer generics, optimize ([8f0c55c](https://github.com/thi-ng/umbrella/commit/8f0c55c))
437
+ - add forkBuffer/joinBuffer HOFs, add docs ([a35c8e8](https://github.com/thi-ng/umbrella/commit/a35c8e8))
438
+ - add back pressure opts to StreamSyncOpts & ForkJoinOpts ([e236987](https://github.com/thi-ng/umbrella/commit/e236987))
439
+ - add forkJoin() parallel worker processing ([da03722](https://github.com/thi-ng/umbrella/commit/da03722))
440
+ - add ITransformable interface, minor updates ([da52b98](https://github.com/thi-ng/umbrella/commit/da52b98))
441
+
442
+ #### 🩹 Bug fixes
443
+
444
+ - update StreamSync.remove(), refactor ctor ([d5fd4b4](https://github.com/thi-ng/umbrella/commit/d5fd4b4))
445
+ - remove ID from invRealSourceIDs
446
+ - update ctor xform init, avoid one level of comp() if opts.xform given
447
+
448
+ ### [2.5.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.5.4) (2019-08-21)
449
+
450
+ #### 🚀 Features
451
+
452
+ - initial work on [#74](https://github.com/thi-ng/umbrella/issues/74), [#81](https://github.com/thi-ng/umbrella/issues/81), [#91](https://github.com/thi-ng/umbrella/issues/91), [#92](https://github.com/thi-ng/umbrella/issues/92), add stream opts ([e770469](https://github.com/thi-ng/umbrella/commit/e770469))
453
+ - add CommonOpts, TransformableOpts, SubscriptionOpts
454
+ - update all ctors & factory fns to accepts options arg
455
+ - fix [#81](https://github.com/thi-ng/umbrella/issues/81) (only keep last received value if `cache` option enabled)
456
+ - check from `closeOut` mode and possibly keep stream alive
457
+ after all current subscribers have left ([#74](https://github.com/thi-ng/umbrella/issues/74))
458
+ - update tests (but need to add various new ones)
459
+ - add optsWithID() helper to inject ID option if needed
460
+
461
+ #### 🩹 Bug fixes
462
+
463
+ - add missing timeout() re-export ([7062332](https://github.com/thi-ng/umbrella/commit/7062332))
464
+
465
+ #### ♻️ Refactoring
466
+
467
+ - add/update optsWithID() handling ([f0d7f87](https://github.com/thi-ng/umbrella/commit/f0d7f87))
468
+
469
+ ### [2.5.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.5.3) (2019-08-16)
470
+
471
+ #### 🩹 Bug fixes
472
+
473
+ - preserve const enums ([765a9ac](https://github.com/thi-ng/umbrella/commit/765a9ac))
474
+
475
+ ## [2.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.5.0) (2019-07-07)
476
+
477
+ #### 🚀 Features
478
+
479
+ - add fromDOMEvent() ([6e3fec8](https://github.com/thi-ng/umbrella/commit/6e3fec8))
480
+ - enable TS strict compiler flags (refactor) ([d796e21](https://github.com/thi-ng/umbrella/commit/d796e21))
481
+
482
+ #### 🩹 Bug fixes
483
+
484
+ - generics & type hints (TS 3.5.2) ([eb2e18a](https://github.com/thi-ng/umbrella/commit/eb2e18a))
485
+ - TS strictNullChecks, add assertions ([1aad856](https://github.com/thi-ng/umbrella/commit/1aad856))
486
+
487
+ ### [2.4.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.4.2) (2019-04-24)
488
+
489
+ #### ♻️ Refactoring
490
+
491
+ - replace DEBUG w/ LOGGER impl, add setLogger() ([8587989](https://github.com/thi-ng/umbrella/commit/8587989))
492
+
493
+ ## [2.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.4.0) (2019-04-11)
494
+
495
+ #### 🚀 Features
496
+
497
+ - add tweenNumber() ([cb6d46a](https://github.com/thi-ng/umbrella/commit/cb6d46a))
498
+ (cherry picked from commit [17d0fdb2ed1130d88be8d9daa36ae7cb5e166864](https://github.com/thi-ng/umbrella/commit/17d0fdb2ed1130d88be8d9daa36ae7cb5e166864))
499
+ - add tweenNumber() ([17d0fdb](https://github.com/thi-ng/umbrella/commit/17d0fdb))
500
+
501
+ ### [2.3.8](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.3.8) (2019-04-11)
502
+
503
+ #### 🩹 Bug fixes
504
+
505
+ - add missing Subscription.deref() return type hint ([0ae1243](https://github.com/thi-ng/umbrella/commit/0ae1243))
506
+
507
+ ### [2.3.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.3.2) (2019-04-02)
508
+
509
+ #### 🩹 Bug fixes
510
+
511
+ - fix [#80](https://github.com/thi-ng/umbrella/issues/80) update StreamSource alias ([f7b9fbd](https://github.com/thi-ng/umbrella/commit/f7b9fbd))
512
+ - stream source fns don't need to return StreamCancel
513
+
514
+ ## [2.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.3.0) (2019-03-21)
515
+
516
+ #### 🚀 Features
517
+
518
+ - update clock control for tween(), update docs ([65e9c44](https://github.com/thi-ng/umbrella/commit/65e9c44))
519
+
520
+ ### [2.2.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.2.2) (2019-03-10)
521
+
522
+ #### ♻️ Refactoring
523
+
524
+ - re-use type aliases from [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) ([0d2fdff](https://github.com/thi-ng/umbrella/commit/0d2fdff))
525
+
526
+ ### [2.2.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.2.1) (2019-03-05)
527
+
528
+ #### 🩹 Bug fixes
529
+
530
+ - add __owner info for MetaStream, update ISubscriber ([b5801e9](https://github.com/thi-ng/umbrella/commit/b5801e9))
531
+
532
+ ## [2.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.2.0) (2019-03-03)
533
+
534
+ #### 🚀 Features
535
+
536
+ - add tween() stream operator ([c74a2d0](https://github.com/thi-ng/umbrella/commit/c74a2d0))
537
+ - add CloseMode enum, update StreamMerge, StreamSync & opts ([f0d53b4](https://github.com/thi-ng/umbrella/commit/f0d53b4))
538
+
539
+ #### 🩹 Bug fixes
540
+
541
+ - update MetaStream unsub handling ([b2e6e6f](https://github.com/thi-ng/umbrella/commit/b2e6e6f))
542
+
543
+ ## [2.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.1.0) (2019-03-01)
544
+
545
+ #### 🚀 Features
546
+
547
+ - add metaStream() ([bc36005](https://github.com/thi-ng/umbrella/commit/bc36005))
548
+
549
+ # [2.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@2.0.0) (2019-01-21)
550
+
551
+ #### 🛑 Breaking changes
552
+
553
+ - update package scripts, outputs, imports in remaining packages ([f912a84](https://github.com/thi-ng/umbrella/commit/f912a84))
554
+ - BREAKING CHANGE: enable multi-outputs (ES6 modules, CJS, UMD)
555
+ - build scripts now first build ES6 modules in package root, then call
556
+ `scripts/bundle-module` to build minified CJS & UMD bundles in `/lib`
557
+ - all imports MUST be updated to only refer to package level
558
+ (not individual files anymore). tree shaking in user land will get rid of
559
+ all unused imported symbols
560
+
561
+ #### 🩹 Bug fixes
562
+
563
+ - disable __State reverse enum lookups ([b238a3a](https://github.com/thi-ng/umbrella/commit/b238a3a))
564
+ - avoid Subscription ctor to workaround parceljs build issue ([d1e275b](https://github.com/thi-ng/umbrella/commit/d1e275b))
565
+ - use `subscription()` factory instead of `new Subscription`
566
+ - solves issue w/ parcel's scope hoisting build flag
567
+
568
+ #### ♻️ Refactoring
569
+
570
+ - replace Subscription.NEXT_ID w/ nextID() util ([e201ca8](https://github.com/thi-ng/umbrella/commit/e201ca8))
571
+ - use arrow fns, update formatting ([6c3ea08](https://github.com/thi-ng/umbrella/commit/6c3ea08))
572
+
573
+ ## [1.14.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.14.0) (2018-11-24)
574
+
575
+ #### 🚀 Features
576
+
577
+ - add support multiple workers in Tunnel & TunnelOpts ([67a5b10](https://github.com/thi-ng/umbrella/commit/67a5b10))
578
+ - add StreamSync.getSources() / getSourceForID() ([ef0fe42](https://github.com/thi-ng/umbrella/commit/ef0fe42))
579
+ - add worker tunnel() sub ([4750e79](https://github.com/thi-ng/umbrella/commit/4750e79))
580
+
581
+ #### 🩹 Bug fixes
582
+
583
+ - make maxWorkers optional ([46c2882](https://github.com/thi-ng/umbrella/commit/46c2882))
584
+
585
+ #### ♻️ Refactoring
586
+
587
+ - move tunnel to /subs, add docs ([f24e69e](https://github.com/thi-ng/umbrella/commit/f24e69e))
588
+
589
+ ### [1.13.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.13.6) (2018-10-17)
590
+
591
+ #### ♻️ Refactoring
592
+
593
+ - update Infinity consts in various packages ([296e1e0](https://github.com/thi-ng/umbrella/commit/296e1e0))
594
+
595
+ ### [1.13.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.13.2) (2018-09-24)
596
+
597
+ #### ⏱ Performance improvements
598
+
599
+ - `State` => const enum ([7ac83c6](https://github.com/thi-ng/umbrella/commit/7ac83c6))
600
+ - export `__State` for reverse lookups
601
+
602
+ ## [1.13.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.13.0) (2018-09-22)
603
+
604
+ #### 🚀 Features
605
+
606
+ - add trigger() generics ([288b68d](https://github.com/thi-ng/umbrella/commit/288b68d))
607
+ - add trigger() utility stream ([929c6f4](https://github.com/thi-ng/umbrella/commit/929c6f4))
608
+
609
+ #### ♻️ Refactoring
610
+
611
+ - remove Stream.NEXT_ID, replace w/ Subscription field ([0dcc1b8](https://github.com/thi-ng/umbrella/commit/0dcc1b8))
612
+
613
+ ## [1.12.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.12.0) (2018-09-08)
614
+
615
+ #### 🚀 Features
616
+
617
+ - add merge-only mode for StreamSync, update docs ([162aa2d](https://github.com/thi-ng/umbrella/commit/162aa2d))
618
+ - add `mergeOnly` option to StreamSyncOpts
619
+
620
+ ### [1.11.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.11.6) (2018-08-27)
621
+
622
+ #### 🩹 Bug fixes
623
+
624
+ - Fix unbound this in method call expression ([34a97b4](https://github.com/thi-ng/umbrella/commit/34a97b4))
625
+
626
+ ### [1.11.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.11.3) (2018-08-24)
627
+
628
+ #### ♻️ Refactoring
629
+
630
+ - use SEMAPHORE from [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api), not transducers ([f3d4646](https://github.com/thi-ng/umbrella/commit/f3d4646))
631
+ - update StreamSync transducer init ([cd5c6ff](https://github.com/thi-ng/umbrella/commit/cd5c6ff))
632
+ - fix regression caused by breaking changes in [@thi.ng/transducers](https://github.com/thi-ng/umbrella/tree/main/packages/transducers)
633
+
634
+ ### [1.11.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.11.1) (2018-08-06)
635
+
636
+ #### 🩹 Bug fixes
637
+
638
+ - add generics for stream() ([378772f](https://github.com/thi-ng/umbrella/commit/378772f))
639
+
640
+ ## [1.11.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.11.0) (2018-08-03)
641
+
642
+ #### 🚀 Features
643
+
644
+ - add stream() & subscription() factories, add/update docs ([e97aac0](https://github.com/thi-ng/umbrella/commit/e97aac0))
645
+ - update StreamSync to use `reset: false` by default, update docs ([55499cc](https://github.com/thi-ng/umbrella/commit/55499cc))
646
+
647
+ ### [1.10.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.10.3) (2018-08-01)
648
+
649
+ #### ♻️ Refactoring
650
+
651
+ - cleanup imports ([0f7e82a](https://github.com/thi-ng/umbrella/commit/0f7e82a))
652
+
653
+ ## [1.10.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.10.0) (2018-07-20)
654
+
655
+ #### 🚀 Features
656
+
657
+ - add reset option for timeout() ([cd751fb](https://github.com/thi-ng/umbrella/commit/cd751fb))
658
+ - add tests
659
+ - update docs
660
+
661
+ #### ⏱ Performance improvements
662
+
663
+ - optimize dispatch if only single child ([a59c5c9](https://github.com/thi-ng/umbrella/commit/a59c5c9))
664
+ - replace Subscription.subs with array (was Set)
665
+ - update Subscription.dispatch()
666
+ - update call sites
667
+ - add tests
668
+
669
+ ### [1.9.7](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.9.7) (2018-07-19)
670
+
671
+ #### 🚀 Features
672
+
673
+ - Add a timeout() subscription ([aa55973](https://github.com/thi-ng/umbrella/commit/aa55973))
674
+
675
+ ### [1.9.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.9.6) (2018-07-16)
676
+
677
+ #### 🩹 Bug fixes
678
+
679
+ - emit first value immediately in fromInterval() ([9be2018](https://github.com/thi-ng/umbrella/commit/9be2018))
680
+ - previously first value was only emitted after `delay` ms
681
+
682
+ ### [1.9.3](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.9.3) (2018-07-09)
683
+
684
+ #### 🩹 Bug fixes
685
+
686
+ - Fix potential reference error in transduce() ([7f2d5dd](https://github.com/thi-ng/umbrella/commit/7f2d5dd))
687
+
688
+ ## [1.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.9.0) (2018-07-04)
689
+
690
+ #### 🚀 Features
691
+
692
+ - add support for event listener opts in `fromEvent()` ([d5ac264](https://github.com/thi-ng/umbrella/commit/d5ac264))
693
+
694
+ ### [1.8.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.8.1) (2018-07-03)
695
+
696
+ #### 🩹 Bug fixes
697
+
698
+ - unsubscribe on error in transduce() ([8c7d937](https://github.com/thi-ng/umbrella/commit/8c7d937))
699
+
700
+ ## [1.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.8.0) (2018-06-21)
701
+
702
+ #### 🚀 Features
703
+
704
+ - option to avoid auto-closing `fromInterval()`, add docs ([cc5b736](https://github.com/thi-ng/umbrella/commit/cc5b736))
705
+
706
+ ## [1.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.7.0) (2018-05-20)
707
+
708
+ #### 🚀 Features
709
+
710
+ - re-implement bisect() using PubSub, update tests ([846aaf9](https://github.com/thi-ng/umbrella/commit/846aaf9))
711
+ - update resolve(), update subscribe() overrides ([23fdd39](https://github.com/thi-ng/umbrella/commit/23fdd39))
712
+ - replace resolve() opt `id` arg w/ `ResolveOpts` object
713
+ - if `fail` option is given use as Promise failure handler instead of
714
+ calling `this.error()` and thereby stopping stream
715
+ - add new override for actual child `Subscription`s, fixes generics
716
+ - update `subscribe()` for Subscription, Stream, PubSub
717
+
718
+ #### 🩹 Bug fixes
719
+
720
+ - minor update PubSub topic fn return type ([cbc600e](https://github.com/thi-ng/umbrella/commit/cbc600e))
721
+
722
+ ### [1.6.6](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.6.6) (2018-05-10)
723
+
724
+ #### ♻️ Refactoring
725
+
726
+ - update deps & imports in all packages due to [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) split ([bc45636](https://github.com/thi-ng/umbrella/commit/bc45636))
727
+
728
+ ### [1.6.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.6.2) (2018-04-26)
729
+
730
+ #### ♻️ Refactoring
731
+
732
+ - update ISubscribable (add IDeref parent) ([76f00c3](https://github.com/thi-ng/umbrella/commit/76f00c3))
733
+
734
+ ### [1.6.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.6.1) (2018-04-25)
735
+
736
+ #### 🩹 Bug fixes
737
+
738
+ - minor fix StreamSync.addAll() ([cc286e1](https://github.com/thi-ng/umbrella/commit/cc286e1))
739
+
740
+ ## [1.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.6.0) (2018-04-24)
741
+
742
+ #### 🚀 Features
743
+
744
+ - add owner meta data & IDs for merge/sync inputs ([33f55b3](https://github.com/thi-ng/umbrella/commit/33f55b3))
745
+
746
+ #### ⏱ Performance improvements
747
+
748
+ - support (re)named StreamSync inputs ([b392817](https://github.com/thi-ng/umbrella/commit/b392817))
749
+ - update StreamSyncOpts
750
+ - allow objects as `src` option, use object keys as input IDs
751
+ - update `add()`, add optional ID arg
752
+ - add various maps to handle real vs. alias IDs
753
+
754
+ ## [1.5.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.5.0) (2018-04-20)
755
+
756
+ #### 🚀 Features
757
+
758
+ - allow arbitrary PubSub topic vals, add [@thi.ng/associative](https://github.com/thi-ng/umbrella/tree/main/packages/associative) dep ([ba10907](https://github.com/thi-ng/umbrella/commit/ba10907))
759
+ - use EquivMap for storing topics
760
+ - add/update tests
761
+ - add docs
762
+ - add PubSub, add ISubscribableSubscriber, remove cache() ([27a098d](https://github.com/thi-ng/umbrella/commit/27a098d))
763
+
764
+ ## [1.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.4.0) (2018-04-16)
765
+
766
+ #### 🚀 Features
767
+
768
+ - add StreamMerge/Sync.removeID() & removeAllIDs() ([8bcc287](https://github.com/thi-ng/umbrella/commit/8bcc287))
769
+ - update remove() & removeAll() to return boolean
770
+
771
+ ## [1.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.3.0) (2018-04-15)
772
+
773
+ #### 🚀 Features
774
+
775
+ - add Subscription.transform() ([2164ddf](https://github.com/thi-ng/umbrella/commit/2164ddf))
776
+
777
+ ### [1.2.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.2.4) (2018-04-05)
778
+
779
+ #### 🩹 Bug fixes
780
+
781
+ - correct wrong isString() import ([48310a6](https://github.com/thi-ng/umbrella/commit/48310a6))
782
+ - use [@thi.ng/checks](https://github.com/thi-ng/umbrella/tree/main/packages/checks)/is-string, not from node "util" package
783
+
784
+ ## [1.2.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.2.0) (2018-03-21)
785
+
786
+ #### 🚀 Features
787
+
788
+ - update error handling, add [@thi.ng/api](https://github.com/thi-ng/umbrella/tree/main/packages/api) dep ([1ce7054](https://github.com/thi-ng/umbrella/commit/1ce7054))
789
+
790
+ ## [1.1.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.1.0) (2018-03-21)
791
+
792
+ #### 🚀 Features
793
+
794
+ - add IDeref impl for Subscription ([907d599](https://github.com/thi-ng/umbrella/commit/907d599))
795
+ - add merge()/sync() ctor wrappers ([1fee7d5](https://github.com/thi-ng/umbrella/commit/1fee7d5))
796
+ - add transduce(), update re-exports ([eec56de](https://github.com/thi-ng/umbrella/commit/eec56de))
797
+ - Subscription stores last value and passes to new subs ([6b87bca](https://github.com/thi-ng/umbrella/commit/6b87bca))
798
+ - fix [#6](https://github.com/thi-ng/umbrella/issues/6) update StreamMerge to support transduced input streams ([8026409](https://github.com/thi-ng/umbrella/commit/8026409))
799
+ - any Subscription values (incl. Streams) sent by inputs are added
800
+ to the set of inputs themselves and not passed downstream
801
+ - add test case
802
+ - update Sidechain*.next(), add unsubscribe() ([d18a115](https://github.com/thi-ng/umbrella/commit/d18a115))
803
+ - don't throw errors in next() if state >= DONE
804
+ - unsub sidechain when unsubscribing SidechainPartition/Toggle itself
805
+ - add fromView(), update fromAtom() docs, update re-exports ([41bb385](https://github.com/thi-ng/umbrella/commit/41bb385))
806
+ - update Subscription.unsubscribe() ([01a751e](https://github.com/thi-ng/umbrella/commit/01a751e))
807
+ - switch to DONE state if unsubscribing itself from parent
808
+ - unsubscribe itself from parent after last child sub unsubscribed
809
+ (effect propagates upstream until no more parent)
810
+
811
+ #### 🩹 Bug fixes
812
+
813
+ - bisect() add downstream impl checks, add tests ([2ad2f48](https://github.com/thi-ng/umbrella/commit/2ad2f48))
814
+
815
+ #### ♻️ Refactoring
816
+
817
+ - simplify unsubscribe() logic ([26f15b2](https://github.com/thi-ng/umbrella/commit/26f15b2))
818
+ - add Subscription.cleanup()
819
+ - update unsub for Stream, Subscription, StreamMerge/Sync
820
+ - no more calling of done() as part of unsub process
821
+ (strictly unidirectional teardown from child -> parent)
822
+ - fix input unsubs for StreamMerge/Sync
823
+ - update & StreamMerge/SyncOpts, minor fixes StreamSync ([ebe222c](https://github.com/thi-ng/umbrella/commit/ebe222c))
824
+ - only allow arrays for sources
825
+ - pre-add/remove source IDs in StreamSync.addAll/removeAll()
826
+ - update mapVals() xform to use copies
827
+ - simplify Subscription, update all impls ([47b6a92](https://github.com/thi-ng/umbrella/commit/47b6a92))
828
+ - use Set for storing child subs
829
+ - update Stream, StreamMerge, StreamSync
830
+ - only clean sources in StreamMerge/Sync.unsubscribe()
831
+
832
+ ### [1.0.22](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.0.22) (2018-03-19)
833
+
834
+ #### 🚀 Features
835
+
836
+ - add StreamSync ([791a993](https://github.com/thi-ng/umbrella/commit/791a993))
837
+
838
+ #### ♻️ Refactoring
5
839
 
6
- ## [7.0.9](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@7.0.8...@thi.ng/rstream@7.0.9) (2021-11-10)
840
+ - simplify StreamMerge source handling ([ff802a4](https://github.com/thi-ng/umbrella/commit/ff802a4))
841
+ - minor cleanup/perf StreamSync ([f7029ef](https://github.com/thi-ng/umbrella/commit/f7029ef))
842
+ - add/update Stream ctor arities ([c736433](https://github.com/thi-ng/umbrella/commit/c736433))
7
843
 
8
- **Note:** Version bump only for package @thi.ng/rstream
844
+ # [1.0.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@1.0.0) (2018-02-18)
9
845
 
846
+ #### 🛑 Breaking changes
10
847
 
848
+ - fix [#8](https://github.com/thi-ng/umbrella/issues/8), support infinite StreamMerge's, update ctor ([4942e2e](https://github.com/thi-ng/umbrella/commit/4942e2e))
849
+ - BREAKING CHANGE: StreamMerge ctor now accepts an options object
850
+ only (`StreamMergeOpts`).
11
851
 
852
+ #### ♻️ Refactoring
12
853
 
854
+ - don't throw in unsubscribe() if no parent ([ca1caae](https://github.com/thi-ng/umbrella/commit/ca1caae))
13
855
 
14
- ## [7.0.8](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@7.0.7...@thi.ng/rstream@7.0.8) (2021-11-03)
856
+ ## [0.9.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.9.0) (2018-02-01)
15
857
 
16
- **Note:** Version bump only for package @thi.ng/rstream
858
+ #### 🚀 Features
17
859
 
860
+ - add Cache subscription class ([ea638be](https://github.com/thi-ng/umbrella/commit/ea638be))
18
861
 
862
+ ### [0.8.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.8.1) (2018-01-31)
19
863
 
864
+ #### 🩹 Bug fixes
20
865
 
866
+ - subscription unhandled error handling ([54cd526](https://github.com/thi-ng/umbrella/commit/54cd526))
867
+ - track if any child subs have received error, if not treat as unhandled
868
+ and unsub current sub from parent (if any)
21
869
 
22
- # [7.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.21...@thi.ng/rstream@7.0.0) (2021-10-12)
870
+ ## [0.8.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.8.0) (2018-01-31)
23
871
 
872
+ #### 🚀 Features
24
873
 
25
- ### Build System
874
+ - add changed predicate for fromAtom(), add tests ([d58cf70](https://github.com/thi-ng/umbrella/commit/d58cf70))
26
875
 
27
- * major update of ALL pkgs (export maps, ESM only) ([0d1d6ea](https://github.com/thi-ng/umbrella/commit/0d1d6ea9fab2a645d6c5f2bf2591459b939c09b6))
876
+ ### [0.7.4](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.7.4) (2018-01-29)
28
877
 
878
+ #### 🩹 Bug fixes
29
879
 
30
- ### BREAKING CHANGES
880
+ - fatal recursion w/ error handling ([382aa05](https://github.com/thi-ng/umbrella/commit/382aa05))
881
+ - use Subscription.dispatch() only for next() calls, wrapped in try..catch
882
+ - update Subscription.error() & done() to call children WITHOUT try...catch
883
+ - revert obsolete test timeout adjustment
31
884
 
32
- * discontinue CommonJS & UMD versions
885
+ ### [0.7.2](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.7.2) (2018-01-29)
33
886
 
34
- - only ESM modules will be published from now on
35
- - CJS obsolete due to ESM support in recent versions of node:
36
- - i.e. launch NodeJS via:
37
- - `node --experimental-specifier-resolution=node --experimental-repl-await`
38
- - in the node REPL use `await import(...)` instead of `require()`
39
- - UMD obsolete due to widespread browser support for ESM
887
+ #### 🩹 Bug fixes
40
888
 
41
- Also:
42
- - normalize/restructure/reorg all package.json files
43
- - cleanup all build scripts, remove obsolete
44
- - switch from mocha to @thi.ng/testament for all tests
889
+ - fix [#1](https://github.com/thi-ng/umbrella/issues/1) update fromPromise(), add test ([822b297](https://github.com/thi-ng/umbrella/commit/822b297))
890
+ - add catch() outside stream source to catch errors before 1st sub is active
45
891
 
892
+ ## [0.7.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.7.0) (2018-01-29)
46
893
 
894
+ #### 🚀 Features
47
895
 
896
+ - add atom dep, add fromAtom() & docs ([ca3994a](https://github.com/thi-ng/umbrella/commit/ca3994a))
897
+ - add fromPromises(), add docs ([55ba0e1](https://github.com/thi-ng/umbrella/commit/55ba0e1))
898
+ - add trace() error handler ([2247f72](https://github.com/thi-ng/umbrella/commit/2247f72))
48
899
 
900
+ ## [0.6.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.6.0) (2018-01-28)
49
901
 
902
+ #### 🚀 Features
50
903
 
51
- ## [6.0.14](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@6.0.13...@thi.ng/rstream@6.0.14) (2021-08-08)
904
+ - add new package, remove CSP dep from rstream ([e37f6a1](https://github.com/thi-ng/umbrella/commit/e37f6a1))
52
905
 
53
- ### Bug Fixes
906
+ ## [0.4.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.4.0) (2018-01-25)
54
907
 
55
- - **rstream:** fix [#305](https://github.com/thi-ng/umbrella/issues/305), metaStream() factory arg type ([2bc7bff](https://github.com/thi-ng/umbrella/commit/2bc7bff2eff9331d3a52830d0275d47fc7c59e78))
908
+ #### 🚀 Features
56
909
 
57
- # [6.0.0](https://github.com/thi-ng/umbrella/compare/@thi.ng/rstream@5.1.7...@thi.ng/rstream@6.0.0) (2021-03-12)
910
+ - add sidechainToggle(), minor update sidechainPartition() ([f6ca3f3](https://github.com/thi-ng/umbrella/commit/f6ca3f3))
58
911
 
59
- ### Bug Fixes
912
+ ## [0.3.0](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.3.0) (2018-01-25)
60
913
 
61
- - **rstream:** fix wrong imports ([ae4866a](https://github.com/thi-ng/umbrella/commit/ae4866adb52800af4dee30392d8482befd8a9435))
62
- - **rstream:** minor update/revert sub ctor args ([c651421](https://github.com/thi-ng/umbrella/commit/c651421e7809df1a37103628e54d3e21161e8c0a))
63
- - **rstream:** PubSub dispatch & error handling ([cca0f34](https://github.com/thi-ng/umbrella/commit/cca0f34568c9e1a6c30a6a423e7469a477e5a76d))
64
- - **rstream:** update failing tests ([ae591a1](https://github.com/thi-ng/umbrella/commit/ae591a1a8a8647768d38b783c094ae1bbe94a278))
914
+ #### 🚀 Features
65
915
 
66
- ### Features
916
+ - add fromRAF() fallback for node, add docs ([4e5a2ee](https://github.com/thi-ng/umbrella/commit/4e5a2ee))
67
917
 
68
- - **rstream:** [#281](https://github.com/thi-ng/umbrella/issues/281) update Subscription error/teardown logic ([a9e4040](https://github.com/thi-ng/umbrella/commit/a9e40407d0c0ec4e3ffdd3983d70a9e40aec2356))
69
- - **rstream:** add .transform() error handler opt ([#276](https://github.com/thi-ng/umbrella/issues/276)) ([22c6f7c](https://github.com/thi-ng/umbrella/commit/22c6f7cb25516359690811c39a184b0e9838ea02))
70
- - **rstream:** add generic type for PubSub topics ([08adc5f](https://github.com/thi-ng/umbrella/commit/08adc5f2f6c719cdda0a8eb4e5548bf6c5c1cf75))
71
- - **rstream:** add ISubscription interface ([98edee0](https://github.com/thi-ng/umbrella/commit/98edee0bc84763547a1c06394d78456565fbc9de))
72
- - **rstream:** add PubSub.transformTopic() ([123e15d](https://github.com/thi-ng/umbrella/commit/123e15d84557990c682ed80f9f97eafe94c09b43))
73
- - **rstream:** add sidechainPartitionRAF() ([a101626](https://github.com/thi-ng/umbrella/commit/a10162625836d5392199d34149c281f9cc47a572))
74
- - **rstream:** add StreamSource error handling ([73023b6](https://github.com/thi-ng/umbrella/commit/73023b6979dd0cf4b95c6d072bfbda8c12ba9438))
75
- - **rstream:** add Sub2 WIP impl ([de4149b](https://github.com/thi-ng/umbrella/commit/de4149bc0504c4be9faef8b467eee74ecf9caa05))
76
- - **rstream:** further simplify ISubscribable & impls ([9e290fe](https://github.com/thi-ng/umbrella/commit/9e290fe2e3813d0096eacd28d700f9000155bc5e))
77
- - **rstream:** log error to console ([594d806](https://github.com/thi-ng/umbrella/commit/594d806fbc2176d3458d80e390baa0cb4b0d7b60)), closes [#125](https://github.com/thi-ng/umbrella/issues/125) [#276](https://github.com/thi-ng/umbrella/issues/276)
78
- - **rstream:** update DONE state & teardown logic ([a8a8c44](https://github.com/thi-ng/umbrella/commit/a8a8c44ed8a42b91f92fe9040cb1ce28b17113e7))
79
- - **rstream:** update error handler sig ([#281](https://github.com/thi-ng/umbrella/issues/281)) ([015380a](https://github.com/thi-ng/umbrella/commit/015380ac20e342f83757556e158320e23a42502a))
80
- - **rstream:** update ITransformable.transform() ([fe0eaa9](https://github.com/thi-ng/umbrella/commit/fe0eaa9f145d627dce67acfe2650c38222121ad1))
81
- - **rstream:** update PubSub ([fa87168](https://github.com/thi-ng/umbrella/commit/fa87168ffbb683aed495b7786a4d100510d29c04))
82
- - **rstream:** update Sub2, State enum ([db0ab34](https://github.com/thi-ng/umbrella/commit/db0ab34fcea8869d9c85c51f5faacf1e1f6bb0ec))
83
- - **rstream:** update Subscription FSM, add/update tests ([ea1d0c1](https://github.com/thi-ng/umbrella/commit/ea1d0c1fe2132cf00e2f2851cb770007a5965c13))
918
+ #### 🩹 Bug fixes
84
919
 
85
- ### Performance Improvements
920
+ - don't throw resolve() error, only warning msg ([eef65b9](https://github.com/thi-ng/umbrella/commit/eef65b9))
921
+ - subscription generics if transducer is used ([592a242](https://github.com/thi-ng/umbrella/commit/592a242))
86
922
 
87
- - **rstream:** revert to storing child subs in array ([014bf20](https://github.com/thi-ng/umbrella/commit/014bf20ee3fdfa31377a08eaa5dc8fe211cadeac))
923
+ ### [0.2.1](https://github.com/thi-ng/umbrella/tree/@thi.ng/rstream@0.2.1) (2018-01-24)
88
924
 
89
- ### BREAKING CHANGES
925
+ #### 🚀 Features
90
926
 
91
- - **rstream:** remove `.subscribe(sub, xform, opts)` signature. Transducer now supplied via `xform` key in `opts` (or use `.transform()` instead of `.subscribe()`)
927
+ - initial re-import as monorepo, update readme files, cleanup imports ([04ff6e9](https://github.com/thi-ng/umbrella/commit/04ff6e9))