This section outlines explicit conformance to Semantic Versioning 2.0.0,
and outlines the public API.
It also introduces a tag pattern for determining whether the solver
reflects the desired state of Fallen London.
This option lists enumeration identifiers, along with their string forms
for clarity's sake. This makes it much easier to blacklist things
without reading the source code.
A note about listing has been added to the Blacklisting section of the
README.
A dedicated action has been created for the list command.
Configuration files allow common arguments like --shadowy-level and
--blacklist to be saved and referenced rather being typed out each time.
ArgumentParser has been subclassed to allow more freedom when parsing
configuration files.
Blacklisting uses a dedicated action to parse arguments into enumeration
members.
Choices are not provided for this option, as it would utterly overwhelm
the help interface. This means that errors may not be as helpful,
however.
The README has been updated with a small section on blacklisting, how to
do it, and why you may wish to do it.
Options that were previously commented out are now enabled, since the
user can simply blacklist them instead.
All scripts are now contained in a package named "bonemarketsolver".
The command-line interface has been moved to __main__.py.
The solver script has been moved to solve.py.
Relative module imports are now used where appropriate.
The invocation method of the CLI has changed: instead of running Python
itself, you can now use "pipenv run bone_market_solver".
The README has been updated to reflect the new usage method.