Skip to content

Latest commit

 

History

History
1052 lines (689 loc) · 45.6 KB

CHANGELOG.md

File metadata and controls

1052 lines (689 loc) · 45.6 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

Note: Unlisted patch versions only involve non-code or otherwise excluded changes and/or version bumps of transitive dependencies.

9.0.0 (2024-08-20)

🛑 Breaking changes

  • replace CloseMode enum w/ string union type (33b1d16)
  • BREAKING CHANGE: replace CloseMode enum w/ string union type
    • this simplifies all usage sites, now only using (and removing obsolete enum import):
      • CloseMode.FIRST => "first"
      • CloseMode.LAST => "last"
      • CloseMode.NEVER => "never"
    • update docs & all sites

8.5.0 (2024-05-08)

🚀 Features

  • add rdom-klist example project, update readmes (cd458ac)
  • add rdom-klist example project, update readmes (531437f)

8.4.1 (2024-04-20)

♻️ Refactoring

8.4.0 (2024-04-11)

🚀 Features

  • add fromAsync() / asAsync() converters & tests (df57056)

8.3.20 (2024-04-08)

♻️ Refactoring

8.3.6 (2024-02-22)

♻️ Refactoring

  • update all node:* imports (c71a526)

8.3.3 (2024-02-16)

♻️ Refactoring

8.3.0 (2024-02-06)

🚀 Features

  • update fromRAF() & opts (27f4cde)
    • update timestamp handling/opts

8.2.8 (2023-11-09)

♻️ Refactoring

  • update all tests (packages A-S) (e3085e4)

8.2.0 (2023-10-18)

🚀 Features

  • add EventOpts, update fromEvent()/fromDOMEvent() (49e5143)

8.1.0 (2023-08-22)

🚀 Features

  • add toggle(), update readme (1d6d661)

8.0.0 (2023-04-08)

🛑 Breaking changes

  • simplify/unify sidechain API (5e90431)
  • BREAKING CHANGE: simplify/unify sidechain subscription API
    • update sidechainPartition/Toggle/Trigger() to take src sub as 1st arg
      • old: src.subscribe(sidechainXXX(side))...
      • new: sidechainXXX(src, side)
    • update docs
    • update tests

🚀 Features

  • add syncRAF() (3c17520)
    • add SyncRAF class and syncRAF() factory
    • deprecate sidechainPartitionRAF()
    • add tests
  • add sidechainTrigger() (3d2b56d)
  • add timestamp support for fromRAF() (a2b8629)
    • add FromRAFOpts
    • update docs

🩹 Bug fixes

  • fix opts handling in syncRAF() & fromView() (baa8878)

♻️ Refactoring

  • update KeyStreams type (1dd60e9)
    • switch value types Subscription => ISubscription
  • minor update sidechainPartition/Toggle() (c3ffd38)

7.2.46 (2023-03-27)

♻️ Refactoring

7.2.31 (2022-12-16)

🩹 Bug fixes

  • (TS4.9 regression) update defWorker(), add explicit typehint (bce5df7)

7.2.7 (2022-06-09)

♻️ Refactoring

  • various (minor) TS4.7 related updates/fixes (9d9ecae)

7.2.0 (2021-11-21)

🚀 Features

  • update defWorker() arg types (e07521e)
    • add WorkerSource type alias
    • add support for zero-arg fns returning a worker instance
      • helps v. much with Vite's xxx?worker imports
      • see /examples/mandelbrot for usage

7.1.1 (2021-11-19)

🩹 Bug fixes

  • add note about Awaited type sig (1c82afa7e) (efd8647)

7.1.0 (2021-11-17)

🚀 Features

  • add fromNodeJS/linesFromNodeJS() (d56026d)
    • add NodeJS stream adapter bridges
    • update readme
  • Using workspaces for local tools (bf7a404) Improving the overall build ergonomics
    • introduced a tools workspaces
    • imported it in all needed packages/examples
    • inclusive project root

♻️ Refactoring

  • testrunner to binary (4ebbbb2) this commit reverts (partly) changes made in: ef346d7a8753590dc9094108a3d861a8dbd5dd2c overall purpose is better testament ergonomics: instead of having to pass NODE_OPTIONS with every invocation having a binary to handle this for us.

