Skip to content

Releases: ReactiveX/RxJava

2.2.14

02 Nov 14:07
5f01b08
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6677: Fix concurrent clear() calls when fused chains are canceled.
  • Pull 6684: Fix window(time) possible interrupts while terminating.

Documentation changes

  • Pull 6681: Backport marble diagrams for Single from 3.x.

3.0.0-RC4

20 Oct 09:18
118f405
Compare
Choose a tag to compare

Maven
Javadocs

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.

Bugfixes

  • Fix groupBy group emission in some cases. (#6664)
  • Fix concurrent clear() calls when fused chains are canceled. (#6676)
  • Fix window(time) possible interrupts while terminating. (#6674)

Documentation enhancements

  • Add missing marble diagrams to Single. (#6668)

Other

  • Add Export-Package declarations for OSGi headers. (#6675)

2.2.13

03 Oct 07:47
d4eae73
Compare
Choose a tag to compare

Maven

Dependencies

Bugfixes

  • Commit cc690ff2: Avoid using System.getProperties().
  • Pull 6653: Fix takeLast(time) last events time window calculation.
  • Pull 6657: Fix size+time bound window not creating windows properly.

3.0.0-RC3

17 Sep 07:56
6518eb9
Compare
Choose a tag to compare

Maven
Javadocs

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.

Dependency changes

  • Upgrade to Reactive Streams 1.0.3. (#6633)

API changes

  • Remove vararg overloads for combineLatest in Observable + Flowable. (#6635)
  • Rename zipIterable, remove zip(O(O)), adjust concatMapX argument order. (#6638)
  • Rename combineLatest methods that take an array to combineLatestArray. (#6640)
  • Remove limit and make its backpressure behavior default in take (#6650)

Behavior changes

  • groupBy will now close groups that do not get subscribed synchronously in order to avoid group leaks and upstream cancellation issues. (#6642)
  • take now limits the maximum upstream request amount to the provided value instead of requesting unbounded. (#6650)

Bugfixes

  • Fix blockingIterable not unblocking when force-disposed. (#6626)
  • Fix groupBy not canceling upstream due to group abandonment. (#6642)
  • Fix takeLast(time) last events time window calculation. (#6648)
  • Fix size+time bound window not creating windows properly (#6652)

Documentation enhancements

No changes in this release.

Other

  • Upgrade Gradle & dependency versions. (#6632)
  • Avoid using System.getProperties() due to security restrictions. (#6637)
  • Cleanup addThrowable, "2.x" and null-value error messages. (#6639)

2.2.12

25 Aug 18:31
13772a1
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6618: Fix switchMap incorrect sync-fusion & error management.
  • Pull 6627: Fix blockingIterable hang when force-disposed.
  • Pull 6629: Fix refCount not resetting when cross-canceled.

3.0.0-RC2

20 Aug 07:39
a1693ec
Compare
Choose a tag to compare
3.0.0-RC2 Pre-release
Pre-release

Version 3.0.0-RC2 - August 20, 2019 (Maven)

Javadocs

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.

Major change

After considering several factors, the components of RxJava 3 have been moved to a new base package to avoid class file conflicts due to having v2 and v3 in the same project. The new base package is io.reactivex.rxjava3 and the base types will live in io.reactivex.rxjava3.core:

Name v2 v3
Base package io.reactivex io.reactivex.rxjava3
Flowable io.reactivex.Flowable io.reactivex.rxjava3.core.Flowable
PublishSubject io.reactivex.subjects.PublishSubject io.reactivex.rxjava3.subjects.PublishSubject
ConnectableObservable io.reactivex.observables.ConnectableObservable io.reactivex.rxjava3.observables.ConnectableObservable
Function io.reactivex.functions.Function io.reactivex.rxjava3.functions.Function
etc.

Flowables of the two versions can talk to each other without bridges because both implement the Reactive Streams' interfaces such as Publisher:

io.reactivex.Flowable.range(1, 10)
    .flatMap(v -> io.reactivex.rxjava3.core.Flowable.just(v * 10))
    .subscribeWith(new io.reactivex.rxjava3.subscribers.TestSubscriber<>())
    .assertResult(10, 20, 30, 40, 50, 60, 70, 80, 90, 100);

The other reactive types do not share such base interfaces (they have their own respective copies) and will require bridges, likely provided via 3rd party libraries as with v1->v2 or v1->v3 bridges.

Dependency changes

  • Upgrade to Reactive Streams 1.0.3-RC1 (#6621)

API changes

  • Widen throws on the XOnSubscribe interfaces (#6579)

Behavior changes

  • Constrain upstream requests of elementAt and first operators (#6620)

Bugfixes

  • Fix switchMaps inconsistency swallowing errors when cancelled (#6572)
  • Fix ObservableBlockingSubscribe compares TERMINATED with wrong object (#6577)
  • Fix truncation bugs in replay() and ReplaySubject/Processor (#6582)
  • Fix mergeWith not cancelling the other source if the main errors (#6598)
  • Fix refCount not resetting when termination triggers cross-cancel (#6609)
  • Fix many operators swallowing undeliverable exceptions (#6612)
  • Fix switchMap incorrect sync-fusion & error management (#6616)

Documentation enhancements

No changes in this release.

Other

2.2.11

02 Aug 06:25
17a8eef
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6560: Fix NPE when debouncing an empty source.
  • Pull 6599: Fix mergeWith not canceling other when the main fails.
  • Pull 6601: ObservableBlockingSubscribe compares with wrong object.
  • Pull 6602: Fix truncation bugs in replay() and ReplaySubject/Processor.

Documentation changes

  • Pull 6565: Fix JavaDocs of Single.doOnTerminate refer to onComplete notification.

3.0.0-RC1

12 Jul 06:30
58b0014
Compare
Choose a tag to compare
3.0.0-RC1 Pre-release
Pre-release

Maven

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.

API changes

  • Rename onErrorResumeNext(<source>) to onErrorResumeWith(<source>) to avoid lambda ambiguity with onErrorResumeNext(Function). (#6550)
  • Remove buffer(Supplier) variants (#6564)
  • Remove window(Supplier) variants (#6564)
  • Remove onExceptionResumeNext (#6564)

Behavior changes

No behavior changes in this release.

Bugfixes

  • Fix NPE when debouncing empty source (#6559)

Documentation enhancements

  • Fix wording in Single javadocs (#6566)

Other

  • Fixing version tag since Schedulers.from(Executor, boolean) has been promoted. (#6544)
  • Simplify JUnit tests with more appropriate assert methods (#6549)
  • Remove unnecessary static imports from unit tests (#6550)

3.0.0-RC0

25 Jun 07:37
fb37226
Compare
Choose a tag to compare
3.0.0-RC0 Pre-release
Pre-release

Maven

This is an early release for 3.0.0 to verify the release process still works for the new artifact location.

This release note does not detail the changes since 2.2.x. Please check out the wiki page What's different in 3.0 from time to time for the details and migration guide.

API changes

  • Add eager truncation to bounded replay() to avoid item retention (#6532)
  • Add X.fromSupplier() (#6529)
  • Add concatMap with Scheduler guaranteeing where the mapper function runs (#6538)
  • Add startWithItem & startWithIterable (#6530)
  • ConnectableFlowable/ConnetableFlowable redesign (#6519)
  • Merge as() into to() (#6514)
  • Change Maybe.defaultIfEmpty() to return Single (#6517)
  • Widen functional interface throws, replace Callable with Supplier in operator signatures (#6511)
  • Promote Beta/Experimental operators to Standard (#6537)
  • Remove getValues() from some subjects/processors (#6516)
  • Remove methods from test consumers, make internal versions (#6526)
  • Remove replay(Scheduler) and its overloads (#6539)
  • Remove dematerialize() (#6539)
  • Remove startWith(T|Iterable) (#6530)
  • Remove as() (#6514)
  • Remove Maybe.toSingle(T) (#6517)
  • Remove Flowable.subscribe(4 args) (#6517)
  • Remove Observable.subscribe(4 args) (#6517)
  • Remove Single.toCompletable() (#6517)
  • Remove Completable.blockingGet() (#6517)

Behavior changes

  • Make using() resource disposal order consistent with eager-mode (#6534)
  • ConnectableFlowable/ConnetableFlowable redesign (#6519)
  • Add eager truncation to bounded replay() to avoid item retention (#6532)

Bugfixes

  • Fix concatMapDelayError not continuing on fused inner source crash (#6523)
  • Sync up with 2.2.10 snapshot (#6507)
  • Merge in changes from 2.x since the initial branching (#6498)

Documentation enhancements

  • Clarify create emitters are per consumer (#6535)
  • Add marbles to X.fromSupplier (#6531)
  • Sync up with 2.2.10 snapshot (#6507)
  • Merge in changes from 2.x since the initial branching (#6498)

Other

  • Remove Changes.md (#6533)
  • Remove test from testXXX method names, create a validator (#6525)
  • Sync up with 2.2.10 snapshot (#6507)
  • Merge in changes from 2.x since the initial branching (#6498)

2.2.10

21 Jun 05:34
0df3285
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6499: Add missing null check to BufferExactBoundedObserver.
  • Pull 6505: Fix publish().refCount() hang due to race.
  • Pull 6522: Fix concatMapDelayError not continuing on fused inner source crash.

Documentation changes

  • Pull 6496: Fix outdated links in Additional-Reading.md.
  • Pull 6497: Fix links in Alphabetical-List-of-Observable-Operators.md.
  • Pull 6504: Fix various Javadocs & imports.
  • Pull 6506: Expand the Javadoc of Flowable.
  • Pull 6510: Correct "Reactive-Streams" to "Reactive Streams" in documentation.