2.1.0
Summary
Version 2.1.0 is the next minor release of the 2.x era and contains the standardization of many experimental API additions from the past half a year since version 2.0.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:
CheckReturnValue
- Subjects:
CompletableSubject
,MaybeSubject
,SingleSubject
- Enum:
TestWaitStrategy
Operators
Flowable
:doAfterNext
,doFinally
,sample
(emitLast)Observable
:doAfterNext
,doFinally
,sample
(emitLast)Single
:doAfterSuccess
,doAfterTerminate
,doFinally
Maybe
:doAfterSuccess
,doFinally
,flatMapSingleElement
Completable
:cache
,doFinally
,hide
Test{Observer, Subscriber}
:assertNever
,assertTimeout
,assertNoTimeout
,awaitCount
,clearTimeout
,isTimeout
,withTag
RxJavaPlugins
:createComputationScheduler
,createIoScheduler
,createNewThreadScheduler
,createSingleScheduler
,getOnBeforeBlocking
,setOnBeforeBlocking
,isFailOnBlockingScheduler
,setFailOnBlockingScheduler
.- Other:
Scheduler.when
,TestSubscriber.requestMore
(For the complete list and details on the promotions, see issue 5243.)
Release 2.1.0 is functionally identical to 2.0.9 except the removal of now unnecessary Flowable.strict()
operator. To clarify, just like with previous minor version increments with RxJava, there won't be any further development or updates on the version 2.0.x (patch) level.
Beta promotions
Some of the enhancements of RxJava 2.0.x were added recently which often represent complex additions to RxJava itself (such as the whole ParallelFlowable
). We are confident their functionality adds value to the library but not enough time elapsed since their introduction for the community to try it out and provide feedback on them (i.e., naming, encompassed functionality, etc.). To indicate we are willing to support them and eventually standardize them in the next minor release, the following components have been promoted to the status of Beta
:
- Classes:
OnErrorNotImplementedException
,ProtocolViolationException
,UndeliverableException
,
ParallelFlowable
- Interface:
FlowableSubscriber
- Methods
Flowable
:parallel
,subscribe(FlowableSubscriber)
RxJavaPlugins
:getOnParallelAssembly
,onAssembly(ParallelFlowable)
,setOnParallelAssembly
Non-functional changes between 2.0.9 and 2.1
- Pull 5306: Change
ObservableSource.defer
toObservable.defer
inObservable.scan()
documentation. - Pull 5309: Fix Javadoc of
Flowable.toObservable
referring toPublisher
instead ofObservable
.
Project statistics
- Unique contributors: 41
- Issues closed: 315
- Bugs reported: 43
- by community: 40 (93%)
- Commits: 193
- PRs: 225
- PRs accepted: 198 (88%)
- Community PRs: 76 (38.4% of all accepted)
- Bugs fixed: 58
- by community: 8 (13.9%)
- Documentation enhancements: 46
- by community: 22 (52.2%)
- Cleanup: 40
- by community: 22 (55%)
- Lines
- added: 44,931
- removed: 7,405
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):
@vanniktech, @veyndan, @Mauin, @smartbeng, @ImangazalievM, @bloderxd, @mibac138, @ggikko, @mostroverkhov, @sadegh, @nmorioka, @SleimanJneidi, @davidmoten, @hkurokawa, @jbarr21, @alexandre-dubois, @VeskoI, @Stephan202, @PaulWoitaschek, @soulkeykim, @stevepeak, @jschneider, @JakeWharton, @tonycosentini, @hzsweers, @passsy, @sergiomarquesmoura, @ikesyo, @benjchristensen, @zsavely, @DDesideria, @gaemi, @Jawnnypoo, @artem-zinnatullin, @mkobit, @abersnaze, @tbcs, @gengjiawen, @qwert2603, @DmitriyZaitsev
(40 contributors)
The project would also thank its tireless reviewers, @JakeWharton and @vanniktech for all their efforts on verifying and providing feedback on the many PRs from the project lead himself. 👍