Changelog History
Page 2
-
v3.0.1 Changes
March 14, 2020 -
v3.0.0 Changes
July 12, 2019๐ 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
- ๐ Rename
-
v3.0.0-RC9 Changes
January 31, 2020๐ 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
Single.equals
toSingle.sequenceEqual
. (#6856) - ๐ Change some
Flowable.buffer
overload signatures to usePublisher
as input. (#6895) - โ Add
delayError
overload toMaybe.delay
. (#6864) - โ Add
Maybe
/Single
/Completable
blockingSubscribe
. (#6862) - โ Add
onErrorComplete
toFlowable
,Observable
andSingle
. (#6867) - โ Add
Completable.onErrorResumeWith
. (#6868) - โ Add
Single
/Completable
retryUntil
. (#6869) - โ Add
Maybe
/Single
/Completable
switchOnNext
&switchOnNextDelayError
. (#6870) - โ Add
Maybe.dematerialize
. (#6871) - โ Add missing
fromX
operators. (#6873) - โ Add
Maybe
/Single
timeInterval
×tamp
. (#6874) - โ Add
Maybe
/Completable
toFuture
. (#6875) - โ Add
Single.ofType
. (#6876) - โ Add
Maybe
/Single
/Completable
doOnLifecycle
. (#6877) - โ Add various
concatMapX
operators (aliases). (#6879) - โ Add various
concatXDelayError
operators. (#6881) - โ Add
Single.mergeArray
&mergeArrayDelayError
. (#6882) - โ Add
Completable.sequenceEqual
. (#6884) - โ Add missing
startWith
overloads. (#6885) - โ Add
Completable.onErrorReturn[Item]
. (#6886) - โ Add
safeSubscribe
toMaybe
,Single
&Completable
. (#6887) - ๐ Swap
Maybe.flatMapSingle
andMaybe.flatMapSingleElement
, remove the latter. (#6891) - โ Add
Single.flatMap
overloads with combiner and notification selector mode (#6893) - โ Add
concatEager(Iterator, int)
toMaybe
andSingle
. (#6899) - And
concatEagerDelayError
toFlowable
,Observable
,Maybe
andSingle
. (#6899)
๐ Bugfixes
- ๐ Fix
Flowable.groupBy
not requesting more if a group is cancelled with items still buffered. (#6895)
๐ Documentation enhancements
- ๐ Improve Operator-Matrix Wiki with links and notes. (#6857)
- โ Add last missing
@throws
tag to JavaDocs. (#6860) - ๐ Fix many marbles in
Maybe
. (#6866) - โ Add
Maybe.retryUntil
marble. (#6869) - โ Add the last set of
Maybe
marble diagrams. (#6897)
Other changes
- ๐ Fix method argument naming across types. (#6853)
- ๐ Verify the use of base interfaces in operator inputs & lambdas. (#6895)
- โฌ๏ธ Bump
biz.aQute.bnd.gradle
from 4.3.1 to 5.0.0 (#6861) - ๐ Use more appropriate operators when delegating to
Flowable
operators. (#6888) - ๐ Fix marble dimensions, add program that checks them. (#6890)
- ๐ Rename
-
v3.0.0-RC8 Changes
January 19, 2020๐ 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
- โ Remove
fromFuture(..., Scheduler)
overloads. (#6814) - โ Remove a pointless
concatMapIterable
overload. (#6837) - โ
Rename to
combineLatestArrayDelayError
. (#6838) - โ Remove
Maybe.onExceptionResumeNext
. (#6844)
๐ Bugfixes
- ๐ Fix
Flowable.flatMap
not canceling the inner sources on outer error. (#6826)
๐ Documentation enhancements
- Prettify
Flowable
JavaDocs + validator. (#6806) - ๐ Improve JavaDocs of
Completable
and some others. (#6809) - ๐ Improve JavaDocs of
Single
(#6812) - ๐ Improve JavaDocs of
Maybe
(#6815) - ๐ Improve JavaDocs of
Observable
and fix similar issues elsewhere (#6831) - Cleanup JavaDocs for parameter validation all around. (#6835)
- ๐ Improve wording of operators. (#6843)
- โ Add operator matrix wiki + auto-extractor. (#6845)
- Simplify
@return
sentences in JavaDocs (#6847)
Other changes
- โฌ๏ธ Bump
junit
from 4.12 to 4.13 (#6810) - Enable javac parameter saving in class files. (#6839)
- โฌ๏ธ Bump
build-info-extractor-gradle
from 4.12.0 to 4.13.0 (#6808) - โ Add nullability annotations to type arguments. (#6840)
- โ Deleted unnecessary NPE tests. (#6846)
- โ Add Official Gradle Wrapper Validation GitHub Action. (#6848)
- โ Remove
-
v3.0.0-RC7 Changes
December 31, 2019๐ โ ๏ธ With this release, RxJava moved to a Java 8 baseline. This means the library is now built with -target 8 settings to produce Java 8 bytecode and requires a Java runtime >= 8 to work. Most desktop and server-side usages should be fine.
โ For Android development, the latest Android Studio is always recommended which is already able to desugar many Java 8 constructs. The upcoming AS 4 will support even more desugaring for older API levels. Until then, one should stick to the non-Java 8 standard methods so the Java 8 methods can be ignored by AS.
๐ 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.
Behavior changes
- ๐ Change how the cause of
CompositeException
is generated. (#6748) - ๐ Change
Flowable.window
(size, time) abandonment. (#6758) - ๐ Change
Observable.window
(size & time) abandonment. (#6761) - ๐ Change
window
(boundary, start/end) cancel and abandonment. (#6762) - [Java 8] Upgrade to Java 8 baseline. (#6765)
- ๐ Change
XProcessor.offer
to throwNullPointerException
immediately. (#6799)
API changes
- [Java 8] Add
fromOptional
,fromCompletionStage
,fromStream
operators toFlowable
. (#6765) - [Java 8] Add
FunctionalInterface
annotations. (#6773) - [Java 8] Add
mapOptional
,collector
,{first|last|single}Stage
operators toFlowable
. (#6775) - [Java 8] Add
AutoCloseable
<->Disposable
conversions. (#6780) - [Java 8] Add
blockingStream
&flatMapStream
operators toFlowable
. (#6779) - [Java 8] Migrate
Disposables
static factories toDisposable
interface. (#6781) - [Java 8] Add
fromOptional
,fromCompletionStage
,mapOptional
andtoCompletionStage
toMaybe
/Single
/Completable
. (#6783) - Widen
{Flowable|Observable|Maybe|Single|Completable|ParallelFlowable}Operator
throws declaration toThrowable
. (#6785) - [Java 8] Add
@NonNull
&@SafeVarargs
annotations. (#6791) - โ Add missing
@NonNull
,@CheckReturnValue
, etc. annotations. (#6795) - [Java 8] Add the new operators to
Observable
. (#6797) - [Java 8] Add
ParallelFlowable
operators and add missing annotations to existing operators. (#6798) - โ Add
blockingForEach(Consumer, int)
overload. (#6800) - [Java 8] Add
flattenStreamAsFlowable
andflattenStreamAsObservable
toMaybe
andSingle
. (#6805)
๐ Bugfixes
- ๐ Fix
Observable
amb
,combineLatest
&zip
ArrayStoreException
. (#6756) - ๐ Fix
Flowable.window
(size, time) cancellation and abandonment. (#6758) - ๐ Fix
Observable.window
(size & time) cancellation and abandonment. (#6761) - ๐ Fix
window
(boundary, start/end) cancel and abandonment. (#6762)
๐ Documentation enhancements
- โก๏ธ Update
observeOn
docs with links and +backpressure explanation. (#6750) - ๐ Fix typo in
Flowable
javadoc. (#6760) - ๐ฆ Javadocs
package-info
made nicer. (#6778) - [Java 8] Update README regarding Java 8. (#6778)
- Nicen
Disposable
Javadocs. (#6780) - Cleanup and prettify Javadocs (#6785)
Other changes
- โก๏ธ Do not update snapshot Javadocs from secondary branches. (#6752)
- โ Remove
ObjectHelper.requireNonNull(long, String)
. (#6769) - [Java 8] Replace some
ObjecsHelper
methods with Java 8 APIs. (#6770) - [Java 8] Replace
ObjectHelper.requireNonNull
withObjects.requireNonNull
. (#6771) - [Java 8] Diamond operators in unit tests,
flowable
package. (#6787) - [Java 8] Diamond operators in unit tests,
observable
package. (#6786) - [Java 8] Diamond operators in various unit tests. (#6788)
- [Java 8] Diamond operators in unit tests, small packages. (#6789)
- [Java 8] Remove now unnecessary unchecked warning suppressions. (#6790)
- [Java 8] Add
@NonNull
&@SafeVarargs
annotations validator. (#6791) - [Java 8] Fix many diamonds. (#6795)
- [Java 8]
Observable
operator cleanup. (#6797) - [Java 8]
ParallelFlowable
operator cleanup. (#6798) - โ Add missing
throwIfFatal
calls (#6801) - [Java 8] Fix diamonds, spelling, unnecessary code. (#6804)
- ๐ Change how the cause of
-
v3.0.0-RC6 Changes
December 06, 2019๐ 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.
Behavior changes
- ๐ Change
Flowable.groupBy
to signalMissingBackpressureException
instead of possibly hanging. (#6740)
API changes
- โ Add fair mode overload to
Schedulers.from(Executor)
(#6744) - ๐ Make
DisposableContainer
public API (#6745)
๐ Bugfixes
- ๐ Fix
parallel()
on groupedFlowable
not replenishing properly. (#6719)
๐ Documentation enhancements
- ๐ Change
-
v3.0.0-RC5 Changes
November 17, 2019๐ 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 concurrent clear in
observeOn
while output-fused. (#6708) - ๐ Fix
MulticastProcessor
not requesting more after limit is reached. (#6714)
๐ Documentation enhancements
- โก๏ธ Update javadoc for
observeOn
to mention its eagerness. (#6700)
Other
- Embed R8 ProGuard rules to ignore Flow* interfaces in RS 1.0.3 (#6706)
- ๐ Fix concurrent clear in
-
v3.0.0-RC4 Changes
October 20, 2019๐ 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)
- ๐ Fix
-
v3.0.0-RC3 Changes
September 17, 2019๐ 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
-
v3.0.0-RC2 Changes
August 20, 2019๐ 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 inio.reactivex.rxjava3.core
:Name v2 v3 ๐ฆ Base package io.reactivex
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 asPublisher
: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