v1.0.0 — First release
Back to all updates
v1.0.0August 12, 2026
Twill’s first release: a modular Luau framework whose API is stable until the next major version.
Install
Section titled “Install”Download the model from the release, or copy the folders in by hand. Either way, the install is two folders, and both are required. See Installing Twill.
Twill.Version reports which release a place is running.
What is in it
Section titled “What is in it”- Core:
Lifecycle,Net,Replication,Data,ScopeandLog. - Utilities:
Schema,Limit,Loop,Watch,Format,Serialize,Compress,Tree,ErrorandBigNumber. - Game systems:
Authorization,Admin,Monetization,Leaderstats,Filter,RandomandToken.
Every module works on its own, has a reference page with signatures taken from the source, and is covered by a test suite that runs on every playtest in Studio.
Highlights
Section titled “Highlights”Compressreturns whichever is smaller, JSON or the compressed form, so the result is never longer than the JSON it replaces. The byte count travels with the payload, so a truncated payload is refused.Randomdraws from a cryptographic generator. A round can publish a commitment before drawing, so the outcome can be audited afterwards.Tokensigns a payload with HMAC-SHA256, so a redeem code can be checked without a DataStore lookup.DatawithReplication. Fields named inReplicatereach their owner’s client as the server changes them.- Server modules are typed from their own source, so a signature cannot drift between the server half and the root table.
- Every bundled component is traced and licensed. See Bundled packages.
Defects fixed before release
Section titled “Defects fixed before release”Schemaaccepted NaN and infinity, which fail every range comparison. Both are now refused at the type check.Schemaaccepted a dictionary as an empty array. An array rule now requires keys to be exactly1..n.Replicationignored numeric path segments when writing and waking subscribers, soSubscribe("Data.Items.2")never fired.Serialize.FindUnstorabledid not inspect keys. It now refuses mixed keys, gaps in a numbering, and text that is not valid UTF-8.- The bundled random number generator could be left permanently broken by a failed entropy gather. The vendored copy fixes it.
Full changelog
Section titled “Full changelog”Every change in this release is listed in the changelog.