0.31.x✎
A form over a node, and a toolbar that says less.
A form over a node, and a toolbar that says less.
Releases
- 0.31.6A comment about nothing in particular.New2026-09-12
- 0.31.5Hot reload is Dynamic compiling.New2026-09-12
- 0.31.4A local says its name, and a node can be as wide as its header.New2026-09-12
- 0.31.3A dictionary's row is a pair you can split.New2026-09-12
- 0.31.2A result keeps the name you gave it.New2026-09-12
- 0.31.1A question is pure, and a page you can edit in place.New2026-09-11
- 0.31.0A form over a node, and a toolbar that says less.New2026-09-11
Warning
Worth knowing before you upgrade.
- 0.31.5
roswaal.jsonis untouched. The setting is still stored ascompileMode: "hot", so every existing project keeps working and an older Roswaal can still read a file this one writes. The settings page names both, for anyone editing that file by hand. - 0.31.3An existing Make Dictionary opens with its rows split, keeping every key, value and wire. A row that was fed by a Key Value Pair stays whole, with the wire on the row itself.
- 0.31.1An existing Find First Child opens without its execution wires, which are joined past it, and without its Result name. The local now comes from a Declare Local wired to Child; before, the node wrote one itself and a Declare Local after it wrote a second.
Added
- 0.31.6The Controls page says how to make a comment — by key and by right-click — which it never did.
- 0.31.4Long names, in Settings. Keep cutting a header short when it does not fit — what nodes have always done — or widen the node to it instead. Widening moves pins, so wires and the pictures in the documentation are drawn from the same width.
- 0.31.2Naming a result, on Variables and locals: what Result name does, and why naming a result and declaring a local gives you two locals.
- 0.31.2Every node that returns a value says so on its page, with the same note.
- 0.31.1Pictures in a proposal: add a node picture from the palette, or a graph picture from a script in the open project, and the proposal carries it as source.
- 0.31.0The node designer: a form over a node definition, with the node drawn beside it as you fill it in. From the toolbar, or at
/designer. - 0.31.0The designer saves into a pack you choose — an existing one or a new one — and reopens the project, so the node is in the palette straight away. It also copies the node as JSON or as Luau.
- 0.31.0Creating custom nodes, a page that switches between the three routes to one: the designer, a Luau pack, and Roswaal's own library.
- 0.31.0Command line, a page listing every command and option, built from the same list
roswaal helpprints. - 0.31.0Casting and annotations, its own page: the three cast nodes, declaring a type in three shapes, what Roswaal writes into the file, and where types are offered.
- 0.31.0Suggest an edit, at the foot of every documentation page. Rewrite the page and it opens as an issue with the page and version filled in.
- 0.31.0
roswaal versionis inroswaal help. It has always worked and appeared in no list. - 0.31.0The daemon prints the documentation's address under the editor's.
Changed
- 0.31.6
Cno longer needs a selection. With nodes picked it still draws a comment around them; with nothing picked you get an empty one, placed where the canvas is looking rather than at the far corner of the graph. - 0.31.5Compile is Manual or Dynamic. Roswaal compiles a graph and Rojo syncs it — nothing is reloaded — and Dynamic reads as the opposite of Manual in a way the old name never did.
- 0.31.5The toolbar names what the buttons set, reading Compile: Manual | Dynamic rather than leaving it to a hover title. Settings says the same two words, where it used to say Manually and On every change.
- 0.31.4Declare Local shows the local's name beside its title:
Declare Local (restores), with the declared type still underneath. One you have not named reads as it did. - 0.31.4Casting and annotations describes the type picker: the grouped list, the field Other… opens, and when to declare a type once instead of typing it into three pickers.
- 0.31.3Make Dictionary's rows are Key Value Pairs. A row is one pin: split it for the Key and Value you type into, or leave it whole and wire a pair in. Rows arrive split, so a placed node reads as it always did.
- 0.31.3A pair dropped on the node takes a whole row, instead of landing on a Value pin beside a Key it would not use.
- 0.31.3The + and − call them pairs, and add one row rather than two pins.
- 0.31.2A pure node binds under the name you typed. Result name was read only on nodes with an execution wire, so a Find First Child named
valuecame out aslocal Child. - 0.31.2A result name binds even where one place reads it. It used to take two readers before the name was used at all.
- 0.31.2Result name is offered on pure nodes in the Inspector, and shows under the node's header.
- 0.31.2Find First Child is in Instances, beside the other questions. Its id is unchanged, so saved graphs open as they did.
- 0.31.2A Return's and a Module Exports' pins can be typed into where the type has a value to type: number, string, boolean, table. An untyped pin still asks for a wire.
- 0.31.1Suggest an edit is the pencil beside a page's title, and edits the page where it stands — every block stays rendered, and clicking one opens that block's editor. Blocks can be added, moved and removed.
- 0.31.1Find First Child is pure, like the other questions in Engine. Wire Child into Declare Local and the result is one line.
- 0.31.1Recursive is optional on Find First Child and Find First Child Which Is A. Leave it empty and Roswaal writes the call without it.
- 0.31.0The toolbar is icons, with the label as the tooltip. Compile keeps its words in both bars, and so do the controls that show a setting rather than doing something.
- 0.31.0The README is a front door: install, start, where the documentation is, and the licence. Everything else it described is in the documentation, which stays in step with the code.
- 0.31.0Casting moved off Roswaal types onto the new page, with the type features added since it was written.
- 0.31.0The daemon's hint says Ctrl+Click to open the editor URL, which is what PowerShell and cmd.exe need and neither says.
Fixed
- 0.31.2An operator pill's corners scaled with its height, so a three-input pill was an ellipse with its pins outside it.
- 0.31.2The error count on a pill or a capsule sat off the shape rather than on its corner.
Verified Articles
- 0.31.6Controls
- 0.31.4Casting and annotations
- 0.31.4Settings and themes