Skip to content

0.8.0

Compare
Choose a tag to compare
@bergie bergie released this 04 Mar 15:12
· 866 commits to master since this release

Read the release announcement.

  • General availability of Process API for NoFlo components

  • Updated headers to reflect the copyright assignment from The Grid to Flowhub UG

  • Reimplemented noflo.helpers.MapComponent to use Process API internally. This helper is deprecated and components using it should be ported to Process API

  • Reimplemented noflo.helpers.WirePattern to use Process API internally. To use the original WirePattern implementation, either pass a legacy: true to WirePattern function or set NOFLO_WIREPATTERN_LEGACY environment variable

  • Removed WirePattern receiveStreams and sendStream options

  • Added deprecation warnings to several WirePattern options:

    • postpone and resume. These are still available in legacy mode but will be removed soon
    • group collation
    • field collation
    • async: false option
    • component.error method with WirePattern. Use async and error callback instead
    • component.fail method with WirePattern. Use async and error callback instead
    • component.sendDefaults method with WirePattern. Start your components with a NoFlo network to get defaults sent
    • noflo.helpers.MultiError. Use error callback instead
  • Added setUp and tearDown methods for easier handling of custom states in components. These methods take an asynchronous callback and are recommended to be used instead of start and shutdown

  • Added callbacks for component start and shutdown methods

  • Added a clear method for inports to clear their packet buffer. Used by component shutdown method

  • Added addressable port support to Process API

    • When sending packets to an addressable outport, the connection to send to will be selected based on the index attribute of the IP object
    • When reading from addressable ports, provide port name with index in format [portname, index]. For example: input.getData ['in', 2]
  • Added callback for Network.stop

  • Outmost brackets are no longer automatically converted to connect and disconnect events. Instead, connect and disconnect are injected as needed, but only for subscribers of the legacy events

  • Added deprecation warnings for APIs that will be removed by NoFlo 1.0. These can be made fatal by setting the NOFLO_FATAL_DEPRECATED environment variable. These include:

    • noflo.AsyncComponent: should be ported to Process API
    • noflo.helpers.MapComponent: should be ported to Process API
    • noflo.ArrayPort: should be ported to noflo.In/OutPort with addressable: true
    • noflo.Port: should be ported to noflo.In/OutPort
    • Calling Network.start or Network.stop without a callback
    • noflo.InPort process option: should be ported to Process API or use the handle option
    • noflo.InPort receive method: replaced by the get method
    • noflo.InPort contains method: replaced by the has method
    • noflo.Graph exports: use specific inport or outport instead
    • Additionally component.io builds warn about deprecation in favor of webpack with helpful automation available in grunt-noflo-browser
  • Added IP object scope support to WirePattern to make WirePattern components more concurrency-friendly

  • Removed receiveStreams option from WirePattern

  • Graph JSON schema has been moved to https://github.com/flowbased/fbp, and updated with tests.

  • Added stream helpers for Process API input. hasStream checks if an input buffer contains a complete stream (matching brackets and data, or only data), getStream returns a complete stream of packets. These require forwardBrackets to be disabled for the port.

  • babel-core was removed as a dependency. Install separately for projects needing ES6 component support

  • underscore.js was removed as a dependency

  • input.getData() in Process API has been changed to fetch only packets of data type skipping and dropping brackets inbetween

  • IP objects are strictly required to be of noflo.IP type

  • Removed support for deprecated Node.js 0.x versions

  • NoFlo Graph and Journal were moved to a dedicated fbp-graph library for easier usage in other FBP projects. No changes to NoFlo interface

  • NoFlo networks now emit packet events only while the network is running

  • NoFlo networks can show their currently active processes with the getActiveProcesses() method