Skip to content

Releases: ReactiveX/RxJava

2.2.1

23 Aug 08:23
5445b4a
Compare
Choose a tag to compare

Maven

API changes

  • Pull 6143: Add concatArrayEagerDelayError operator (expose feature).

Bugfixes

  • Pull 6145: Fix boundary fusion of concatMap and publish operator.
  • Pull 6158: Make Flowable.fromCallable consistent with the other fromCallables.
  • Pull 6165: Handle undeliverable error in Completable.fromCallable via RxJavaPlugins.
  • Pull 6167: Make observeOn not let worker.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 and Single.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 to MaybeSource.
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

31 Jul 07:30
839c70f
Compare
Choose a tag to compare

Maven

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
    • PRs accepted: 268 (90.54%)
    • Community PRs: 96 (35.82% of all accepted)
  • 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

23 Jul 07:22
ce5ce4b
Compare
Choose a tag to compare

Maven

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

2.1.16

26 Jun 07:46
83f2bd7
Compare
Choose a tag to compare

Maven

This is a hotfix release for a late-identified issue with concatMapMaybe and concatMapSingle.

Bugfixes

  • Pull 6060: Fix concatMap{Single|Maybe} null emission on success-dispose race.

2.1.15

22 Jun 07:39
869c2aa
Compare
Choose a tag to compare

Maven

API changes

  • Pull 6026: Add blockingSubscribe overload with prefetch amount allowing bounded backpressure.
  • Pull 6052: Change {PublishSubject|PublishProcessor}.subscribeActual to protected. 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 of debounce.
  • 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

  • Pull 6022: Add TCK for MulticastProcessor & {0..1}.flatMapPublisher
  • Pull 6029: Upgrade to Gradle 4.3.1, add TakeUntilPerf.
  • Pull 6033: Update & fix grammar of DESIGN.md

2.1.14

23 May 07:38
Compare
Choose a tag to compare

Maven

API changes

  • Pull 5976: Add Single.concatEager().
  • Pull 5986: Add ConnectableObservable.refCount() and ConnectableFlowable.refCount() with minimum consumer count & disconnect grace period.
  • Pull 5979: Add Observable.throttleLatest and Flowable.throttleLatest().
  • Pull 6002: Add MulticastProcessor.
  • Pull 6010: Add assertValueSetOnly and assertValueSequenceOnly to TestObserver/TestSubscriber.

Deprecations

  • Pull 5982: Deprecate getValues() in Subjects/FlowableProcessors 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

  • Pull 5985: Cleanup in the Scheduler class.
  • Pull 5996: Automatically publish the generated JavaDocs from CI.
  • Pull 5995: Implement toString method for some Emitters.
  • Pull 6005: JavaDocs HTML formatting and whitespace cleanup.
  • Pull 6014: Fix & prevent null checks on primitives.

2.1.14-RC1

06 May 14:49
416771e
Compare
Choose a tag to compare
2.1.14-RC1 Pre-release
Pre-release

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

27 Apr 09:10
be12fe2
Compare
Choose a tag to compare

Maven

API changes

  • Pull 5957: Add Single.ignoreElement, deprecate Single.toCompletable (will be removed in 3.0).

Documentation changes

  • Pull 5936: Fix Completable.toMaybe() @return javadoc.
  • Pull 5948: Fix Observable javadoc mentioning doOnCancel instead of doOnDispose.
  • 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

  • Pull 5930: Add @NonNull annotations to create methods of Subjects and Processors.
  • Pull 5940: Allow @SchedulerSupport annotation on constructors.
  • Pull 5942: Removed TERMINATED check in PublishSubject.onNext and PublishProcessor.onNext.
  • Pull 5959: Fix some typos and grammar mistakes.

1.3.8

31 Mar 15:29
7e3879a
Compare
Choose a tag to compare

Maven

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 to RxJavaHooks.

2.1.12

23 Mar 16:51
b0298ab
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 5928: Fix concatMapSingle & concatMapMaybe dispose-cleanup crash.