Releases: ReactiveX/RxJava
2.2.14
3.0.0-RC4
This is an early release for 3.0.0 to allow preparations for the breaking API changes and cleanups.
Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.
Bugfixes
- Fix
groupBy
group emission in some cases. (#6664) - Fix concurrent
clear()
calls when fused chains are canceled. (#6676) - Fix
window(time)
possible interrupts while terminating. (#6674)
Documentation enhancements
- Add missing marble diagrams to
Single
. (#6668)
Other
- Add Export-Package declarations for OSGi headers. (#6675)
2.2.13
Dependencies
- Commit cc690ff2: Upgrade to Reactive Streams 1.0.3.
Bugfixes
- Commit cc690ff2: Avoid using
System.getProperties()
. - Pull 6653: Fix
takeLast(time)
last events time window calculation. - Pull 6657: Fix size+time bound
window
not creating windows properly.
3.0.0-RC3
This is an early release for 3.0.0 to allow preparations for the breaking API changes and cleanups.
Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.
Dependency changes
- Upgrade to Reactive Streams 1.0.3. (#6633)
API changes
- Remove vararg overloads for
combineLatest
inObservable
+Flowable
. (#6635) - Rename
zipIterable
, removezip(O(O))
, adjustconcatMapX
argument order. (#6638) - Rename
combineLatest
methods that take an array tocombineLatestArray
. (#6640) - Remove
limit
and make its backpressure behavior default intake
(#6650)
Behavior changes
groupBy
will now close groups that do not get subscribed synchronously in order to avoid group leaks and upstream cancellation issues. (#6642)take
now limits the maximum upstream request amount to the provided value instead of requesting unbounded. (#6650)
Bugfixes
- Fix
blockingIterable
not unblocking when force-disposed. (#6626) - Fix
groupBy
not canceling upstream due to group abandonment. (#6642) - Fix
takeLast(time)
last events time window calculation. (#6648) - Fix size+time bound
window
not creating windows properly (#6652)
Documentation enhancements
No changes in this release.
Other
2.2.12
3.0.0-RC2
Version 3.0.0-RC2 - August 20, 2019 (Maven)
This is an early release for 3.0.0 to allow preparations for the breaking API changes and cleanups.
Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.
Major change
After considering several factors, the components of RxJava 3 have been moved to a new base package to avoid class file conflicts due to having v2 and v3 in the same project. The new base package is io.reactivex.rxjava3
and the base types will live in io.reactivex.rxjava3.core
:
Name | v2 | v3 |
---|---|---|
Base package | io.reactivex |
io.reactivex.rxjava3 |
Flowable |
io.reactivex.Flowable |
io.reactivex.rxjava3.core.Flowable |
PublishSubject |
io.reactivex.subjects.PublishSubject |
io.reactivex.rxjava3.subjects.PublishSubject |
ConnectableObservable |
io.reactivex.observables.ConnectableObservable |
io.reactivex.rxjava3.observables.ConnectableObservable |
Function |
io.reactivex.functions.Function |
io.reactivex.rxjava3.functions.Function |
etc. |
Flowable
s of the two versions can talk to each other without bridges because both implement the Reactive Streams' interfaces such as Publisher
:
io.reactivex.Flowable.range(1, 10)
.flatMap(v -> io.reactivex.rxjava3.core.Flowable.just(v * 10))
.subscribeWith(new io.reactivex.rxjava3.subscribers.TestSubscriber<>())
.assertResult(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);
The other reactive types do not share such base interfaces (they have their own respective copies) and will require bridges, likely provided via 3rd party libraries as with v1->v2 or v1->v3 bridges.
Dependency changes
- Upgrade to Reactive Streams 1.0.3-RC1 (#6621)
API changes
- Widen throws on the
XOnSubscribe
interfaces (#6579)
Behavior changes
- Constrain upstream requests of
elementAt
andfirst
operators (#6620)
Bugfixes
- Fix
switchMaps
inconsistency swallowing errors when cancelled (#6572) - Fix
ObservableBlockingSubscribe
compares TERMINATED with wrong object (#6577) - Fix truncation bugs in
replay()
andReplaySubject
/Processor
(#6582) - Fix
mergeWith
not cancelling the other source if the main errors (#6598) - Fix
refCount
not resetting when termination triggers cross-cancel (#6609) - Fix many operators swallowing undeliverable exceptions (#6612)
- Fix
switchMap
incorrect sync-fusion & error management (#6616)
Documentation enhancements
No changes in this release.
Other
2.2.11
Bugfixes
- Pull 6560: Fix NPE when debouncing an empty source.
- Pull 6599: Fix
mergeWith
not canceling other when the main fails. - Pull 6601:
ObservableBlockingSubscribe
compares with wrong object. - Pull 6602: Fix truncation bugs in
replay()
andReplaySubject
/Processor
.
Documentation changes
- Pull 6565: Fix JavaDocs of
Single.doOnTerminate
refer toonComplete
notification.
3.0.0-RC1
This is an early release for 3.0.0 to allow preparations for the breaking API changes and cleanups.
Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.
API changes
- Rename
onErrorResumeNext(<source>)
toonErrorResumeWith(<source>)
to avoid lambda ambiguity withonErrorResumeNext(Function)
. (#6550) - Remove
buffer(Supplier)
variants (#6564) - Remove
window(Supplier)
variants (#6564) - Remove
onExceptionResumeNext
(#6564)
Behavior changes
No behavior changes in this release.
Bugfixes
- Fix NPE when debouncing empty source (#6559)
Documentation enhancements
- Fix wording in Single javadocs (#6566)
Other
3.0.0-RC0
This is an early release for 3.0.0 to verify the release process still works for the new artifact location.
This release note does not detail the changes since 2.2.x. Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.
API changes
- Add eager truncation to bounded
replay()
to avoid item retention (#6532) - Add
X.fromSupplier()
(#6529) - Add
concatMap
withScheduler
guaranteeing where the mapper function runs (#6538) - Add
startWithItem
&startWithIterable
(#6530) ConnectableFlowable
/ConnetableFlowable
redesign (#6519)- Merge
as()
intoto()
(#6514) - Change
Maybe.defaultIfEmpty()
to returnSingle
(#6517) - Widen functional interface throws, replace
Callable
withSupplier
in operator signatures (#6511) - Promote Beta/Experimental operators to Standard (#6537)
- Remove
getValues()
from some subjects/processors (#6516) - Remove methods from test consumers, make internal versions (#6526)
- Remove
replay(Scheduler)
and its overloads (#6539) - Remove
dematerialize()
(#6539) - Remove
startWith(T|Iterable)
(#6530) - Remove
as()
(#6514) - Remove
Maybe.toSingle(T)
(#6517) - Remove
Flowable.subscribe(4 args)
(#6517) - Remove
Observable.subscribe(4 args)
(#6517) - Remove
Single.toCompletable()
(#6517) - Remove
Completable.blockingGet()
(#6517)
Behavior changes
- Make
using()
resource disposal order consistent with eager-mode (#6534) ConnectableFlowable
/ConnetableFlowable
redesign (#6519)- Add eager truncation to bounded
replay()
to avoid item retention (#6532)
Bugfixes
- Fix
concatMapDelayError
not continuing on fused inner source crash (#6523) - Sync up with 2.2.10 snapshot (#6507)
- Merge in changes from 2.x since the initial branching (#6498)
Documentation enhancements
- Clarify create emitters are per consumer (#6535)
- Add marbles to
X.fromSupplier
(#6531) - Sync up with 2.2.10 snapshot (#6507)
- Merge in changes from 2.x since the initial branching (#6498)