- Export ES module properly using the
exports
andmodule
fields inpackage.json
. #776 by @semmel.
Bus.push
bound to Bus
- Improved types for
Bacon.combineWith
- Typo fix
- Fix replayed Initial events in doAction in case of
delay
et al (#753)
- Distribute Bacon.js as ES6 module (#749)
- Fix minified Bacon.min.js
- Split the map signature to come around some type inference inconveniences
- Avoid creating union type in concat if not needed
- Upgrade to typescript 3.5
- Make observables covariant by stripping out the internal
dispatcher
field - Optimize compilation time by merging groupBy signatures
- Add typings for
decode
- Add alternative signature to groupBy: no type param, no optional limitF param
- Improve Bus.plug type ergonomics (#738)
- Allow
any
inReply
return type used insubscribe
,onValue
et al (#740) - More flexible typing for
merge
andconcat
(merge observables ofA
andB
intoA | B
) - Compile library and tests with
--strict
- Fix Bacon.mergeAll incorrectly passing through Initial events (#736)
- Fully converted to TypeScript. No need for separate types when using from TypeScript
- Still works from Javascript, except for some changes listed below
- Function Construction Rules are gone. No more
stream.map(".fieldName")
- observable.last() only stores value events, passes through errors (I think this was a bug)
- added Bacon.silence(duration)
- Replaced
withHandler
withtransform
- sampledBy typed version doesn't support the optional combinator parameter (works from js though)
- Observable argument support removed from
fromCallback
andfromNodeCallback
- Flatscan only defined for EventStreams (as per docs, fix #733)
- Fix Bacon.fromArray bug (#724)
- Fix Property.flatMapLatest (#719)
- Fix force-async behavior in EventStream constructor (#713)
- Correct version information included in descriptor files and published dist/*.js files
- Support custom binder function in
Bacon.fromEvent
(#710)
- Remove lazy evaluation of event values (#700)
- Make Bacon.once and friends asynchronous (#706)
- Use rollup to build everything from ES6 modules (#708)
- Force asyncness of all streams created with any of the stream constructors (#711)
- Fixed unexpected behavior with synchronous sources and flatMapLatest (#699)
- No changes. Same as 0.7.95
- Add
Property::concat
- Add
Bacon.concatAll
- Improve
Bacon.combineTemplate
: support all kinds of objects on root level, always use original objects when they don't contain Observables.
- Fix #693: failure when there's extra junk in Array proto
- Ensure that the same never happens again by adding lots of junk in Array proto when running tests
- Improve processing order of side-effects (onValue etc) when Bus is pushed while in onValue
- ensure that subscribers of observable A won't be called again before first call is fully handled
- ensure correct processing order while handling independent observables as soon as possible
- Added ECMAScript Observable support (#649)
Bacon.retry
supplies thesource
function with attempt number
- Add
EventSTream::flatScan
method
- Add missing
Property::debounceImmediate
method
- Restore the removed
Observable::deps
method
Bacon.retry
retries indefinitely ifretries
is zero.
- Fix array mutation issue in
Bacon.combineAsArray
(#673)
- Workaround for Node 6 (#671)
- Fix holdWhen: properly end the result stream if src has ended while holding. (Pull Request #666 by @umanamente)
- Remove dependency to Array.from
- Fix bug related to previous performance improvement
- Performance improvements for complex event graphs
- Fix combineTemplate for objects with a prototype (#615)
- Fix IE8 compatibility (#650)
- Fix #648: eventTransformer in asEventStream
- Add
doEnd
to complementdoAction
anddoError
- Bacon.fromEvent works even if there's no "unbind" method available (#638)
- Add
Bacon.try
- fix #621: loading fails with webpack in some configurations
- support new-less constructors in EventStream, Bus, Next, Initial, End, Error
- make zipWith, combineWith signatures consistent, allow 4 variations in each
- Fix
zip
,Bacon.when
with endless streams (#610)
- Fix bug in
bufferWithTime
(possible double flush)
- Fix bug in
scan
- Fix bug in
holdWhen
(#613)
- Add
groupBy
(#611)
- Fix
holdWhen
in a special case
- Fix #594: _.each, holdWhen in case there's extra stuff in Array prototype
- Restored legacy constructor support in EventStream (removed in 0.7.61)
- Support custom eventTranformer in fromPromise
- Add
doLog
- Fix holdWhen with synchrnous sources (#597)
- Performance improvements
- Re-impl holdWhen for better performance. Fix "never-ending valve" case on the way.
- Add
doError()
(#581)
- Fix #582, bower.json format
- Fix #517, bus should bounce End event when subscribing after end() call
- Ignore extra files in bower
- Fix #572: Bus respects end() calls before subscribers
-
Fix #580: stack overflow with fromArray using large arrays
-
Throw an exception with a helpful error message if the user calls
filter(EventStream)
,takeWhile(EventStream)
orskipWhile(EventStream)
This is a potentially backward incompatible change.
- Fix #560: unscheduling fail in case subscriber throws error
- Add
toPromise()
,first()
andlast()
(#509)
- Fix #501: Call promise.done() to prevent swallowing exceptions from wrapped Promises
- Introduce Bacon.repeat(fn), previously known as Bacon.fromStreamGenerator
- Fix stack overflow with synchronous sources in Bacon.fromStreamGenerator
- Fix #541: stack overflow with Bacon.retry
- Fix #506: smarter method lookup in Bacon.fromEvent
- Fix #543: holdWhen with array values
- Fix #544: bufferWithTimeOrCount
Foobar, don't use
- Add
Bacon.fromEvent
as shorthand forBacon.fromEventTarget
- Add
Observable :: forEach
as synonym foronValue
- Fix #523: respect return value of subscribe function in synchronous case
- Built using assemble.js
- removed setTimeout from Bacon.fromBinder
- Fix #490: throw if non-observable plugged to bus
- Fix #491: takeUntil/flatMapLatest issues with sync sources
- Fix wrapping constants as functions in Bacon.when
- Fix #488: exceptions catched and hidden
- Improve Dispatcher performance (#473)
- Improve side-effect processing performance by reducing array mutation
- Fix #470: unexpected ordering of side effects
- Make
scan
use eager evaluation
- Improve performance (#467)
- Support "on/off" events in Bacon.fromEventTarget (#461)
- Eliminate extra Dispatcher object (#463)
- Fix Source::toString
- Performance and memory footprint improvements (#457)
- Restore Observable::subscribeInternal for backward compat (to be removed in 0.8)
- Performance and memory footprint improvements (#450)
- Merge #413: preserve "this" context in eventTransformer of fromBinder etc
- Fix #447: issue with Property::takeUntil error handling
- Fix #441: check for module.exports
- Changed dispatching of delayed events for improved memory performance
- Fix fromArray.toString (#436)
- Throw Errors instead of strings in asserts (fix #414)
- Fix #409 (invalid characters)
- Fix #399 (double evaluation of lazies with Bus)
- Fix #407 (event duplication in a specific scenario)
- Performance and memory footprint improvements
- Fix #397 (include minified version in npm)
- Fix #394 (never call unbinder twice in fromBinder)
- Fix #353 (flatMapLatest glitch)
- Fix #363 (glitchfree-algorithm bug)
- Fix Bacon.retry (#380)
- Add flatMapWithConcurrencyLimit, flatMapConcat, bufferingThrottle, holdWhen (#324)
- Add Bacon.retry, flatMapError, Bacon.error by @mileskin (#310)
- Improve mergeAll performance by removing recursion (#373)
- Optimizations by @lautis (#370)
- Fix #348: toString problems with jQuery
- Make .log() log the actual values instead of strings, again
- Fix #347: bug related to evaluating (lazy) event values later
- Fix #345: stack overflow with circular setups with Bus
- Fix #338: event duplication bug in a specific scenario
- Call external subscriber callbacks after event transaction is complete
- Remove Bacon.afterTransaction
- Add Bacon.afterTransaction for coordinating timings, in e.g. Bacon.Model
- Fix #331: combineTemplate when Date or RegEx objects are involved
- Fix #315: _.toString for objects that contain enumerable but innaccessible properties (like the HTML hidden field)
- Fix #320, #321: errors thrown when Array.prototype contains extra junk
- Support function construction rules in flatMap(Latest|First) (#306)
- Glitch-free updates (#272)
- toString/inspect implementation (#265)
- Published Bacon._ API including helpers like Bacon._.indexOf
- Include Bacon.version="0.6.22" in dist/Bacon.js (generated in release script)
- Stabilize fromArray in case of subscribe unsubscribing in the middle of the array
- Fix bug in concat with synchronous left stream (#262)
- Fix Property.zip (#260)
- Fix AMD support that was partially broken in 0.6.14
- Allow (object, methodName, args...) syntax in from(Node)Callback
- Allow predicate function in Observable.endOnError
- Add EventStream.sampledBy
- Add Property.startWith
- Simplifications and cleanup
- Fix #240: call accumulator function once per event in
scan
- Fix mergeAll, zipAsArray, zipWith with 0 sources, n-ary syntax
- Fix Bacon.zipAsArray with 0 or 1 sources
- Fix Bacon.when with 0 sources and 0-length patterns
- Fix Bacon.when with Properties (#232)
- Fix laziness of evaluation. Added tests to prevent further regression.
- Re-implemented
combineAsArray
andsampledBy
using Bacon.when
- Fix skipWhile in case of Error events before first match (refix #218)
- Fix #218: EventStream.skipWhile with synchronous sources
- Fix #217: EventStream.scan for synchronous streams
- Simplify skipUntil implementation
- Fix
takeUntil
to work correctly with never-ending stopper (#214)
- Generalize
awaiting
to Properties too
- Fix Property.skipDuplicates: don't ever skip an Initial event (#211)
- Fix sampledBy with stream of functions (#208)
- Fix #206: takeUntil should work with Property as stopper
- Add EventStream.skipWhile, support "Property Bool" instead of predicate function in takeWhile (#204) skipWhile
- Fix Property.take(n) etc in case of a never-ending Property (#205)
- Fix EventStream.skipUntil in case of self-derived stopper
- Re-implement EventStream.takeUntil
- Switch test framework from Jasmine to Mocha
- Fix bug in Bacon.update (#199)
- Added Join Patterns, i.e. Bacon.when and Bacon.update (#167)
- Corrected the name to "bacon" instead of "baconjs" in bower.json, component.json (#197)
- Fix #195: Bacon.mergeAll for empty list should return Bacon.never()
- (#192) Throw runtime error if trying to merge Properties
- Add EventStream.skipUntil (#194)
- Fix #191: End properly even if an exception is thrown (sequentially, take)
- Support n-ary syntax in Bacon.mergeAll and Bacon.zipWith
- Add bower.json (component.json deprecated by bower)
- Generalize
decode
to all Observables (#189)
- Add bufferWithTimeOrCount (#181)
- Add flatMapFirst and debounceImmediate (#132)
- Add reduce/fold (#158)
- Fix #85 Make Property updates atomic (with known limitations)
- Add support for "min" parameter in slidingWindow.
- Fix #163: add support for nulls etc in combineTemplate
- Fix #162: Call Promise.abort() only if the "abort" flag is used
- Support Bacon.Error in Bacon.once, Bacon.fromArray
- Fix #160: Property.scan/debounce/throttle/delay bug with sources like Bacon.once() and Bacon.constant()
- Add AMD support (#154)
- Fix #152: Observable.skip now accepts zero and negative values
- Fix #153: Remove dep on "global" to fix in browsers.
- Fix #151: take(N) should work with N = 0
- generalize combine method to all Observables
- Fix #147: Prevent sending duplicate Errors in case the same Error is routed thru multiple paths.
- Internal change: PropertyDispatcher now used in Property constructor as a default.
- Support constant values to be returned from function f in flatMap
- Fix #148: Handle same subscriber added twice just like two separate subscribers
- Add Bacon.onValues shorthand function
- Fix #146: Avoid catch-rethrow to preserve original stack trace
- #133: Support EventStreams and Properties as arguments of fromCallback, fromNodeCallback
- Fix #142: map(".foo.bar") failed if "foo" was null
- #124: Change combineWith behavior to combine n Observables using n-ary function
- Remove combineAll which had a confusing name and no known uses
- Support constants instead of Observables as arguments of combineAsArray, combineWith
- Add EventStream.zip, Bacon.zipWith, Bacon.zipAsArray
- Removed exception-catching in fromBinder
- Fix #129: error handling bug in fromBinder
- log() does not crash if console or console.log is undefined
- Support Node.js style callbacks using Bacon.fromNodeCallback
- Fix #120: take(n) may be triggered more than n times if event emitter is triggered in onValue callback
- Generally more reliable implementation in case of recursively generated events
- Fix #118: Bus drops all inputs after last consumer of its events is dropped; impossible to re-subscribe
- fromPromise calls .abort() on unsubscribe
- Rename throttle to debounce
- Rename throttle2 to throttle
- Support usage of an EventStream/Property instead of a function as a parameter to flatMap/Latest
- Support optional arguments to Observable.log
- Performance improvements
- #106: Fix stream ending in case an exception is thrown
- #105: Rewrite binder stream factory to compose all others
- add Property.filter(property)
- reject arguments in Property.toProperty
- add Property.sampledBy(property)
- generalize mapEnd to all Observables
- fix bufferWithTime behaviour: output at steady rate as long as there's anything to output
- add throttle2
- Fixed tests too on IE6+
- Fix property extraction (".field") syntax compatibility with IE6-7
- Bus.plug returns function for unplugging
- Fixes possible memory leak in Bus, related to ended streams
- Add
EventStream.awaiting
(ported from Bacon.UI) - #80: Fix handling of
undefined
inskipDuplicates
- Documented Bacon.fromCallback
- Fix bug in case stream values are functions
- API change: event.value is now a function. Allows internal optimization.
- API changes: drop methods switch (use flatMapLatest), do (use doAction), distinctUntilChanged (use skipDuplicates), decorateWith, latestValue
- No external changes. Built with grunt.
- Fix IE8 compatibility issue (Array.prototype.indexOf)
- Fix flatMap/flatMapLatest in case the function returns a Property
- Allow .fromEventTarget to define a custom mapping function
- Add Observable.diff
- Apply correct context in method calls using the dot-methodname form
- Support arrays in combineTemplate
- Add Observable.slidingWindow
- Add Property.scan
- Add optional isEqual argument to skipDuplicates
- Make log() chainable by returning this instead of undefined
- Add Property.throttle, Property.delay
- rename switch->flatMapLatest, do->doAction