Repository navigation
Scribe v2.4.0 - The Insight Update
Daily and weekly leaderboards, Discord telemetry, safer offline tools, and less work while your game is idle.
Behavior changes
- Studio debug hooks now require
StudioHook = true. Sessions without the plugin no longer collect its debug history. - The reserved
_Scriberoot gained leaderboard tracking, which changes the schema hash. Deploy your server and client together, even if you don't use periodic boards. Data.Eraseremoves leaderboard entries before deleting the profile and saves its progress so interrupted erases can resume. Only the affected player's joins are blocked while erasing, withEraseJoinTimeoutandErasingMessagecontrolling the response.- The paid-random refusals in
PurchaseReasonandGiftReasonnow use readable sentences.PromptPurchasekeeps its existingProductStatecodes.
Added
- Daily and weekly leaderboards, with
GainandPeakscoring, configurable reset times and previous-period reads.Scope = "Server"ranks players on the current server without DataStore requests. Data.GetLeaderboardRefreshInandData.GetLeaderboardResetInfor countdowns in your leaderboard UI.ScribeTelemetry, an optional Discord telemetry add-on for health alerts, errors, performance reports and summaries. Route reports to separate webhook destinations and preview every embed without causing real failures. Telemetry and UI adapters are available as separate.rbxmrelease downloads.Data.UpdateOffline(userId, fn, { Validate = true })checks changes against your template before saving and returns findings when refused. Raw updates remain the default.Data.Batch(fn)on the client coalesces local writes so container listeners fire once per batch.- More performance measurements: client frame timings, per-command timings and errors, outgoing bytes by frame kind, and sample counts and age alongside percentiles.
- Named constants for more public string types, including
Scribe.Status,Scribe.LogLevelandScribe.Visibility.
Fixed
- Exchange discard and manual settlement could lose pending value during storage failures or crashes.
NoSaveallowed offline writes and gift messages, and a refused reset could skip migrations or grant starter rewards again.- Slow ownership checks could clear a newly purchased gamepass from the cache.
- Join-time replication could duplicate or lose changes, and
RequestOnceretries could return a mutated reply. - Signal threads retained their first payload, and log truncation could split a Unicode character and prevent telemetry delivery.
Changed
- Idle workers park until needed, and replication visits players with pending work. Autosaves and session-lock maintenance are unchanged.
- Accessors accept narrower input types, including nested fields, instead of rejecting valid values as incompatible.
- UI adapters moved to
addons/ui/. The Fusion adapter now disconnects its listener when its scope is cleaned up.
Documentation
- Added
CONTRIBUTING.mdwith conventions for public string names, distinguishing states, stable codes and readable reasons. - Clarified which purchase and gift refusals can be shown to players and which indicate an incorrect call.
- Corrected UI adapter examples, the
GetStatus()example and the explanation of Shared replication costs.
Full Changelog: v2.3.0...v2.4.0