From c60d465711237f91ecd1c721315a86c5c306c75d Mon Sep 17 00:00:00 2001 From: funman300 Date: Fri, 10 Jul 2026 09:57:04 -0700 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20cut=200.43.3=20=E2=80=94=20r?= =?UTF-8?q?eplay=20schema=20v4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- CHANGELOG.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ba9e06..b55388a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,23 @@ project follows [Semantic Versioning](https://semver.org/). ## [Unreleased] +## [0.43.3] — 2026-07-10 + +### Fixed + +- **Replays are now self-contained (schema v4).** A replay stores the dealt + board itself via the upstream `card_game` session serializers instead of + re-dealing from the seed at playback time, so replays survive RNG and + upstream upgrades that change the seed→deal mapping — the failure that had + silently broken every stored replay. The web player and web game now + exchange the full payload through the wasm layer (the old JS path hardcoded + `schema_version: 2`, uploaded empty move lists, and corrupted u64 seeds via + `Math.round`), and the replay viewer reports unplayable old-format replays + in the caption instead of dying silently. Pre-v4 replays are rejected by a + version gate; local histories repopulate with new wins. (#170) +- **Difficulty-mode wins can upload.** The server's replay `mode` validation + now accepts data-carrying `GameMode` variants (previously a 400). (#170) + ## [0.42.0] — 2026-07-06 ### Added