0.14.0
Release notes
Feb 26, 2025

Features

Support for multiple input arrows to data properties

It is now possible to add multiple input arrows to data inputs, in which case all the inputs will be combined in a list.

Edit data in text mode

We've added the ability to edit data object in 'raw mode' using a popup text editor. The Midio object editor has always been a bit quirky to use for editing other than simple data objects. The text mode editor makes it a lot easier to edit more complex data objects, and also makes it easy to work with JSON data, which the Midio object notation now also supports.

Expression system

Added support for an inline expression system, allowing users to write complex expressions directly within the visual programming environment. Expressions support arithmetic operations, logical operators, bitwise operations, comparisons, function calls, indexing, null coalescence, ternary operators, string interpolation, and property access. This enables more concise and readable workflows by eliminating the need for excessive intermediary nodes.

Shortcut for adding function inputs and output

It is now possible to quickly add inputs and outputs to Midio function by control clicking while creating and arrow.

Bug fixes

  • Fixed a bug which would sometimes cause duplicate function to not work.
  • Fixed rare panic bug caused by certain unicode characters in traces.
  • Fixed bug where clicking on collapsible node in the node picker scrolled the container to the top.
  • Fixed bug where search in node picker did not highlight the best hit target.
  • Fixed bugs where instance property could connect to trigger property.
  • Fixed bug where property kind was not updated when connecting to an instance.
  • Fixed bug where user could connect corresponding portals to each other.
  • Fixed bug where undo-ing a multiple node move did not undo all moves at once.
  • Fixed a bug which caused users code not to be properly applied to a running engine instance after fixing broken code. This but would require the user to refresh the editor for the fixed code to be properly applied.
  • Fixed bug where related to dragging unpinned value previews.
  • Fixed bug where resize on unpinned value was not possible to perform.
  • Fixed bug which caused arrows not to be properly copied when copying between different modules/functions/events

Misc

  • The Midio object notation is now compatible with (a superset of) JSON.
  • Includes description in search in node picker.
  • Avoids loopback traversing in node picker.
  • Property socket now indicate execution state
  • Sockets that cannot be connected to during arrow creation now fade out
  • Added a button in the bottom right corner to quickly open the documentation.

Std lib

Added

  • Added Map.RemoveNullFields - Which removes all fields from a map where the value is null.

Braking

  • Removed Math.Expression - It is now redundant after the introduction of builtin expression language.
  • Removed Std.IfExpression - It is now redundant after the introduction of builtin expression language.
  • Std.List.Add - Now accepts null for the list, in which case it initiates a new list before adding the item.
  • Std.Query.Pick - If null is supplied instead of a list, this function now returns null instead of crashing.