Skip to content

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.

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.

  • Core: Lifecycle, Net, Replication, Data, Scope and Log.
  • Utilities: Schema, Limit, Loop, Watch, Format, Serialize, Compress, Tree, Error and BigNumber.
  • Game systems: Authorization, Admin, Monetization, Leaderstats, Filter, Random and Token.

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.

  • Compress returns 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.
  • Random draws from a cryptographic generator. A round can publish a commitment before drawing, so the outcome can be audited afterwards.
  • Token signs a payload with HMAC-SHA256, so a redeem code can be checked without a DataStore lookup.
  • Data with Replication. Fields named in Replicate reach 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.
  • Schema accepted NaN and infinity, which fail every range comparison. Both are now refused at the type check.
  • Schema accepted a dictionary as an empty array. An array rule now requires keys to be exactly 1..n.
  • Replication ignored numeric path segments when writing and waking subscribers, so Subscribe("Data.Items.2") never fired.
  • Serialize.FindUnstorable did 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.

Every change in this release is listed in the changelog.