Revision history for Perlmazing

1.2     2016-01-16
	First public version, released after several years of private use and development.
1.22 .. 1.2802
	Minor adjustments for PAUSE
1.2804  2016-02-24
	Bugfix for older Perl versions
1.2806  2016-02-25
	Bugfix for older Perl versions
1.2808  2016-02-25
	Bugfix in function dir affecting Linux
1.2810  2016-02-26
	Fix in Perlmazing::Engine POD markup, improperly scaped -> sequences
	Fix in test case causing an error in rare cases like http://www.cpantesters.org/cpan/report/db62e0b6-dc2a-11e5-ad39-220c874cb8f0
1.2812	2018-02-01
	Made Perl::Critic happy
	Added weaken and unweaken (from Scalar::Util) to Perlmazing
	Prevent on-cleanup-during-global-destruction warnings for Perlmazing::Engine on newer versions of Perl
	Bugfix, Perlmazing wasn't doing the correct thing with specified symbols to import/skip
	Bugfix, remove_duplicates was failing when an element of the array was undef
	Bugfix, appeared with Perl 5.26, causing warnings on cleanup under certain circumstances.
1.2814  2019-02-09
	Removed warnings fatal all. Now its only fatal with qw(closed unopened numeric recursion syntax uninitialized)
	Updated required version for Taint::Util.
	Added move function from File::Copy::Recursive::rmove, as we are already using rcopy from the same module.
	Added functions to_string and to_number.
	slurp function now doesn't force binary mode on non binary files, unless a true value is passed as second argument.
1.2815  2021-04-17
	Fixed - some times objects from Submodules could get DESTROYed before than we wanted it to.
	Renamed (for consistency) quote_escape and quotes_escape into
		escape_quote and escape_quotes. There's no evidence of these functions
		being a dependency of another module. If this breaks something for you,
		email me.Added eval_string (code, documentation, tests)
	Added File::Basename related functions: basename, basedir
	Added File::Spec related functions: catdir, catfile, devnull, splitpath, catpath, abs2rel, rel2abs
	Added Cwd related function: abs_path
	Added function commify.
	Added missing isa_filehandle, complementary to is_filehandle.
	Minor fixes in POD.
	All is_* and isa_* functions now return a defined value. This helps with comparisons like "if (is_blessed $obj eq 'FOO').
	Added missing confess, complementary to the rest of Carp functions.
	Perlmazing::Engine now gives more useful information on unhandled loading symbol errors.
	Fixed issue in is_number where the symbol "_" was not always handled correctly (which is valid in Perl numbers).
	Fixed issue in to_number, where numbers could be interpreted as octal formated numbers, causing errors when invalid.
		This fix will take legitimage octal declarations as decimal intended. Noted in POD.
	Fixed warning in dir, which pointed to the dir file instad of the user file.
1.2816  2021-04-18
	Updated Makefile.PL to require Submodules 1.0015, which resolves issues with this update.
2.0002  2023-03-16
  Very important change: Perlmazing no longer exports everything by default. Only 'pl', 'dumped', 'define' are default now.
    Also, all functions that match a CORE function name, are also automatically imported.
    You now need to explicitly import the symbols you want, or import the tag ':all'. For 'pl', 'dumped' and 'define',
    if you don't want them imported, you either need to "use Perlmazing ()" to avoid any imports, or explicitly say "!symbol".
  Updated list of dependencies that were causing installation problems in some platforms.
  Important change: Perlmazing previously would enable all the latest features of the Perl version it was running on. That
  was a terrible idea from the start. It now has a version limit, that can be changed, set by default to 5.028.
  Important change: rmdir was previously using File::Path::remove_tree, but we are now using our own implementation, since
  File::Path is deleting the contents of symlinked directories, at least on Win32. This implementation correctly removes
  symlinks on any OS instead of parsing its contents to delete them.
  Added stat function. Works the same as CORE::stat, except it will give you an object you can call methods on when assigned
    to a scalar.
  Fixed some issues in the POD, related to links containing ->, which wasn't properly escaped.
2.0004  2023-05-28
  Small changes in POD and stat t file.
2.0006  2023-05-28
  Missing update in this file.
  Missing update in MANIFEST for stat.pm
2.0008  2024-11-27
  Removed unecessary dependencies from Makefile.PL
  Fixed bug in function dir, it was assuming non existing directories as '.'.
  Added new export tags.
  Fixed several bugs related to Perlmazing::Engine::Exporter. It should now behave properly in all cases.
  Fixed all the cases where Perlmazing's function files were not properly importing the symbols they need to run.
  Fixed test cases that started to fail once the previous fixes were in place.
  Fixed some errors/mispellings in the documentation.
  Added windows_path and unix_path functions.
  Fixed wrong sorting for "numeric" (upper/lower-case was taking precedence in a wrong way)
  Added the unbless function from Data::Structure::Util
  Improved the slurp function to do-what-you-mean in list context.
2.0010  2024-11-28
  Fixed an error in POD.
2.0012  2024-11-28
  Improved documentation.
  Fixed a test for rmdir for a very small set of cases where testers seem to have permission issues when creating a symlink on Win32.
2.0014  2024-11-28
  Added localtime_ts and gmtime_ts functions.
2.0016  2025-02-05
  Added an encoding parameter to slurp. It now can be asked to read utf8 or any other valid encoding correctly.
  Removed an accidental =cut in POD that was causing a problem with it.
  Adjusted rmdir behavior on errors to be as close as possible to CORE::rmdir in such cases
  Added missing dependency on File::Copy::Recursive to Makefile.PL
  Fixed numeric() (used for sort) to correctly sort version strings in cases where the code module version was failing to do so
  Added new function fout, a quick way to write content to a file. Opposite of slurp.
  Updated POD to reflect current (and some previous) changes.
  Added function decimals($number) to return only de decimals value of a given number.
  Added function ceil($number) to round up a number (or ceil(@list) to round all elements up).
  Added function avg(@list) to obtain the average value of numbers in a list.
  Added all functions from List::Util, importable individually or via :list import tag.
  Added function is_integer($number) to identify numbers that are not floating point numbers.
  Added function flatten($ref_of_refs), which makes a flat array out of a list/array containing nested scalars, arrayrefs, hashrefs and objects.
  Added function columnize($columns, @array), which orders an array in a given number of columns with a vertical order of elements.
2.0018 2025-02-09
  Fixed a bug in Perlmazing::Engine::Exporter where some times symbols marked with ! were still getting exported.
  Fixed some small problems in POD.
  Removed tabs from some places in course code where they were still present.