7.0.9 (2021-11-10)

♻️ Refactoring

  • update all countdown loops (a5f374b)

7.0.1 (2021-10-13)

♻️ Refactoring

  • update imports in all pkgs (5fa2b6f)
    • add .js suffix for all relative imports
  • update imports in all tests/pkgs (effd591)

7.0.0 (2021-10-12)

🛑 Breaking changes

  • major update of ALL pkgs (export maps, ESM only) (0d1d6ea)
  • BREAKING CHANGE: discontinue CommonJS & UMD versions
    • only ESM modules will be published from now on
    • CJS obsolete due to ESM support in recent versions of node:
      • i.e. launch NodeJS via:
      • node --experimental-specifier-resolution=node --experimental-repl-await
      • in the node REPL use await import(...) instead of require()
    • UMD obsolete due to widespread browser support for ESM Also:
    • normalize/restructure/reorg all package.json files
    • cleanup all build scripts, remove obsolete
    • switch from mocha to @thi.ng/testament for all tests

♻️ Refactoring

  • update all tests in all pkgs (8b582bc)
  • update imports (138571a)
  • update imports (transducers) (7fc60cd)
  • update deps & imports in various pkgs (e1cf29e)
    • largely related to recent updates/restructuring of these packages:
      • api
      • defmulti
      • errors
      • logger
  • major pkg restructure (831c113)
    • flatten /src folder for easier imports in userland
    • move logging from api.ts => logger.ts
    • rename internal helpers (__nextID, __optsWithID, defWorker, ...)
    • update imports
  • dedupe removeAllIDs() impls (57e57cc)

6.0.14 (2021-08-08)

🩹 Bug fixes

  • fix #305, metaStream() factory arg type (2bc7bff)
    • add test case

6.0.0 (2021-03-12)

