This file tracks the notable changes made to this project. It is meant for humans to read, and is loosely based on Keep a Changelog.
There's a bunch of changes, including some breaking ones in this commit. Starting with this release, this gem is owned and maintained by Poll Everywhere.
- This Changelog.
- A Code of Conduct for community contributions.
- Rubocop and the Poll Everywhere style rules.
- New gemspec metadata fields — especially the MFA requirement to submit to RubyGems.
- Modern gem defaults like "bin/consle".
- Instead of just an empty
RuntimeError
, the following errors no return to give more information about what the error is:NegativeSignListedAsDigitError
NegativeSignTooLongError
UnknownNegativeSignError
- Ownership to Poll Everywhere (per the conversation with the previous owner](joshbuddy/anybase#6)).
- Switch to using named parameters instead of an "opts" hash. (This means you can't pass
options using hash rockets anymore. For example
Anybase("abc", :ignore_case => true)
will no longer work. UseAnybase("abc", ignore_case: true)
instead.) - The
Anybase#random
parameter named "zero_pad" was renamed to "trim_leading_zeros", and this new parameter should be passed the opposite of value of the former. (So if you calledrandom(4, zero_pad: false)
before, now callrandom(4, trim_leading_zeros: true)
.) - When intializing an
Anybase
object, the "sign" option was renamed to "negative_sign". - Calling
Anybase#normalize
now always returns a new string. - Use GitHub Actions instead of Travis to run CI tests.
- Updated RSpec.
- Passing
ignore_case: true
modified the digits string passed in at object creation. The code now makes a copy for its use so that user input isn't unexpectedly modified.
- Support for Ruby series that are no longer maintained. (At the time of publication, that was any series older than Ruby 2.7.)
- Support for Ruby 1.9.3. You must use Ruby 2.0 or higher.
Older versions didn't keep a changelog, but here is a list along with a link to the commits for each version: