5.4.1 (2017-06-14)
- ajax: Only set timeout & responseType if request is asynchronous (#2486) (380fbcf)
- audit: will now properly mirror source if durations are Observable.empty() (#2595) (6ded82e)
- elementAt: will now properly unsubscribe when it completes or errors (#2501) (a400cab)
- ErrorObservable: will now propagate errors properly when used in a
catch
afterfromPromise
. (#2552) (cf88a20) - groupBy: group duration notifiers will now properly unsubscribe and clean up (#2662) (ab92083), closes #2660 #2661
- Observable: errors thrown in observer/handlers without an operator applied will no longer be swallowed (#2626) (c250afc), closes #2565
- reduce: type definitions overloads for TypeScript are now in proper order (#2523) (ccc0647)
- Schedulers: Fix issue where canceling an asap or animationFrame action early could throw (#2638) (fc39043)
5.4.0 (2017-05-09)
- shareReplay: adds
shareReplay
variant ofpublishReplay
(#2443) (5a2266a) - skipLast: add skipLast operator (#2316) (4ffbbe5), closes #1404
- TypeScript: fromPromise accepts PromiseLike object (#2505) (ade1fd5)
5.3.3 (2017-05-09)
- delayWhen: correctly handle synchronous duration observable (#2589) (695f280), closes #2587
- race: allow TypeScript support for array of observables other than rest param (#2548) (ace553c)
- Subscriber: do not call complete with undefined value param (#2559) (3d63de2)
(NOTE: 5.3.2 was a broken release and was removed)
5.3.1 (2017-05-02)
- AsyncAction: rescheduling an action with the same delay before it has executed will now schedule appropriately. (#2580) (281760e)
- closure: make root.ts work with closure (#2546) (0ecf55d)
- tests: add missing babel-polyfill to package.json (b277ce9), closes #2261
- withLatestFrom: change from hot to cold observable in marble test (0c65446), closes #2526
5.3.0 (2017-04-03)
- catch: return type is now the union of input types (#2478) (840def0)
- forEach: fix a temporal dead zone issue in forEach. (#2474) (e9e9801)
- multicast: Ensure ConnectableObservables returned by multicast are state-isolated. (aaa9e6b)
- reduce: proper TypeScript signature overload ordering (#2382) (f6a4951), closes #2338
- SafeSubscriber: SafeSubscriber shouldn't mutate incoming Observers. (a1778e0)
- timeout: Cancels scheduled timeout, if no longer needed (3e9d529), closes #2134 #2244 #2355 #2347 #2353 #2254 #2372 #1301
- zipAll: complete when the source is empty (712fece)
- delayWhen: add index to the selector function (5d6291e)
- symbol exports: symbols now also exported without
$$
prefix to work with Babel UMD exporting (#2435) (747bef6), closes #2415
- smooth:
smooth()
was never really a thing. Sorry, folks. :D
5.2.0 (2017-02-21)
- ajax: will set
withCredentials
afteropen
on XHR for IE10 (#2332) (0ab1d3b) - bindCallback: emit undefined when callback is without arguments (915a2a8)
- bindNodeCallback: emit undefined when callback has no success arguments (8b81fc6), closes #2254
- bindNodeCallback: errors thrown in callback will be scheduled if a scheduler is provided (#2344) (82ec4f1)
- concat: will now return Observable when given a single object implementing Symbol.observable (#2387) (f5d035a)
- ErrorObservable: remove type constraint to error value (2f951cd), closes #2395
- forkJoin: add type signature for single observable with selector (7983b91), closes #2347
- merge: return Observable when called with single lowerCaseO (85752eb)
- mergeAll: introduce variant support <T, R> for mergeMap (656f2b3), closes #2372
- single: predicate function receives indicies starting at 0 (#2396) (c81882f)
- subscribeToResult: accept array-like as result (14685ba)
- webSocket: Add binaryType to config object (86acbd1), closes #2353
- windowTime: maxWindowSize parameter in windowTime operator (381be3f), closes #1301
5.1.1 (2017-02-13)
- bindCallback: input function context can now be properly set via output function (#2319) (cb91c76)
- bindNodeCallback: input function context can now be properly set via output function (#2320) (3ec315d)
- Subscription: fold ChildSubscription logic into Subscriber to prevent operators from leaking ChildSubscriptions. (#2360) (22e4c17), closes #2244 #2355
5.1.0 (2017-02-01)
- catch: update the catch operator to dispose inner subscriptions if the catch subscription is di (#2271) (8a1e089)
- combineLatest: Don't mutate array of observables passed to (#2276) (9b73c46)
- ISubscription: update type definition of ISubscription::closed (#2249) (0c304a2)
- Observable: Ensure the generic type of the Observer passed to Observable's initializer function is the same. (51a0bc1), closes #2166
- Observable: errors thrown during subscription are now properly sent down error channel (#2313) (d4a9aac), closes #1833
- reduce: index will properly start at 1 if no seed is provided, to match native Array reduce behavior (30a4ca4), closes #2290
- repeatWhen: resulting observable will wait for the source to complete, even if a hot notifier completes first. (#2209) (c65a098), closes #2054
- Subject: ensure subject properly throws ObjectUnsubscribedError when unsubscribed then resubscribed to (#2318) (41489eb)
- TestScheduler: helper methods return proper types,
HotObservable
andColdObservable
instead of Observable (#2305) (758aae9) - windowTime: ensure windows created when only a timespan is passed are closed and cleaned up properly. (#2278) (d4533c4)
- fromEventPattern: support optional removeHandler (86960c2)
- fromEventPattern: support pass signal from addHandler to removeHandler (01d0622)
5.0.3 (2017-01-05)
- observeOn: seal memory leak involving old notifications (9664a38), closes #2244
- Subscription:
add
will return Subscription thatremove
s itself when unsubscribed (375d4a5) - TypeScript: interfaces that accepted
Scheduler
now acceptIScheduler
interface (a0d28a8)
5.0.2 (2016-12-23)
- ajax: upload progress is now set correctly (#2200) (1a83041)
- groupBy: Fix groupBy to dispose of outer subscription. (#2201) (2269618)
5.0.1 (2016-12-13)
- TypeScript: pin to TypeScript 2.0.x, fix errors with Error subclassing (300504c)
5.0.0 (2016-12-13)
- race: unsubscribe raced observables with immediate scheduler (#2158) (7dd533b)
- SubscribeOnObservable: Add the source subscription to the action disposable so the source will (64e3815)
5.0.0-rc.5 (2016-12-07)
- AjaxObservable: catch XHR send failures to observer (#2159) (128fb9c)
- distinctKey: Removed accidental leftover reference of
distinctKey
(9fd8096), closes #2161 - errors: Better error message when you return non-observable things, (#2152) (86a909c), closes #215
- event: uses
Object.prototype.toString.call
on objects (#2143) (e036e79) - typings: type guard support for
last
,first
,find
andfilter
. (5f2e849)
- timeout:
timeout
no longer accepts theerrorToSend
argument
related #2141
5.0.0-rc.4 (2016-11-19)
- partition: handles
thisArg
as expected (#2138) (6cf7296) - timeout: throw traceable TimeoutError (#2132) (9ebc46b)
5.0.0-rc.3 (2016-11-15)
- typings: You no longer have to install the type definition for chai (#2112)
- filter: support type guards without casting (68b7922)
- find: support type guards without casting (9058bf6)
- first: support type guards without casting (3aa1988)
- last: support type guards without casting (07ecd5e)
5.0.0-rc.2 (2016-11-05)
- AjaxObservable: remove needless type param R from AjaxObservable.getJSON() (#2069) (0c3d4a4)
- bufferCount: will behave as expected when
startBufferEvery
is less thanbufferSize
(#2076) (d13dbb4), closes #2062 - build_docs: fix doc building (#1974) (1bbbe8b)
- ErrorObservable: Add generic error type for ErrorObservable. (#2071) (9df86ba)
- first: will now only emit one value in recursive cases (#2100) (a047e7a), closes #2098
- fromEvent: Throw if event target is invalid (#2107) (147ce3e)
- IteratorObservable: clarify the return type of IteratorObservable.create() (#2070) (4f0f865)
- IteratorObservable: Observables
from
generators will now finalize when subscription ends (22d286a), closes #1938 - multicast: fix a bug that caused multicast to omit messages after termination (#2021) (44fbc14)
- Notification:
materialize
output will now match Rx4 (#2106) (c83bab9), closes #2105 - Object.assign: stop polyfilling Object assign (#2080) (b5f8ab3)
- Observable/Ajax: mount properties to origin readystatechange fn (#2025) (76a9abb)
- operator/do: fix typings (9a40297)
- reduce/scan: both scan/reduce operators now accepts
undefined
itself as a valid seed (#2050) (fee7585), closes #2047 - ReplaySubject: observer now subscribed prior to running subscription function (#2046) (fea08e9), closes #2044
- sample: source is now subscribed to before the notifier (ffe99e8), closes #2075
- Symbol.iterator: will not polyfill Symbol iterator unless Symbol exists (#2082) (1138c99)
- typings: fixed Subject.lift to have the same shape as Observable.lift (b07f597)
- WebSocketSubject.prototype.multiplex: no longer nulls out socket after first unsubscribe (#2039) (a5e9cfe), closes #2037
- distinct: remove
distinctKey
,distinct
signature change and perf improvements (#2049) (89612b2), closes #2009 - groupBy: Adds subjectSelector argument to groupBy (#2023) (f94ceb9)
- typescript: remove dependency to 3rd party es2015 definition (#2027) (4c31974), closes #2016
- Notification:
Notification.prototype.exception
is nowNotification.prototype.error
to match Rx4 semantics - Symbol.iterator: RxJS will no longer polyfill
Symbol.iterator
ifSymbol
does not exist. This may break code that inadvertently relies on this behavior - Object.assign: RxJS will no longer polyfill
Object.assign
. It does not requireObject.assign
to function, however, your code may be inadvertently relying on this polyfill. - AjaxObservable: Observable.ajax.getJSON() now only supports a single type parameter,
getJSON<T>(url: string, headers?: Object): Observable<T>
. The extra type parameter it accepted previously was superfluous. - distinct:
distinctKey
has been removed. Usedistinct
- distinct:
distinct
operator has changed, first argument is an optionalkeySelector
. The customcompare
function is no longer supported.
5.0.0-rc.1 (2016-10-11)
- AjaxObservable: Fix for #1921 exposed AjaxObservable unsubscription error calling xhr.abort(). (4d23f87)
- AnonymousSubject: is now exposed on Rx namespace (0a6f049), closes #2002
- bufferTime: no errors with take after bufferTime with maxBufferSize (ecec640), closes #1944
- docs: Fix esdoc for Observable.merge spread argument (b794e9b)
- Observer: fix Observable#subscribe() signature to suggest correct usable (459d2a2)
- operator: Fix take to complete when the source is re-entrant. (86615cb)
- root: find global context (window/self/global) in a more safe way (a098132), closes #1930
- schedulers: Queue, Asap, and AnimationFrame Schedulers should be Async if delay > 0 (d5c682c)
- util/toSubscriber: Supplies the Subscriber constructor with emptyObserver as destination if no (8e7e4e3)
- WebSocketSubject: ensure all internal state properly reset when socket is nulled out (62d242e), closes #1863
- cache: remove
cache
operator (1b23ace) - ES2015: stop publishing
rxjs-es
, ES2015 output no longer included in@reactivex/rxjs
package under/dist/es6
(6be9968), closes #1671 - filter: Observable.filter() can take type guard as the predicate function (d62fbf0)
- find: Observable.find() can take type guard as the predicate function (b952718)
- first: Observable.first() can take type guard as the predicate function (f99ca49)
- last: Observable.last() can take type guard as the predicate function (76a8a57)
- operators: Use lift in the operators that don't currently use lift. (68af9ef)
- TypeScript: update TypeScript to v2.0 (3478b0b)
- cache: The .cache() operator has been removed, pending further discussion (1b23ace)
- ES2015:
rxjs-es
is no longer being published - ES2015:
@reactivex/rxjs
no longer has/dist/es6
output
related #2016 related #1992
- package.json: TypeScript definitions are now for TS 2.0 and higher
Even if we use getter for class, they are marked with readonly
properties
in d.ts.
- operators: Removes MulticastObservable subclass in favor of a MulticastOperator.
5.0.0-beta.12 (2016-09-09)
- ajaxObservable: remove implicit dependency to map operator patch (1744ae9), closes #1874
- AjaxObservable: return null value from JSON.Parse (#1904) (6ba374e)
- catch: removed unneeded overload for catch (dd0e586)
- max: do not return comparer values (f454e93), closes #1892
- min: do not return comparer values (222fd17), closes #1892
- operators: export reserved name operators on prototype (34c39dd), closes #1924
- VirtualTimeScheduler: remove default maxFrame limit (1de86f1), closes #1889
- WebSocketSubject: pass constructor errors onto observable (49c7d67)
- operator: Add repeatWhen operator (c288d88)
- sequenceEqual: adds sequenceEqual operator (3c30293), closes #1882
5.0.0-beta.11 (2016-08-09)
- ajaxObservable: only set default Content-Type header when no body is sent (#1830) (5a895e8)
- AjaxObservable: drop resultSelector support in ajax method (7a77437), closes #1783
- AsyncSubject: do not allow change value after complete (801f282), closes #1800
- BoundNodeCallbackObservable: cast to
any
to access to private field insource
(54f342f) - catch: accept selector returns ObservableInput (e55c62d), closes #1857
- combineLatest: emit unique array instances with the default projection (2e30fd1)
- Observable.from: standardise arguments (remove map/context) (aa30af2)
- schedulers: fix asap and animationFrame schedulers to execute across async boundaries. (#182 (548ec2a), closes [(#1820](https://github.com/(/issues/1820) #1814
- subscribeToResult: update subscription to iterables (5d6339a)
- WebSocketSubject: prevent early close (#1831) (848a527), closes [(#1831](https://github.com/(/issues/1831)
- fromEvent: Pass through event listener options (#1845) (8f0dc01)
- PairsObservable: add PairsObservable creation method (26bafff), closes #1804
- Observable.from: - Observable.from no longer supports the optional map function and associated context argument. This change has been reflected in the related constructors and their properties have been standardised.
- AjaxObservable: ajax.*() method no longer support resultSelector, encourage to use
map
instead
5.0.0-beta.10 (2016-07-06)
- AjaxObservable: ignore content-type for formdata (#1746) (43d05e7)
- AjaxObservable: support withCredentials for CORS request (8084572), closes #1732 #1711
- babel: fix an issue where babel could not compile
Scheduler.async
(#1807) (12c5c74), closes [(#1807](https://github.com/(/issues/1807) #1806 - bufferTime: handle closing context when synchronously unsubscribed (4ce4433), closes #1763
- multicast: Fixes multicast with selector to create a new source connection per subscriber. (c3ac852), closes [(#1774](https://github.com/(/issues/1774)
- Subject: allow optional next value in type definition (3e0c6d9), closes #1728
- WebSocketSubject: respect WebSockeCtor, support source/destination arguments in constructor. (#179 (cd8cdd0), closes #1745 #1784
5.0.0-beta.9 (2016-06-14)
- cache: get correct caching behavior (#1765) (cb0b806), closes #1628
- ConnectableObservable: fix ConnectableObservable connection handling issue (41ce80c)
- typings: make HotObservavle._subscribe protected (1c3d6ea)
- WebSocketSubject: WebSocketSubject will now chain operators properly (#1752) (bf54db4), closes #1745
- window: don't track internal window subjects as subscriptions. (f3357b9)
- fromEventPattern: ~3x improvement in speed (3dc1c00)
5.0.0-beta.8 (2016-05-22)
- AnonymousSubject: allow anonymous observers as destination (0e2c28b)
- combineLatest: rxjs/observable/combineLatest is now properly exported (21fab73), closes #1722
- ConnectableObservable: fix race conditions in ConnectableObservable and refCount. (d1412bc)
- Rx: remove kitchenSink and DOM, let Rx export all (f5090b4), closes #1650
- ScalarObservable: set _isScalar to false when initialized with a scheduler (5037b3a)
- Subject: correct Subject behaviors to be more like Rx4 (ba9ef2b)
- subscriptions: fixes bug that tracked subscriber subscriptions twice. (29ff794)
- bufferTime: add
maxBufferSize
optional argument (cf45540), closes #1295 - multicast: subjectfactory allows selectors (32fa3a4)
- onErrorResumeNext: add onErrorResumeNext operator (51e022b), closes #1665
- publish: support optional selectors (0e5991d), closes #1629
- combineLatest: avoid splice and indexOf (33599cd)
- Subject: Subjects no longer duck-type as Subscriptions
- Subject: Subjects will no longer throw when re-subscribed to if they are not unsubscribed
- Subject: Subjects no longer automatically unsubscribe when completed or errored BREAKING CAHNGE: Minor scheduling changes to groupBy to ensure proper emission ordering
- Rx:
Rx.kitchenSink
andRx.DOM
are removed,Rx
export everything.
5.0.0-beta.7 (2016-04-27)
- race: handle observables completes immediately (abac3d1), closes #1615
- scan: accumulator passes current index (a3ec896), closes #1614
- Observable.generate: add generate static creation method (c03434c)
5.0.0-beta.6 (2016-04-12)
- AjaxObservable: support json responseType on IE (bba13d8), closes #1381
- bufferToggle: accepts closing selector returns promise (b1c575c)
- bufferToggle: accepts promise as openings (3d22c7a)
- bufferToggle: handle closingSelector completes immediately (02239fb)
- typings: explictly export typings for arguments to functions that destructure configuration objects (ef305af)
- DeferSubscriber: split up 'tryDefer()' into a method to call a factory function. (566f46b)
5.0.0-beta.5 (2016-04-05)
- take: make 'take' unsubscribe when it reaches the total (9858aa3)
- Operator:
Operator.prototype.call
has been refactored to include both the destination Subscriber, and the source Observable the Operator is now responsible for describing it's own subscription process. (26423f4)
5.0.0-beta.4 (2016-03-29)
- AjaxObservable: enhance compatibility (0ac7e1e)
- Observable.if: accept promise as source (147166e)
- mergeMap: allow concurrent to be set as the second argument for mergeMap and mergeMapTo (c003468)
- observable: ensure the subscriber chain is complete before calling this._subscribe (1631224)
- Symbol: fixed issue where $$observable is not defined (e66b2d8)
- Observable.using: accepts factory returns promise (f8d7d1b)
- windowToggle: handle closingSelector completes immediately (c755587), closes #1487
- ajax: add FormData support in AjaxObservable and add percent encoding for parameters (1f6119c)
- Subscription:
add()
now returns a Subscription reference (a3f4552) - timestamp: add timestamp operator (80b1646), closes #1515
- forkJoin: improve forkJoin perf slightly by removing unnecessary context tracking (280b985)
- Observable:
Observable.fromArray
was removed since it's deprecated on RxJS 4. You should useObservable.from
instead.
5.0.0-beta.3 (2016-03-21)
- AjaxObservable: update type definition for AjaxObservable (3f5c269), closes #1382
- deferObservable: accepts factory returns promise (0cb44e1)
- do: fix do operator to invoke observer message handlers in the right context. (67a2f25)
- exhaustMap: remove innersubscription when it completes (7ca0859)
- forEach: ensure that teardown logic is called when nextHandler throws (c50f528), closes #1411
- forkJoin: accepts observables emitting null or undefined (6279d6b), closes #1362
- forkJoin: dispose the inner subscriptions when the outer subscription is disposed (c7bf30c)
- FutureAction: add support for periodic scheduling with setInterval instead of setTimeout (c4f5408)
- Observable: introduce Subscribable interface that will be used instead of Observable in inpu (2256e7b)
- Observable.prototype.forEach: removed thisArg to match es-observable spec (d5f1bcd)
- package.json: install typings only after packages are installed (a48d796)
- Schedulers: ensure schedulers can be reused after error in execution (202b79a)
- takeLast: fix takeLast behavior to emit correct order (73eb658), closes #1407
- typings: set map function parameter for Observable.from as optional (efa4dc3)
- AsyncScheduler: add AsyncScheduler implementation (4486c1f)
- if: add static Observable.if creation operator. (f7ff7ec)
- let: adds the let operator to Rx.KitchenSink (dca6504)
- using: add static Observable.using creation operator. (6c76593)
- Observable.prototype.forEach: thisArg removed to match es-observable spec
5.0.0-beta.2 (2016-02-10)
- ajax: fixes error in Chrome accessing responseText when responseType isn't text. (f3e2f73)
- benchpress: fix issues with benchmarks (16894bb)
- every: remove eager predicate calls (74c2c44)
- forkJoin: fix forkJoin to complete if sources Array is empty. (412b13b)
- groupBy: does not emit on unsubscribed group (6d08705)
- groupBy: fix groupBy to use lift(), supports composability (815cfae), closes #1085
- merge/concat: passed scalar observables will now complete properly (c01b92f), closes #1150
- MergeMapSubscriber: clarify type definitions for MergeMapSubscriber's members (4ee5f02)
- Observable.forEach: errors thrown in nextHandler reject returned promise (c5ead88), closes #1184
- Observer: fix typing to allow observation via partial observables with PartialObservable<T (7b6da90)
- Subject: align parameter order to match with RxJS4 (44dfa07), closes #1285
- Subject: throw ObjectUnsubscribedError when unsubscribed (29b630b), closes #859
- Subscriber: adds unsubscription when errors are thrown from user-land handlers. (dc67d21)
- Subscription: fix leaks caused by unsubscribe functions that throw (9e88c2e)
- subscriptions: unsubscribe correctly when a Subscriber throws during synchronous dispatch. (b1698fe)
- typings: don't expose PromiseConstructor dependency (f59225b), closes #1270
- typings: remove R from Operator.call, update operators accordingly (f27902d)
- typings: remove redundant generics from call<T, R> and lift<T, R> (603c9eb)
- windowTime: does not emit on unsubscribed window (595f4ef)
- cache: add cache operator (4308a04)
- delayWhen: add delayWhen operator (17122f9)
- distinct: add distinct operator (94a034d)
- distinctKey: add distinctKey operator (fe4d57f)
- from: allow Observable.from to handle array-like objects (7245005)
- MapPolyfill: implement clear interface (e3fbd05)
- operator: adds inspect and inspectTime operators (54f957b)
- OuterSubscriber: notifyNext passes innersubscriber when next emits (1df8928), closes #1250
- Subject: implement asObservable (aca3dd0), closes #1108
- takeLast: adds takeLast operator. (3583cd3)
- catch: remove tryCatch/errorObject for custom tryCatching, 1.3M -> 1.5M ops/sec (35caf74)
- combineLatest: remove tryCatch/errorObject, 156k -> 221k ops/sec (1c7d639)
- count: remove tryCatch/errorObject for custom tryCatching, 1.84M -> 1.97M ops/sec (869718d)
- debounce: remove tryCatch/errorObject for custom tryCatching (90bf3f1)
- distinct: increase perf from 60% of Rx4 to 1000% Rx4 (d026c41)
- do: remove tryCatch/errorObject use, 104k -> 263k ops/sec improvement (ccba39d)
- every: remove tryCatch/errorObject (~1.8x improvement) (14afeb6)
- exhaustMap: remove tryCatch/errorObject (~10% improvement) (a55f459)
- filter: remove tryCatch/errorObject for 2x perf improvement (086c4bf)
- find: remove tryCatch/errorObject (~2x improvement) (aa35b2a)
- first: remove tryCatch/errorObject for custom tryCatching, 970k ops -> 1.27M ops/sec (d8c835a)
- groupBy: remove tryCatch/errorObject for custom tryCatching, 38% faster. (40c43f7)
- last: remove tryCatch/errorObject for custom tryCatching, 960k -> 1.38M ops/sec (243ace3)
- map: 2x increase from removing tryCatch/errorObject (231f729)
- mergeMap: extra 1x factor gains from custom tryCatch member function (c4ce2fb)
- mergeMapTo: remove tryCatch/errorObject (~2x improvement) (42bcced)
- reduce: remove tryCatch/errorObject, optimize calls, 2-3x perf improvement (6186d46)
- scan: remove tryCatch/errorObject for custom tryCatcher 1.75x improvement (338135d)
- single: remove tryCatch/errorObject (~2.5x improvement) (2515cfb)
- skipWhile: remove tryCatch/errorObject (~1.6x improvement) (cf002db)
- Subscriber: double performance adding tryOrUnsub to Subscriber (4e75466)
- switchMap: remove tryCatch/errorObject ~20% improvement (ec0199f)
- switchMapTo: remove tryCatch/errorObject (~2x improvement) (c8cf72a)
- takeWhile: remove tryCatch/errorObject (~6x improvement) (ef6c3c3)
- withLatestFrom: remove tryCatch/errorObject, 92k -> 107k (16% improvement) (e4ccb44)
- zip: extra 1x-2x factor gains from custom tryCatch member function (a1b0e52)
- Subject: Subject.create arguments have been swapped to match Rx 4 signature.
Subject.create(observable, observer)
is nowSubject.create(observer, observable)
- Observable patching: Patch files for static observable methods such as
of
andfrom
can now be found inrxjs/add/observable/of
,rxjs/add/observable/from
, etc. - Observable modules: Observable modules for subclassed Observables like
PromiseObservable
,ArrayObservable
are now in appropriately named files likerxjs/observable/PromiseObservable
andrxjs/observable/ArrayObservable
as opposed torxjs/observable/fromPromise
andrxjs/observable/fromArray
, since they're not patching, they simply house the Observable implementations.
5.0.0-beta.1 (2016-01-13)
- ajax: ensure post sending values (7aae0a3)
- ajax: ensure that headers are set properly (1100bdd)
- ajax: ensure XHR props are set after open (4a6a579)
- ajax: ensure XHR send is being called (c569e3e)
- ajax: remove unnecessary onAbort handling (ed8240e)
- ajax: response properly based off responseType (b2a27a2)
- ajax: should no longer succeed on 300 status (4d4fa32)
- animationFrame: req/cancel animationFrame has to be called within the context of root. (30a11ee)
- debounceTime: align value emit behavior as same as RxJS4 (5ee11e0), closes #1081
- distinctUntilChanged: implement optional keySelector (f6a897c)
- fromEvent: added spread operator for emitters that pass multiple arguments (3f8eabb)
- fromObservable: expand compatibility for iterating string source (8f7924f), closes #1147
- Immediate: update setImmediate compatibility on IE (39e6c0e), closes #1163
- inspect: remove inspect and inspectTime operators (17341a4)
- Readme: update link to bundle on npmcdn (44a8ca7)
- ReplaySubject: Fix case-sensitive import. (de31f32)
- ScalarObservable: fix issue where scalar map fired twice (c18c42e), closes #1142 #1140
- scheduling: Fixes bugs in scheduled actions. (e050f01)
- Subscriber: errors in nextHandler no longer propagate to errorHandler (f42eed2), closes #1135
- WebSocketSubject: ensure error codes passed to WebSocket close method (3b1655e)
- WebSocketSubject: ensure WebSocketSubject can be resubscribed (861a0c1)
- WebSocketSubject: resultSelector and protocols specifications work properly (580f69a)
- ajax: add resultSelector and improve perf (6df755f)
- ajax: adds ajax methods from rx-dom. (2ca4236)
- bindNodeCallback: add Observable.bindNodeCallback (497bb0d), closes #736
- Observable: add let to allow fluent style query building (5a2014c)
- Observable: add pairwise operator (1432e59)
- Operator: Expose the Operator interface to library consumers (29aa3af)
- pluck: add pluck operator (8026906), closes #1134
- race: add race operator (ee3b593)
- scheduler: adds animationFrame scheduler. (e637b78)
- WebSocketSubject: add basic WebSocketSubject implementation (58cd806)
- WebSocketSubject.multiplex: add multiplex operator to WebSocketSubject (904d617)
- inspect:
inspect
andinspectTime
were removed. UsewithLatestFrom
instead. - Subscriber/Observable: errors thrown in nextHandlers by consumer code will no longer propagate to the errorHandler.
5.0.0-beta.0 (2015-12-15)
- micro-perf: rename immediate to queue scheduler (fe56b28), closes #1040
- micro-perf: use the correnct scheduler on current-thread tests (3dff5eb)
- operators: emit declarations for patch modules (676f82d)
- test: make explicit unsubscription for observable (7f67b09)
- test: make explicit unsubscription for observable (65e65e2)
- window: fix window() to dispose window Subjects (5168f73)
- windowCount: fix windowCount to dispose window Subjects (f29ee29)
- windowTime: fix windowTime to dispose window Subjects (b73e260)
- windowToggle: fix windowToggle to dispose window Subjects (15ff3f7)
- windowWhen: fix windowWhen to dispose window Subjects (91c1941)
- inspect: added inspect operator (f9944ae)
- inspectTime: add inspectTime operator (6835dcd)
- sample: readd
sample
operator (e93bffc) - sampleTime: reimplement
sampleTime
with RxJS 4 behavior (6b77e69) - TestScheduler: add createTime() parser to return number (cb8cf6b)
- sampleTime:
sampleTime
now has the same behaviorsample(number, scheduler)
did in RxJS 4 - sample:
sample
behavior returned to RxJS 4 behavior - inspectTime:
sampleTime
is nowinspectTime
- inspect: RxJS 5
sample
behavior is nowinspect
- extended operators: All extended operators are now under the same operator directory as all others. This means that
import "rxjs/add/operator/extended/min"
is nowimport "rxjs/add/operator/min"
5.0.0-alpha.14 (2015-12-09)
- every: handle thisArg for scalar and array observables (eae4b00)
- SymbolShim: ensure for function even if Symbol already exists (e942776), closes #999
- SymbolShim: Symbol polyfill is a function (1f57157), closes #988
- timeoutWith: fix to avoid unnecessary inner subscription (6e63752)
- count: remove thisArg (878a1fd)
- distinctUntilChanged: remove thisArg (bfc52d6)
- exhaust: rename switchFirst operators to exhaust (9b565c9), closes #915
- finally: remove thisArg (d4b02fc)
- forEach: add thisArg (14ffce6), closes #878
- single: remove thisArg (43af805)
- exhaust: switchFirst is now exhaust
- exhaust: switchFirstMap is now exhaustMap
- forEach: Observable.prototype.forEach argument order changed to accommodate thisArg. Optional PromiseCtor argument moved to third arg from second
5.0.0-alpha.13 (2015-12-08)
- Observable: fix circular dependency issue. (b7672f4)
- bufferToggle: fix unsubscriptions of closing Observable (439b641)
- expand: accept scheduler parameter (79e9084), closes #841
- publish: make script generate correct package names (10563d3)
- repeat: preserve Subscriber chain in repeat() (d9a7328)
- retry: preserve Subscriber chain in retry() (b429dac)
- retryWhen: preserve Subscriber chain in retryWhen() (c9cb958)
- AsapScheduler: rename NextTickScheduler to AsapScheduler (3255fb3), closes #838
- BehaviorSubject: add getValue method to access value (33b387b), closes #758
- BehaviorSubject: now throws when getValue is called after unsubscription (1ddf116)
- ObjectUnsubscribedError: add ObjectUnsubscribed error class (39836af)
- Observable: subscribe accepts objects with rxSubscriber symbol (b7672f4)
- QueueScheduler: rename ImmediateScheduler to QueueScheduler (66eb537)
- Rx.Symbol.rxSubscriber: add rxSubscriber symbol (d4f1670)
- Subject: add rxSubscriber symbol (d2e4257)
- Subscriber: add rxSubscriber symbol (7bda360)
- switchFirstMap: rename switchMapFirst to switchFirstMap (eddd4dc)
- AsapScheduler:
Rx.Scheduler.nextTick
(Rx 4's "default" scheduler) is nowRx.Scheduler.asap
- QueueScheduler:
Rx.Scheduler.immediate
(Rx 4's "currentThread" scheduler) is nowRx.Scheduler.queue
related #838 - switchFirstMap:
switchMapFirst
is nowswitchFirstMap
5.0.0-alpha.12 (2015-12-04)
- AsyncSubject: emit value when it's subscribed after complete (ed0eaf6)
- bindCallback: only call function once even while scheduled (8637d47), closes #881
- bufferToggle: fix disposal of subscriptions when errors occur (a20325c)
- catch: fix catch to dispose old subscriptions (280f7ed), closes #763
- catch: fix catch() to preserve Subscriber chain (e1447ac)
- concat: accept scheduler parameter (8859702)
- ConnectableObservable: fix ConnectableObservable connectability and refCounting (aef9578), closes #678
- debounce: Fix debounce to unsubscribe duration Observables (dea7847)
- expand: fix expand's concurrency behavior (01f86e5)
- expand: terminate recursive call when destination completes (3b8cf94)
- Observable: Subjects no longer wrapped in Subscriber (5cb0f2b), closes #825 #748
- Observer: anonymous observers now allow missing handlers (a11c763), closes #723
- operators: Remove shareReplay and shareBehavior (536a6a6), closes #710
- publish: copy readme and license, remove scripts (439a2f3), closes #845
- throttleTime: fix and rename throttleTime operator (3b0c1f3)
- TimerObservable: accepts absolute date for dueTime (e284fb8), closes #648
- AsyncSubject: add AsyncSubject (34c05fe)
- bindCallback: remove thisArg (feea9a1)
- bindCallback: rename fromCallback to bindCallback (305d66d), closes #876
- callback: Add Observable.fromCallback (9f751e7)
- combineLatest: accept array of observable as parameter (2edd92c), closes #594
- forkJoin: accept array of observable as parameter (d45f672)
- mergeScan: support concurrency parameter for mergeScan (fe0eb37), closes #868
- usage: add auto-patching operators (1ab3508), closes #860
- skipWhile: add skipWhile operator (a2244e0)
- switchFirst: add switchFirst and switchMapFirst (71e3dd1)
- publishLast: add publishLast operator (9bef228), closes #883
- takeWhile: add takeWhile operator (48e53ea), closes #695
- takeWhile: remove thisArg (b5219a4)
- throttle: add throttle operator with durationSelector (c3bf3e7), closes #496
5.0.0-alpha.11 (2015-12-01)
- catch: fix catch to dispose old subscriptions (280f7ed), closes #763
- concat: accept scheduler parameter (8859702)
- ConnectableObservable: fix ConnectableObservable connectability and refCounting (aef9578), closes #678
- debounce: Fix debounce to unsubscribe duration Observables (dea7847)
- expand: fix expand's concurrency behavior (01f86e5)
- expand: terminate recursive call when destination completes (3b8cf94)
- Observer: anonymous observers now allow missing handlers (a11c763), closes #723
- operators: Remove shareReplay and shareBehavior (536a6a6), closes #710
- test: make explicit unsubscription for observable (505f5b7)
- throttleTime: fix and rename throttleTime operator (3b0c1f3)
- TimerObservable: accepts absolute date for dueTime (e284fb8), closes #648
- callback: Add Observable.fromCallback (9f751e7)
- combineLatest: accept array of observable as parameter (2edd92c), closes #594
- forkJoin: accept array of observable as parameter (d45f672)
- operator: add skipWhile operator (a2244e0)
- operator: add switchFirst and switchMapFirst (71e3dd1)
- takeWhile: add takeWhile operator (48e53ea), closes #695
- throttle: add throttle operator with durationSelector (c3bf3e7), closes #496
5.0.0-alpha.10 (2015-11-10)
5.0.0-alpha.9 (2015-11-10)
- util: incorrect Symbol.iterator for es6-shim (15bf32c)
5.0.0-alpha.8 (2015-11-06)
- concat: handle a given scheduler correctly (8745216)
- package.json: loosen the engines/npm semver range to prevent false warnings (df791c6)
- skipUntil: unsubscribe source when it completes (8a4162b), closes #577
- take: deal with total <= 0 and add tests (c5cc06f)
- windowWhen: fix windowWhen with regard to unsubscriptions (8174947)
- mergeScan: add new mergeScan operator. (0ebb5bd)
- multicast: support both Subject and subjectFactory arguments (f779027)
- publish: reverted to RxJS 4 behavior
- publishBehavior: reverted to RxJS 4 behavior
- publishReplay: reverted to RxJS 4 behavior
- shareBehavior: removed
- shareReplay: removed
5.0.0-alpha.7 (2015-10-27)
- NextTickAction: fix unsubscription behavior (3d8264c), closes #582
- buffer: cleanup notifier subscription when unsubscribed (1b30aa9)
- delay: accepts absolute time delay (b109100)
- mergeMapTo: mergeMapTo result should complete (6f9859e)
- operator: update type definitions for union types (9d90c75), closes #581
- repeat: fix inner subscription semantics for repeat (f67a596), closes #554
- switchMapTo: reimplement switchMapTo to pass tests (d4789cd)
- takeUntil: unsubscribe notifier when it completes (9415196)
- operator: add max operator (7fda036)
- operator: add min operator (79cb6cf)
- shareBehavior: add shareBehavior and its tests (97ff1ec)
5.0.0-alpha.6 (2015-10-17)
5.0.0-alpha.5 (2015-10-16)
- bufferToggle: fix bugs in order to pass tests (949fa31)
- mergeAll: fix mergeAll micro performance tests to use mapTo instead of map. (616e86e)
- package: correct typings path (a501b06)
- repeat: add additional resubscription behavior (4f9f33b), closes #516
- retry: fix internal unsubscriptions for retry (cc92f45), closes #546
- windowToggle: fix window closing and unsubscription semantics (0cb21e6)
5.0.0-alpha.4 (2015-10-15)
- Subject: fix missing unsubscribe call (9dd27d6)
- Subscriber: avoid implicit any (08faaa9)
- bufferWhen: onComplete of closings determine buffers (5d28a38)
- fromEvent: make selector argument optional in fromEvent static method (71d90b4)
- skipUntil: update skipUntil behavior with error, completion (6f0d98f), closes #518
- windowCount: fix windowCount window opening times (908ae56), closes #273
- operator: add debounce operator (a1e652f), closes #493
- operator: add debounceTime operator (dd2ba40)
- ScalarObservable: add fast-path for mapping scalar observables (7b0d3dc)
- count: fast-path for counting over scalars (c35a120)
- filter: add fast-path for filtering scalar observables (e2e8954)
- reduce: add fast-path for reducing over scalar observables (4c65136)
- scan: fast-path for scanning scalars (0201b92)
- skip: fast-path for skip over scalar observable (9b49936)
- take: add fast-path for take over scalars (33053b1)
5.0.0-alpha.3 (2015-10-13)
- Observable: fix type signature of some static operators (e5364de)
- Subject.create: ensure operator property not required for Observable subscription (2259de2), closes #483
- TestScheduler: stop sorting actual results (51db0b8), closes #422
- benchpress: update benchpress dependencies and config (8513eaa), closes #348
- buffer: change behavior of buffer to more closely match RxJS 4 (b66592d)
- combineLatest: fix type signature (a3e6deb)
- defer: fix type signature (11327b9)
- empty: fix type signature (893cb7e)
- fromPromise: fix type signature (17415fa)
- groupBy: durationSelector cannot keep source alive (57e4207)
- groupBy: fix bugs related to group resets (23a7574)
- groupBy: fix bugs with groupBy (86992c6)
- interval: fix signature type (9c238c0)
- operator: startWith operator accepts scheduler, multiple values (d1d339a)
- operators: reorder signature of resultSelectors (fc1724d)
- range: fix type signature (9237d0b)
- timeout: fix absolute timeout behavior (8ec06cf)
- timeout: update behavior of timeout, timeoutWith (16bd691)
- timer: fix type signature (fffb96c)
- window: handle closingNotifier errors/completes (42beff1)
- TestScheduler: support unsubscription marbles (ffb0bb9)
- count: add predicate support in count() (42d1add), closes #425
- dematerialize: add dematerialize operator (0a8b074), closes #475
- do: do will now handle an observer as an argument (c1a4994), closes #476
- first: add resultSelector (3c20fcc), closes #417
- last: add resultSelector argument (5a4896c), closes #418
- operator: add every operator (d11f32e)
- operator: add timeInterval operator (6cc0615)
- share: add the share operator (c36f2be), closes #439
- shareReplay: add the shareReplay() operator (65c84ea)
- ReplaySubject: remove unnecessary computation (488ac2e)
- operators with resultSelectors (mergeMap, concatMap, switchMap, etc): The function signature of resultSelectors used to be (innerValue, outerValue, innerIndex, outerIndex) but this commits changes it to be (outerValue, innerValue, outerIndex, innerIndex), to match signatures in RxJS 4.
5.0.0-alpha.2 (2015-09-30)
- concat: let observable concat instead of merge (c17e832)
- operator: add find, findIndex operator (7c6cc9d)
- operator: add first operator (274c233)
- operator: add ignoreElements operator (fe1a952)
- zip: zip now supports never-ending iterables (a5684ba), closes #397
5.0.0-alpha.1 (2015-09-23)
- Promises: escape promise error trap (c69088a)
- TestScheduler: ensure TestScheduler subscribes to expectations before hot subjects (b9b2ba5)
- TestScheduler: properly schedule actions added dynamically (069ede4)
- buffer: do not emit empty buffer when completes (252fccb)
- bufferTime: inner intervals will now clean up properly (4ef41b0)
- expand: Fix expand to stay open until the source Observable completes. (20ef785)
- expand: fix expand operator to match Rx3 (67f9623)
- last: emit value matches with predicate instead of result of predicate (0f635ee)
- merge: fix issues with async in merge (7a15304)
- mergeAll: merge all will properly handle async observables (43b63cc)
- package: specify supported npm version (f72e622)
- switchAll: switch all will properly handle async observables (c2e2d29)
- switchAll/switchLatest: inner subscriptions should now properly unsub (38a45f8), closes #302
- combineLatest: supports promises, iterables, lowercase-o observables and Observables (ce76e4e)
- config: add global configuration of Promise capability (e7eb5d7), closes #115
- expand: now handles promises, iterables and lowercase-o observables (c5239e9)
- mergeAll: now supports promises, iterables and lowercase-o observables (4c16aa6)
- operator: add elementAt operator (cd562c4)
- operator: add isEmpty operator (80f72c5)
- operator: add last operator (d841b11), closes #304 #306
- operator: add single operator (49484a2)
- switch: add promise, iterable and array support (24fdd34)
- withLatestFrom: default array output, handle other types (cb393dc)
- zip: supports promises, iterables and lowercase-o observables (d332a0e)
0.0.0-prealpha.3 (2015-09-11)
- root: use self as the root object when available (0428a85)
0.0.0-prealpha.2 (2015-09-11)
- bufferCount: set default value for skip argument, do not emit empty buffer at the end (2c1a9dc)
- windowCount: set default value for skip argument, do not emit empty buffer at the end (a513dbb)
- Observable: add static create method (e0d27ba), closes #255
- TestScheduler: add TestScheduler (b23daf1), closes #270
- VirtualTimeScheduler: add VirtualTimeScheduler (96f9386), closes #269
- operator: add sample and sampleTime (9e62789), closes #178
0.0.0-prealpha.1 (2015-09-02)
- combineLatest: check for limits higher than total observable count (81e5dfb)
- rx: add hack to export global until better global build exists (1a543b0)
- subscription-ref: add setter for isDisposed (6fe5427)
- take: complete on limit reached (801a711)
- benchpress: add benchpress config and flatmap spec (0441dea)
- catch: add catch operator, related to #141, closes #130 (94b4c01), closes #130
- from: let from handle any "observablesque" (526d4c3), closes #156 #236
- index: add index module which requires commonjs build (379d2d1), closes #117
- observable: add Observable.all (forkJoin) (44a4ee1)
- operator: Add count operator. (30dd894)
- operator: Add distinctUntilChanged and distinctUntilKeyChanged (f9ba4da)
- operator: Add do operator. (7d9b52b)
- operator: Add expand operator. (47b178b)
- operator: Add minimal delay operator. (7851885)
- operator: add buffer operators: buffer, bufferWhen, bufferTime, bufferCount, and bufferTog (9f8347f), closes #207
- operator: add debounce (f03adaf), closes #193
- operator: add defaultIfEmpty (c80688b)
- operator: add finally (526e4c9)
- operator: add fromEventPattern creator function (1095d4c)
- operator: add groupBy (1e13aea), closes #165
- operator: add materialize. closes #132 (6d9f6ae), closes #132
- operator: add publishBehavior operator and spec (249ab8d)
- operator: add publishReplay operator and spec (a0c47d6)
- operator: add retry (4451db5)
- operator: add retryWhen operator. closes #129 (65eb50e), closes #129
- operator: add skipUntil (ef2620e), closes #180
- operator: add throttle (1d735b9), closes #191
- operator: add timeout and timeoutWith (bb440ad), closes #244
- operator: add toPromise operator. closes #159 (361a53b), closes #159
- operator: add window operators: window, windowWhen, windowTime, windowCount, windowToggle (9f5d510), closes #195
- operator: add withLatestFrom (322218a), closes #209
- operator: implement startWith(). (1f36d99)