Skip to content

v0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Jun 11:38
7944e8d

0.3.0 (2026-06-11)

Features

  • ai: Forge's native AI in hosted play — 1v1 seat + multiplayer pods (#139) (5e3ee15)
  • companion: focus mode, bar restructure, mobile polish (#116) (546ca60)
  • companion: multi-touch, LifeTap layouts, commander-damage modal (#122) (df6db65)
  • companion: paper-play life tracker with layouts, drag-rotate-scale, themed icons (#111) (2bd1238)
  • companion: tracker v2 — turn flow, ring/speed/day-night, mana pool, log, archive, more (#113) (53518c8)
  • Join player, clear room mode init, and correct reset (#150) (61a0a3f)
  • lobby improvements and self-hosting protocol (#142) (db1e849)
  • lobby: change player count and let any player add bots (#131) (a6100c2)
  • reconnect to in-game lobby (#156) (d898556)
  • ui: commander combo highlighting and bracket estimation (#140) (6fdbab5)

Fixes

  • build: bundle editions/blockdata in web cardset archive (#123) (a962d4b)
  • ci: bad secret overwrite (#145) (6b79158)
  • ci: open PR for release-as bump instead of pushing to main (#110) (14757fa)
  • ci: reload caddy when caddyfile changes during deploy (#155) (5c0f9b5)
  • companion: lock page scroll and harden responsiveness (#117) (be3a798)
  • compose and remove local compose (#147) (dd783ef)
  • harness: convoke delve, and some alt payment issues (#143) (f6385f8)
  • harness: java engine handler incompleteness (#112) (93421d6)
  • java-harness: misc java issues (#119) (9dc3e31)
  • node: always emit game-over prompt, even if final snapshot fails (#141) (8ce0215)
  • node: any not being parsed, put any as default (#144) (c161a79)
  • node: emit game-over prompt from hosted java sessions (#127) (6342152)
  • payment session rollback and untap (#136) (6a75cbe)
  • protocol state update being deferred (#130) (460e3bd)
  • ui: deck editor save & exit flow bugs (#108) (585327b)
  • ui: mobile lobby view (#146) (c4fd04d)
  • web: proxy commander spellbook api to bypass cors allowlist (#151) (743d5ba)
  • web: strip x-forwarded-host on spellbook proxy to avoid django 400 (#154) (7b879d7)

Refactors

  • decouple relay from engine + only redeploy forge-server when its code changes (#149) (9c3b46e)
  • prompt typing system (#125) (72c77f6)