From 4ff63a55e36c345ddf0833f769f1776e30deb791 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 7 Jun 2026 09:38:48 +0000 Subject: [PATCH] Version Packages --- .changeset/room-lifecycle-modes.md | 22 ---------------------- CHANGELOG.md | 23 +++++++++++++++++++++++ package.json | 2 +- rust/Cargo.toml | 2 +- 4 files changed, 25 insertions(+), 24 deletions(-) delete mode 100644 .changeset/room-lifecycle-modes.md diff --git a/.changeset/room-lifecycle-modes.md b/.changeset/room-lifecycle-modes.md deleted file mode 100644 index a2070d5..0000000 --- a/.changeset/room-lifecycle-modes.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -"kit": minor ---- - -Room lifecycle declarations: `GameMeta.Lifecycle` chooses what happens when -everyone leaves the room. - -- `LifecycleResumable` (default, byte-compat): hibernate on abandonment, - player-driven resume — today's behavior. -- `LifecycleEphemeral`: after the abandonment grace the room ends and - disposes — no snapshot, no Resume-menu entry. Right for casual social - rooms; the grace still protects against connection blips. -- `LifecycleResident`: one long-lived room per slug (persistent worlds): - ticks with zero players, periodic checkpoints, boot auto-restore. - Granted per slug by the platform — an ungranted declaration behaves as - resumable. Cannot combine with `MinPlayers > 1` (validated at meta - encode, like all trailer fields). - -Carried as a trailing presence-guarded byte after the large-room meta -section (ABI major stays 2; older payloads decode as resumable, older hosts -ignore the byte). Rust crate mirrors the field, validation, and goldens. -`GUIDE.md` gains "Choosing a lifecycle". diff --git a/CHANGELOG.md b/CHANGELOG.md index d563ee7..cdd416b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,28 @@ # kit +## 2.7.0 + +### Minor Changes + +- 40d8258: Room lifecycle declarations: `GameMeta.Lifecycle` chooses what happens when + everyone leaves the room. + + - `LifecycleResumable` (default, byte-compat): hibernate on abandonment, + player-driven resume — today's behavior. + - `LifecycleEphemeral`: after the abandonment grace the room ends and + disposes — no snapshot, no Resume-menu entry. Right for casual social + rooms; the grace still protects against connection blips. + - `LifecycleResident`: one long-lived room per slug (persistent worlds): + ticks with zero players, periodic checkpoints, boot auto-restore. + Granted per slug by the platform — an ungranted declaration behaves as + resumable. Cannot combine with `MinPlayers > 1` (validated at meta + encode, like all trailer fields). + + Carried as a trailing presence-guarded byte after the large-room meta + section (ABI major stays 2; older payloads decode as resumable, older hosts + ignore the byte). Rust crate mirrors the field, validation, and goldens. + `GUIDE.md` gains "Choosing a lifecycle". + ## 2.6.0 ### Minor Changes diff --git a/package.json b/package.json index e8d60c1..0d83eb2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kit", - "version": "2.6.0", + "version": "2.7.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 7914980..31231cc 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -15,7 +15,7 @@ [package] name = "shellcade-kit" -version = "2.6.0" +version = "2.7.0" edition = "2021" # #[unsafe(no_mangle)] (emitted by shellcade_game! so expansions survive # edition-2024 game crates) stabilized in 1.82.