Version 0.25.0 - June 8th 2015 (Maven Central)
This release upgrades RxJava to 1.0.11 along with the following enhancements:
- Deprecate
ExperimentalAPIs
and use@Experimental/@Beta
annotations directly. Unstable APIs wil be labeledExperimental/Beta
in Scaladoc. - Change
error[T]
toerror: Observable[Nothing]
- Add
TestSubscriber
and its examples. Writing unit tests is much easier now. See TestSubscriberExample for examples. - Add
onBackpressureLatest
and variants offlatMap
andusing
. - Add more experimental methods of
Subject
. - Move examples to
examples
package: https://github.com/ReactiveX/RxScala/tree/0.x/examples/src/test/scala/examples - Some document fixes
Observable.error
does not have a type parameter any more. Please remove the type parameter of Observable.error
in your codes.
Sometimes removing the type parameter may break your codes. E.g.,
val x = Observable.error[Int](new RuntimeException("Oops")).toBlocking.single
println(x + 1)
It won't be compiled if Int
is removed. For these cases, you can add the explicit type to the variable and make the compiler happy, such as
val x: Int = Observable.error(new RuntimeException("Oops")).toBlocking.single
println(x + 1)
ExperimentalAPIs
is deprecated. It's not a breaking change, but we plan to remove ExperimentalAPIs
in 0.26.0. If you are using ExperimentalAPIs
,
please recompile your codes and fix them as per the deprecated messages provided by the compiler as soon as possible. Once ExperimentalAPIs
is removed,
you won't get the deprecated messages.
- [Pull 157] (ReactiveX#157) Update the out-of-date example in "Notification" doc
- [Pull 159] (ReactiveX#159) Correct documentation for Observable.merge
- [Pull 162] (ReactiveX#162) Fixed minor documentation typo
- [Pull 163] (ReactiveX#163) Update to Scala 2.10.5 / 2.11.6
- [Pull 164] (ReactiveX#164) Change
error[T]
toerror: Observable[Nothing]
- [Pull 166] (ReactiveX#166) Update to using RxJava 1.0.11
- [Pull 168] (ReactiveX#168) Move examples
- [Pull 170] (ReactiveX#170) Add TestSubscriber
Artifacts: Maven Central
Version 0.24.1 - March 31st 2015 (Maven Central)
This release upgrades RxJava to 1.0.8 along with ExecutionContextScheduler and onBackpressureDropDo.
- [Pull 151] (ReactiveX#151) Update to Rxjava 1.0.8 & add onBackpressureDropDo to ExperimentalAPIs
- [Pull 91] (ReactiveX#91) Add ExecutionContextScheduler for Scala ExecutionContext
Artifacts: Maven Central
Version 0.24.0 - March 5th 2015 (Maven Central)
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.
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
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 146] (ReactiveX#146) Add ExperimentalObservable
- [Pull 82] (ReactiveX#82) Fix onErrorResumeNext partial function ambiguity problem
Artifacts: Maven Central
Version 0.23.1 - January 21st 2015 (Maven Central)
This release upgrades RxJava to 1.0.4 along with some enhancements and bug fixes.
- [Pull 86] (ReactiveX#86) Fix issue #85 that Subscription.isUnsubscribed returns a wrong value
- [Pull 92] (ReactiveX#92) Change the parameter name 'func' to 'f'
- [Pull 98] (ReactiveX#98) Add toSerialized
Artifacts: Maven Central
Version 0.23.0 – December 4th 2014 (Maven Central)
This release upgrades RxJava from 1.0.0-rc.5 to 1.0.2 along with some enhancements and bug fixes.
- Breaking changes in RxJava. Read the RxJava Release Notes for more information.
- Remove
Observable.compose
andJavaConversions.toJavaTransformer
because Scala has extension methods. It's much nicer thancompose
. - 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 useCanBuildFrom
to build aMap
instead ofmapFactory
. - Rewrite
toMultimap
in an idiomatic Scala way. - Change the return type from
Observable[scala.collection.Map[K, Seq[T]]]
toObservable[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 overrideMultiMap.makeSet
to create your custom bufferFactory Instead.
See RxScalaDemo.toMapExample
and RxScalaDemo.toMultiMapExample
for examples of new toMap
and toMultiMap
.
- [Pull 38] (ReactiveX#38) reasons why there is no Observable.range
- [Pull 45] (ReactiveX#45) Fail build if not all RxJava methods are mapped to a RxScala equivalent
- [Pull 46] (ReactiveX#46) Update to RxJava 1.0.0-RC7
- [Pull 48] (ReactiveX#48) Doc improvements
- [Pull 49] (ReactiveX#49) Update to RxJava 1.0.0-RC8
- [Pull 51] (ReactiveX#51) remove Observable.compose and JavaConversions.toJavaTransformer
- [Pull 52] (ReactiveX#52) Update to RxJava 1.0.0-RC9
- [Pull 53] (ReactiveX#53) Check the API coverage in examples
- [Pull 54] (ReactiveX#54) Convert to nanoseconds for two Duration parameters
- [Pull 56] (ReactiveX#56) fix link to examples
- [Pull 57] (ReactiveX#57) Refactor Subscriber to support backpressure when using lift and bug fixes
- [Pull 61] (ReactiveX#61) Update the Maven link and the Versioning section
- [Pull 64] (ReactiveX#64) Fix the misuse of takeWhile in demo
- [Pull 65] (ReactiveX#65) Update to RxJava 1.0.0-RC12
- [Pull 67] (ReactiveX#67) Refactor toMap
- [Pull 68] (ReactiveX#68) Refactor toMultimap
- [Pull 70] (ReactiveX#70) Fix the height issue of the img tags
- [Pull 71] (ReactiveX#71) Hotfix: Fix CompletenessTest
Artifacts: Maven Central
Version 0.22.0 - October 7th 2014 (Maven Central)
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] (ReactiveX#27) Upgrade to RxJava 1.0.0-RC5
- [Pull 27] (ReactiveX#27) Remove
groupByUntil
- [Pull 27] (ReactiveX#27) Update
repeatWhen
/retryWhen
signatures - [Pull 29] (ReactiveX#29) Remove 'parallel' operator
- [Pull 23] (ReactiveX#23) Add missing Subject constructors and Subject classes from RxJava to RxScala
- [Pull 25] (ReactiveX#25) Cleanup completeness test by removing parallelMerge obsolete comparison
Artifacts: Maven Central
Version 0.21.1 - September 28th 2014 (Maven Central)
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 ofcom.netflix.rxjava
- artifactId is now
rxscala_2.10
andrxscala_2.11
instead ofrxjava-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