Released on 2013.10.24

Here's our first public beta release. This is just the beginning!

We make frequent releases (typically every 2 weeks). So, if something's wrong, or something's missing that appears on the roadmap, don't despair. We're probably already working on it.

You may encounter bugs. If you do, please submit a bug report so we can fix it!

If you're curious about where development is headed, please check out our roadmap. Our development is inspired and influenced by you, the Vuo Community. If you have specific feedback for how we could make Vuo better, please let us know.

If you're looking for more information or have a question, feel free to ask the community a question.


Here's what we've done in the last 2 weeks:


  • Updated and improved the Vuo Manual. (Thanks, mnstri, for your suggestions!) In particular:
    • Reviewed the entire manual for completeness, accuracy, and clarity. [#3281]
    • Expanded the section "The Vuo Editor". [#6184]
    • Added more notes for Quartz Composer users and text programmers. [#5763]
    • Removed the "conductivity" terminology, instead exclusively referring to "event blocking". [#6227]


  • Added a README explaining each example composition. [#6087]
  • Added example compositions for the Leap node set:
    • CountLeapObjects.vuo [#6248]
    • DisplayLeapHand.vuo [#6301]
    • PlayFingerPuppetsWithLeap.vuo [#6249]
    • PlayTennisWithLeap.vuo [#6301]
    • TwirlImageWithLeap.vuo [#6284]
  • Updated the example compositions to use the new nodes and ports added in this release. [#6244]

Vuo Editor

  • Added input editors for 2D, 3D, and 4D points. (Thanks, GeorgeToledo, for suggesting this!) [#6069]
  • Made input port constant values display in a more readable format. Text ports display without quotes or escape characters. Real and point values display with a minimal number of decimal points. Color ports display as a color swatch. [#5700]
  • In port popovers, lists with no items are now displayed as '(empty list)', instead of displaying nothing at all. [#6237]
  • In port popovers, the time since the last event is now approximated ("1 second ago", "about a minute ago", etc.) instead of updating constantly. [#5266]
  • In port popovers, changed "conductivity" terminology to "event blocking". [#6227]
  • If you try to run a composition that contains nodes that are incompatible with the current operating system, an error dialog is displayed. [#5646]
  • Improved performance for rendering compositions on the canvas. [#6286]
  • Expanded the About dialog to include more information about Vuo, the list of contributors, and the list of licenses for software used by Vuo. [#3221]
  • Improved the matching behavior of the node library search box. It splits the entered search text on camel case and dots. [#4650]
  • Made the yank zone (highlighted area for grabbing a cable) more apparent by increasing the color contrast. [#5026]
  • Fixed the detached popover for a port being closed when you begin to edit the port's value. [#5710]

Built-in Nodes, Types, and Input Editors

  • Rewrote, expanded, corrected, and improved formatting of documentation for all nodes. [#2786] In particular:
    • We improved documentation of Vuo's coordinate system and how it applies to various graphical nodes.
    • Added more keywords to node classes with the corresponding Quartz Composer patch names.
    • Fixed instructions for getting a file's path in the format required by input ports.
    • Renamed some nodes and ports to be more intuitive and consistent.
  • Added new Leap Motion node set. [#6301] [#6375]
  • Added a Scale node class to convert numbers from one unit of measure to another. [#6023]
  • Added more type converter node classes. [#6244]
  • Added Hold Value node classes for more data types. [#6197]
  • Added Select node classes for more data types. [#6197]
  • Added Get Item from List node classes for more data types. [#6168]
  • Added more node classes for vector/point math operations to the vuo.point node set. [#6262] [#6311]
  • Added Sort Points by Distance node classes. [#6313]
  • Added trigger ports to the Render Scene to Window node that fire in response to mouse actions. [#6244]
  • Added a setCount input port to the Count node. [#6090]
  • Changed the class name of the Make Gradient Noise nodes, moving them into a new vuo.noise node set. [#6261]
  • Changed the class name, title, and behavior of the Scale *D Point nodes (formerly Multiply), moving them into the vuo.point node set. They now multiply a point by a scalar. [#6262] [#6263]
  • Changed the class name and title of the Combine Quaternion Rotations node (formerly Multiply Quaternion), moving it into the vuo.point node set. [#6263]
  • Changed the Twirl Image node's point input to use Vuo coordinates. [#6260]
  • Renamed the ports on many nodes for clarity and consistency. [#6235]
  • Removed the remainder port from the vuo.math.divide.real node. [#6321]
  • Changed the Cut node to index from 1 instead of 0, consistent with other nodes. [#6315]
  • Fixed the wrapping behavior of the Count within Range nodes. [#6292] [#6090]
  • Fixed memory leaks in several stateful node classes. [#6236]
  • Fixed one-pixel artifacts on some images rendered by the Render Scene to Image node. [#6248]
  • Fixed crashes in the Send MIDI and Receive MIDI nodes when the system has no MIDI ports. [#6306]
  • Fixed crashes or unexpected output in the Cut node when given out-of-bounds inputs. [#6341]


  • Reduced the size of Vuo.framework by over 30%. As part of this change, moved the Vuo Renderer (and the Qt frameworks it depends on) out of Vuo.framework, to be distributed separately. [#6080]
  • Node class, port type, and library modules can now specify the list of operating systems with which they're compatible. [#5646]
  • Made port types consistently use reference-counting (register the value returned by _make() and letting the reference-counting system free it, rather than requiring callers to free it). [#6236]
  • Documented naming conventions for functions in port types and library modules, and made sure built-in port types and library modules adhere to them. [#6238]
  • Removed the "edge hit" telemetry type and VuoRunnerDelegate function, since this is not yet implemented. [#6227]
  • Renamed the VuoRunner function generatePublishedInputPortEvent() to firePublishedInputPortEvent(). [#6227]
  • Renamed the VuoModuleDetails macro to VuoModuleMetadata. [#6227]
  • Renamed the "name" key in VuoModuleMetadata to "title". [#6227]
  • Renamed the nodeInstanceCallback* functions to nodeInstanceTrigger*. [#6227]
  • Replaced the "conductivity" terminology with "event blocking" throughout the API, including changing VuoPortAlwaysConducts, VuoPortMayConduct, and VuoPortNeverConducts to VuoPortEventBlocking_None, VuoPortEventBlocking_Door, and VuoPortEventBlocking_Wall, and changing VuoInputConductor and VuoOutputConductor to VuoInputEvent and VuoOutputEvent.

Known Issues

See Bug Reports.