Changelog

What we've shipped

Release notes for the table — new conjures, sharper dice, and a growing marketing home for the product.

June 2026

v0.1 — Gather the party

dnd.chat launches as the gameplay-first table for campaigns already living in DND Cards.

New

Autopilot DM runs combat

The AI DM now fights: it rolls initiative for the whole table, runs the monsters with audited attack and damage rolls, and prompts each player on their turn.

  • Encounters land in the same initiative tracker the human DM uses — take over any time.
  • Monster attacks resolve server-side against real AC; damage syncs to character sheets.
  • Victory, retreat, and defeat all hand the story back to the narrative loop.
New

Quick Roll menu & cinematic d20

D&D Beyond-style die pool in the composer, full-screen cinematic d20 on single d20 checks, and one auditable roll per action.

  • Hover a die to add to pool; bonus stepper; advantage/disadvantage on d20.
  • Cinematic overlay with Esc/backdrop skip; scroll-to-result after the cast.
  • Typed /roll and dice tray rerolls reuse roll_events via rollEventId.
New

Autopilot DM

Import adventure PDFs or generate a one-shot, then step through read-aloud scenes — on for every table.

  • PDF ingest heuristics split scenes by chapter headings.
  • Generate-from-prompt outline when OpenAI is configured.
  • Start / next / pause / resume from Tavern settings (DM).
Improved

Table polish batch

Dice tray favorites, custom slash macros, larger chat avatars, and tavern settings tweaks.

  • Star formulas in the dice tray for one-tap reroll.
  • Custom macros in Tavern settings (localStorage).
  • Cinematic toggle duplicated in settings for DMs.
New

Campaign tavern & channels

Per-campaign spaces with The Table, OOC, Lore, Loot, and Session Plans channels.

  • Realtime messages and presence via Supabase.
  • Shared auth with dndcards.com — one grimoire, one party.
New

Dice & slash commands

Auditable rolls land in roll_events and broadcast to the channel.

  • /roll and /r with advantage/disadvantage.
  • Quick d20 and 2d6+3 buttons in the composer.
New

Conjure cards from your deck

/summon pulls campaign cards from DND Cards into chat embeds.

  • Face-down reveal for DMs.
  • Open in DND Cards deep links on every embed.
New

Initiative & session planning

Inline encounter tracker and scheduled sessions with email reminders.

  • HP tracking on initiative entries.
  • Resend reminders from Session Plans (dnd.chat verified domain).
  • Bunny CDN uploads via media.dnd.chat.
New

DM Mode on card embeds

Players never receive secret statblock fields (AC, HP, CR, etc.) from the API — DMs get full stats and can toggle player preview.

  • Server-side filtering via campaign_members role.
  • Face-down reveal unchanged for hidden cards.
New

3D dice, SFX & VFX

Optional 3D dice animation on rolls, Web Audio cues for nat 20/1, and subtle chat VFX — all respect prefers-reduced-motion.

  • Dice tray sidebar lists recent roll_events.
  • Toggle SFX/VFX in the tavern header.
Improved

Table polish

Optimistic message send with retry, whisper member picker, and @mention autocomplete.

  • /w routing resolves campaign members server-side.
  • Privacy and Terms stub pages plus JSON-LD on home.
New

Threads & reactions

Reply in thread with previews, emoji reactions, and realtime updates.

  • POST/DELETE /api/reactions with campaign-scoped RLS.
  • reply_to on messages with expand/collapse thread UI.
Improved

Mobile tavern & SEO

Phone-at-the-table layout, OG images, guides, and ecosystem cross-links.

  • Bottom channel nav, sticky composer, safe-area insets, touch roll bar.
  • Guides: campaign chat vs Discord, combat in text chat.
  • dndcards.com footer link to Party chat.
New

Beta program & feature voting

Public beta framing, Pro/credits roadmap docs, and /features/vote with live Supabase tallies.

  • Tavern header Beta badge when NEXT_PUBLIC_BETA_MODE=true.
  • Billing stubs: src/lib/billing/tiers.ts (free | pro | credits).
  • Vote on dice skins, narration, card actions, autopilot — mailto fallback.
  • docs/DNDCARDS_INTEGRATION.md — card schema, deriveActions, HP sync hooks.
New

Table depth & combat polish

Pins, edit/delete, search, typing indicators, character-bound rolls, Grimoire card embeds, HP badges, and combat phase UI.

  • Onboarding tour + empty states for campaigns and failed /summon.
  • Theme sync from campaigns; client WebP resize on uploads.
  • Invite links, availability poll stub, session scheduling guide.
  • LLM color commentary path with template fallback; Discord mirror env docs.
New

Combat Loop v1

Attack intent parser, AttackPrompt UI, dual-card cinema, LLM color commentary, roster API, and virtualized message list.

  • /attack goblin longsword or natural language → sheet-based to-hit byline on dice messages.
  • EncounterCinema on /summon with versus=; composer Versus mode for second card.
  • GET /api/characters/roster — public sheets for party members; peer-read RLS migration.
  • Character switch confirm + OOC system message during open encounters.
  • Optional grisly narrator tone; ElevenLabs queue when narrator voice is on.
Improved

Marketing site

Full public pages for features, pricing, changelog, SEO, and ecosystem story.

  • Integrations and comparison guides.
  • Public roadmap aligned with PRODUCT.md.