- Handle sync emit in debounce #308
- Added missing Flow type definition for
Pool.unplugmethod #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
.flatMapConcatwhere values emitted during a delay would get dropped instead of queued. #274 @mAAdhaTTah
- New method
.thru#257 @mAAdhaTTah
- A bug in
.take/.takeErrorswas fixed #244 @mAAdhaTTah
- A bug in Flow definitions was fixed #245
- The
.setNamemethod 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 ofunsubfunction #212stream[Symbol.observable]().subscribenow 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
.bufferWithTimeOrCountis fixed #194 - Switched to
symbol-observable#200 @blesh
- Switched from
requiretoimport/exportinternally. - Switched from Webpack to Rollup for building /dist bundle.
- Added
jsnext:maintopakcage.jsonfor 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:
.fromESObservableand.toESObservable/[Symbol.observable]#154 @lautis - A bug in
.fromEventsfixed #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
.takeErrorsreplacing deprecated.endOnError#150 - Methods
.skipValues,.skipErrors, and.skipEndare renamed to.ignoreValues,.ignoreErrors, and.ignoreEnd#152 - The
emitEmptyoption from.bufferWhileByremoved, it now always emits[]if necessary #131 - Property now sets its current value before dispatching #127 @olivierguerriat
- Event objects now don't contain
.currentproperty #100 - The
.flattenmethod now always returns a stream #144
See also Umbrella 3.0
- A bug in
.scanfixed #148
- The
emitEmptyoption 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
flushOnChangeoption added to.bufferWhileBy#116
- A bug in
.bufferByfixed #108 - Another (minor) perf improvement for
flatMapand similar methods c329c61 - The
.toPropertymethod now throws with a meaningful message when called with not a function 544b689
- The repository moved from
pozadi/kefirtorpominov/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
.takeWhileByand.skipWhileByare deprecated #105
.flatMap*,.pool, and.mergewas 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.flatMapeven more freely 1c9de75
- New method
.toPromise
- A bug in
.offLogfixed
- Codebase ported to ES6 (Babel) with CommonJS modules
- A bug in .combine fixed #98
- New method
.last - The
.reducemethod is deprecated in favor of.scan(...).last()
- A bug in
.flatMapfixed #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
.toPropertymethod now accepts a callbak instead of a simple value #82 - The
.fromEventmethod is renamed to.fromEvents - The
.fromBindermethod is renamed to.stream - The
.mapEndmethod is renamed to.beforeEnd#89
- The
.fromSubUnsubmethod is deprecated #71 - Methods
Kefir.emitter()andKefir.bus()are deprecated #88
- A bug in
.flatMapfixed #92
- The
.transducemethod updated to add support of new protocol #78
- Following methods are deprecated:
.repeatedly,.mapTo,.pluck,.invoke,.not,.timestamp,.tap,.and,.or#71
Kefir.sampledByis deprecated in favor of 3 arityKefir.combine
- The
BusandPoolclasses are exposed asKefir.BusandKefir.Pool - A bug in
.mergeand.zip(which may cause them to not unsubscribe from their sources in very rare cases) fixed - New method
.emitEventin 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/.offrenamed to._on/._off - The
.changesmethod now can be called on a stream - The
.toPropertymethod now can be called on a property, and works similar to.withDefault - The
.withDefaultmethod 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
.errorin 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
.flatMapfixed #29 - Minor perf fixes
- New method
.bufferWhile - New method
.bufferBy - New method
.bufferWhileBy - New method
.withDefault - New method
.zip
- The
seedargument in.scan,.reduce, and.diffis now optional - Removed support of "array functions"
- The default
fninobs.sampledBy(other, fn)changed fromfunction(a, b) {return [a, b]}tofunction(a, b) {return a}. The defaultfnforKefir.sampledByhasn't changed. - New method
.mapEnd - New method
.skipEnd - The
fnargument in.filter,.takeWhile, and.skipWhileis now optional
- Removed undocumented feature of
.mergeand.concatthat 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
.waitForrenamed to.skipUntilBy - New method
.takeUntilBy - Method
source.flatMapFirst(fn)now won't callfnwhen skiping values fromsource
- The
fnargument of the.diffmethod is now optional - New method
.waitFor - New method
.takeWhileBy - New method
.skipWhileBy
- Method
.transformrenamed to.flatten - New method
.slidingWindow
- The
fnargument of the.transformmethod is now optional - New method
.transduce
- Method
.flatMapWithConcurrencyLimitrenamed 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