@TomasMikula TomasMikula released this Feb 23, 2015 · 115 commits to master since this release

Assets 5

Some fixes and little features, as well as deprecations. Update to address deprecations.

@TomasMikula TomasMikula released this Feb 8, 2015 · 153 commits to master since this release

Assets 5

New in this milestone:

  • Val as a better ObservableValue. It is a unifying concept of ObservableValue, Binding, EasyBind's MonadicObservableValue, InhiBeans' inhibitable ObservableValue, plus adopts the lazy binding known from EventStreams.
  • Var as a better Property.
  • LiveList as a better ObservableList.

Other changes in this milestone:

  • Error-reporting mechanism was removed.
  • InhiBeans deprecated, since all functionality is now contained in Val, Var and LiveList.

There are other smaller additions and changes.

@TomasMikula TomasMikula released this Dec 14, 2014 · 237 commits to master since this release

Assets 5

This first milestone for 2.0 is about removing stuff and refactoring. It introduces a number of breaking changes:

  • BiEventStream, TriEventStream and EitherEventStream are gone. The necessary code repetition in their implementation is not justified by the little gains in performance. In the future, hopefully, project Valhalla enables more efficient implementation of tuples as value types, getting back the performance benefits of BiEventStream and TriEventStream, without code repetition.
  • Removed the deprecated InterceptableEventStream.
  • The subscriber type is now Subscriber<T> instead of Consumer<T>.

@TomasMikula TomasMikula released this Dec 4, 2014 · 254 commits to master since this release

Assets 5

New in this minor release:

@TomasMikula TomasMikula released this Aug 26, 2014 · 264 commits to master since this release

Assets 5

Improved error-reporting: errors are printed to stderr if no handler provided.

@TomasMikula TomasMikula released this Jul 11, 2014 · 266 commits to master since this release

Assets 5

New in this release:

Controlling recursive event emission. Recursive event emission happens when an event causes the stream to emit again. Basically, recursion is disallowed when there is more than one subscriber to the stream, since if the first notified subscriber caused recursive emission, the following subscribers would receive events in reverse order. To allow recursive emission and 2 or more subscribers at the same time, one has to explicitly state how to handle recursive emission, via the onRecurse*() methods.

Suspendable event streams. Interceptable event streams were simplified (mostly implementation-wise) and are now called suspendable event streams. There's a special operator to get each type of suspendable event stream: suppressible, forgetful, pausable, reducible, accumulative, accumulative.

New stream combinators:
suppressWhen, retainLatestWhen, pauseWhen, reduceWhen, accumulateWhen, accumulateWhen,
retainLatestUntilLater, queueUntilLater, reduceUntilLater, accumulateUntilLater, accumulateUntilLater,
queueBetween, reduceBetween, accumulateBetween, accumulateBetween.