From cbd3880dcef867c0f0757a792a3a58ea3ac96429 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 6 Jun 2026 07:47:16 +0000 Subject: [PATCH] Version Packages --- .changeset/config-key-specs.md | 16 ---------------- CHANGELOG.md | 17 +++++++++++++++++ package.json | 2 +- rust/Cargo.toml | 2 +- 4 files changed, 19 insertions(+), 18 deletions(-) delete mode 100644 .changeset/config-key-specs.md diff --git a/.changeset/config-key-specs.md b/.changeset/config-key-specs.md deleted file mode 100644 index 1c50dd2..0000000 --- a/.changeset/config-key-specs.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -"kit": minor ---- - -Declared config key specs: `GameMeta.Config []ConfigKeySpec` (Go) / -`Meta.config: &[ConfigKeySpec]` (Rust) lets a game declare the admin-settable -config keys it reads — key, title, description, value type -(`text`/`number`/`bool`/`json`), the default used when unset, and (json keys) -an optional JSON Schema — so the arcade's admin tools can render typed get/edit -forms instead of a blind key/value prompt. Carried as a trailing -presence-guarded section of the packed Meta (ABI.md §4.2): old payloads decode -with no specs, old hosts ignore the trailing bytes — ABI major stays 2. -`wire.ValidateConfigSpecs` is the shared authoring rule set (unique non-empty -keys, no reserved `host.` prefix, schema only on json keys and well-formed), -enforced at `meta()` encode time by both SDKs; the Rust encoding is pinned -byte-identical to Go by a golden vector. diff --git a/CHANGELOG.md b/CHANGELOG.md index acd938d..492bc93 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # kit +## 2.3.0 + +### Minor Changes + +- eea2ca7: Declared config key specs: `GameMeta.Config []ConfigKeySpec` (Go) / + `Meta.config: &[ConfigKeySpec]` (Rust) lets a game declare the admin-settable + config keys it reads — key, title, description, value type + (`text`/`number`/`bool`/`json`), the default used when unset, and (json keys) + an optional JSON Schema — so the arcade's admin tools can render typed get/edit + forms instead of a blind key/value prompt. Carried as a trailing + presence-guarded section of the packed Meta (ABI.md §4.2): old payloads decode + with no specs, old hosts ignore the trailing bytes — ABI major stays 2. + `wire.ValidateConfigSpecs` is the shared authoring rule set (unique non-empty + keys, no reserved `host.` prefix, schema only on json keys and well-formed), + enforced at `meta()` encode time by both SDKs; the Rust encoding is pinned + byte-identical to Go by a golden vector. + ## 2.2.0 ### Minor Changes diff --git a/package.json b/package.json index 81323ae..26cb8c2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "kit", - "version": "2.2.0", + "version": "2.3.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 c94c4b5..b8425a6 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -15,7 +15,7 @@ [package] name = "shellcade-kit" -version = "2.2.0" +version = "2.3.0" edition = "2021" # #[unsafe(no_mangle)] (emitted by shellcade_game! so expansions survive # edition-2024 game crates) stabilized in 1.82.