Releases: Blackprint/engine-js
Releases · Blackprint/engine-js
v0.10.0
Features
- Add tools for export skeleton (node structures as JSON)
- Add startIndex on import event
- Add
DepsLoaderfor loading external dependencies for browser and non-browser environment - Add direct invoke for a function node that can be called with plain code
- Add
.bpiloader support for Node.js and Bun
Improvement
- Small performance optimization
- Improve environment checker
- Improve loader for bun and Node.js
Bug Fix
- Fix event data on node deletion and error on union port
- Fix events order and fields
- Fix execution order when function node get updated
- Fix port trigger for function node
- Fix execution stop and improve cable flow visualization event
- Fix bit operator for port switches
- Fix remote node sync
- Fix function node route execution
- Fix route cable connection inside of function
- Fix function node state sync
- Fix cable position after deleting port
- Fix output port connection to route port
- Fix function node save when connecting route cable
- Fix function port rename and deletion if the instance have function output more than one node
- Fix execution flow cable and add do some optimization
- Fix route port disconnection event
- Prevent creating function input node more than once
- Disable route out after returning data from function node
- Throw error if the route cable is not created from route port
- Remove unused code and emit destroy event when variable get destroyed
- Remove port name check
- Make sure event callback only have one parameter
Breaking Changes
- Change
json.importedevent parameter field name
let instance = new Blackprint.Engine();
// Before
instance.on("json.imported", function({
appendMode, startIndex, nodes, raw
}){ ... });
// After
instance.on("json.imported", function({
appendMode, startIndex, nodes, data
}){ ... });-
Blackprint.OrderedExecutionrenamed toBlackprint.ExecutionOrder -
Remove "Function Output Variable" node
BP/FnVar/Output- If you use this node before, it will be replaced with placeholder node and will be removed anytime in the future. Please use
BP/Fn/Outputinstead.
- If you use this node before, it will be replaced with placeholder node and will be removed anytime in the future. Please use
replace it with
If you used "Function Output Variable" node before, it will be replaced with placeholder node like below:

v0.9.2
Bug Fix
- Fix validation to avoid prototype pollution
v0.9.1
Features
- Add function to rename events, variable name, and function namespace
- Add feature to delete function, function port, variable, and event
- Add
.stopproperty to stop data flow in the instance - Emit
readyevent when function node is initialized - Emit event when creating event and handle environment variable deletion
- Watch function node's port name changes when renaming from other node
- Watch event namespace changes when renaming from other node
- Improve utils for set and delete object property
- Add and improve Bun and Node.js loader
- Add
.readyfunction for waiting until firstjson.importedinstance event - Auto trigger
node.updatewheninitUpdatestatic class property exist - Improve TypeScript definition file
Bug Fix
- Avoid emitting non-object data when emitting event data
- Avoid creating a function node inside of the node itself
- Emit some event and avoid trigger resave on function node
- Fix import error because duplicated event export
- Fix error when renaming port name for function node
- Make sure the event
schemaoption is object - Rename environment node inside all function node
- Some modification for remote collaboration
- Stop execution order inside function if root is stopped
- Use default port output value as input value if exist
v0.9.0
Breaking Changes
- Change callable output port type with Trigger type
- Renamed type:
FunctiontoBlackprint.Types.Trigger
- Renamed type:
- Renamed type:
Blackprint.Port.RoutetoBlackprint.Types.Route
Features
- Allow function node to be paused on creation
- Add feature to linking variable between instances
Bug Fix
- Fix error when using var node for trigger type port
- Fix function input port that was created 2 times
- Fix cable input's route port for skeleton
- Add input port that have default value for skeleton
- Fix incorrect type for variable's output port
- Fix route check inside function node
- Fix error when triggering function output from variable node
v0.8.15
Bug Fix
- Fix internal status reset
Changes
- Experimental code generation was migrated to other repository
v0.8.13
Bug Fix
- Fix error when creating event or function node
- Fix imported instance event
Feature
- Add experimental code generation
v0.8.12
Bug Fix
- Emit
updatedevent when the node was updated - Fix error when having private variable on function node
- Optimize code for improving the performance
v0.8.11
Feature
- Add options to disable cleaning the instance when importing JSON
Bug Fix
- Fix incorrect reference that cause error when removing environment node
- Remove internal marker to avoid dynamic port connection on outer function port
v0.8.10
Deprecation
- Instance's exported JSON schema was updated, please import and re-export your old exported JSON before v1.0. The old schema will still importable on
engine-js, but it will show a deprecation notice.
Bug Fix
- Fix instance's createEvent call when importing JSON
- Fix node update using default input value when cable was disconnected
v0.8.9
Features
- Add custom event nodes
- Add event nodes feature
Bug Fix
- Fix removed event listener when sketch container was removed
- 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
- Update error message and remove unused event emit
- Validate namespace name
- Validate port name