Skip to content

Releases: ReactiveX/RxJava

2.2.17

12 Jan 15:50
030528b
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6827: Fix Flowable.flatMap not canceling the inner sources on outer error.

3.0.0-RC7

31 Dec 08:46
34f381c
Compare
Choose a tag to compare

Maven
Javadocs

⚠️ With this release, RxJava moved to a Java 8 baseline. This means the library is now built with -target 8 settings to produce Java 8 bytecode and requires a Java runtime >= 8 to work. Most desktop and server-side usages should be fine.

For Android development, the latest Android Studio is always recommended which is already able to desugar many Java 8 constructs. The upcoming AS 4 will support even more desugaring for older API levels. Until then, one should stick to the non-Java 8 standard methods so the Java 8 methods can be ignored by AS.

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.

Behavior changes

  • Change how the cause of CompositeException is generated. (#6748)
  • Change Flowable.window (size, time) abandonment. (#6758)
  • Change Observable.window (size & time) abandonment. (#6761)
  • Change window (boundary, start/end) cancel and abandonment. (#6762)
  • [Java 8] Upgrade to Java 8 baseline. (#6765)
  • Change XProcessor.offer to throw NullPointerException immediately. (#6799)

API changes

  • [Java 8] Add fromOptional, fromCompletionStage, fromStream operators to Flowable. (#6765)
  • [Java 8] Add FunctionalInterface annotations. (#6773)
  • [Java 8] Add mapOptional, collector, {first|last|single}Stage operators to Flowable. (#6775)
  • [Java 8] Add AutoCloseable <-> Disposable conversions. (#6780)
  • [Java 8] Add blockingStream & flatMapStream operators to Flowable. (#6779)
  • [Java 8] Migrate Disposables static factories to Disposable interface. (#6781)
  • [Java 8] Add fromOptional, fromCompletionStage, mapOptional and toCompletionStage to Maybe/Single/Completable. (#6783)
  • Widen {Flowable|Observable|Maybe|Single|Completable|ParallelFlowable}Operator throws declaration to Throwable. (#6785)
  • [Java 8] Add @NonNull & @SafeVarargs annotations. (#6791)
  • Add missing @NonNull, @CheckReturnValue, etc. annotations. (#6795)
  • [Java 8] Add the new operators to Observable. (#6797)
  • [Java 8] Add ParallelFlowable operators and add missing annotations to existing operators. (#6798)
  • Add blockingForEach(Consumer, int) overload. (#6800)
  • [Java 8] Add flattenStreamAsFlowable and flattenStreamAsObservable to Maybe and Single. (#6805)

Bugfixes

  • Fix Observable amb, combineLatest & zip ArrayStoreException. (#6756)
  • Fix Flowable.window (size, time) cancellation and abandonment. (#6758)
  • Fix Observable.window (size & time) cancellation and abandonment. (#6761)
  • Fix window (boundary, start/end) cancel and abandonment. (#6762)

Documentation enhancements

  • Update observeOn docs with links and +backpressure explanation. (#6750)
  • Fix typo in Flowable javadoc. (#6760)
  • Javadocs package-info made nicer. (#6778)
  • [Java 8] Update README regarding Java 8. (#6778)
  • Nicen Disposable Javadocs. (#6780)
  • Cleanup and prettify Javadocs (#6785)

Other changes

  • Do not update snapshot Javadocs from secondary branches. (#6752)
  • Remove ObjectHelper.requireNonNull(long, String). (#6769)
  • [Java 8] Replace some ObjecsHelper methods with Java 8 APIs. (#6770)
  • [Java 8] Replace ObjectHelper.requireNonNull with Objects.requireNonNull. (#6771)
  • [Java 8] Diamond operators in unit tests, flowable package. (#6787)
  • [Java 8] Diamond operators in unit tests, observable package. (#6786)
  • [Java 8] Diamond operators in various unit tests. (#6788)
  • [Java 8] Diamond operators in unit tests, small packages. (#6789)
  • [Java 8] Remove now unnecessary unchecked warning suppressions. (#6790)
  • [Java 8] Add @NonNull & @SafeVarargs annotations validator. (#6791)
  • [Java 8] Fix many diamonds. (#6795)
  • [Java 8] Observable operator cleanup. (#6797)
  • [Java 8] ParallelFlowable operator cleanup. (#6798)
  • Add missing throwIfFatal calls (#6801)
  • [Java 8] Fix diamonds, spelling, unnecessary code. (#6804)

2.2.16

15 Dec 07:16
ea2c796
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6754: Fix amb, combineLatest and zip Iterable overloads throwing ArrayStoreException for ObservableSources.

Documentation changes

  • Pull 6746: Fix self-see references, some comments.

3.0.0-RC6

06 Dec 08:01
1e29958
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.

Behavior changes

  • Change Flowable.groupBy to signal MissingBackpressureException instead of possibly hanging. (#6740)

API changes

  • Add fair mode overload to Schedulers.from(Executor) (#6744)
  • Make DisposableContainer public API (#6745)

Bugfixes

  • Fix parallel() on grouped Flowable not replenishing properly. (#6719)

Documentation enhancements

  • observeOn and Schedulers.from eagerness javadoc updates. (#6723)
  • Fix self-see references, some comments. (#6729)
  • Update Single.zip marble diagrams (4 cases). (#6732)
  • Add Maybe marble diagrams (14 cases). (#6730)

2.2.15

24 Nov 08:38
56d6e91
Compare
Choose a tag to compare

Maven

Bugfixes

  • Pull 6715: Fix MulticastProcessor not requesting more after limit is reached.
  • Pull 6710: Fix concurrent clear in observeOn while output-fused.
  • Pull 6720: Fix parallel() on grouped flowable not replenishing properly.

Documentation changes

  • Pull 6722: Update javadoc for observeOn to mention its eagerness.

Other changes

  • Pull 6704: Add ProGuard rule to avoid j.u.c.Flow warnings due to RS 1.0.3.

3.0.0-RC5

17 Nov 10:10
5026999
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 concurrent clear in observeOn while output-fused. (#6708)
  • Fix MulticastProcessor not requesting more after limit is reached. (#6714)

Documentation enhancements

  • Update javadoc for observeOn to mention its eagerness. (#6700)

Other

  • Embed R8 ProGuard rules to ignore Flow* interfaces in RS 1.0.3 (#6706)

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)