Skip to content

Version 0.11

Compare
Choose a tag to compare
@sylvainhalle sylvainhalle released this 17 Jun 15:44
· 46 commits to master since this release
11df504

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 to push. 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 for Function.evaluateFast is dropped.

Additions to the API

  • The constructor for Cumulate accepts a Function object directly, instead of wrapping it into a CumulativeFunction (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 trace
  • RunOn has an optional default value for empty collections
  • Functions in ToCollection can have variant arguments
  • Added Println, which is a special case of Print
  • 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