Version 0.27.0 - December 29th 2019 (Maven Central)
Adds Scala 2.13 support.
Note on compatibility:
- Binary compatibility is only preserved within a Scala major version
- This libraries definition of
Seqfollows that of the Scala major version, soscala.collection.generic.Seqin 2.10-2.12 andscala.collection.immutable.Seqin 2.13 - Some methods which take an implicit
CanBuildFrom[Nothing, ...]in the 2.10-2.12 version take an implicitFactoryin the 2.13 version to follow the collection re-design.
Version 0.26.5 - December 28th 2016 (Maven Central)
The most notable change is adding SyncOnSubscribe and AsyncOnSubscribe support. Search them in RxScalaDemo
for examples. RxJava and Scala are upgraded to the latest version as well. Check the following section for other changes.
- [Pull 220] (ReactiveX#220) Implement SyncOnSubscribe and AsyncOnSubscribe
- [Pull 222] (ReactiveX#222) Add FutureToObservable
- [Pull 223] (ReactiveX#223) Add Notification.flatMap
Artifacts: Maven Central
Version 0.26.4 - November 7th 2016 (Maven Central)
This release upgrades RxJava to 1.2.2 and adds UnicastSubject. In addition, RxScala is also published with Scala 2.12.0 since this version.
- [Pull 213] (ReactiveX#213) Add UnicastSubject
- [Pull 214] (ReactiveX#214) Update Scala version to 2.12.0 final
- [Pull 215] (ReactiveX#215) Bump to RxJava 1.2.2
Artifacts: Maven Central
Version 0.26.3 - Oct 8th 2016 (Maven Central)
This release upgrades RxJava to 1.2.0, adds new RxScala/RxJava converters (See
JavaConvertersDemo.scala
for examples), Scala Try and Option converters and bug fixes.
- [Pull 199] (ReactiveX#199) Fix the wrong return type of
takeoverload with scheduler - [Pull 204] (ReactiveX#204) Upgrade to RxJava 1.1.9 and add missing operators
- [Pull 207] (ReactiveX#207) RxScala <-> RxJava converters
- [Pull 210] (ReactiveX#210) Try & Option converters
- [Pull 211] (ReactiveX#211) Bump to RxJava 1.2.0
Artifacts: Maven Central
Version 0.26.2 - June 17th 2016 (Maven Central)
This release upgrades RxJava to 1.1.6 and adds the new experimental ErrorDelayingObservable class.
ErrorDelayingObservable contains a variety of operators that support delaying errors. Sometimes when you compose multiple
Observables together (e.g., flatMap, concat), you may want to refrain from propagating error notifications until all of
the Observables have finished emitting items. In such cases, you can call Observable.delayError to get an ErrorDelayingObservable
and use the ErrorDelayingObservable's methods to compose your Observables. Search for delayError in
RxScalaDemo.scala for examples.
- [Pull 193] (ReactiveX#193) Reimplement tail, to and toMultimap
- [Pull 194] (ReactiveX#194) Bump to RxJava 1.1.5
- [Pull 196] (ReactiveX#196) Deprecate Observable.create
- [Pull 197] (ReactiveX#197) Bump to RxJava 1.1.6
Artifacts: Maven Central
Version 0.26.1 - April 14th 2016 (Maven Central)
This release upgrades RxJava to 1.1.1 and add Scala 2.12 support. Now you can use RxScala with Scala 2.12.0-M4.
- [Pull 189] (ReactiveX#189) Upgrade to RxJava 1.1.1 and add missing methods
- [Pull 191] (ReactiveX#191) Scala 2.12 support
Artifacts: Maven Central
Version 0.26.0 - January 26th 2016 (Maven Central)
This release upgrades RxJava to 1.1.0 and removes deprecated APIs.
- [Pull 184] (ReactiveX#184) Bump to RxJava 1.1.0 and remove deprecated APIs
Artifacts: Maven Central
Version 0.25.1 - December 18th 2015 (Maven Central)
This release upgrades RxJava to 1.0.17 along with several experimental APIs including new interval overloads, concatEager, concatMapEager, flattenDelayError and BlockingObservable.subscribe.
- [Pull 172] (ReactiveX#172) Fix invalid wikipedia url in AsyncWiki example
- [Pull 174] (ReactiveX#174) Refactor CompletenessTest to support adding completeness tests for other classes
- [Pull 176] (ReactiveX#176) Upgrade sbt to 0.13.8; move completeness package to scala-2.11; enable fatal-warnings
- [Pull 178] (ReactiveX#178) Eliminated two possible false positives from BlockingObservableTest
- [Pull 182] (ReactiveX#182) Upgrade to RxJava 1.0.17
Artifacts: Maven Central
Version 0.25.0 - June 8th 2015 (Maven Central)
This release upgrades RxJava to 1.0.11 along with the following enhancements:
- Deprecate
ExperimentalAPIsand use@Experimental/@Betaannotations directly. Unstable APIs wil be labeledExperimental/Betain Scaladoc. - Change
error[T]toerror: Observable[Nothing] - Add
TestSubscriberand its examples. Writing unit tests is much easier now. See TestSubscriberExample for examples. - Add
onBackpressureLatestand variants offlatMapandusing. - Add more experimental methods of
Subject. - Move examples to
examplespackage: 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.composeandJavaConversions.toJavaTransformerbecause Scala has extension methods. It's much nicer thancompose. - Rewrite
toMapin 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 useCanBuildFromto build aMapinstead ofmapFactory. - Rewrite
toMultimapin 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
toMultimapto toMultiMap to make it consistent to the return type. - Remove
toMultimap(keySelector, valueSelector, mapFactory, bufferFactory). You can overrideMultiMap.makeSetto 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/retryWhensignatures - [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.reactivexinstead ofcom.netflix.rxjava - artifactId is now
rxscala_2.10andrxscala_2.11instead 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