0.66.x✎
Lune's standard library, callable.
Lune's standard library, callable.
Releases
- 0.66.2Aliases suggest themselves, and Roblox types tell the truth in Lune.New2026-09-16
- 0.66.1A node says when it needs attention.New2026-09-16
- 0.66.0Lune's standard library, callable.New2026-09-16
Warning
Worth knowing before you upgrade.
- 0.66.1A warning marks the node only when it is about the node. Most are about where a node sits — "not connected to anything that runs" is true of every node the moment you drop it — and marking those would put a pip on each one while you were still building the graph.
- 0.66.0A Lune Function node never writes its own require.
@lune/fsis Lune's own and always available, which is the strongest case there is for an exception, and it is still not one: a file that quietly gained a require because you dropped a node is a file whose dependencies are not what its author can see. - 0.66.0Signatures come from Lune 0.10.5, read out of the type definitions that ship with it. Moving to a new Lune is one command and the diff is the API change.
Added
- 0.66.2A specifier field offers what the project defines. Every alias a
.luaurcabove the graph declares, then the runtime's own prefixes —@lune/*for a Lune graph,@self/and@game/for a Roblox one — then./and../. A suggestion rather than a gate: anything else is still typed, because the set of things a require can name is still moving. - 0.66.2Which aliases are offered depends on where the graph is, since a
.luaurcinsrc/uidefines aliases forsrc/uiand below. It asks the same function the compiler resolves by, so a field cannot offer a name the compiler would then refuse. - 0.66.1A yellow mark in a node's corner when something about it needs looking at — a Lune call whose module nothing requires, where the Inspector has the button that fixes it. The corner the error count already uses, and never both at once: an error is the more urgent of the two and says how many.
- 0.66.1An unwired Lune call says so too. The compiler refuses an undeclared module, but only for a node it reaches — so one dropped on the canvas and not yet wired said nothing, while the Inspector was already saying it.
- 0.66.0Files, networking, processes and the rest. All 61 functions of Lune's standard library, as two nodes:
Lune Functionfor a call that does something,Lune Function (Value)for one that answers something. The palette lists every function by name — typereadFileand what you get is a node already set tofs.readFile, with its arguments named and typed from Lune's own signature. - 0.66.0A page about it, at Lune's standard library: what is in each module, how arguments and results are typed, and which Lune the signatures come from.
- 0.66.0The Inspector offers the require. A call whose module is not declared says so and gives you a button that declares it — said and offered, never done.
Changed
- 0.66.0The type picker knows which runtime it is picking for. A Lune graph is offered Lune's own types —
DateTime,Regex,WebSocket— instead of Roblox's datatypes and Instance classes. Roblox's come back the moment the graph requires@lune/roblox, because that module genuinely provides them and a require you wrote is the only thing that should make them appear. - 0.66.0
buffer,threadandnilare offered as types in both runtimes. All three are Luau's and none was on a list written by hand. - 0.66.0The Roblox categories say Roblox again, rather than
EngineandEngine Types. Unambiguous was easy while there was one engine; a graph compiles for one of two runtimes now. Roblox Corporation owns the name and Roswaal claims no rights in it — see Attributions.
Fixed
- 0.66.2A Lune graph is no longer offered Roblox datatypes
@lune/robloxcannot make. The module implements 27 of them andTweenInfois not one, so offering the whole group was offering a constructor the runtime has not got. The list is read from the module's own source rather than assumed from the Roblox side.