Skip to content

Changelog ​

0.3.0 (draft) ​

First version of the specification. It starts at 0.3.0 because the prototype recorder, written before the spec, already tagged its files [Mtgr "0.2.0"]. Those files are not valid .mtgr files; one is kept in examples/prototype/.

Compared with the prototype's output:

  • Tag section follows PGN: required tags Mtgr, Event, Site, Date, Round, Player1, Player2, Result, Format, Match, Game, Perspective, then other tags in ASCII order. There is no match header; every game carries its own tags (decision 0012).
  • Local is replaced by Perspective. Players is replaced by Player1 and Player2. Winner and Score are replaced by a PGN Result per game. Started is replaced by Date, UTCDate, and UTCTime. MTGO-specific tags use the MTGO_ prefix.
  • The up-front Cards: table is replaced by new lines where each object is first seen. Hidden cards have IDs and are named later with identify (decisions 0001, 0016).
  • Card names are Oracle names; printings and source IDs are optional fields (decision 0002).
  • Abilities have IDs, a kind, and their rules text (decision 0003).
  • Free-English events are replaced by a fixed statement grammar with causes (by #N, by cost:#N, by rule:...), choices, and costs (decisions 0004, 0005, 0016).
  • The full mana trail is recorded (decision 0006).
  • Priority, passes, and stack snapshots are recorded (decision 0007).
  • Keyframes at the start of the pregame and of every turn (decision 0008).
  • Clocks, per-game decklists, annotations (PGN comments and NAGs), variations, and extensions are defined (decisions 0009 to 0011, 0014).
  • One canonical format (decision 0013) and fixed lexical rules: UTF-8 NFC, LF line endings (decision 0015).
  • Permanents can enter tapped; replacement-effect choices and payments come before the event they change; fizzle can name what made its targets illegal; choices made by someone other than the controller end with by "Player" (decision 0017).
  • Opening hand actions (Leyline of the Void, Gemstone Caverns, Chancellor of the Annex, Serum Powder) are defined; an event changed by a replacement effect adds replacement #N after its cause (decision 0018).
  • Corrections from a rules review: a countered object can be anywhere on the stack; the hidden-object rule applies only to hands; new ... in library can give a position; recordings can start late; citations fixed (decision 0019).
  • New rule causes for stack removal and turn-based actions; player-level choices, look, and prevented damage (decision 0020).
  • Tokens and moved permanents can enter tapped and attacking (decision 0021).
  • face for split cards, Adventures, modal double-faced cards, and transforming cards; transform (decision 0022).
  • become-copy and copies of abilities (decision 0023).
  • Links between objects end when either changes zone (decision 0024).
  • Special actions: companion, suspend, plot (decision 0025).
  • Lasting effects, goad, day and night, and emblems, all shown in keyframes (decision 0026).
  • Power and toughness are recorded: pt on creatures entering, a pt line for every change, and in keyframes (decision 0027).
  • Optional Player1Archetype and Player2Archetype tags name the archetype of each player's deck (decision 0028).
  • Revealing a companion is a pregame reveal; companions are outside "sideboard" and listed in keyframes with a companion flag (decision 0029).
  • Delayed triggered abilities created by an action, such as revealing Chancellor of the Annex or Devourer of Destiny from an opening hand, are recorded as effects (decision 0030).
  • Effects that change the mana cost of a spell or ability, such as Thalia, Guardian of Thraben and Trinisphere, are recorded with cost OLD -> NEW lines (decision 0031).
  • Corrections from a second rules review: adventure PLAYER; cost lines come before mana abilities; every result of damage takes the damage's cause; reflexive triggers have no effect line; CR 603.7g cited for delayed triggers from actions; more situations listed as not yet covered (decision 0032).
  • choose symbol records how hybrid and Phyrexian mana symbols will be paid; cost values no longer contain them (decision 0033).
  • Delve, convoke, and improvise payments are lines caused by cost:ID; cards delved stay linked to the permanent (decision 0034).
  • fused casts both halves of a split card with fuse (decision 0035).
  • Casting without paying the mana cost is the alternative cost "without paying its mana cost"; a card cast while another spell or ability resolves (cascade, suspend) names it as the cast line's cause; cards put on the bottom in a random order have no known position (decision 0036).
  • Validation is defined: numbered checks, the replay state, each line's effect, and how keyframes and stack snapshots are compared; face on permanents names only a non-front face; counters and goaded have a fixed order (decision 0037).
  • A cost paid more than once (replicate, multikicker) is one choose cost line per payment; a copy of a spell has the original's choices; target lines straight after a copy's new line replace its copied targets (decision 0038).
  • Conformance fixtures: valid files covering syntax edge cases, and invalid files that each break one rule.