Version 0.11
This release incorporates modifications of the last six months.
Important changes
- Clarification to the contract of
SynchronousProcessor.compute
. A call that returns false is now interpreted as the promise not to produce any new output events in future calls to the method. The current call is allowed to produce output events. - Support for
Pushable.pushFast
is dropped. Its implementation was not very robust, not used in any known project, and for most processors,pushFast
simply contained a call topush
. As an upside, the removal of this non-blocking mode might provide a slight performance boost for blocking (i.e. normal) mode, due to a simpler management in some processors, such as Slice. - For the same reason,
CompoundFuture
has been deleted and support forFunction.evaluateFast
is dropped.
Additions to the API
- The constructor for
Cumulate
accepts aFunction
object directly, instead of wrapping it into aCumulativeFunction
(the old syntax is still accepted) - Utility methods added to
Processor
: these methods make it easier to pipe processors using Groovy with syntactical shortcuts - Changed visibility of
GroupProcessor
's no-args constructor SinkLast
can be queried for the end of the traceRunOn
has an optional default value for empty collections- Functions in
ToCollection
can have variant arguments - Added
Println
, which is a special case ofPrint
- Added
DetectEnd
Other
- Update to dependencies on Azrael and Petit Poucet
- Fix to end of trace signaling in
SynchronousProcessor
: it could send this signal multiple times to downstream processors - Fix to deserialization of
GroupProcessor
Print
no longer prints a dangling separator after the last token- Version numbering no longer uses the
-alpha
suffix - Better description of library in the JAR file's manifest