Skip to content

Releases: Blackprint/engine-js

v0.10.0

20 Oct 04:12
deeb3b1

Choose a tag to compare

Features

  • Add tools for export skeleton (node structures as JSON)
  • Add startIndex on import event
  • Add DepsLoader for loading external dependencies for browser and non-browser environment
  • Add direct invoke for a function node that can be called with plain code
  • Add .bpi loader 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.imported event 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.OrderedExecution renamed to Blackprint.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/Output instead.
Image replace it with Image

If you used "Function Output Variable" node before, it will be replaced with placeholder node like below:
Image

v0.9.2

19 Mar 10:09
704c4f8

Choose a tag to compare

Bug Fix

  • Fix validation to avoid prototype pollution

v0.9.1

19 Feb 13:18
6753d99

Choose a tag to compare

Features

  • Add function to rename events, variable name, and function namespace
  • Add feature to delete function, function port, variable, and event
  • Add .stop property to stop data flow in the instance
  • Emit ready event 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 .ready function for waiting until first json.imported instance event
  • Auto trigger node.update when initUpdate static 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 schema option 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

23 Jun 19:56
7b95dd2

Choose a tag to compare

Breaking Changes

  • Change callable output port type with Trigger type
    • Renamed type: Function to Blackprint.Types.Trigger
  • Renamed type: Blackprint.Port.Route to Blackprint.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

16 May 04:10
c1c6fb0

Choose a tag to compare

Bug Fix

  • Fix internal status reset

Changes

v0.8.13

14 Mar 08:55
6203460

Choose a tag to compare

Bug Fix

  • Fix error when creating event or function node
  • Fix imported instance event

Feature

  • Add experimental code generation

v0.8.12

25 Feb 07:47
c3477f3

Choose a tag to compare

Bug Fix

  • Emit updated event when the node was updated
  • Fix error when having private variable on function node
  • Optimize code for improving the performance

v0.8.11

12 Feb 08:15
81bdd3c

Choose a tag to compare

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

09 Feb 19:36
5de2919

Choose a tag to compare

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

05 Feb 09:47
2889953

Choose a tag to compare

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