Releases: Blackprint/engine-php
Releases · Blackprint/engine-php
v0.9.0
v0.8.15
Bug Fix
- Fix incorrect condition check
- Catch error to reset flag/status
v0.8.14
Bug Fix
- Fix unrecognized type when determining port type
v0.8.13
Bug Fix
- Fix error for event and function node
- Fix imported instance event
v0.8.12
Features
- Add
initPortsfor dynamically initializing ports - Emit
destroyevent when the instance was destroyed - Add experimental feature to lock the instance
- Improve security for environment variable node by using connection rule
- Add experimental
Blackprint.Types.Slotfor ports with lazy type assignment - Add event nodes feature
- Handle namespaced variable or nodes
Bug Fix
- Emit internal event when function port was renamed
- Fix event to be emitted to root instance
- Fix function node that was not being initialized if created manually at runtime
- Fix route port connection and array input data
- Immediate init interface for single node creation
- Improve performance and fix execution order for with
StructOffeature - Reset updated cable status when disconnected
- Save port configuration and use it for creating function port
- Improve code for step mode execution
- Replace dot settings's internal save name with underscore
- Disable port manipulation on locked instance
- Put id as title if doesn't have custom title
- Avoid calling update on cable connection when the node having input route
- Remove internal marker to avoid dynamic port connection on outer function port
- Fix node update using default input value when cable was disconnected
- Fix dynamic port marker on internal interface
- Fix type assigned on variable node
- Force output port that use union to be Any type
- Move port type re-assigment for output port
- Improve output port's type when using port feature
- Validate namespace name
- Add options to disable cleaning the instance when importing JSON
v0.8.0
Features
- Add
waitOncefor waiting for an event with Promise - Add pausible execution feature and change node execution order (experimental, please expect changes in version 0.8)
Bug Fix
- Fix
valueevent trigger - Fix execution order for custom function node
- Fix incorrect value when using function port's node
- Fix cable input order
- Fix route and partial update
- Fix incorrect iface id references
- Fix port switches initialization
- Reset every struct port into null
- Clear port cache when reusing port
- Avoid re-emitting event on updated cable
- Avoid using ArrayOf port for custom function node
Breaking Changes
- Remove deprecated function
instance->getNode(), please useinstance->iface[id]orinstance->ifaceList[index]
$instance = new Blackprint.Engine();
$instance->importJSON('...');
// Get iface by node id
$instance->getNode('nodeId'); // Before
$instance->iface['nodeId']; // After
// Get iface by node index
$instance->getNode(0); // Before
$instance->ifaceList[0]; // After.updatefunction will no longer receive cable parameter if.partialUpdateis not set to true
// Before
class MyNode extends \Blackprint\Node {
function update($cable){...}
}
// After
class MyNode extends \Blackprint\Node {
function __construct($instance){
// ...
$this->partialUpdate = true;
}
function update($cable){...}
}v0.7.3
Features
- Add
isGhoston interface for standalone port
Bug Fix
- Fix index error when creating new function
- Fix skipped cache removal for route mode
v0.7.1
Features
- Add feature to allow output resynchronization
v0.7.0
Most features is adapted from engine-js.
Feature
- Finishing environment variables feature
- Add function, variable, environment node support
- Add route feature to handle data flow
- Add
instance->refwhere theinstancecan be\Blackprint\Enginethisrefwill have reference toOutputorInputport - Add
instance->deleteNodeto delete node manually by using code Blackprint->Engineis now usingCustomEvent- and more
Breaking Changes
iface->constandnode->constnow changed intoiface->refandnode->ref- Something may get changes
v0.3.0
New Feature
- You can register nodes with namespace that follow PSR-4 with
Blackprint\registerNamespace, please see./example/init.phpfor reference
Breaking Changes
This changes is supposed to improve efficiency, and reduce possible future breaking changes.
.outputs, .inputs, .propertiesfield is changed into.output, .input, .propertyfornodeandifaceoutputs:[]field is now changed tooutput:[]for JSON export$instance->registerNode()and$instance->registerInterface()will now being replaced withBlackprint\registerNode()andBlackprint\registerInterface()- Because PHP support namespace,
Blackprint\registerNamespaceis more recommended $instance->registerNode()and$instance->registerInterface()will now only accept class instead of function- Node must extends
Blackprint\Nodeand Interface must extendsBlackprint\Interfaces BPAOmust be changed toBPIC- When constructing Node,
$node->interface = '...'now must be changed to$node->setInterface('...')before accessing the target interface. - Port
Listenernow changed to event listener, please use$port->on('value', callback)instead - Interface Data now must be a class (to support getter and setter)