Releases: ReactiveX/RxJava
2.2.18
Bugfixes
- Pull 6894: Fix
groupBynot 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.equalstoSingle.sequenceEqual. (#6856) - Change some
Flowable.bufferoverload signatures to usePublisheras input. (#6895) - Add
delayErroroverload toMaybe.delay. (#6864) - Add
Maybe/Single/CompletableblockingSubscribe. (#6862) - Add
onErrorCompletetoFlowable,ObservableandSingle. (#6867) - Add
Completable.onErrorResumeWith. (#6868) - Add
Single/CompletableretryUntil. (#6869) - Add
Maybe/Single/CompletableswitchOnNext&switchOnNextDelayError. (#6870) - Add
Maybe.dematerialize. (#6871) - Add missing
fromXoperators. (#6873) - Add
Maybe/SingletimeInterval×tamp. (#6874) - Add
Maybe/CompletabletoFuture. (#6875) - Add
Single.ofType. (#6876) - Add
Maybe/Single/CompletabledoOnLifecycle. (#6877) - Add various
concatMapXoperators (aliases). (#6879) - Add various
concatXDelayErroroperators. (#6881) - Add
Single.mergeArray&mergeArrayDelayError. (#6882) - Add
Completable.sequenceEqual. (#6884) - Add missing
startWithoverloads. (#6885) - Add
Completable.onErrorReturn[Item]. (#6886) - Add
safeSubscribetoMaybe,Single&Completable. (#6887) - Swap
Maybe.flatMapSingleandMaybe.flatMapSingleElement, remove the latter. (#6891) - Add
Single.flatMapoverloads with combiner and notification selector mode (#6893) - Add
concatEager(Iterator, int)toMaybeandSingle. (#6899) - And
concatEagerDelayErrortoFlowable,Observable,MaybeandSingle. (#6899)
Bugfixes
- Fix
Flowable.groupBynot 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
@throwstag to JavaDocs. (#6860) - Fix many marbles in
Maybe. (#6866) - Add
Maybe.retryUntilmarble. (#6869) - Add the last set of
Maybemarble 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.gradlefrom 4.3.1 to 5.0.0 (#6861) - Use more appropriate operators when delegating to
Flowableoperators. (#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
concatMapIterableoverload. (#6837) - Rename to
combineLatestArrayDelayError. (#6838) - Remove
Maybe.onExceptionResumeNext. (#6844)
Bugfixes
- Fix
Flowable.flatMapnot canceling the inner sources on outer error. (#6826)
Documentation enhancements
- Prettify
FlowableJavaDocs + validator. (#6806) - Improve JavaDocs of
Completableand some others. (#6809) - Improve JavaDocs of
Single(#6812) - Improve JavaDocs of
Maybe(#6815) - Improve JavaDocs of
Observableand 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
@returnsentences in JavaDocs (#6847)
Other changes
- Bump
junitfrom 4.12 to 4.13 (#6810) - Enable javac parameter saving in class files. (#6839)
- Bump
build-info-extractor-gradlefrom 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
CompositeExceptionis 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.offerto throwNullPointerExceptionimmediately. (#6799)
API changes
- [Java 8] Add
fromOptional,fromCompletionStage,fromStreamoperators toFlowable. (#6765) - [Java 8] Add
FunctionalInterfaceannotations. (#6773) - [Java 8] Add
mapOptional,collector,{first|last|single}Stageoperators toFlowable. (#6775) - [Java 8] Add
AutoCloseable<->Disposableconversions. (#6780) - [Java 8] Add
blockingStream&flatMapStreamoperators toFlowable. (#6779) - [Java 8] Migrate
Disposablesstatic factories toDisposableinterface. (#6781) - [Java 8] Add
fromOptional,fromCompletionStage,mapOptionalandtoCompletionStagetoMaybe/Single/Completable. (#6783) - Widen
{Flowable|Observable|Maybe|Single|Completable|ParallelFlowable}Operatorthrows declaration toThrowable. (#6785) - [Java 8] Add
@NonNull&@SafeVarargsannotations. (#6791) - Add missing
@NonNull,@CheckReturnValue, etc. annotations. (#6795) - [Java 8] Add the new operators to
Observable. (#6797) - [Java 8] Add
ParallelFlowableoperators and add missing annotations to existing operators. (#6798) - Add
blockingForEach(Consumer, int)overload. (#6800) - [Java 8] Add
flattenStreamAsFlowableandflattenStreamAsObservabletoMaybeandSingle. (#6805)
Bugfixes
- Fix
Observableamb,combineLatest&zipArrayStoreException. (#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
observeOndocs with links and +backpressure explanation. (#6750) - Fix typo in
Flowablejavadoc. (#6760) - Javadocs
package-infomade nicer. (#6778) - [Java 8] Update README regarding Java 8. (#6778)
- Nicen
DisposableJavadocs. (#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
ObjecsHelpermethods with Java 8 APIs. (#6770) - [Java 8] Replace
ObjectHelper.requireNonNullwithObjects.requireNonNull. (#6771) - [Java 8] Diamond operators in unit tests,
flowablepackage. (#6787) - [Java 8] Diamond operators in unit tests,
observablepackage. (#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&@SafeVarargsannotations validator. (#6791) - [Java 8] Fix many diamonds. (#6795)
- [Java 8]
Observableoperator cleanup. (#6797) - [Java 8]
ParallelFlowableoperator cleanup. (#6798) - Add missing
throwIfFatalcalls (#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.groupByto signalMissingBackpressureExceptioninstead of possibly hanging. (#6740)
API changes
- Add fair mode overload to
Schedulers.from(Executor)(#6744) - Make
DisposableContainerpublic API (#6745)
Bugfixes
- Fix
parallel()on groupedFlowablenot replenishing properly. (#6719)
Documentation enhancements
2.2.15
Bugfixes
- Pull 6715: Fix
MulticastProcessornot requesting more after limit is reached. - Pull 6710: Fix concurrent
clearinobserveOnwhile output-fused. - Pull 6720: Fix
parallel()on grouped flowable not replenishing properly.
Documentation changes
- Pull 6722: Update javadoc for
observeOnto mention its eagerness.
Other changes
- Pull 6704: Add ProGuard rule to avoid
j.u.c.Flowwarnings due to RS 1.0.3.
3.0.0-RC5
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
observeOnwhile output-fused. (#6708) - Fix
MulticastProcessornot requesting more after limit is reached. (#6714)
Documentation enhancements
- Update javadoc for
observeOnto mention its eagerness. (#6700)
Other
- Embed R8 ProGuard rules to ignore Flow* interfaces in RS 1.0.3 (#6706)