Component state switches can animate in preview: a component set's Properties panel gets a transition row per interaction (hover and press, focus, placeholder, check, select or switch) whose dialog sets a duration, an easing and what to animate: everything, or categories such as position and size, fill and stroke, opacity, effects, shape and text (→ Transitions between states).
AI agents such as Claude Code, Codex, Cursor and GitHub Copilot can read and edit the documents you have open, with everything the properties panel sets, interactive components, variables and interactions: create an agent token under Settings → Agents and register Moio as an MCP server (→ Connecting AI agents).
A new Color input component behavior turns a component set into a color chooser: in preview a click on an instance opens the browser's color picker, and the picked color drives every layer bound to the set's built-in Color input (→ Color input).
A new Slider component behavior makes a horizontal slider: in preview the viewer drags a thumb along a track, or clicks the track to jump to a value. Slider).
A new Textarea component behavior makes a text field of several lines: in preview Enter breaks the line and the field grows or scrolls with its lines. String inputs can be marked Multiline to hold values with line breaks (→ The Textarea behavior).
Variables bound to a control's built-in input are two-way in preview: typing into an Input or Textarea field, clicking a Checkbox, Toggle or Radio button, or picking a color in a Color input writes the bound value variable as it happens, and everything that reads the variable follows. A group of radio buttons binds to one variable through each button's Selected value and is checked where the variable equals its Option value (→ Two-way binding on controls).
A new Appear event runs an artboard's actions each time the preview shows it: when the preview opens on it, after a Go To Artboard transition to it, or as a modal. Use it to reset a form or set up a screen as the viewer arrives (→ Appear).
A variable can be renamed without updating the expressions that use it (→ Naming and renaming).
A variable's menu lists what uses it, and a bound field's menu goes to its variable or input (→ Going to the source).
Components can report what happens inside them: an Emit Event action inside a component sends a named event, and each instance handles it with a Component Event that runs that instance's own actions, so a dialog's confirm and cancel can close it in one place and navigate in another (→ Component events).
Expression fields now suggest names as you type: a . after Color, Math or a collection lists its members with a description, Ctrl + Space lists every variable, collection and namespace visible at the caret, and the function's signature shows while the caret is inside its parentheses.
Added color functions for expressions: the Color namespace lightens, darkens, saturates, mixes, rotates and fades colors (Color.darken(brand, 0.2)), picks readable contrast, compares colors (Color.equals(a, b)), and prints colors in any accepted format (Color.format(c, 'hsl')).
Color fields accept more formats: hsl(), hwb(), hsb(), modern rgb() with spaces and percentages, and the Variables panel's #RRGGBB 50% form; a pasted color that states an alpha (e.g. #FF000080) now sets the fill or stroke opacity instead of dropping it.
Added a Set Component Input action: interactions can now set a component instance's input to a new value in the preview.
Added multi-object rename: with several objects selected, Rename (Ctrl/Cmd + R) opens a dialog that renames them all at once; component variants keep their pseudoclass states (renaming foo:hover and foo:active to bar produces bar:hover and bar:active).
Keyboard shortcuts now work with international keyboard layouts (German QWERTZ and French AZERTY initially, more coming). Layout is detected automatically where the browser supports it and can be changed in the editor's settings menu; menus and tooltips show shortcut keys as printed on the keyboard.
Added commenting: pin threaded comments to designs in both the editor (comment tool, Shift+C) and the preview.
Added debug console in Preview - see events and actions as they fire
Search dialog for finding objects and text within documents
Added "map view". Press M to zoom out and see all content; click anywhere to zoom back in at that location, or draw a lasso to zoom into a specific area.
Added Tab and Shift+Tabshortcuts in the editor to move the selection to the next or previous sibling within each selected container.
Added Ctrl/Command+right-click on the canvas to list all objects under the pointer in stack order so you can pick the exact overlapping object.
AI text editing now supports refining the current selection and inserting generated text at the caret; available as context menu options while editing a text layer.