Description
Version 3.0.0-RC7 - December 31, 2019 (Maven)
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. (3.x: Change how the cause of CompositeException is generated #6748) - Change
Flowable.window
(size, time) abandonment. (3.x: Fix Flowable.window (size, time) cancellation and abandonment #6758) - Change
Observable.window
(size & time) abandonment. (3.x: Fix Observable.window (size & time) cancellation and abandonment #6761) - Change
window
(boundary, start/end) cancel and abandonment. (3.x: Fix window (boundary, start/end) cancel and abandonment #6762) - [Java 8] Upgrade to Java 8 baseline. (3.x: [Java 8] Upgrade to Java 8, add Flowable.fromX operators #6765)
- Change
XProcessor.offer
to throwNullPointerException
immediately. (3.x: XProcessor.offer to throw NPE immediately #6799)
API changes
- [Java 8] Add
fromOptional
,fromCompletionStage
,fromStream
operators toFlowable
. (3.x: [Java 8] Upgrade to Java 8, add Flowable.fromX operators #6765) - [Java 8] Add
FunctionalInterface
annotations. (Add FunctionalInterface annotations. #6773) - [Java 8] Add
mapOptional
,collector
,{first|last|single}Stage
operators toFlowable
. (3.x: [Java 8] Implement mapOptional, collector, first/last/single stage #6775) - [Java 8] Add
AutoCloseable
<->Disposable
conversions. (3.x: [Java 8] Add AutoCloseable <-> Disposable conversions, nicen docs #6780) - [Java 8] Add
blockingStream
&flatMapStream
operators toFlowable
. (3.x: [Java 8] Add blockingStream & flatMapStream to Flowable #6779) - [Java 8] Migrate
Disposables
static factories toDisposable
interface. (3.x: Migrate Disposables static factories to Disposable interface #6781) - [Java 8] Add
fromOptional
,fromCompletionStage
,mapOptional
andtoCompletionStage
toMaybe
/Single
/Completable
. (3.x: [Java 8] Add fromOpt/Stage, mapOptional, toCompletionStage to M/S/C #6783) - Widen
{Flowable|Observable|Maybe|Single|Completable|ParallelFlowable}Operator
throws declaration toThrowable
. (3.x: Cleanup and prettify Javadocs, widen XOperator throws #6785) - [Java 8] Add
@NonNull
&@SafeVarargs
annotations. (3.x: Add NonNull & SafeVarargs annotations + validator #6791) - Add missing
@NonNull
,@CheckReturnValue
, etc. annotations. (3.x: Add missing annotations, fix many diamonds #6795) - [Java 8] Add the new operators to
Observable
. (3.x: [Java 8] Add Observable operators + cleanup #6797) - [Java 8] Add
ParallelFlowable
operators and add missing annotations to existing operators. (3.x: [Java 8] Add ParallelFlowable operators + cleanup #6798) - Add
blockingForEach(Consumer, int)
overload. (3.x: Add blockingForEach(Consumer, int) overload #6800) - [Java 8] Add
flattenStreamAsFlowable
andflattenStreamAsObservable
toMaybe
andSingle
. (3.x: [Java 8] Add flattenStreamAsX to Maybe/Single #6805)
Bugfixes
- Fix
Observable
amb
,combineLatest
&zip
ArrayStoreException
. (3.x: Fix Observable amb, combineLatest & zip ArrayStoreException #6756) - Fix
Flowable.window
(size, time) cancellation and abandonment. (3.x: Fix Flowable.window (size, time) cancellation and abandonment #6758) - Fix
Observable.window
(size & time) cancellation and abandonment. (3.x: Fix Observable.window (size & time) cancellation and abandonment #6761) - Fix
window
(boundary, start/end) cancel and abandonment. (3.x: Fix window (boundary, start/end) cancel and abandonment #6762)
Documentation enhancements
- Update
observeOn
docs with links and +backpressure explanation. (3.x: Update observeOn docs with links and +backpressure explanation #6750) - Fix typo in
Flowable
javadoc. (Fix typo in Flowable javadoc #6760) - Javadocs
package-info
made nicer. (3.x: Javadocs package-info made nicer, update README regarding Java 8 #6778) - [Java 8] Update README regarding Java 8. (3.x: Javadocs package-info made nicer, update README regarding Java 8 #6778)
- Nicen
Disposable
Javadocs. (3.x: [Java 8] Add AutoCloseable <-> Disposable conversions, nicen docs #6780) - Cleanup and prettify Javadocs (3.x: Cleanup and prettify Javadocs, widen XOperator throws #6785)
Other changes
- Do not update snapshot Javadocs from secondary branches. (3.x: Do not update snapshot Javadocs from secondary branches #6752)
- Remove
ObjectHelper.requireNonNull(long, String)
. ([3.x] Remove deprecated method from 2.x #6769) - [Java 8] Replace some
ObjecsHelper
methods with Java 8 APIs. ([3.x] Replace some ObjecsHelpers methods with Java 8 APIs #6770) - [Java 8] Replace
ObjectHelper.requireNonNull
withObjects.requireNonNull
. ([3.x] Replace ObjectHelper.requireNonNull with Objects.requireNonNull #6771) - [Java 8] Diamond operators in unit tests,
flowable
package. (Diamond operators in unit tests, flowable package #6787) - [Java 8] Diamond operators in unit tests,
observable
package. (Diamond operators in unit tests, observable package #6786) - [Java 8] Diamond operators in various unit tests. (Diamond operators in tests #6788)
- [Java 8] Diamond operators in unit tests, small packages. (Diamond operators in tests, small packages #6789)
- [Java 8] Remove now unnecessary unchecked warning suppressions. (3.x: Remove now unnecessary unchecked warning suppressions #6790)
- [Java 8] Add
@NonNull
&@SafeVarargs
annotations validator. (3.x: Add NonNull & SafeVarargs annotations + validator #6791) - [Java 8] Fix many diamonds. (3.x: Add missing annotations, fix many diamonds #6795)
- [Java 8]
Observable
operator cleanup. (3.x: [Java 8] Add Observable operators + cleanup #6797) - [Java 8]
ParallelFlowable
operator cleanup. (3.x: [Java 8] Add ParallelFlowable operators + cleanup #6798) - Add missing
throwIfFatal
calls (3.x: Add missing throwIfFatal calls #6801) - [Java 8] Fix diamonds, spelling, unnecessary code. (3.x: Fix diamonds, spelling, unnecessary code #6804)