# Changelog All notable changes to Demomocracy. The web build at auto-deploys from `main`; the desktop edition on itch.io is published from the same git tag. ## [5.23.0] — 2026-05-04 - **README refresh** — feature list rewritten to reflect the v5.x state: 32 scenarios (was 7), 70 events (was 17), 58 achievements (was 25), 16 presets (was 5), report card / manifesto / cabinet / endless mode / desktop build / press kit / itch.io now documented. Added a `Desktop build` section pointing at the Tauri scripts. Top-of-file links go to the live game, itch.io, press kit, and `CHANGELOG.md`. ## [5.22.0] — 2026-05-04 - **New scenario:** Ukraine 2027 — Reconstruction. Hard difficulty. Themes: fragile ceasefire, eastern grid in ruins, EU accession grind, diaspora absence, oligarch jockeying for reconstruction contracts, army stuck demobilising. Bilingual EN/FR. Brings scenario count to 32. ## [5.21.0] — 2026-05-04 - **New decision event:** Demographic Crunch — fertility drops to 1.3, three policy branches: massive natalist subsidies, skilled-worker immigration drive, raise retirement age. Each shifts a different voter coalition. Bilingual EN/FR. Brings the universal-events tally to 56. ## [5.20.0] — 2026-05-04 - **New scenario:** Poland 2027 — NATO frontline. Defense spending at 5% of GDP, eastern border fortified, judicial reform unwinding, EU funds flowing. Hard difficulty. Bilingual EN/FR. Fills the EU-east gap. ## [5.19.0] — 2026-05-04 - **i18n cleanup pass:** filled 2 missing event description_fr (banking failure, central bank vote). Audited every `*` and `*_fr` pair across events.js, scenarios.js, policies.js, voters.js, manifesto.js, achievements.js, news.js — all balanced. EN/FR pairs are now 100% complete across game data. ## [5.18.0] — 2026-05-04 - **i18n:** filled 15 missing French translations on early decision-event choices (state-of-emergency, banking failure, whistleblower, pandemic, border dispute, succession, central bank, currency collapse, inflation). EN and FR `label`/`summary` now balanced at 215 each. FR-speaking players no longer see English fallbacks on these choices. ## [5.17.0] — 2026-05-04 - Serve `CHANGELOG.md` publicly at `/CHANGELOG.md`. Added a `prebuild` script that copies the top-level changelog into `public/` so press doesn't have to leave the press URL to gitlab. Press kit "Full history" link now points at the static asset. ## [5.16.0] — 2026-05-04 - Same ghost-stat bug class in `src/game/news.js`: 2 ticker headlines gated on `s.stats.democracy` would never fire (always undefined). Replaced with `s.stats.equality`. Audited the rest of the codebase for similar typos and ghost voter IDs — clean. ## [5.15.0] — 2026-05-04 - **Bug fix:** 10 decision-event applies referenced `stats.democracy`, but no such stat exists in the 12-stat model. Each call set `stats.democracy = NaN` and the intended effect was silently dropped. Replaced with `stats.equality` (closest semantic match: rule of law / formal equality / rights enforcement). Affected events include constitutional reform, surveillance pilots, security crackdowns, executive overreach scenarios. ## [5.14.0] — 2026-05-04 - Top-level `CHANGELOG.md` and a "Recent updates" section in the press kit. ## [5.13.0] — 2026-05-04 - **New scenario:** Canada 2028 — housing crisis, G7 productivity gap, wildfire-shifted climate, US trade volatility. Bilingual EN/FR. ## [5.12.0] — 2026-05-04 - Added `robots.txt` and `sitemap.xml` (both URLs were SPA-fallback-200ing as `text/html`, so search engines silently ignored them). ## [5.11.0] — 2026-05-04 - New press kit landing page at `/press.html` — single static page consolidating the trailer GIF, fact sheet, full feature list, screenshots, and downloadable press assets. Linked from the in-app About overlay. ## [5.10.0] — 2026-05-04 - Open Graph image switched from SVG to a 1280×800 PNG. Twitter, Discord, and Facebook silently drop SVG og:images — sharing the URL now renders a proper card. Added `og:image:width/height/type` triplet. ## [5.9.0] — 2026-05-04 - Embedded an 8-second gameplay trailer GIF (640×400, 14 fps, 2.8 MB) at the top of the About overlay. Recorded automatically via Playwright `recordVideo` and ffmpeg two-pass `palettegen`/`paletteuse`. Trigger: `npm run trailer`. ## [5.8.0] — 2026-05-04 - itch.io release pipeline (`scripts/itch-release.sh`) using butler. Auto-detects which artifacts are present in `dist-mac/` and `src-tauri/target/release/bundle/{deb,appimage,msi}/` and pushes only the channels with builds (`osx-aarch64`, `osx-x86_64`, `linux-x86_64-deb`, `linux-x86_64-appimage`, `windows-x86_64`). ## [5.7.0] — 2026-05-04 - itch.io CTA on the end-game modal — once a campaign ends, players see a "Buy on itch.io" button next to "Share". Dismissible. ## [5.6.0] — 2026-05-04 - macOS packaging script (`npm run package:mac`). Skips Tauri's flaky `bundle_dmg.sh` and uses `ditto -c -k --sequesterRsrc --keepParent` so Gatekeeper accepts the resulting zip. ## [5.5.0] — 2026-05-04 - Dismissible itch.io banner on the title screen. ## [5.4.0] — 2026-05-04 - itch.io listing copy in `presskit/itch-listing.md` — paste-ready EN+FR pitch, long description, tags, system requirements, suggested pricing, devlog cadence prompts. ## [5.3.0] — 2026-05-04 - Press-kit screenshots — three 1280×800 PNGs captured automatically via `npm run screenshots` (Playwright + addInitScript pre-marks tutorial as done). ## [5.2.0] — 2026-05-04 - GitLab CI `tauri-linux` job — manual-trigger desktop stage on `rust:1.88-bookworm`. Produces `.deb` + `.AppImage` artifacts (30-day retention). ## [5.1.0] — 2026-05-04 - About / Press / Desktop overlay accessible from the title screen. ## [5.0.0] — 2026-05-04 - **Major:** Tauri 2 desktop wrapper. The same source ships as a native window on macOS, Linux, and Windows. Web build remains free; desktop edition is pay-what-you-want, $4 minimum on itch.io. ## [4.x] — 2026-05-04 and earlier - 30-scenario milestone (v4.9 Kazakhstan), Saudi Arabia, Iran, Pakistan, Türkiye, Egypt, Vietnam, Indonesia, Argentina, South Africa, plus iterative content drops (decision events, achievements, manifestos, presets, news headlines). ## [3.x] — earlier - Letter-grade end-of-game report card, snap election mechanic, address-the-nation lever, daily challenge streak, color-blind mode, mobile responsive polish, settings overlay, ambient music. ## [2.x] — earlier - Coalition picker at term review, crisis chains, sandbox mode, manifesto picker, endless mode, save-slot thumbnails, 12-voter-bloc 3D globe, compound policy effects, election forecast widget, news ticker, multi-language EN/FR. ## [1.x] — earlier - Initial release: 12 voter blocs, 23 policy levers, multi-turn elections, basic save/load, achievements panel.