Skip to content

Releases: ReactiveX/RxJava

2.2.18

21 Feb 17:42
e2b7816
Compare
Choose a tag to compare

Maven

⚠️ The 2.x version line is now in maintenance mode and will be supported only through bugfixes until February 28, 2021. No new features, behavior changes or documentation adjustments will be accepted or applied to 2.x. It is recommended to migrate to 3.x within this time period.

Bugfixes

  • Pull 6894: Fix groupBy not requesting more if a group is cancelled with buffered items.

3.0.0

14 Feb 12:50
Compare
Choose a tag to compare

Maven
JavaDocs

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

31 Jan 08:23
81f0569
Compare
Choose a tag to compare

Maven
JavaDocs

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 to Single.sequenceEqual. (#6856)
  • Change some Flowable.buffer overload signatures to use Publisher as input. (#6895)
  • Add delayError overload to Maybe.delay. (#6864)
  • Add Maybe/Single/Completable blockingSubscribe. (#6862)
  • Add onErrorComplete to Flowable, Observable and Single. (#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 & timestamp. (#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 to Maybe, Single & Completable. (#6887)
  • Swap Maybe.flatMapSingle and Maybe.flatMapSingleElement, remove the latter. (#6891)
  • Add Single.flatMap overloads with combiner and notification selector mode (#6893)
  • Add concatEager(Iterator, int) to Maybe and Single. (#6899)
  • And concatEagerDelayError to Flowable, Observable, Maybe and Single. (#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

19 Jan 11:56
021d07b
Compare
Choose a tag to compare

Maven
JavaDocs

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

12 Jan 15:50
030528b
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6827: Fix Flowable.flatMap not canceling the inner sources on outer error.

3.0.0-RC7

31 Dec 08:46
34f381c
Compare
Choose a tag to compare

Maven
Javadocs

⚠️ 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 throw NullPointerException immediately. (#6799)

API changes

  • [Java 8] Add fromOptional, fromCompletionStage, fromStream operators to Flowable. (#6765)
  • [Java 8] Add FunctionalInterface annotations. (#6773)
  • [Java 8] Add mapOptional, collector, {first|last|single}Stage operators to Flowable. (#6775)
  • [Java 8] Add AutoCloseable <-> Disposable conversions. (#6780)
  • [Java 8] Add blockingStream & flatMapStream operators to Flowable. (#6779)
  • [Java 8] Migrate Disposables static factories to Disposable interface. (#6781)
  • [Java 8] Add fromOptional, fromCompletionStage, mapOptional and toCompletionStage to Maybe/Single/Completable. (#6783)
  • Widen {Flowable|Observable|Maybe|Single|Completable|ParallelFlowable}Operator throws declaration to Throwable. (#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 and flattenStreamAsObservable to Maybe and Single. (#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 with Objects.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

15 Dec 07:16
ea2c796
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6754: Fix amb, combineLatest and zip Iterable overloads throwing ArrayStoreException for ObservableSources.

Documentation changes

  • Pull 6746: Fix self-see references, some comments.

3.0.0-RC6

06 Dec 08:01
1e29958
Compare
Choose a tag to compare

Maven
Javadocs

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 signal MissingBackpressureException 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 grouped Flowable not replenishing properly. (#6719)

Documentation enhancements

  • observeOn and Schedulers.from eagerness javadoc updates. (#6723)
  • Fix self-see references, some comments. (#6729)
  • Update Single.zip marble diagrams (4 cases). (#6732)
  • Add Maybe marble diagrams (14 cases). (#6730)

2.2.15

24 Nov 08:38
56d6e91
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6715: Fix MulticastProcessor not requesting more after limit is reached.
  • Pull 6710: Fix concurrent clear in observeOn 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.

3.0.0-RC5

17 Nov 10:10
5026999
Compare
Choose a tag to compare

Maven
Javadocs

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)