Skip to content

v1.2.0 — Subscriptions with an owner

Back to all updates
v1.2.0August 14, 2026

Replication.Subscribe takes an owner, two defects are fixed, and every module’s documentation is rewritten.

Replication.Subscribe takes an optional owner bag, like every other Twill function that opens a lasting connection:

Replication.Subscribe("Data.Coins", function(coins)
label.Text = Twill.Format.Comma(coins or 0)
end, bag)

Without an owner, a subscription made for one player outlived them and kept firing into the interface it was drawing. With an owner, it ends with the player. Passing no owner behaves as before, so existing code needs no change.

  • Schema raised on a rule it promised to refuse. An "object" rule with no fields raised instead of failing the check. This rule sat on the path that screens the arguments of every remote served by Net.Handle.
  • Lifecycle announced departures it never announced as arrivals. A player who left while the data gate still held them reached no service, yet every service was told they were leaving. Services and Architecture already described the correct behaviour; the code now matches.
  • Every module opens the same way: what it is, a list of what it does, and a note only where one is needed. Reasoning moved out of function bodies into the headers.
  • Three pages claimed Twill has no request path. That is true only of Replication: Net.Declare has accepted reply types since v1.0.0, and a remote that replies is metered, ranked and screened like any other.
  • Monetization documents its bound of 50 remembered purchase ids.
  • The documentation describes what Twill is rather than who it is for: installing is two folders, with no build step and no package manager.

Every change in this release is listed in the changelog.