The first thing that developers will note is that in the 1.0 version, the dependency for RxJava was as follows:
compile group: 'io.reactivex', name: 'rxjava', version: '1.2.5'
It has now become as follows (and that's the one we are using):
compile group: 'io.reactivex.rxjava2', name: 'rxjava', version: '2.0.3'
Basically, here, only the group part of the dependency changed from io.reactivex to io.reactivex.rxjava2.
However, much bigger and much more impactful changes lie under the hood. Now all the code has moved from the rx package to io.reactivex.
This means that the developers have to use imports like this:
import io.reactivex.Observable;
This is an alternative of the following:
import rx.Observable;
So, in cases when it seems that you are using Observables in an appropriate place but the compiler complains, take a look at the Observable that was imported and the type of Observable that the method call is expecting.