Releases: ReactiveX/RxJava
2.2.1
API changes
- Pull 6143: Add
concatArrayEagerDelayError
operator (expose feature).
Bugfixes
- Pull 6145: Fix boundary fusion of
concatMap
andpublish
operator. - Pull 6158: Make
Flowable.fromCallable
consistent with the otherfromCallable
s. - Pull 6165: Handle undeliverable error in
Completable.fromCallable
viaRxJavaPlugins
. - Pull 6167: Make
observeOn
not letworker.dispose()
get called prematurely.
Performance improvements
- Pull 6123: Improve
Completable.onErrorResumeNext
internals. - Pull 6121:
Flowable.onErrorResumeNext
improvements.
Documentation changes
JavaDocs
- Pull 6095: Add marbles for
Single.timer
,Single.defer
andSingle.toXXX
operators. - Pull 6137: Add marbles for
Single.concat
operator. - Pull 6141: Add marble diagrams for various
Single
operators. - Pull 6152: Clarify
TestObserver.assertValueSet
in docs and via tests. - Pull 6155: Fix marble of
Maybe.flatMap
events toMaybeSource
.
Wiki changes
- Pull 6128: Remove
fromEmitter()
in wiki. - Pull 6133: Update
_Sidebar.md
with new order of topics. - Pull 6135: Initial clean up for Combining Observables docs.
- Pull 6131: Expand
Creating-Observables.md
wiki. - Pull 6134: Update RxJava Android Module documentation.
- Pull 6140: Update Mathematical and Aggregate Operators docs.
2.2.0
Summary
Version 2.2.0 is the next minor release of the 2.x era and contains the standardization of many experimental API additions from the past year since version 2.1.0. Therefore, the following components are now considered stable and will be supported throughout the rest of the life of RxJava 2.x.
Classes, Enums, Annotations
- Annotation: N/A
- Subject:
MulticastProcessor
- Classes:
ParallelFlowable
,UndeliverableException
,OnErrorNotImplementedException
- Enum:
ParallelFailureHandling
- Interfaces:
{Completable|Single|Maybe|Observable|Flowable|Parallel}Emitter
,{Completable|Single|Maybe|Observable|Flowable|Parallel}Converter
,LambdaConsumerIntrospection
,ScheduledRunnableIntrospection
Operators
Flowable
:as
,concatMap{Single|Maybe|Completable}
,limit
,parallel
,switchMap{Single|Maybe|Completable}
,throttleLatest
Observable
:as
,concatMap{Single|Maybe|Completable}
,switchMap{Single|Maybe|Completable}
,throttleLatest
Single
:as
,mergeDelayError
,onTerminateDetach
,unsubscribeOn
Maybe
:as
,mergeDelayError
,switchIfEmpty
Completable
:as
,fromMaybe
,onTerminateDetach
,takeUntil
ParallelFlowable
:as
,map|filter|doOnNext(errorHandling)
˙,sequentialDelayError
Connectable{Flowable, Observable}
:refCount(count + timeout)
Subject
/FlowableProcessor
:offer
,cleanupBuffer
,create(..., delayError)
Test{Observer, Subscriber}
:assertValueAt
,assertValuesOnly
,assertValueSetOnly
(For the complete list and details on the promotions, see PR 6105.)
Release 2.2.0 is functionally identical to 2.1.17. Also to clarify, just like with previous minor version increments with RxJava, there won't be any further development or updates on the version 2.1.x (patch) level.
Other promotions
All Experimental/Beta APIs introduced up to version 2.1.17 are now standard with 2.2.
Project statistics
- Unique contributors: 75
- Issues closed: 283
- Bugs reported: 20
- by community: 19 (95%)
- Commits: 320
- PRs: 296
- Bugs fixed: 39
- by community: 8 (20.51%)
- Documentation enhancements: 117
- by community: 40 (34.19%)
- Cleanup: 50
- by community: 21 (42%)
- Performance enhancements: 12
- by community: 1 (8.33%)
- Lines
- added: 70,465
- removed: 12,373
Acknowledgements
The project would like to thank the following contributors for their work on various code and documentation improvements (in the order they appear on the commit page):
@lcybo, @jnlopar, @UMFsimke, @apodkutin, @sircelsius,
@romanzes, @Kiskae, @RomanWuattier, @satoshun, @hans123456,
@fjoshuajr, @davidmoten, @vanniktech, @antego, @strekha,
@artfullyContrived, @VeskoI, @Desislav-Petrov, @Apsaliya, @sidjain270592,
@Milack27, @mekarthedev, @kjkrum, @zhyuri, @artem-zinnatullin,
@vpriscan, @aaronhe42, @adamsp, @bangarharshit, @zhukic,
@afeozzz, @btilbrook-nextfaze, @eventualbuddha, @shaishavgandhi05, @lukaszguz,
@runningcode, @kimkevin, @JakeWharton, @hzsweers, @ggikko,
@philleonard, @sadegh, @dsrees, @benwicks, @dweebo,
@dimsuz, @levaja, @takuaraki, @PhilGlass, @bmaslakov,
@tylerbwong, @AllanWang, @NickFirmani, @plackemacher, @matgabriel,
@jemaystermind, @ansman, @ganapathi004, @leonardortlima, @pwittchen,
@youngam, @Sroka, @serj-lotutovici, @nathankooij, @mithunsasidharan,
@devisnik, @mg6maciej, @rémon S, @hvesalai, @kojilin,
@ragunathjawahar, @BruceZZ, @paulblessing, @cypressf, @langara
(75 contributors)
The project would also thank its tireless reviewer @vanniktech for all his efforts on verifying and providing feedback on the many PRs from the project lead himself. 👍
2.1.17
API changes
- Pull 6079: Add
Completable.takeUntil(Completable)
operator. - Pull 6085: Add
Completable.fromMaybe
operator.
Performance improvements
- Pull 6096: Improve
Completable.delay
operator internals.
Documentation changes
- Pull 6066: Fix links for
Single
class. - Pull 6070: Adjust JavaDocs
dl
/dd
entry stylesheet. - Pull 6080: Improve class JavaDoc of
Single
,Maybe
andCompletable
. - Pull 6102: Adjust JavaDoc stylesheet of
dt
/dd
within the method details. - Pull 6103: Fix
Completable
mergeX
JavaDoc missingdt
beforedd
. - Pull 6104: Fixing javadoc's code example of
Observable#lift
. - Marble diagrams (Tracking issue 5789)
- Pull 6074:
Single.never
method. - Pull 6075:
Single.filter
method. - Pull 6078:
Maybe.hide
marble diagram. - Pull 6076:
Single.delay
method. - Pull 6077:
Single.hide
operator. - Pull 6083: Add
Completable
marble diagrams (07/17a). - Pull 6081:
Single.repeat
operators. - Pull 6085: More
Completable
marbles. - Pull 6084:
Single.repeatUntil
operator. - Pull 6090: Add missing
Completable
marbles (+17, 07/18a). - Pull 6091:
Single.amb
operators. - Pull 6097: Add missing
Completable
marbles (+19, 07/19a). - Pull 6098: Several more
Completable
marbles (7/19b). - Pull 6101: Final set of missing
Completable
marbles (+26).
- Pull 6074:
2.1.16
2.1.15
API changes
- Pull 6026: Add
blockingSubscribe
overload with prefetch amount allowing bounded backpressure. - Pull 6052: Change
{PublishSubject|PublishProcessor}.subscribeActual
toprotected
. They were accidentally made public and there is no reason to call them outside of RxJava internals.
Documentation changes
- Pull 6031: Inline
CompositeDisposable
JavaDoc. - Pull 6042: Fix
MulticastProcessor
JavaDoc comment. - Pull 6049: Make it explicit that
throttleWithTimout
is an alias ofdebounce
. - Pull 6053: Add
Maybe
marble diagrams 06/21/a - Pull 6057: Use different wording on
blockingForEach()
JavaDocs. - Pull 6054: Expand
{X}Processor
JavaDocs by syncing with{X}Subject
docs.
Performance enhancements
- Pull 6021: Add full implementation for
Single.flatMapPublisher
so it doesn't batch requests. - Pull 6024: Dedicated
{Single|Maybe}.flatMap{Publisher|Observable}
&andThen(Observable|Publisher)
implementations. - Pull 6028: Improve
Observable.takeUntil
.
Bugfixes
- Pull 6019: Fix
Single.takeUntil
,Maybe.takeUntil
dispose behavior. - Pull 5947: Fix
groupBy
eviction so that source is cancelled and reduce volatile reads. - Pull 6036: Fix disposed
LambdaObserver.onError
to route to global error handler. - Pull 6045: Fix check in
BlockingSubscriber
that would always be false due to wrong variable.
Other changes
2.1.14
API changes
- Pull 5976: Add
Single.concatEager()
. - Pull 5986: Add
ConnectableObservable.refCount()
andConnectableFlowable.refCount()
with minimum consumer count & disconnect grace period. - Pull 5979: Add
Observable.throttleLatest
andFlowable.throttleLatest()
. - Pull 6002: Add
MulticastProcessor
. - Pull 6010: Add
assertValueSetOnly
andassertValueSequenceOnly
toTestObserver
/TestSubscriber
.
Deprecations
- Pull 5982: Deprecate
getValues()
inSubject
s/FlowableProcessor
s to be removed in 3.x.
Documentation changes
- Pull 5977:
Maybe
/Single
JavaDocs; annotation cleanup. - Pull 5981: Improve JavaDocs of the
subscribeActual
methods. - Pull 5984: Add
blockingSubscribe
JavaDoc clarifications. - Pull 5987: Add marble diagrams to some
Single.doOnX
methods. - Pull 5992:
Observable
javadoc cleanup.
Bugfixes
- Pull 5975: Fix
refCount()
connect/subscribe/cancel deadlock. - Pull 5978:
Flowable.take
to route post-cancel errors to plugin error handler. - Pull 5991: Fix
switchMap
to indicate boundary fusion.
Other changes
2.1.14-RC1
Release candidate for 2.1.14 testing the automatic JavaDoc pushback for release mode.
Please ignore this release and any subsequent RCx in case the pushback doesn't work properly.
2.1.13
API changes
- Pull 5957: Add
Single.ignoreElement
, deprecateSingle.toCompletable
(will be removed in 3.0).
Documentation changes
- Pull 5936: Fix
Completable.toMaybe()
@return
javadoc. - Pull 5948: Fix
Observable
javadoc mentioningdoOnCancel
instead ofdoOnDispose
. - Pull 5951: Update
blockingX
JavaDoc to mention wrapping of checked Exceptions.
Bugfixes
- Pull 5952: Fixed conditional iteration breaking in
AppendOnlyLinkedArrayList.forEachWhile
. - Pull 5972: Fix
Observable.concatMapSingle
dropping upstream items.
Other changes
1.3.8
RxJava 1.x is now officially end-of-life (EOL). No further developments, bugfixes, enhancements, javadoc changes or maintenance will be provided by this project after version 1.3.8 and after today.
Users are encouraged to migrate to 2.x. In accordance, the wiki will be updated in the coming months to describe 2.x features and properties.
Bugfixes
- Pull 5935: Fix
take()
to route late errors toRxJavaHooks
.