🛑 Breaking changes

  • add .transform() error handler opt (#276) (22c6f7c)
  • BREAKING CHANGE: update ISubscribable contract, remove transducer only version of .subscribe(), MUST provide dummy sub w/ transducer OR (better) use .transform() instead (which also more clearly communicates intention...)
    • another breaking change side effect for .subscribe(): next() handlers MUST be provided now in first arg (child sub), this is NOT because they're mandatory now, but TS won't be able to correctly infer arg types when using Partial<ISubscriber<T>>
    • add DUMMY subscriber constant w/ empty next() {}
    • simplify internal .subscribe() logic
    • add WithErrorHandlerOpts interface
    • update .transform() & .map(): add error handling support
  • add PubSub.transformTopic() (123e15d)
  • BREAKING CHANGE: replace transducer only version of PubSub.subscribeTopic() with new .transformTopic(). Similarly to 22c6f7cb2, .subscribeTopic() subs also need to provide at least a next key (for typechecking only)
    • add .transformTopic() w/ opt error handling support
    • TODO multi-transducer overrides for .transformTopic()
  • further simplify ISubscribable & impls (9e290fe)
  • BREAKING CHANGE: remove .subscribe(sub, xform, opts) signature. Transducer now supplied via xform key in opts (or use .transform() instead of .subscribe())
    • further simplify Subscription.subscribe() / .transform()
    • update Subscription ctor args
    • make .subscribe() child subs partial again
    • remove temporary & obsolete again DUMMY subscriber
    • add docs
    • update tests

🚀 Features

  • log error to console (594d806)
    • update Subscription.error() and ensure error is at least written to console, even if the default NULL_LOGGER is used
    • addresses #125, #276
  • update ITransformable.transform() (fe0eaa9)
    • add new transform() override to supply transducer as part of options arg
    • update/fix opts arg type in other transform() versions
    • add WithTransform, WithErrorHandler interfaces
    • update TransformableOpts, WithErrorHandlerOpts
  • add generic type for PubSub topics (08adc5f)
    • update PubSub, PubSubOpts w/ new generic for topic types (default: any)
  • add ISubscription interface (98edee0)
    • replaces obsolete ISubscribableSubscriber
  • update PubSub (fa87168)
    • update PubSub generics
    • update .subscribeTopic() opts to use TransformableOpts
  • add sidechainPartitionRAF() (a101626)
  • update error handler sig (#281) (015380a)
    • add ErrorHandler type, update to return boolean
    • update ISubscribable, ITransformable to only refer to ISubscription interface (rather than Subscription class itself)
    • refactor Subscription.next(), add .dispatchXform()
    • update various error handlers (add return values)
    • update tests
  • add Sub2 WIP impl (de4149b)
  • update Sub2, State enum (db0ab34)
    • add State.UNSUBSCRIBED
    • add missing Sub2.done() handling
    • add Sub2.map()
    • refactor Sub2 value/phase dispatch logic
    • add logging
  • #281 update Subscription error/teardown logic (a9e4040)
    • replace old Subscription class w/ what was recently Sub2 (removed)
    • update/fix done(), subscribe()/unsubscribe() logic
    • update related constructs (Stream, StreamSync, MetaStream, etc.)
    • update Stream ctor (and factory fns) to support error handler opts arg
    • update Timeout error dispatch
    • fix typehints
  • update DONE state & teardown logic (a8a8c44)
    • DONE state now only valid during depth-first stage of .done()
    • state switches to UNSUBSCRIBED during recursive teardown (unless ERROR)
    • update tests
  • add StreamSource error handling (73023b6)
    • update stream() opts arg type
    • update Stream.subscribe() to use opt error handler to deal w/ errors during execution of stream source function
    • add test
  • update Subscription FSM, add/update tests (ea1d0c1)
    • add state check in .subscribe()
    • set both parent & child sub to ACTIVE

🩹 Bug fixes

  • minor update/revert sub ctor args (c651421)
  • fix wrong imports (ae4866a)
  • PubSub dispatch & error handling (cca0f34)
    • store last received value (if caching enabled)
    • update error handler logic
  • update failing tests (ae591a1)

⏱ Performance improvements

  • revert to storing child subs in array (014bf20)

♻️ Refactoring

  • update types/generics (c982288)
    • remove default generics from ISubscription due to inference troubles
    • add ITransformable.map()
    • fix unsubscribe() arg types in various classes
    • update tests (generics only)

5.1.2 (2021-02-22)

🩹 Bug fixes

  • add auto IDs for bisect/debounce() (89b1def)

5.1.0 (2021-01-22)

🚀 Features

  • add CommonOpts for .map() (6324123)

5.0.10 (2020-12-07)

♻️ Refactoring

  • update type-only imports in various tests/pkgs (3fd9c24)
  • update type-only imports (cdf5d62)

5.0.5 (2020-09-22)

♻️ Refactoring

  • add isFirstOrLastInput(), update StreamMerge/Sync (ebab5a0)

5.0.4 (2020-09-13)

🩹 Bug fixes

  • update PubSub.subscribeTopic(), fix #248 (3e2240a)
    • use CloseMode.NEVER for internal topic subs

♻️ Refactoring

5.0.3 (2020-08-28)

♻️ Refactoring

  • update delete op (TS4.0) (cef8674)

5.0.0 (2020-07-28)

🛑 Breaking changes

  • fix/update StreamSync type inference (c9d983d)
  • BREAKING CHANGE: better StreamSync generics handling/inference & updated StreamSyncOpts
    • src opt (input sources) MUST be given as object now (specifying inputs as array not supported anymore, use autoObj() from transducers package to convert array into auto-labeled object)
    • update StreamSync inference rules to better determine result type
    • simplify .addAll()
    • generics now usually don't need to manually be specified anymore (with some exceptions)
    • update tests

♻️ Refactoring

  • add opts arg for trigger() (32340f0)
  • update forkJoin() & tween() impls (StreamSync) (08ca3e1)
  • update StreamSync generics & args (0a182b0)
  • update StreamMerge method args (da648af)

4.6.0 (2020-07-08)

🚀 Features

  • add Subscription.map() syntax sugar (a00485e)

4.5.0 (2020-07-02)

🚀 Features

  • add reactive(), update readme (e508faa)

4.4.0 (2020-06-14)

🚀 Features

  • add error handling for transducer phase (609424e)
    • update Subscription.next()
    • update transduce()
  • add emitLast metastream option (1073735)
  • add debounce() sub & tests (9c53bb4)

4.3.1 (2020-05-16)

🩹 Bug fixes

  • initial default val handling in fromObject() (25117e3)
    • defaults now applied to initial seed values (if enabled)
    • update tests

4.3.0 (2020-05-16)

🚀 Features

  • extend fromObject() features/opts (975f74c)
    • add support for default values, dedupe, equiv predicate

4.2.0 (2020-05-15)

🚀 Features

  • add fromObject(), add docs & tests (5e854eb)
  • update fromObject(), add StreamObjOpts, update docs (f3ca3b6)

4.1.0 (2020-05-14)

🚀 Features

  • #221, update StreamSync input removal (52ee040)
    • add StreamSyncOpts.clean option (disabled by default)
    • add support for cleaning result tuple when removing inputs
    • update input add/removal ops to use new partitionSync() hooks
    • add/update tests

♻️ Refactoring

  • update opts handling (TS3.9) (ba76da6)

4.0.8 (2020-05-03)

🩹 Bug fixes

  • MetaStream close mode handling (2d9e907)
    • never go into DONE state if closeIn == CloseMode.NEVER
    • fix/update unsubscribe() & pass arg
    • update detach() to consider closeOut mode
    • add tests

4.0.7 (2020-04-28)

🩹 Bug fixes

  • subscribe() w/ xform, add test (20ce586)
    • fixes .subscribe(sub, xform) where child sub was an actual instance of Subscription and the given xform transducer was silently ignored in that case...
    • add test

4.0.3 (2020-04-06)

🩹 Bug fixes

  • fix Subscription.subscribe() (2a7f6ad)
    • check if opts arg given, but nullish
    • fixes PubSub.subscribeTopic(id, xform) version, which would wrongly infer xform as subscriber instead of transducer
    • add tests
    • update readme

4.0.2 (2020-04-05)

♻️ Refactoring

  • switch to non-const enums (1f6221d)

4.0.0 (2020-03-28)

🛑 Breaking changes

  • update/rename fromView() (f5df4ab)
  • BREAKING CHANGE: update/rename fromView(), add fromViewUnsafe()
    • fromView() now performs type checking on given path and/or view transform
    • existing fromView() renamed to fromViewUnsafe() (this is in line w/ related updates in @thi.ng/atom & @thi.ng/paths pkgs)

♻️ Refactoring

  • update fromView() & options (7565448)
  • update fromView value type inference (ba20557)

3.0.3 (2020-02-25)

♻️ Refactoring

  • fix #201, extract ASidechain (b88fa04)
    • extract abstract ASidechain base class
    • update SidechainPartition/Toggle classes
  • update imports (d529e86)

3.0.0 (2019-11-30)

🛑 Breaking changes

  • update args for various fromXXX() stream factories (b466ebc)
    • add types for options objects
    • update tests
  • BREAKING CHANGE: update stream factories to use options object args
    • fromAtom
    • fromInterval
    • fromIterable
    • fromView
    • fromWorker
  • update readme (4ecdbf9)
  • BREAKING CHANGE: document new stream/sub config opts in readme

🚀 Features

  • update sidechainPartition/Toggle and timeout (898eb53)
    • use options objects for args
    • update tests
  • add CommonOpts support for ISubscribable & ITransformable (0a70b90)

♻️ Refactoring

2.5.5 (2019-09-21)

🚀 Features

  • add ITransformable interface, minor updates (da52b98)
  • add forkJoin() parallel worker processing (da03722)
  • add back pressure opts to StreamSyncOpts & ForkJoinOpts (e236987)
  • add forkBuffer/joinBuffer HOFs, add docs (a35c8e8)
  • add/update fork/joinBuffer generics, optimize (8f0c55c)
  • add Subscription.done() error handling (c911006)
  • update Stream cancel & reset behavior for CloseMode.NEVER (250dfe1)
    • don't call cancel() if closeOut is CloseMODE.NEVER
    • only initialize stream once and don't re-init on 1st re-sub after all other subs have left

🩹 Bug fixes

  • update StreamSync.remove(), refactor ctor (d5fd4b4)
    • remove ID from invRealSourceIDs
    • update ctor xform init, avoid one level of comp() if opts.xform given

2.5.4 (2019-08-21)

🚀 Features

  • initial work on #74, #81, #91, #92, add stream opts (e770469)
    • add CommonOpts, TransformableOpts, SubscriptionOpts
    • update all ctors & factory fns to accepts options arg
    • fix #81 (only keep last received value if cache option enabled)
    • check from closeOut mode and possibly keep stream alive after all current subscribers have left (#74)
    • update tests (but need to add various new ones)
    • add optsWithID() helper to inject ID option if needed

🩹 Bug fixes

  • add missing timeout() re-export (7062332)

♻️ Refactoring

  • add/update optsWithID() handling (f0d7f87)

2.5.3 (2019-08-16)

🩹 Bug fixes

2.5.0 (2019-07-07)

🚀 Features

  • enable TS strict compiler flags (refactor) (d796e21)
  • add fromDOMEvent() (6e3fec8)

🩹 Bug fixes

  • TS strictNullChecks, add assertions (1aad856)
  • generics & type hints (TS 3.5.2) (eb2e18a)

2.4.2 (2019-04-24)

♻️ Refactoring

  • replace DEBUG w/ LOGGER impl, add setLogger() (8587989)

2.4.0 (2019-04-11)

🚀 Features

2.3.8 (2019-04-11)

🩹 Bug fixes

  • add missing Subscription.deref() return type hint (0ae1243)

2.3.2 (2019-04-02)

🩹 Bug fixes

  • fix #80 update StreamSource alias (f7b9fbd)
    • stream source fns don't need to return StreamCancel

2.3.0 (2019-03-21)

🚀 Features

  • update clock control for tween(), update docs (65e9c44)

2.2.2 (2019-03-10)

♻️ Refactoring

2.2.1 (2019-03-05)

🩹 Bug fixes

  • add __owner info for MetaStream, update ISubscriber (b5801e9)

2.2.0 (2019-03-03)

🚀 Features

  • add CloseMode enum, update StreamMerge, StreamSync & opts (f0d53b4)
  • add tween() stream operator (c74a2d0)

🩹 Bug fixes

  • update MetaStream unsub handling (b2e6e6f)

2.1.0 (2019-03-01)

🚀 Features

2.0.0 (2019-01-21)

🛑 Breaking changes

  • update package scripts, outputs, imports in remaining packages (f912a84)
  • BREAKING CHANGE: enable multi-outputs (ES6 modules, CJS, UMD)
    • build scripts now first build ES6 modules in package root, then call scripts/bundle-module to build minified CJS & UMD bundles in /lib
    • all imports MUST be updated to only refer to package level (not individual files anymore). tree shaking in user land will get rid of all unused imported symbols

🩹 Bug fixes

  • avoid Subscription ctor to workaround parceljs build issue (d1e275b)
    • use subscription() factory instead of new Subscription
    • solves issue w/ parcel's scope hoisting build flag
  • disable __State reverse enum lookups (b238a3a)

♻️ Refactoring

  • use arrow fns, update formatting (6c3ea08)
  • replace Subscription.NEXT_ID w/ nextID() util (e201ca8)

1.14.0 (2018-11-24)

🚀 Features

  • add worker tunnel() sub (4750e79)
  • add StreamSync.getSources() / getSourceForID() (ef0fe42)
  • add support multiple workers in Tunnel & TunnelOpts (67a5b10)

🩹 Bug fixes

  • make maxWorkers optional (46c2882)

♻️ Refactoring

  • move tunnel to /subs, add docs (f24e69e)

1.13.6 (2018-10-17)

♻️ Refactoring

  • update Infinity consts in various packages (296e1e0)

1.13.2 (2018-09-24)

⏱ Performance improvements

  • State => const enum (7ac83c6)
    • export __State for reverse lookups

1.13.0 (2018-09-22)

🚀 Features

  • add trigger() utility stream (929c6f4)
  • add trigger() generics (288b68d)

♻️ Refactoring

  • remove Stream.NEXT_ID, replace w/ Subscription field (0dcc1b8)

1.12.0 (2018-09-08)

🚀 Features

  • add merge-only mode for StreamSync, update docs (162aa2d)
    • add mergeOnly option to StreamSyncOpts

1.11.6 (2018-08-27)

🩹 Bug fixes

  • Fix unbound this in method call expression (34a97b4)

1.11.3 (2018-08-24)

♻️ Refactoring

1.11.1 (2018-08-06)

🩹 Bug fixes

  • add generics for stream() (378772f)

1.11.0 (2018-08-03)

🚀 Features

  • update StreamSync to use reset: false by default, update docs (55499cc)
  • add stream() & subscription() factories, add/update docs (e97aac0)

1.10.3 (2018-08-01)

♻️ Refactoring

1.10.0 (2018-07-20)

🚀 Features

  • add reset option for timeout() (cd751fb)
    • add tests
    • update docs

⏱ Performance improvements

  • optimize dispatch if only single child (a59c5c9)
    • replace Subscription.subs with array (was Set)
    • update Subscription.dispatch()
    • update call sites
    • add tests

1.9.7 (2018-07-19)

🚀 Features

  • Add a timeout() subscription (aa55973)

1.9.6 (2018-07-16)

🩹 Bug fixes

  • emit first value immediately in fromInterval() (9be2018)
    • previously first value was only emitted after delay ms

1.9.3 (2018-07-09)

🩹 Bug fixes

  • Fix potential reference error in transduce() (7f2d5dd)

1.9.0 (2018-07-04)

🚀 Features

  • add support for event listener opts in fromEvent() (d5ac264)

1.8.1 (2018-07-03)

🩹 Bug fixes

  • unsubscribe on error in transduce() (8c7d937)

1.8.0 (2018-06-21)

🚀 Features

  • option to avoid auto-closing fromInterval(), add docs (cc5b736)

1.7.0 (2018-05-20)

🚀 Features

  • update resolve(), update subscribe() overrides (23fdd39)
    • replace resolve() opt id arg w/ ResolveOpts object
    • if fail option is given use as Promise failure handler instead of calling this.error() and thereby stopping stream
    • add new override for actual child Subscriptions, fixes generics
    • update subscribe() for Subscription, Stream, PubSub
  • re-implement bisect() using PubSub, update tests (846aaf9)

🩹 Bug fixes

  • minor update PubSub topic fn return type (cbc600e)

1.6.6 (2018-05-10)

♻️ Refactoring

1.6.2 (2018-04-26)

♻️ Refactoring

  • update ISubscribable (add IDeref parent) (76f00c3)

1.6.1 (2018-04-25)

🩹 Bug fixes

  • minor fix StreamSync.addAll() (cc286e1)

1.6.0 (2018-04-24)

🚀 Features

  • add owner meta data & IDs for merge/sync inputs (33f55b3)

⏱ Performance improvements

  • support (re)named StreamSync inputs (b392817)
    • update StreamSyncOpts
    • allow objects as src option, use object keys as input IDs
    • update add(), add optional ID arg
    • add various maps to handle real vs. alias IDs

1.5.0 (2018-04-20)

🚀 Features

  • add PubSub, add ISubscribableSubscriber, remove cache() (27a098d)
  • allow arbitrary PubSub topic vals, add @thi.ng/associative dep (ba10907)
    • use EquivMap for storing topics
    • add/update tests
    • add docs

1.4.0 (2018-04-16)

🚀 Features

  • add StreamMerge/Sync.removeID() & removeAllIDs() (8bcc287)
    • update remove() & removeAll() to return boolean

1.3.0 (2018-04-15)

🚀 Features

  • add Subscription.transform() (2164ddf)

1.2.4 (2018-04-05)

🩹 Bug fixes

1.2.0 (2018-03-21)

🚀 Features

1.1.0 (2018-03-21)

🚀 Features

  • update Subscription.unsubscribe() (01a751e)
    • switch to DONE state if unsubscribing itself from parent
    • unsubscribe itself from parent after last child sub unsubscribed (effect propagates upstream until no more parent)
  • add fromView(), update fromAtom() docs, update re-exports (41bb385)
  • update Sidechain*.next(), add unsubscribe() (d18a115)
    • don't throw errors in next() if state >= DONE
    • unsub sidechain when unsubscribing SidechainPartition/Toggle itself
  • fix #6 update StreamMerge to support transduced input streams (8026409)
    • any Subscription values (incl. Streams) sent by inputs are added to the set of inputs themselves and not passed downstream
    • add test case
  • Subscription stores last value and passes to new subs (6b87bca)
  • add transduce(), update re-exports (eec56de)
  • add merge()/sync() ctor wrappers (1fee7d5)
  • add IDeref impl for Subscription (907d599)

🩹 Bug fixes

  • bisect() add downstream impl checks, add tests (2ad2f48)

♻️ Refactoring

  • simplify Subscription, update all impls (47b6a92)
    • use Set for storing child subs
    • update Stream, StreamMerge, StreamSync
    • only clean sources in StreamMerge/Sync.unsubscribe()
  • update & StreamMerge/SyncOpts, minor fixes StreamSync (ebe222c)
    • only allow arrays for sources
    • pre-add/remove source IDs in StreamSync.addAll/removeAll()
    • update mapVals() xform to use copies
  • simplify unsubscribe() logic (26f15b2)
    • add Subscription.cleanup()
    • update unsub for Stream, Subscription, StreamMerge/Sync
    • no more calling of done() as part of unsub process (strictly unidirectional teardown from child -> parent)
    • fix input unsubs for StreamMerge/Sync

1.0.22 (2018-03-19)

🚀 Features

♻️ Refactoring

  • add/update Stream ctor arities (c736433)
  • minor cleanup/perf StreamSync (f7029ef)
  • simplify StreamMerge source handling (ff802a4)

1.0.0 (2018-02-18)

🛑 Breaking changes

  • fix #8, support infinite StreamMerge's, update ctor (4942e2e)
  • BREAKING CHANGE: StreamMerge ctor now accepts an options object only (StreamMergeOpts).

♻️ Refactoring

  • don't throw in unsubscribe() if no parent (ca1caae)

0.9.0 (2018-02-01)

🚀 Features

  • add Cache subscription class (ea638be)

0.8.1 (2018-01-31)

🩹 Bug fixes

  • subscription unhandled error handling (54cd526)
    • track if any child subs have received error, if not treat as unhandled and unsub current sub from parent (if any)

0.8.0 (2018-01-31)

🚀 Features

  • add changed predicate for fromAtom(), add tests (d58cf70)

0.7.4 (2018-01-29)

🩹 Bug fixes

  • fatal recursion w/ error handling (382aa05)
    • use Subscription.dispatch() only for next() calls, wrapped in try..catch
    • update Subscription.error() & done() to call children WITHOUT try...catch
    • revert obsolete test timeout adjustment

0.7.2 (2018-01-29)

🩹 Bug fixes

  • fix #1 update fromPromise(), add test (822b297)
    • add catch() outside stream source to catch errors before 1st sub is active

0.7.0 (2018-01-29)

🚀 Features

  • add trace() error handler (2247f72)
  • add fromPromises(), add docs (55ba0e1)
  • add atom dep, add fromAtom() & docs (ca3994a)

0.6.0 (2018-01-28)

🚀 Features

  • add new package, remove CSP dep from rstream (e37f6a1)

0.4.0 (2018-01-25)

🚀 Features

  • add sidechainToggle(), minor update sidechainPartition() (f6ca3f3)

0.3.0 (2018-01-25)

🚀 Features

  • add fromRAF() fallback for node, add docs (4e5a2ee)

🩹 Bug fixes

  • subscription generics if transducer is used (592a242)
  • don't throw resolve() error, only warning msg (eef65b9)

0.2.1 (2018-01-24)

🚀 Features

  • initial re-import as monorepo, update readme files, cleanup imports (04ff6e9)