Skip to content

Commit

Permalink
Prepare version 2.0.0-RC1.
Browse files Browse the repository at this point in the history
  • Loading branch information
JakeWharton committed Aug 25, 2016
1 parent cfed79e commit 6c0e494
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 112 deletions.
112 changes: 9 additions & 103 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,109 +1,15 @@
# RxAndroid Releases #

### Version 1.2.1 - June 16th 2016 ###
Version 1.x can be found at https://github.com/ReactiveX/RxAndroid/blob/1.x/CHANGES.md

* New: `AndroidSchedulers.reset()` allows clearing the scheduler cache such that the next call to
`AndroidSchedulers.mainThread()` will ask the `RxAndroidSchedulerHook` to re-create it. This API
is experimental to match `Schedulers.reset()` in RxJava.
* RxJava dependency now points at v1.1.6.
### Version 2.0.0-RC! - August 25, 2016 ###

RxAndroid 2.0 has been rewritten from scratch to support RxJava 2.0.

### Version 1.2.0 - May 4th 2016 ###
The library still offers the same APIs: a scheduler and stream cancelation callback that know about
the main thread, a means of creating a scheduler from any `Looper`, and plugin support for the
main thread sheduler. They just reside in a new package, `io.reactivex.android`, and may have
slightly different names.

* Rewrite the Android-specific schedulers (main thread or custom) to greatly reduce allocation and
performance overhead of scheduling work.
* `HandlerScheduler.create` has been deprecated in favor of `AndroidSchedulers.from(Looper)` as
a `Looper` is the actual mechanism of scheduling on Android, not `Handler`.
* Fix: Correct the behavior of `AndroidSchedulers.mainThread()` to only invoke the registered
`RxAndroidSchedulersHook` for creating the main thread scheduler and to cache the result instead
of invoking it every time. This behvior change eliminates a performance overhead and brings
behavior in line with RxJava. If you were relying on the ability to change the main thread
scheduler over time (such as for tests), return a delegating scheduler from the hook which allows
changing the delegate instance at will.
* RxJava dependency now points at v1.1.4.
* `RxAndroidPlugins.reset()` is now marked as `@Experimental` to match the RxJava method of the
same name and behavior.


### Version 1.1.0 - December 9th 2015 ###

* New: `MainThreadSubscription` utility class runs its `onUnsubscribe` action on the Android main
thread. This aids in adding tear-down actions which must be executed on the main thread without
having to deal with posting to the main thread yourself.
* Fix: Lazily initialize `mainThread()` scheduler so that no Android code is run when overridden.
This allows unit tests overriding the implementation to work correctly.
* RxJava dependency now points at v1.1.0.


### Version 1.0.1 - August 9th 2015 ###

* Fix: Correctly check `isUnsubscribed()` state in `HandlerScheduler`'s worker before scheduling
more work.
* Fix: Eliminate a potential race condition in `HandlerScheduler` to ensure any posted work will
be canceled on unsubscription.


### Version 1.0.0 - August 5th 2015 ###

Initial stable release!

In order to provide a library that no project using RxJava would hesitate to depend on, the decision
was made to remove the APIs which were not absolutely fundamental to all apps. That is what's
contained in this release.

Functionality which was previously part of this library is being explored in separate, modular
libraries:

* `LifecycleObservable`: https://github.com/trello/RxLifecycle
* `ViewObservable` and `WidgetObservable`: https://github.com/JakeWharton/RxBinding

This allows for a simpler process of design, development, and experimentation for the
best ways to provide features like hooks into the lifecycle, binding to UI components, and
simplifying interaction with all of Android's API. Not only can these projects now have their own
release schedule, but it allows developers to pick and choose which ones are appropriate for your
application.

Applications using the various APIs which were previously in this library do not need to update
immediately. Due to the number of APIs removed, switching to 1.0 and the use of these third-party
libraries should be done gradually.

Breaking changes:

* `AndroidSchedulers.handlerThread()` is now `HandlerScheduler.from()`.
* **All other APIs have been removed** aside from `AndroidSchedulers.mainThread()`,
`RxAndroidPlugins`, and `RxAndroidSchedulersHook`.


### Version 0.25 - June 27th 2015 ###

* New: `RxAndroidPlugins` and its `RxAndroidSchedulersHook` provides a mechanism similar to `RxJavaPlugins` (and its `RxJavaSchedulersHook`) for
changing the scheduler returned from `AndroidSchedulers.mainThread()` as well as a callback for each subscription on any `Handler`-based scheduler.
* Fix: Ensure errors are properly propagated from `ContentObservable.fromCursor`.
* Fix: `LifecycleObservable` now correctly unsubscribes from its sources.

