Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
A bunch of new methods, bug fixes, and Javadoc improvements.
Some fixes and little features, as well as deprecations. Update to address deprecations.
This is a small bugfix release for 2.0-M2
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
- LiveList as a better
Other changes in this milestone:
- Error-reporting mechanism was removed.
- InhiBeans deprecated, since all functionality is now contained in
There are other smaller additions and changes.
This first milestone for 2.0 is about removing stuff and refactoring. It introduces a number of breaking changes:
EitherEventStreamare 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
TriEventStream, without code repetition.
- Removed the deprecated
- The subscriber type is now
New in this minor release:
reduceSuccessionsto be called on non-FX thread.
- Added repeatOnInvalidation(Observable) factory method for streams.
- Added thenAccumulateFor, thenReduceFor, thenRetainLatestFor and thenIgnoreFor combinators.
- Added combine for up to 6 event streams.
- Better support for observing
Improved error-reporting: errors are printed to stderr if no handler provided.
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
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.