Releases: ReactiveX/RxJava
3.0.1
2.2.18
Bugfixes
- Pull 6894: Fix
groupBy
not requesting more if a group is cancelled with buffered items.
3.0.0
We are happy to announce the release of RxJava 3.0.0 final.
Please read the wiki page What's different in 3.0 for the details on the various changes compared to RxJava 2.x. The page also doubles as a migration guide.
Please read the wiki page carefully before posting about common and expected migration issues such as wrong imports, changed or missing methods or using the wrong maven address.
The project would like to thank the following contributors for their tireless effors improving RxJava 3:
vjgarciag96, slisaasquatch, pestrada, JLLeitschuh, dvolkovv, JakeWharton, hepin1989, richardkapolnai-da, JosemyDuarte, io7m, arriolac, davidmoten, vanniktech, RomanWuattier, Erlkoenig90, hluhovskyi, luis-cortes, slievrly, maksim-m
In addition, we would like to thank our regular and diligent reviewers, @JakeWharton and @vanniktech for their continued support of the project.
Changes since 3.0.0-RC9
There were no functional, API or behavior changes since RC9.
3.0.0 development statistics
Time: 8 months 8 days; or 253 days since the fork from 2.2.7.
Issues closed: 107
PRs: 178
Files
- Changed: 3,538
- Lines aded: 465,505
- Lines deleted: 420,753
3.0.0-RC9
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)
3.0.0-RC8
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)
2.2.17
3.0.0-RC7
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)
2.2.16
3.0.0-RC6
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
2.2.15
Bugfixes
- Pull 6715: Fix
MulticastProcessor
not requesting more after limit is reached. - Pull 6710: Fix concurrent
clear
inobserveOn
while output-fused. - Pull 6720: Fix
parallel()
on grouped flowable not replenishing properly.
Documentation changes
- Pull 6722: Update javadoc for
observeOn
to mention its eagerness.
Other changes
- Pull 6704: Add ProGuard rule to avoid
j.u.c.Flow
warnings due to RS 1.0.3.