- Handle sync emit in debounce #308
- Added missing Flow type definition for
Pool.unplug
method #289 @Macil - Added "module" field to package.json for Rollup #290 @mAAdhaTTah
- A bug causing an exception to be thrown when a flatMapped stream is ended while the flatMap callback returns an ended property was fixed #281 @Macil
- Flow type definitions were improved #282 @Macil
- Fixed a bug in
.flatMapConcat
where values emitted during a delay would get dropped instead of queued. #274 @mAAdhaTTah
- New method
.thru
#257 @mAAdhaTTah
- A bug in
.take
/.takeErrors
was fixed #244 @mAAdhaTTah
- A bug in Flow definitions was fixed #245
- The
.setName
method has been added to Flow definitions #232 @mAAdhaTTah
- Static Land support added.
- New method
.observe
#151 #221 @mAAdhaTTah - Emitter methods renamed
emit → value
,emitEvent → event
(old names will work as well for now)
stream[Symbol.observable]().subscribe()
now returns an object instead ofunsub
function #212stream[Symbol.observable]().subscribe
now supportssubscribe(onValue, onError, onComplete)
format 27192e6
stream[Symbol.observable]
now equals tostream[Symbol.observable][Symbol.observable]
#209 #210 @mAAdhaTTah
- Deprecation warnings disabling API fixed #185
- A bug in
.bufferWithTimeOrCount
is fixed #194 - Switched to
symbol-observable
#200 @blesh
- Switched from
require
toimport/export
internally. - Switched from Webpack to Rollup for building /dist bundle.
- Added
jsnext:main
topakcage.json
for Rollup users.
Bundle file size dropped from 108K / 49K / 9.8K to 80K / 42K / 9.5K
for dev / min / min+gzip respectively. And the users' app bundle size can
be reduced even further if they use Rollup and jsnext:main
.
Big thanks to @rvikmanis for doing this. #184
- Interoperation with ECMAScript Observables added with two new methods:
.fromESObservable
and.toESObservable
/[Symbol.observable]
#154 @lautis - A bug in
.fromEvents
fixed #159
- All previously deprecated methods removed. Full list can be found in deprecated API docs of v2.x.
- New deprecations: errorsToValues & valuesToErrors, endOnError, awaiting.
- New method
.takeErrors
replacing deprecated.endOnError
#150 - Methods
.skipValues
,.skipErrors
, and.skipEnd
are renamed to.ignoreValues
,.ignoreErrors
, and.ignoreEnd
#152 - The
emitEmpty
option from.bufferWhileBy
removed, it now always emits[]
if necessary #131 - Property now sets its current value before dispatching #127 @olivierguerriat
- Event objects now don't contain
.current
property #100 - The
.flatten
method now always returns a stream #144
See also Umbrella 3.0
- A bug in
.scan
fixed #148
- The
emitEmpty
option added to.bufferWhileBy
#129 @shamansir
- A bug related to calling
emitter.end()
in response to an end event or inunsubscribe()
function is fixed 83b06a7
- A bug when listener could be called after unsubscribing or end is fixed #119
- The
flushOnChange
option added to.bufferWhileBy
#116
- A bug in
.bufferBy
fixed #108 - Another (minor) perf improvement for
flatMap
and similar methods c329c61 - The
.toProperty
method now throws with a meaningful message when called with not a function 544b689
- The repository moved from
pozadi/kefir
torpominov/kefir
- emitter methods now return a boolean representing whether anybody interested in future events (i.e. whether connected observable is active)
- Another optimization for
.flatMap((x) => Kefir.constan(...))
case 9e4a58a - Methods
.takeWhileBy
and.skipWhileBy
are deprecated #105
.flatMap*
,.pool
, and.merge
was optimized for use with constants (Kefir.contant*
,Kefir.never
), combined with optimizations for constants in 2.4.0 thisfoo.flatMap((x) => Kefir.constant(x + 1))
is only ~2x slower thanfoo.map(x => x + 1)
- New method
.flatMapErrors
- A bug in
.flatMap*
fixed 98f65b7 Kefir.constant()
andKefir.contantError()
made cheaper and faster, so they can be used with.flatMap
even more freely 1c9de75
- New method
.toPromise
- A bug in
.offLog
fixed
- Codebase ported to ES6 (Babel) with CommonJS modules
- A bug in .combine fixed #98
- New method
.last
- The
.reduce
method is deprecated in favor of.scan(...).last()
- A bug in
.flatMap
fixed #92
- Removed support of old transducers protocol in the
.transduce
#79 stream.changes()
now returns a new stream with current values/errors removed #56- Properties now can't have both current value and current error at the same time #55
- Better errors handling in
.combine
#54 - The
.toProperty
method now accepts a callbak instead of a simple value #82 - The
.fromEvent
method is renamed to.fromEvents
- The
.fromBinder
method is renamed to.stream
- The
.mapEnd
method is renamed to.beforeEnd
#89
- The
.fromSubUnsub
method is deprecated #71 - Methods
Kefir.emitter()
andKefir.bus()
are deprecated #88
- A bug in
.flatMap
fixed #92
- The
.transduce
method updated to add support of new protocol #78
- Following methods are deprecated:
.repeatedly
,.mapTo
,.pluck
,.invoke
,.not
,.timestamp
,.tap
,.and
,.or
#71
Kefir.sampledBy
is deprecated in favor of 3 arityKefir.combine
- The
Bus
andPool
classes are exposed asKefir.Bus
andKefir.Pool
- A bug in
.merge
and.zip
(which may cause them to not unsubscribe from their sources in very rare cases) fixed - New method
.emitEvent
in Emitter, Emitter Object, and Bus - New method
Kefir.repeat
- jQuery plugin moved to a separate repo
- Minor improvement in .skipDuplicates method #42
- Deperecated method .withDefault now removed
- A bug in .fromBinder fixed (continuation of #35
- A bug in .fromBinder fixed #35
- Undocumented methods
.on/.off
renamed to._on/._off
- The
.changes
method now can be called on a stream - The
.toProperty
method now can be called on a property, and works similar to.withDefault
- The
.withDefault
method is now deprecated, and will be removed in the future - New method
.fromSubUnsub
- New method
.fromNodeCallback
- New method
.fromPromise
- Base errors support added (i.e. errors flow through all kind of transformations/combinations)
- Properties now may have a current error (as well as current value)
- New method
.onError
- New method
.offError
- New method
.error
in Emitter, Emitter Object, and Bus - New method
Kefir.constantError
- New method
.mapErrors
- New method
.filterErrors
- New method
.endOnError
- New method
.errorsToValues
- New method
.valuesToErrors
- New method
.skipErrors
- New method
.skipValues
- A bug in
.flatMap
fixed #29 - Minor perf fixes
- New method
.bufferWhile
- New method
.bufferBy
- New method
.bufferWhileBy
- New method
.withDefault
- New method
.zip
- The
seed
argument in.scan
,.reduce
, and.diff
is now optional - Removed support of "array functions"
- The default
fn
inobs.sampledBy(other, fn)
changed fromfunction(a, b) {return [a, b]}
tofunction(a, b) {return a}
. The defaultfn
forKefir.sampledBy
hasn't changed. - New method
.mapEnd
- New method
.skipEnd
- The
fn
argument in.filter
,.takeWhile
, and.skipWhile
is now optional
- Removed undocumented feature of
.merge
and.concat
that allowed to not wrap observables to array but pass them as individual arguments - Changed arguments order in
.scan
,.reduce
, and.diff
- Added support of on/off methods pair to
.fromEvent
- Removed undocumented support of bind/unbind pair from
.fromEvent
- Method
.waitFor
renamed to.skipUntilBy
- New method
.takeUntilBy
- Method
source.flatMapFirst(fn)
now won't callfn
when skiping values fromsource
- The
fn
argument of the.diff
method is now optional - New method
.waitFor
- New method
.takeWhileBy
- New method
.skipWhileBy
- Method
.transform
renamed to.flatten
- New method
.slidingWindow
- The
fn
argument of the.transform
method is now optional - New method
.transduce
- Method
.flatMapWithConcurrencyLimit
renamed to.flatMapConcurLimit
- New method
.transform
- New method
.timestamp
- New method
Kefir.bus
Methods so far:
- Kefir.emitter
- Kefir.never
- Kefir.later
- Kefir.interval
- Kefir.sequentially
- Kefir.repeatedly
- Kefir.fromPoll
- Kefir.withInterval
- Kefir.fromCallback
- Kefir.fromEvent
- Kefir.fromBinder
- Kefir.constant
- jQuery::asKefirStream
- jQuery::asKefirProperty
- .toProperty
- .changes
- .onValue
- .offValue
- .onEnd
- .offEnd
- .onAny
- .offAny
- .log
- .offLog
- .map
- .mapTo
- .pluck
- .invoke
- .not
- .tap
- .filter
- .take
- .takeWhile
- .skip
- .skipWhile
- .skipDuplicates
- .diff
- .scan
- .reduce
- .delay
- .throttle
- .debounce
- .withHandler
- .combine
- .and
- .or
- .sampledBy
- .merge
- .concat
- .pool
- .flatMap
- .flatMapLatest
- .flatMapFirst
- .flatMapConcat
- .flatMapWithConcurrencyLimit
- .awating
- .filterBy