Release 1.0.0

@thomasnield thomasnield released this Dec 18, 2016 · 8 commits to 1.x since this release

After nearly a year of controlled experimentation and prototyping, RxJavaFX 1.0.0 has finally been released. There should be no breaking changes to upgrade to this version, however there are some sweeping deprecations as well as some new features.

  • Nearly all factories in JavaFxObservable have been deprecated and replaced with more concise factory names inspired by ReactFX. For instance, fromObservableValue() is now valuesOf(). The RxJavaFX Guide will be updated later to reflect these new naming conventions.
  • In JavaFxObservable, there are now nonNullValuesOf() and nonNullChangesOf() factories that effectively supress null values emitted from an ObservableValue.
  • The CompositeObservable @Beta tag has been removed.
  • A new set of Transformers have been provided via the JavaFxTransformers static class. These are new Rx operators specific to JavaFX
    • doOnNextFx() - same as doOnNext() but executes on FX thread
    • doOnCompletedFx() - same as doOnCompleted() but executes on FX thread
    • doOnErrorFx() - same as doOnError() but executes on FX thread
    • doOnSubscribeFx() - same as doOnSubscribe() but executes on FX thread
    • doOnUnsubscribeFx() - same as doOnUnsubscribe() but executes on FX thread
    • doOnTerminateFx() - same as doOnTerminate() but executes on FX thread
    • doOnNextCount() - performs the provided action with the emission count for each onNext() call
    • doOnCompletedCount() - performs the provided action with the emission count for an onCompleted() call
    • doOnErrorCount() - performs the provided action with the emission count for an onError() call
    • doOnNextCountFx() - same as doOnNextCount() but executes on FX thread
    • doOnCompletedCountFx() - same as doOnCompletedCount() but executes on FX thread
    • doOnErrorCountFx() - same as doOnErrorCount() but executes on FX thread

The doOnXXXCount() operators are helpful for updating the UI with a status on how many emissions have been processed (e.g. through a ProgressBar or a simple Label with the count).

The 1.x branch is now the primary branch. Next on the roadmap is to implement this library with RxJava 2.0 on the 2.x branch. RxJava 2.0 brings some drastic changes with it and we will need a separate RxJavaFX 2.0 implementation to support it.

RxKotlinFX will get a 1.0 release this week as well.

Downloads

Release 0.3.0

@thomasnield thomasnield released this Nov 7, 2016 · 1 commit to 0.x since this release

  • Backed CompositeObservable with a serialized PublishSubject, allowing sources to be removed from a CompositeObservable at any time.
  • CompositeObservable#add() now returns a Subscription that can be used to unsubscribe() the CompositeObservable from a source Observable.
  • addAll() will return a CompositeSubscription containing all the Subscriptions.
  • remove(), removeAll(), clear(), and getSources() were removed from CompositeObservable as they are no longer are relevant due to above changes.

Downloads

Release 0.2.0 - CompositeObservable w/ Transformer

@thomasnield thomasnield released this Sep 11, 2016 · 6 commits to 0.x since this release

This release might break any previous usages of CompositeObservable, which now optionally accepts a Transformer. Any other constructors to control caching have been removed, as these were broken and now remedied by this new solution.

The CompositeObservable is modified to optionally accept a Transformer as a constructor argument. This Transformer is applied to the combined Observable so as to allow further manipulations yielded by toObservable().

You can leverage this Transformer to multicast the outputted Observable or (as shown in the example below) replay the last emission from the combined emissions.

 CompositeObservable<String> source = new CompositeObservable<>(obs -> obs.replay(1).refCount());

source.toObservable().subscribe(System.out::println);
source.add(Observable.just("Alpha","Beta","Gamma"));
source.add(Observable.just("Delta","Epsilon"));

Thread.sleep(1000);
source.toObservable().subscribe(System.out::println);

OUTPUT:

Alpha
Beta
Gamma
Delta
Epsilon
Epsilon

Downloads

Release 0.1.4

@thomasnield thomasnield released this Jul 26, 2016 · 10 commits to 0.x since this release

  • Fixed JavaFxObservable#fromObservableSet() not emitting anything
  • Implemented addAll(), removeAll(), clear(), and getBackingSet() methods on CompositeObservable

Downloads

Release 0.1.3

@thomasnield thomasnield released this Jul 24, 2016 · 14 commits to 0.x since this release

Fixed CompositeObservable dupe issue from 0.1.2

ADDED
CompositeObservable for merging multiple Observables, but allows Observables to be added/removed at any time. Helpful for consolidating multiple UI event sourcesx

MODIFIED
Removed dupe initial emission from ObservableSetSource.fromObservableSet() factory

Downloads

Release 0.1.2

@thomasnield thomasnield released this Jul 24, 2016 · 16 commits to 0.x since this release

ADDED
CompositeObservable for merging multiple Observables, but allows Observables to be added/removed at any time. Helpful for consolidating multiple UI event sources

MODIFIED
Removed dupe initial emission from ObservableSetSource.fromObservableSet() factory

Downloads

Release 0.1.1

@thomasnield thomasnield released this Jul 14, 2016 · 21 commits to 0.x since this release

ADDED

  • JavaFxObservable.fromDialog() factory which will emit the result of a Dialog<T> as an Observable<T>.

MODIFIED

  • JavaFxObservable.fromObservableList() now does an initial emission of the ObservableList before any changes occur.
  • JavaFxObservable.fromObservableMap() now does an initial emission of the ObservableMap before any changes occur.
  • JavaFxObservable.fromObservableSet() now does an initial emission of the ObservableSet before any changes occur.

Downloads

Release 0.1.0

@thomasnield thomasnield released this Jun 28, 2016 · 30 commits to 0.x since this release

Two new functionalities were added to this release.

JavaFX interval()

Added following factory to emit consecutive Long values at a set interval on the JavaFX thread. See #34

JavaFxObservable.interval(Duration duration)

Lazy RxJava Bindings

Two more Binding factories were added to turn an RxJava Observable into a JavaFX Binding, and now there is an option to call toLazyBinding() and not just toBinding(). This will result in the Binding implementation delaying subscription to the Observable until a value is requested from it. #35.

JavaFxSubscriber.toLazyBinding(Observable<T> observable)
JavaFxSubscriber.toLazyBinding(Observable<T> observable, Action1<Throwable> onError)

Downloads

Release 0.0.7

@thomasnield thomasnield released this May 28, 2016 · 38 commits to 0.x since this release

  • Added factories to turn ObservableMap<K,T> events into several flavors of Observable<R>
  • Added factories to turn ObservableSet<T> events into several flavors of Observable<R>

Downloads

Release 0.0.6

@thomasnield thomasnield released this Apr 30, 2016 · 46 commits to 0.x since this release

Added CompositeBinding, a JavaFX equivalent to CompositeSubscription. See #23

Downloads