This version is a major breaking change that would require rewriting your apps entirely.
Read the README
Removed Stream, no more inject calls. The cyclic dependency of Observables is now solved internally in the framework. As an app developer, you just need to provide the computer()
function, and Cycle will take care of injection internally. The computer function takes interactions
as input, and should output an Observable of virtual DOM elements. Then call Cycle.applyToDOM(container, computer);
To rewrite your program built with Cycle, you mainly need to delete plenty of boilerplate code related to Streams. Start with the top computer
function and transform observables directly rather than creating Stream and then injecting. Example:
BEFORE
let bar$ = Cycle.createStream(foo$ => foo$.delay(500).map(foo => 'Hello ' + foo));
// ... later
bar$.inject(foo$);
AFTER
let bar$ = foo$.delay(500).map(foo => 'Hello ' + foo);
See some examples
However, Streams and injection might still be an important concept, so they will become a separate helper library for rare cases where you need them.
vdomPropHook
removed. This was a small helper function and specific to virtual-dom. It is very simple to make it yourself in your codebase or make a small library for it.
interaction$ was renamed to interactions since it represents a collection of Observables, but not really an Observable itself.