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