diff --git a/.changeset/scorekeeper-helper.md b/.changeset/scorekeeper-helper.md deleted file mode 100644 index 206df1e..0000000 --- a/.changeset/scorekeeper-helper.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -"kit": minor ---- - -feat: add `ScoreKeeper` leaderboard helper - -A small, timer-free helper that standardises the three ways a game posts to the -leaderboard, replacing the bespoke per-game logic that kept getting the -disconnect/continuous cases wrong: - -- `Record(r, p, metric)` — post live per a `Cadence` (`OnImprove` for monotonic - high-water boards, `OnChange` for live scores). -- `FlushLeave(r, p, status)` — post the player's current metric on disconnect - (call from `OnLeave`); normally `StatusDNF`. -- `FlushAll(r, status)` — post every tracked player in deterministic AccountID - order; continuous games call this from `OnWake` so an abandoned, still-ticking - world keeps recording. -- `PersistBest` / `PersistWallet` — KV resume sugar (MergeMax / MergeSum). - -Pure SDK addition over the existing `Room.Post` + KV surface — no wire or ABI -change. diff --git a/CHANGELOG.md b/CHANGELOG.md index ac67af9..2c37016 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,27 @@ # kit +## 2.11.0 + +### Minor Changes + +- 49b4a42: feat: add `ScoreKeeper` leaderboard helper + + A small, timer-free helper that standardises the three ways a game posts to the + leaderboard, replacing the bespoke per-game logic that kept getting the + disconnect/continuous cases wrong: + + - `Record(r, p, metric)` — post live per a `Cadence` (`OnImprove` for monotonic + high-water boards, `OnChange` for live scores). + - `FlushLeave(r, p, status)` — post the player's current metric on disconnect + (call from `OnLeave`); normally `StatusDNF`. + - `FlushAll(r, status)` — post every tracked player in deterministic AccountID + order; continuous games call this from `OnWake` so an abandoned, still-ticking + world keeps recording. + - `PersistBest` / `PersistWallet` — KV resume sugar (MergeMax / MergeSum). + + Pure SDK addition over the existing `Room.Post` + KV surface — no wire or ABI + change. + ## 2.10.0 ### Minor Changes diff --git a/package.json b/package.json index d3a6046..d23f204 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kit", - "version": "2.10.0", + "version": "2.11.0", "private": true, "description": "Version management for the shellcade gamekit (Go module + CLI). Versions and changelogs are driven by changesets; binaries by GoReleaser.", "scripts": { diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 7a038b0..d7a4859 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -15,7 +15,7 @@ [package] name = "shellcade-kit" -version = "2.10.0" +version = "2.11.0" edition = "2021" # #[unsafe(no_mangle)] (emitted by shellcade_game! so expansions survive # edition-2024 game crates) stabilized in 1.82.