Skip to content

Latest commit

 

History

History
109 lines (72 loc) · 5.11 KB

CHANGES.md

File metadata and controls

109 lines (72 loc) · 5.11 KB

RxAndroid Releases

Version 1.2.1 - June 16th 2016

  • 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 1.2.0 - May 4th 2016

  • 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:

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

Version 0.22 – October 15th 2014

This release adds a number of new operators:

  • Pull 25 Add operator to monitor SharedPreference changes
  • Pull 22 Add view state event types to streamline ViewObservable
  • 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.