Revision history for Games-Solitaire-Verify
0.2601 2024-11-28
- Extract a ::LinesIter class/module
- Better error in "Freecell mode trying to verify Seahaven Towers"
0.2600 2024-01-31
- Convert to support the ASCIIfied output of
Games::Solitaire::BlackHole::Solver version 0.10.0
0.2500 2024-01-31
- Add support for the "binary_star" variant
- https://github.com/shlomif/black-hole-solitaire/issues/8
- Change "\d" to "[0-9]" in regexes
- https://perl-begin.org/tutorials/bad-elements/#using-character-classes-with-unicode-text
0.2403 2020-05-03
- Reduce the minimal --severity of Perl-Critic to 1.
- explicit return values.
0.2402 2020-04-28
- Add a Perl-Critic check.
- Refactoring and cleanups.
0.2401 2020-04-27
- Refactoring and cleanups.
0.2400 2020-04-27
- Add lib/Games/Solitaire/Verify/App/CmdLine/From_ShirlHartSolver.pm
0.2303 2020-04-22
- Hyperlink URLs in the documentation.
- Get rid of old and stale perl-POD sections.
0.2302 2020-04-20
- Try to Fix "You tried to plan twice" error in t/exception-newline.t .
- https://github.com/shlomif/fc-solve/issues/39
- Thanks to SREZIC !
0.2301 2020-04-20
- Emit trailing newline in Exception::Class errors so the shell
will not swallow them, and instead display them.
0.2300 2020-03-06
- Avoid implicit symbol imports
- https://perl-begin.org/tutorials/bad-elements/#non_explicitly_imported_symbols
- Convert weaver.ini to @SHLOMIF .
0.2202 2019-07-19
- Add --help flag.
0.2201 2019-05-19
- Add tests for some Golf variants.
0.2200 2019-05-15
- Add POD to lib/Games/Solitaire/Verify/HorneAutomovePrune.pm .
- Add support for verifying black_hole solutions.
0.2100 2019-04-29
- Add lib/Games/Solitaire/Verify/Golf.pm and
lib/Games/Solitaire/Verify/App/Golf.pm .
0.2000 2019-04-04
- Add lib/Games/Solitaire/Verify/HorneAutomovePrune.pm .
0.1900 2018-08-02
- Add verify_contents() to ::State and check for initial board sanity
on the solution.
- It was an accidental bug/feature.
- Add the --max-rank flag and options.
0.1800 2018-05-02
- Add lib/Games/Solitaire/Verify/State/LaxParser.pm .
0.1701 2016-02-28
- Fix the tests (and the code) of method ->print could not be found in
IO::Handle/IO::File on older perls.
- Reported in some CPAN Testers reports.
0.1700 2016-02-26
- Convert file input to slurping+splitting.
- This provides a significant (3m05s instead of over 4m)
speed boost.
- Some other optimisations.
- Add Games::Solitaire::Verify::Column->append_cards for faster
appending.
- Add Games::Solitaire::Verify::Column->popN for popping multiple
cards from the top.
- Add Games::Solitaire::Verify::Card->get_ranks_strings().
0.1601 2015-12-30
- Fix compatibility with older perls (down to 5.8.9).
- Several CPAN Tester reports were received.
- The problem was the /r flag to s///.
0.1600 2015-12-29
- Alter output to exclude trailing whitespace.
- Alter input to automatically remove trailing whitespace.
- These changes are for an upcoming compilation flag in Freecell
Solver of removing trailing whitespace from output.
0.1500 2015-12-21
- Remove dependency on MooX::late (and Moo)
- Some optimizations and cleanups.
- Removed order prefixes from t/*.t files.
0.1400 2014-11-08
- Convert to Dist-Zilla
- Add lib/Games/Solitaire/Verify/App/CmdLine/From_Patsolve.pm and
convert-patsolve-to-fc-solve-solution
- Add lib/Games/Solitaire/Verify/Solution/ExpandMultiCardMoves/Lax.pm
0.1300 2014-05-16
- Some optimizations after noticing that validating the solutions
of the whole Microsoft Freecell 32K was time consuming.
- Add examples/benchmark.pl which can be used to benchmark (requires
the fc-solve distribution in the path).
0.1203 2014-01-30
- Add LICENSE (as well as COPYING) for CPANTS Kwalitee.
- Minimum version of perl is 5.8.0 (CPANTS Kwalitee).
0.1202 2013-10-19
- Update the contact information (it contains an old E-mail.).
0.1201 2013-06-28
- Add $VERSION to some .pm files that missed it.
- The PAUSE indexer warned about that.
- Convert from 'use base' to 'use parent'.
0.1200 2013-06-28
- Add support for flipped cards to ::Card .
- Add lib/Games/Solitaire/Verify/KlondikeTalon.pm .
- Add script/play-and-verify-klondike - it is a work-in-progress
script used to play the solutions provided by
https://github.com/ShootMe/KlondikeSolver (also see my fork of it
at https://github.com/shlomif/KlondikeSolver ), verify them and
display them in a more user-friendly manner.
- Add t/cpan-changes.t
0.1103 2013-01-17
- Update Build.PL (configure_requires + repository link).
0.1102 2012-09-10
- Add lib/Games/Solitaire/Verify/App/CmdLine/Expand.pm to the
distribution.
- This caused script/expand-solitaire-multi-card-moves to
fail.
0.1101 2012-09-07
- Add strict, warnings and autodie to requires/build_requires.
- See for example: http://www.cpantesters.org/cpan/report/52b7a6ba-f548-11e1-bdcc-373e3b6b8117
0.1100 2012-08-31
- Add lib/Games/Solitaire/Verify/Solution/ExpandMultiCardMoves.pm
for processing a solution and expanding multi-card (= column) moves
into single-card moves, which are easier to validate by human players.
- Now tested using t/08-expand-solution.t
- Added script/expand-solitaire-multi-card-moves .
0.1001 2012-08-23
- Add the color_for_suit method to ::Card .
- Remove trailing space with t/style-trailing-space.t as a test.
0.1000 2011-11-08
- Add the script/tag-release.pl to tag a release in Subversion.
- Add script/bump-version-number.pl .
- lib/Games/Solitaire/Verify/Card.pm :
- Add the id() slot.
- Add the data() slot.
- lib/Games/Solitaire/Verify/State.pm :
- Add the add_column method.
- Add the set_foundations() method.
- Add the set_freecells() method.
- lib/Games/Solitaire/Verify/State.pm :
- Fix cloning of states with a "custom" variant and with
variant_params.
0.0901 2011-06-02
- Now importing Dumper from Data::Dumper properly.
0.09 2010-07-10
- Converted from Class-Accessor to Class-XSAccessor (with a function
emulating mk_accessors for convenience.).
- This made the test suite run faster.
- Add the script/verify-solitaire-solution and
lib/Games/Solitaire/Verify/App/CmdLine.pm .
0.08 2009-07-04
- Removed the "all rights reserved" language. I was told it is
incompatible with the MIT/Expat License.
- Added the COPYING file.
0.07 2009-06-22
- Added some meta-data (repository, homepage, mailing list and
keywords) to META.yml.
- Implemented many missing exceptions.
- Added tests for some of them.
0.06 2009-05-30
- Now the module can verify Simple Simon moves and solutions.
- The support has many loose ends including many non-existent
exceptions, but it should still yield a true verdict
if-and-only-if the solution is correct.
0.05 2009-01-24
- Made sure that when unlimited sequence move takes place, it isn't
affected by kings_only, etc. I.e: it always allows to move an
arbitrary number of cards when it is specified.
- Bug discovered based on this post by larrysan:
- https://groups.yahoo.com/neo/groups/fc-solve-discuss/conversations/topics/856
0.04 2008-08-07
- Now verify_and_perform_move in Games::Solitaire::Verify::State
is returning objects of exception classes, instead of stringified
errors, to facilitate knowing exactly why the move is invalid.
- Refactored Games::Solitaire::Verify::State:
- Extracted methods from verify_and_perform_move
- Converted to a ->can() dispatch table.
0.03 2008-07-25
- Added support for more variants of Solitaire, using the
Freecell Solver-style parameterization:
- num_freecells
- num_columns
- num_decks
- sequence_move
- seq_build_by
- empty_stacks_filled_by
- Added more support modules:
- lib/Games/Solitaire/Verify/VariantParams.pm
- lib/Games/Solitaire/Verify/VariantsMap.pm
0.02 2008-07-10
- Added another test for a wrong solution.
- Extracted two classes from Games::Solitaire::Verify::State :
- lib/Games/Solitaire/Verify/Foundations.pm
- lib/Games/Solitaire/Verify/Freecells.pm
- Added List::Util to the "requires" - it was missing.
0.0102 2008-07-10
- Fixed the script with the absolute path on Makefile.PL
- Moved bin to script because it's written in pure-Perl.
0.0101 2008-07-09
- Fixed various bugs:
- incompatible output between what we had and Freecell Solver
(trailing whitespace etc.)
- Added a test assertion for verifying that a wrong solution is
wrong. (which uncovered the bugs.)
- Fixed the solution verification logic.
0.01 2008-07-05
- First version.
- Can only do Freecell for now, but there's a lot of modularity
and extensibility infrastrucutre in place.
- 193 Test Assertions.