v1.7.3 — Silent failures made visible
A rollback no longer replays migrations, and three silent failures now fail visibly.
A rollback no longer replays migrations
Section titled “A rollback no longer replays migrations”Data carries the version it was last raised to. A server that read data from a newer version correctly ran no upgrade, but then stamped its own lower version onto the data. When that player next reached a server on the newer version, every migration in between ran a second time.
join a rolled-back server version 3 → marked 2return to the newer one migration 3 runs againA migration that doubles a currency doubled it again. A version the server does not understand is now left exactly as it is, and reported once. Data behind the server still climbs one step at a time, in order.
Compress.Decode never throws
Section titled “Compress.Decode never throws”Compress.Decode is documented to return
nil for anything it cannot read, so callers do not wrap it in pcall. A
payload whose bytes were altered in place could still make it raise.
A stream that cannot be followed is now dropped whole and read back as nil,
never as the part of a value that decoded before the trouble.
Oversized variable-width numbers are refused at the sender
Section titled “Oversized variable-width numbers are refused at the sender”NumberVarU and NumberVarI stop at five bytes. A value past that, or a
negative value given to NumberVarU, was written without complaint and refused
by the receiver, so the call vanished and nothing was logged near its cause.
Both now refuse at the sender, the way fixed-width numbers have since v1.7.1:
BuyItem argument 1 carries 0 to 34359738367, and was given 34359738368| Token | Range |
|---|---|
NumberVarU | 0 to 34359738367 |
NumberVarI | -17179869184 to 17179869183 |
Past those ranges, carry a BigNumber as text.
A destroyed tween target is reported
Section titled “A destroyed tween target is reported”Tween.Stopped reports gone when a tween’s
target leaves the world. It fired for a target reparented away but not for one
that was destroyed. Both are reported now.
Full changelog
Section titled “Full changelog”Every change in this release is listed in the changelog.