# Changelog All notable changes to Darkwatch are documented here. Format: [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html) --- ## [Unreleased] ## [0.1.0] - 2026-04-11 ### Added **Auth & Access** - Email/password authentication with JWT httpOnly cookies - Register, login, and logout flows - Campaign membership — DM and player roles - Invite link system for joining campaigns - Per-campaign role enforcement — API middleware, socket auth, and frontend gating **Campaign Management** - Campaign CRUD with real-time sync via Socket.IO - DM and player roles with distinct permissions per campaign **Characters** - Full character CRUD — stats (STR, DEX, CON, INT, WIS, CHA), gear, talents, HP, XP, currency - Auto-calculated AC and derived attacks - Talent effects — stat bonuses, AC, attack/damage, gear slots, HP scaling - Click-to-edit stats with view/edit mode split - Per-character color picker - DiceBear avatars with style picker - Character title auto-derived from class + alignment + level - Character creation wizard — 4-step modal: name/class/ancestry → 3d6 stat rolling → background/alignment/deity → review (HP, gold, gear slots, title all auto-derived) **Spellcasting** - 34 Tier 1–2 spells (Wizard and Priest) - 1d20 cast checks with exhaustion on failure - Wizard mishap table (d12, auto-applied with undo) - Priest penance mechanic - Rest to recover spells - Spell focus indicator on DM character cards — shows which characters have active spell exhaustion **Dice Rolling** - 3D animated dice with predetermined outcomes - Character-colored dice - Delayed roll log - Advantage/disadvantage support - Long-press for advantage/disadvantage on mobile **Torch Timer & Luck Tokens** - 60-minute torch countdown, synced across all clients - Luck token toggle per character **Atmosphere Effects** - Fog overlay with intensity slider — DM-only, synced via socket - Fire effect (Three.js particles) - Rain and embers (tsParticles) **Initiative Tracker** - Team-based Shadowdark initiative: party rolls d20 individually (system takes highest) vs DM's single d20 for enemies - Rolling phase: each player rolls for their character, DM rolls for enemies - Active phase: turn order display, round counter, side highlighting - Enemy HP tracking — visible to DM only, hidden from players - Add/remove enemies mid-combat - Real-time sync via Socket.IO - Combat state persisted to database (survives server restarts) **DM Tools** - Compact DM character cards — 3-up grid showing HP, AC, luck, torch, and stat modifiers - Atmosphere control panel (DM-only) **UI & Platform** - Medieval visual theme — Cinzel + Alegreya fonts, parchment texture, gold filigree, dark color scheme - Mobile layout — full-screen character sheet, roll log drawer - Custom SelectDropdown — consistent cross-platform styling