<commit_before>Changes for Version 2.5.3
=========================
* Changed how Exploding Dice work and parsed, slightly. Now, if the
  explode value is equal to or greater the sides value, it is changed
  to the explode value minus 1, which is probably what the user meant
  anyways.
* There is no longer an EXPLODE_LIMIT constant in the Dice module. 
  Instead, the explode limit is set via the RollPart class using the
  RollPart.explode_limit() class method. Calling that method without
  an argument returns the current explode limit, otherwise if called
  with a fixnum value, it sets the explode limit. The explode limit
  still defaults to 20.
* Also created RollPart.explode_limit = N access class method.
* Various minor code clean ups spread across dicelib and the sub-libs.

Changes for Version 2.5.2
=========================
* Bug fix for non-number 'e' exploding values, that stemmed from the
  removal of the #x option.

* Added savage_worlds_dice.rb to handle Savage Worlds RPG dice
  mechanics.

* Added gurps_dice.rb, a module extension that handles standard
  GURPS dice checks.

* Moved the RollPart's maximum(), minimum(), and average() methods
  out of the class and into the Dice module as module methods.
  RollPart instances now just pass self to those methods. This allows
  those methods to be used outside of a Roll/SimpleRoll/RollPart 
  instances. These three methods now take either a simple dice string
  or a RollPart instance.

Changes for Version 2.5.1
=========================
* Removed attr :total from RollPart, since there is a method for
  that currently that'll call roll() if the part has not yet
  rolled.

* Fixed bug in RollPart, where a @result reference was not removed.

Changes for Version 2.5
=======================
* Modified standard_dice.rb dice to now use the SimpleRoll class.

* Added SimpleRoll class, a subclass of the Roll class, that is meant
  for simple, single dice rolls, without labels or any static parts.

* Reworked RollPart to no longer deal with #x :times feature of the 
  simple dice string. It was rarely used, and if using the lib 
  programmatically, it's just much easier to loop over a Roll 
  instance anyways. This allowed the removal of RollResult class and
  cleaning up of some code, like moving the tally() method to within
  the RollPart class.

Changes for Version 2.1
=======================
* Added <=>() to the RollResult class to handle sorting of results based
  on the total.

* Added a parsed() method to ComplexResult, that holds that part of the
  complex strings parsed data.

* Moved the RollResult and ComplexResult structures into their own classes.
  This allows for more methods to be added to them dynamically, in an 
  easier way.

* The Dice::Roll class now remembers the last roll, which can be obtained
  via the result() method. If the instance has yet to to do a roll, then
  roll() is called first.

* Cleaned up code in the RollPart#parse() method, removing some legacy
  variables that no longer apply to the 2.* version of the library.

* Added this ChangeLog! :D
<commit_msg>More change log fixes.<commit_after>Changes for Version 2.5.3
=========================
* Changed how Reroll parsing works, slightly. Now, if the reroll value
  is equal to or greater the sides value, it is changed sides value 
  minus 1, which is probably what the user meant anyways.
* There is no longer an EXPLODE_LIMIT constant in the Dice module. 
  Instead, the explode limit is set via the RollPart class using the
  RollPart.explode_limit() class method. Calling that method without
  an argument returns the current explode limit, otherwise if called
  with a fixnum value, it sets the explode limit. The explode limit
  still defaults to 20.
* Also created RollPart.explode_limit = N access class method.
* Various minor code clean ups spread across dicelib and the sub-libs.

Changes for Version 2.5.2
=========================
* Bug fix for non-number 'e' exploding values, that stemmed from the
  removal of the #x option.

* Added savage_worlds_dice.rb to handle Savage Worlds RPG dice
  mechanics.

* Added gurps_dice.rb, a module extension that handles standard
  GURPS dice checks.

* Moved the RollPart's maximum(), minimum(), and average() methods
  out of the class and into the Dice module as module methods.
  RollPart instances now just pass self to those methods. This allows
  those methods to be used outside of a Roll/SimpleRoll/RollPart 
  instances. These three methods now take either a simple dice string
  or a RollPart instance.

Changes for Version 2.5.1
=========================
* Removed attr :total from RollPart, since there is a method for
  that currently that'll call roll() if the part has not yet
  rolled.

* Fixed bug in RollPart, where a @result reference was not removed.

Changes for Version 2.5
=======================
* Modified standard_dice.rb dice to now use the SimpleRoll class.

* Added SimpleRoll class, a subclass of the Roll class, that is meant
  for simple, single dice rolls, without labels or any static parts.

* Reworked RollPart to no longer deal with #x :times feature of the 
  simple dice string. It was rarely used, and if using the lib 
  programmatically, it's just much easier to loop over a Roll 
  instance anyways. This allowed the removal of RollResult class and
  cleaning up of some code, like moving the tally() method to within
  the RollPart class.

Changes for Version 2.1
=======================
* Added <=>() to the RollResult class to handle sorting of results based
  on the total.

* Added a parsed() method to ComplexResult, that holds that part of the
  complex strings parsed data.

* Moved the RollResult and ComplexResult structures into their own classes.
  This allows for more methods to be added to them dynamically, in an 
  easier way.

* The Dice::Roll class now remembers the last roll, which can be obtained
  via the result() method. If the instance has yet to to do a roll, then
  roll() is called first.

* Cleaned up code in the RollPart#parse() method, removing some legacy
  variables that no longer apply to the 2.* version of the library.

* Added this ChangeLog! :D

{'fraction_non_alphanumeric': 0.08346839546191248, 'fraction_numerical': 0.005510534846029173, 'mean_word_length': 4.008928571428571, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2300869', 'n_tokens_mistral': 1673, 'n_tokens_neox': 1581, 'n_words': 919}