Breaking changes:

* Users of `AppObservable.bindFragment` with a support-v4 `Fragment` should now use `bindSupportFragment`.


### Version 0.24 – January 3rd 2015 ###

This release has some breaking changes:

* `rx.android.observables.AndroidObservable` has changed to `rx.android.app.AppObservable`;
* `ViewObservable` has moved from `rx.android.observables` to `rx.android.view`
* (as part of RxJava's breaking changes) [`collect` has changed](https://github.com/ReactiveX/RxJava/blob/1a94d55fa8896931175896d09b86dca8d8d44f72/CHANGES.md#collect)


### Version 0.22 – October 15th 2014 ###

This release adds a number of new operators:

* [Pull 25](https://github.com/ReactiveX/RxAndroid/pull/25) Add operator to monitor SharedPreference changes
* [Pull 22](https://github.com/ReactiveX/RxAndroid/pull/22) Add view state event types to streamline ViewObservable
* [Pull 20](https://github.com/ReactiveX/RxAndroid/pull/20) Add OperatorAdapterViewOnItemClick to observe OnItemClick events in AdapterViews


### Version 0.21 – October 1st 2014 ###

Initial release outside the RxJava core project, no changes.
For more information about RxJava 2.0 see
[its RC1 release notes](https://github.com/ReactiveX/RxJava/releases/tag/v2.0.0-RC1)
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# RxAndroid: Reactive Extensions for Android

Android specific bindings for [RxJava](http://github.com/ReactiveX/RxJava).
Android specific bindings for [RxJava 2](http://github.com/ReactiveX/RxJava).

This module adds the minimum classes to RxJava that make writing reactive components in Android
applications easy and hassle-free. More specifically, it provides a `Scheduler` that schedules on
Expand All @@ -20,16 +20,16 @@ Since RxAndroid is part of the RxJava family the communication channels are simi
# Binaries

```groovy
compile 'io.reactivex:rxandroid:1.2.1'
compile 'io.reactivex.rxjava2:rxandroid:2.0.0-RC1'
// Because RxAndroid releases are few and far between, it is recommended you also
// explicitly depend on RxJava's latest version for bug fixes and new features.
compile 'io.reactivex:rxjava:1.1.6'
compile 'io.reactivex.rxjava2:rxjava:2.0.0-RC1'
```

* RxAndroid: <a href='http://search.maven.org/#search%7Cga%7C1%7Crxandroid'><img src='http://img.shields.io/maven-central/v/io.reactivex/rxandroid.svg'></a>
* RxJava: <a href='http://search.maven.org/#search%7Cga%7C1%7Crxjava'><img src='http://img.shields.io/maven-central/v/io.reactivex/rxjava.svg'></a>
* RxAndroid: <a href='http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.reactivex.rxjava2%22%20a%3A%22rxjava%22'><img src='http://img.shields.io/maven-central/v/io.reactivex.rxjava2/rxandroid.svg'></a>
* RxJava: <a href='http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.reactivex.rxjava2%22%20a%3A%22rxjava%22'><img src='http://img.shields.io/maven-central/v/io.reactivex.rxjava2/rxjava.svg'></a>

Additional binaries and dependency information for can be found at [http://search.maven.org](http://search.maven.org/#search%7Cga%7C1%7Crxandroid).
Additional binaries and dependency information for can be found at [http://search.maven.org](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22io.reactivex.rxjava2%22%20a%3A%22rxandroid%22).


## Build
Expand All @@ -39,12 +39,13 @@ To build:
```bash
$ git clone [email protected]:ReactiveX/RxAndroid.git
$ cd RxAndroid/
$ git checkout 2.x
$ ./gradlew build
```

Futher details on building can be found on the RxJava [Getting Started][start] page of the wiki.

<a href='https://travis-ci.org/ReactiveX/RxAndroid/builds'><img src='https://api.travis-ci.org/ReactiveX/RxAndroid.svg?branch=master'></a>
<a href='https://travis-ci.org/ReactiveX/RxAndroid/builds'><img src='https://api.travis-ci.org/ReactiveX/RxAndroid.svg?branch=2.x'></a>

# Sample usage

Expand Down
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GROUP=io.reactivex.rxandroid2
VERSION_NAME=2.0.0-DP0
GROUP=io.reactivex.rxjava2
VERSION_NAME=2.0.0-RC1
POM_NAME=RxAndroid
POM_PACKAGING=aar
POM_DESCRIPTION=RxAndroid
Expand Down

0 comments on commit 6c0e494

Please sign in to comment.