Releases: cujojs/most
Releases · cujojs/most
0.17.0: Add mergeConcurrently, continueWith, recoverWith
- Add continueWith and recoverWith as new preferred aliases for flatMapEnd and flatMapError
- Make mergeConcurrently public
- Improve performance of multicast and continueWith (aka flatMapEnd)
- Simplify resource handling and disposal
0.16.0: Improve scan and scheduler
0.15.0: Add browser dist build, improve async handling, add multicast
- Add browser build in
dist/most.js
anddist/most.min.js
- Make
most.create
call producer function synchronously.- Events are still always asynchronous to prevent zalgo.
- Add
multicast
combinator for more efficiently sharing streams among many consumers. - Fix bug related to specific cases of handling event at time zero.
- This manifested with
skipUntil
/since
ending early or appearing to be an empty stream.
- This manifested with
- Improve scheduler internals.
- Improve drag-n-drop example.
0.14.0: Prepare for 1.0.0
- Preparing for upcoming 1.0.0.
- Promote
during
to non-experimental. - Fix
most.create
multiple consumer handling when streams end early (e.g. usinguntil
,take
, etc.) - Remove deprecated APIs:
most.repeat
- usemost.periodic
,most.iterate
, ormost.unfold
most.fromEventWhere
- usemost.fromEvent
plusfilter
distinct
anddistinctBy
- useskipRepeats
andskipRepeatsWith
0.13.2: Add skipRepeats
- Add
skipRepeats
andskipRepeatsWith
as new preferred names fordistinct
anddistinctBy
.- The names
distinct
anddistinctBy
are now deprecated.
- The names
- Improve handling of
EventEmitter
subscriptions infromEvent
. - Optimize
fromArray
- Fix for
debounce
dropping the last event when a stream ended early (e.g. viauntil
).- If, when the stream is about to end, there is a pending debounced event, that event will be propagated just before end. The event and end will have the same timestamp.
0.13.1: Support new transducer protocol
- Update transducer support for new official transducer protocol. See cognitect-labs/transducers-js#20.
- 0.13.1 supports both the older protocol and the new protocol, so will work with transducer libs supporting either protocol.
- Support for the old protocol is considered deprecated, and will be removed in an upcoming version.
0.13.0: Transducers, recipes, and more fusion
- Add
most.transduce
andstream.transduce
for transducer support for cognitect-labs/transducers-js, jlongster/transducers.js, and any transducer impl that supports the same protocol. - Add recipes showing how to solve common and interesting use cases. Community contributions very welcome!
- Fuse adjacent
map
andfilter
combinators even further. In addition to the level of fusion that is already done for all combinators, chains ofmap
andfilter
are now fused into a single step. - Improve and simplify timeslice combinators (
since
,until
, andduring
) - Fix an issue with
since
which caused it to ignore end-of-stream. - Fix an issue with some examples not loading.
0.12.0: Async generators and improved sampling
- Add
most.generate
to build a stream by running an async generator. - Add
sampler.sample(f, ...streams)
for sampling and combining many streams at once. - Improve
stream.ap
. It now more closely models the behavior of applying a time varying function to a time-varying value. - Change
stream.combine
to end when all input streams have ended.- Breaking change: code that specifically depends on a
combine
stream ending when only one input ends may need to be updated.
- Breaking change: code that specifically depends on a
0.11.0: Add loop and periodic w/value
- Add
stream.loop
: generalized feedback loops - Add value to
most.periodic
:most.periodic(period, value)
producesvalue
everyperiod
ms. - Improve
stream.distinct
performance - Fix rejected promise handling in
most.fromPromise
andstream.await
0.10.2: Improve zip and scan perf
- Improve
zip
andscan
performance. In many cases, they can be 2-3x faster. - Switch to benchmark.js for performance testing.