Revision as of 20:00, 1 May 2017 by Skizzerz (talk | contribs)

Changelog

From DiceRoller Documentation

1.2.0 (prerelease)

  • Allow subclasses of DiceAST outside of Dice.dll to override UnderlyingRoll in preparation for the ability for outside assemblies to extend the parser.
  • Additional documentation comments, and fixing some inaccuracies in existing comments.
  • Additional unit tests.
  • Bugfixes:
    • Trim leading/trailing spaces around macro parameters before passing them to macro callbacks.
    • Throw more informational exceptions rather than having an internal detail throw an exception (ArgumentNullException instead of NullReferenceException, InvalidOperationException with a more meaningful error message rather than ArgumentException on Dictionary.Add, etc.).
    • Fix roll macro argument parsing.
    • Expose Dice.Grammar.DiceErrorListener (was documented as public but not marked as such in the code).

1.1.0

  • New Play-by-Post helper class RollPost, found in the Dice.PbP namespace.
    • Rolls can be serialized and saved to a database (or somewhere else, I don't judge) so that rolls within a post remain fixed between previews/edits.
    • Contains the ability to detect tampering of roll expressions within a post (deleting/modifying rolls). Adding new rolls at the end is ok, everything else causes validation errors.
    • A new [roll] macro which can be used to obtain results of previous rolls in the same post.
  • DieResult and RollResult are now Serializable and Equatable.
  • Group rolls can now be rerolled.
  • New if() global function, which lets you test an expression against a comparison, and return one of two expressions depending on whether or not the comparison succeeded.

1.0.0

  • Initial version