RxJava v3.0.0-RC7 Release Notes

Release Date: 2019-12-31 // over 4 years ago
  • 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)