All Versions
25
Latest Version
Avg Release Cycle
29 days
Latest Release
222 days ago

Changelog History
Page 1

  • v3.0.0

    July 12, 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.

    API changes

    • 📇 Rename onErrorResumeNext(<source>) to onErrorResumeWith(<source>) to avoid lambda ambiguity with onErrorResumeNext(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

    • 🛠 Fixing version tag since Schedulers.from(Executor, boolean) has been promoted. (#6544)
    • ✅ Simplify JUnit tests with more appropriate assert methods (#6549)
    • ✂ Remove unnecessary static imports from unit tests (#6550)
  • v3.0.0-RC9

    January 31, 2020

    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)
  • v3.0.0-RC8

    January 19, 2020

    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)
  • v3.0.0-RC7

    December 31, 2019

    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)
  • v3.0.0-RC6

    December 06, 2019

    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)
  • v3.0.0-RC5

    November 17, 2019

    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)
  • v3.0.0-RC4

    October 20, 2019

    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 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)
  • v3.0.0-RC3

    September 17, 2019

    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.

    Dependency changes

    • ⬆️ Upgrade to Reactive Streams 1.0.3. (#6633)

    API changes

    • ✂ Remove vararg overloads for combineLatest in Observable + Flowable. (#6635)
    • 🚚 Rename zipIterable, remove zip(O(O)), adjust concatMapX argument order. (#6638)
    • ✅ Rename combineLatest methods that take an array to combineLatestArray. (#6640)
    • ✂ Remove limit and make its backpressure behavior default in take (#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

    • ⬆️ Upgrade Gradle & dependency versions. (#6632)
    • 🔒 Avoid using System.getProperties() due to security restrictions. (#6637)
    • Cleanup addThrowable, "2.x" and null-value error messages. (#6639)
  • v3.0.0-RC2

    August 20, 2019

    🔖 Version 3.0.0-RC2 - August 20, 2019 (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.

    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
    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.

    Flowables 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 and first operators (#6620)

    🛠 Bugfixes

    • 🛠 Fix switchMaps inconsistency swallowing errors when cancelled (#6572)
    • 🛠 Fix ObservableBlockingSubscribe compares TERMINATED with wrong object (#6577)
    • 🛠 Fix truncation bugs in replay() and ReplaySubject/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

  • v3.0.0-RC1

    July 12, 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.

    API changes

    • 📇 Rename onErrorResumeNext(<source>) to onErrorResumeWith(<source>) to avoid lambda ambiguity with onErrorResumeNext(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

    • 🛠 Fixing version tag since Schedulers.from(Executor, boolean) has been promoted. (#6544)
    • ✅ Simplify JUnit tests with more appropriate assert methods (#6549)
    • ✂ Remove unnecessary static imports from unit tests (#6550)