Closed
Description
Many code changes in 3.x can be done independently, but updating the new What's Different in 3.x.md
would conflict. This issue tracks which changes should be eventually described in the file:
- Introduction of the
Supplier
interface -> 3.x: Widen functional interface throws, replace Callable with Supplier #6511 -
Callable
use changed toSupplier
in the API -> 3.x: Widen functional interface throws, replace Callable with Supplier #6511 - Removal of
getValues()
from various subjects and processors -> 3.x: remove getValues() from some subjects/processors #6516 -
Maybe.defaultIfEmpty()
returnsSingle
-> 3.x: Various small API changes and removals #6517 - Removal of
Maybe.toSingle(T)
-> 3.x: Various small API changes and removals #6517 - Removal of
Flowable.subscribe(4 args)
-> 3.x: Various small API changes and removals #6517 - Removal of
Observable.subscribe(4 args)
-> 3.x: Various small API changes and removals #6517 - Removal of
Single.toCompletable()
-> 3.x: Various small API changes and removals #6517 - Removal of
Completable.blockingGet()
-> 3.x: Various small API changes and removals #6517 -
ConnectableX
redesign. -> 3.x: ConnectableFlowable/ConnetableObservabe redesign #6519 - Test consumer API changes. -> 3.x: Remove methods from test consumers, make internal versions #6526
- The rename of
startWith
+1 tostartWithItem
&startWithIterable
-> 3.x: disambiguate startWith+1 to startWithItem & startWithIterable #6530 - Bounded
replay()
with eagerTruncate option -> 3.x: Add eager truncation to bounded replay() to avoid item retention #6532 - Removal
replay(Scheduler)
and its variants. -> 3.x: remove no-arg dematerialize(); remove replay(Scheduler) variants #6539 - Changes to
using()
order of upstream dispose and resource dispose -> 3.x: Make using() resource disposal order consistent with eager-mode #6534 - API promotions to standard -> 3.x: Promote Beta/Experimental to Standard #6537
-
concatMap
withScheduler
-> 3.x: Add concatMap with Scheduler guaranteeing where the mapper runs #6538 - Removal of the no-arg
deserialize()
-> 3.x: remove no-arg dematerialize(); remove replay(Scheduler) variants #6539 - Removal of
onExceptionResumeNext()
- Removal of
buffer(Supplier)
andwindow(Supplier)
variants. - Rename of
onErrorResumeNext(source)
toonErrorResumeWith
. -> Disambiguous some method call sites when calling from Kotlin #6551 - More undeliverable errors reported due to cancellation.
- Widening of
XOnSubscribe
interfaces. -> 3.x: widen throws on the XOnSubscribe interfaces #6579 - Removal of
combineLatest(vararg)
&combineLatestDelayError(vararg)
-> 3.x: Remove vararg overloads for combineLatest in Observable + Flowable #6635 - Removal of
zip(O(O))
overload -> 3.x: Rename zipIterable, remove zip(O(O)), adjust concatMapX arg order #6638 - Rename of
zipIterable
tozip
-> 3.x: Rename zipIterable, remove zip(O(O)), adjust concatMapX arg order #6638 - Change parameter order of
concatMapDelayError
andconcatMapEagerDelayError
-> 3.x: Rename zipIterable, remove zip(O(O)), adjust concatMapX arg order #6638 - Rename to
combineLatestArray
-> 3.x: Rename combineLatest methods that take an array to combineLatestArray #6640 -
groupBy
abandoned group behavior change -> 3.x: Fix groupBy not canceling upstream due to group abandonment #6642 -
Flowable.groupBy
signalingMissingBackpressureException
instead of possibly hanging -> 3.x: Change Flowable.groupBy to signal MBE instead of possibly hanging #6740 - Add fair mode overload to
Schedulers.from(Executor)
-> 3.x: Add fair mode overload to Schedulers.from(Executor) #6744 - Make
DisposableContainer
public API -> 3.x: Make DisposableContainer public API #6745 - Change
CompositeException::getCause()
output and message -> 3.x: Change how the cause of CompositeException is generated #6748 -
window
handling abandoned inner windows -> 3.x: Fix Flowable.window (size, time) cancellation and abandonment #6758, 3.x: Fix Observable.window (size & time) cancellation and abandonment #6761, 3.x: Fix window (boundary, start/end) cancel and abandonment #6762 - Java 8 support -> 3.x: [Java 8] Upgrade to Java 8, add Flowable.fromX operators #6765
-
Disposables
utility class inlined intoDisposable
-> 3.x: Migrate Disposables static factories to Disposable interface #6781 -
BehaviorProcessor
,PublishProcessor
andMulticastProcessor
offer
null-check change. -> 3.x: XProcessor.offer to throw NPE immediately #6799 -
MulticastProcessor.offer
now throwsIllegalStateException
when called in fusion mode. -> 3.x: XProcessor.offer to throw NPE immediately #6799 - Add
blockingForEach(Consumer, int)
overloads -> 3.x: Add blockingForEach(Consumer, int) overload #6800 - Removal of
fromFuture(..., Scheduler)
overloads -> 3.x: Remove fromFuture(..., Scheduler) overloads #6814 - Operators used to throw
IndexOutOfBoundsException
(skipLast
,takeLast
,takeLastTimed
) now throwIllegalArgumentException
for param validation. -
skip(count)
now throws IAE if count < 0 - Remove
Observable.concatMapIterable(Function, int)
overload -> 3.x: Remove a pointless Observable.concatMapIterable overload #6837 - Rename
combineLatestDelayError(array)
tocombineLatestArrayDelayError(array)
-> 3.x: Rename to combineLatestArrayDelayError #6838 - Rename
Single.equals
toSingle.sequenceEqual
- Change input type in
Flowable.buffer(openingIndicator)
overloads -> 3.x: Verify the use of base interfaces in operator inputs & lambdas #6858 - Add
blockingSubscribe
across -> 3.x: Add Maybe/Single/Completable blockingSubscribe #6862 - Add
Maybe.delayError(..., delayError)
overload -> Adding delayError to Maybe.delay #6864 - Add
onErrorComplete
across -> 3.x: Add onErrorComplete to Flowable, Observable and Single #6867 - Add
onErrorResumeWith
across -> 3.x: Add Completable.onErrorResumeWith #6868 - Add
retryUntil
-> 3.x: Add Single/Completable retryUntil + marbles #6869 - Add
switchOnNext[DelayError]
to M/S/C -> 3.x: Add Maybe/Single/Completable switchOnNext & switchOnNextDelayError #6870 - Add
Maybe.dematerialize
-> 3.x: Add Maybe.dematerialize #6871 - Add
fromAction
,fromRunnable
,fromMaybe
,fromSingle
,fromPublisher
,fromObservable
-> 3.x: Add many fromX operators + marbles #6873 - Changed
fromAction
andfromRunnable
to not execute if cancelled upfront. -> 3.x: Add many fromX operators + marbles #6873 - Add
timeInterval
andtimestamp
to M/S -> 3.x: Add timeInterval & timestamp to M/S #6874 - Add
toFuture
to M/C ->3.x: Add Maybe/Completable toFuture #6875 - Add
ofType
to M/S -> 3.x: Add Single.ofType #6876 - Add
doOnLifecycle
to M/S/C -> 3.x: Add doOnLifecycle to Maybe, Single & Completable #6877 - Add
concatMapX
missing across -> 3.x: Add concatMapX operators (aliases) #6879 - Add
concatMapXDelayError
missing across -> 3.x: Add various concatXDelayError operators #6881 - Add
Single.mergeArrayX
-> 3.x: Add Single.mergeArray & mergeArrayDelayError #6882 - Add
Completable.sequenceEqual
-> 3.x: Add Completable.sequenceEqual #6884 - Add
startWith
missing across -> 3.x: Add missing startWith overloads #6885 - Add
Completable.onErrorReturn[Item]
-> 3.x: Add Completable.onErrorReturn[Item] #6886 - Add
safeSubscribe
to M/S/C -> 3.x: Add safeSubscribe to Maybe, Single & Completable #6887 - Swap
Maybe.flatMapSingle
andMaybe.flatMapSingleElement
-> 3.x: Swap Maybe.flatMapSingle and Maybe.flatMapSingleElement #6891 - Add
Single.flatMap(F, F)
andSingle.flatMap(F, Bi)
operators -> 3.x: Reenable XFlatMapTest.maybeSingle, add missing Single operators #6893 - Add
concatEager(Iterator, int)
andconcatEagerDelayError
across -> 3.x: Add concatEagerDelayError across #6899 - Merge
as()
intoto()
-> 3.x: Merge as() into to() #6514