RxJava bindings for Kotlin
Maven coordinates for this release: io.reactivex.rxjava3:rxkotlin:3.0.0
This is the first release for RxKotlin in quite some time. I apologize it took so long.
Thank you everyone for your contributions!
This is a breaking release removing some annoyances, specifically the toSingle()
and toMaybe()
extension functions targeting futures, callables, and even single T
items.
These caused far more harm than good, as they often clashed with other libraries and people's own extensions. For instance, RxKotlinFX has a Dialog<T>.toMaybe()
extension which emits a dialog's response. This clashed directly with the toMaybe()
in RxKotlin. Rather than deprecating these extensions, they were just removed to prevent further hindrance.
Deprecated Observable#combineLatest()
and its Flowable counterpart have been removed as well, and you can use the Observables
and Flowables
factories instead.
RxJava and Kotlin dependencies have been updated as well.
There are a number of changes in this release, some of which are possibly breaking. Many additions seek to expand the SAM helpers used to workaround the SAM issue.
zip()
, combineLatest()
, zipWith()
, and withLatestFrom()
now support emitting Pairs and Triples when no combining function is provided for 2-3 source arguments. This applies to Observable
, Flowable
, Single
, and Maybe
types.
Singles
and Maybes
have been greatly expanded to include more SAM helper operators for zip()
and zipWith()
toMap()
and toMultimap()
extension operators have been added to Observable<Pair<X,Y>>
and Flowable<Pair<X,Y>>
, which will automatically use each Pair
emission to map the key
and value
without any arguments.
Order of parameters for subscribeBy()
have been moved so that onNext
is the default if only one unnamed parameter is provided.
Kotlin 1.2 and RxJava 2.1.0 are now dependencies
Please file any issues if you have any questions or concerns. Thanks to everyone who contributed to this release.
This is a quick release to remove Java 8 configuration, so this works on Java 6+.
Also a blockingSubscribeBy()
has been added as discussed here.
This is a re-release of the features in 2.0.1 to address some build issues during deployment. combineLatest()
also received extensions to work with Pair
and Triple
emissions.
Thanks @stepango for putting these changes in.