Skip to content

Releases: ReactiveX/RxScala

0.24.0

06 Mar 01:52
Compare
Choose a tag to compare

This release adds ExperimentalAPIs to support Experimental/Beta APIs in RxJava, removes def onErrorResumeNext[U >: T](resumeSequence: Observable[U]): Observable[U]
to solve an ambiguity issue when using partial functions, and upgrades RxJava to 1.0.7.

ExperimentalAPIs

Now you can import rx.lang.scala.ExperimentalAPIs._ to use some unstable APIs which depends on Experimental/Beta APIs in RxJava. E.g.,

import rx.lang.scala.Observable
import rx.lang.scala.ExperimentalAPIs._

val o1: Observable[Int] = Observable.empty
val o2 = Observable.just(1, 3, 5)
val alternate = Observable.just(2, 4, 6)
o1.switchIfEmpty(alternate).foreach(println)
o2.switchIfEmpty(alternate).foreach(println)

See more examples in ExperimentalAPIExamples

Because the APIs in ExperimentalAPIs depends on unstable APIs in RxJava, if you would like to use a custom RxJava version,
it's better to check the compatibility in https://github.com/ReactiveX/RxScala#versioning

onErrorResumeNext

def onErrorResumeNext[U >: T](resumeSequence: Observable[U]): Observable[U] is removed to solve an ambiguity issue when
using partial functions.

Now you can use partial functions in onErrorResumeNext. E.g.,

val o = Observable { (subscriber: Subscriber[Int]) =>
  subscriber.onNext(1)
  subscriber.onNext(2)
  subscriber.onError(new IOException("Oops"))
}
o.onErrorResumeNext {
  case e: IOException => Observable.just(20, 21, 22)
  case _ => Observable.just(10, 11, 12)
}.subscribe(println(_))

Pull Requests

  • Pull 146 Add ExperimentalObservable
  • Pull 82 Fix onErrorResumeNext partial function ambiguity problem

Artifacts: Maven Central

0.23.1

22 Jan 01:36
Compare
Choose a tag to compare

This release upgrades RxJava to 1.0.4 along with some enhancements and bug fixes.

Pull Requests

  • Pull 86 Fix issue #85 that Subscription.isUnsubscribed returns a wrong value
  • Pull 92 Change the parameter name 'func' to 'f'
  • Pull 98 Add toSerialized

Artifacts: Maven Central

0.23.0

06 Dec 17:15
Compare
Choose a tag to compare

This release upgrades RxJava from 1.0.0-rc.5 to 1.0.2 along with some enhancements and bug fixes.

Breaking Changes

  • Breaking changes in RxJava. Read the RxJava Release Notes for more information.
  • Remove Observable.compose and JavaConversions.toJavaTransformer because Scala has extension methods. It's much nicer than compose.
  • Rewrite toMap in an idiomatic Scala way.
    • Add def to[M[_, _], K, V](keySelector: T => K, valueSelector: T => V)(implicit cbf: CanBuildFrom[Nothing, (K, V), M[K, V]]): Observable[M[K, V]].
    • Remove def toMap[K, V] (keySelector: T => K, valueSelector: T => V, mapFactory: () => Map[K, V]): Observable[Map[K, V]].
      In Scala, we can use CanBuildFrom to build a Map instead of mapFactory.
  • Rewrite toMultimap in an idiomatic Scala way.
    • Change the return type from Observable[scala.collection.Map[K, Seq[T]]] to Observable[mutable.MultiMap[K, V]].
    • Change the method name toMultimap to toMultiMap to make it consistent to the return type.
    • Remove toMultimap(keySelector, valueSelector, mapFactory, bufferFactory). You can override MultiMap.makeSet to
      create your custom bufferFactory Instead.

See RxScalaDemo.toMapExample
and RxScalaDemo.toMultiMapExample
for examples of new toMap and toMultiMap.

Pull Requests

  • Pull 38 reasons why there is no Observable.range
  • Pull 45 Fail build if not all RxJava methods are mapped to a RxScala equivalent
  • Pull 46 Update to RxJava 1.0.0-RC7
  • Pull 48 Doc improvements
  • Pull 49 Update to RxJava 1.0.0-RC8
  • Pull 51 remove Observable.compose and JavaConversions.toJavaTransformer
  • Pull 52 Update to RxJava 1.0.0-RC9
  • Pull 53 Check the API coverage in examples
  • Pull 54 Convert to nanoseconds for two Duration parameters
  • Pull 56 fix link to examples
  • Pull 57 Refactor Subscriber to support backpressure when using lift and bug fixes
  • Pull 61 Update the Maven link and the Versioning section
  • Pull 64 Fix the misuse of takeWhile in demo
  • Pull 65 Update to RxJava 1.0.0-RC12
  • Pull 67 Refactor toMap
  • Pull 68 Refactor toMultimap
  • Pull 70 Fix the height issue of the img tags
  • Pull 71 Hotfix: Fix CompletenessTest

Artifacts: Maven Central

0.22.0

08 Oct 16:19
Compare
Choose a tag to compare

This release updates RxScala to use RxJava 1.0.0-rc.5 which included some breaking changes as it approaches 1.0 Final. Read the RxJava Release Notes for more information.

  • Pull 27 Upgrade to RxJava 1.0.0-RC5
  • Pull 27 Remove groupByUntil
  • Pull 27 Update repeatWhen/retryWhen signatures
  • Pull 29 Remove 'parallel' operator
  • Pull 23 Add missing Subject constructors and Subject classes from RxJava to RxScala
  • Pull 25 Cleanup completeness test by removing parallelMerge obsolete comparison

Artifacts: Maven Central

0.21.1

01 Oct 01:56
Compare
Choose a tag to compare

The first release after splitting from RxJava into its own top level project RxScala.

This is the same code as version 0.20.x except:

  • all deprecated methods and types are deleted
  • now published to groupId io.reactivex instead of com.netflix.rxjava
  • artifactId is now rxscala_2.10 and rxscala_2.11 instead of rxjava-scala
io.reactivex:rxscala_2.10:0.21.1
io.reactivex:rxscala_2.11:0.21.1

The artifacts can be found on maven Central at: http://repo1.maven.org/maven2/io/reactivex/rxscala_2.10 and http://repo1.maven.org/maven2/io/reactivex/rxscala_2.11

Artifacts: Maven Central