Revision history for Data-Roundtrip

0.01    2020-04-13
	First version, released on an unsuspecting world.

0.02	2020-04-14
	Changed NAME in documentation of the scripts, some
	POD errors in lib/Data/Roundtrip.pm and some errors
	in the documentation.

0.03	2020-04-15
	Makefile.PL changes thanks to marto @ Perlmonks.org

0.04	2020-04-15
	Added perl2dump_filtered(), perl2dump_homebrew()
	and dump_perl_var_recursively().
	Fixed scripts to work with new sub names.

0.05	2020-04-16
	Makefile.PL minor modification.

0.07	2020-04-20
	Changed default options for scripts so that they don't do pretty
	printing by default.
	Added import parameters 'no-unicode-escape-permanently'
	and 'unicode-escape-permanently' for efficient use of *2dump*
	subs.
	Added benchmarks to time 2dump subs and inserted target in Makefile.

0.08	2020-04-20
	Removed dependency to Sub::Override, overriding subs is done by us now.
	Fixed POD mistakes.

0.09	2020-04-20
	Added dependency Test::Script and Test::Pod (thank you Slaven Rezić)

0.10	2020-04-20
	Added minimum version for Test::Script to be 1.09
	to support script_stderr_is. Thank you Slaven Rezić!)

0.11	2020-04-21
	Checked failures for test script t/02-random-data-structure.t
	and provided a fix and added a warning in CAVEATS section.

0.12	2023-03-09
	Wrapped within an eval{}, call to JSON::decode_json in sub json2perl.
	This allows graceful death when input json is not valid.

0.13	2023-03-11
	In the previous version I had forgotten an erroneous INSTALL_BASE
	in Makefile.PL which pointed to $ENV{HOME}/usr.
	This resulted in installing this module in installing user's
	home dir, under usr/
	Now this is fixed. Those who installed the previous version (0.12),
	please make sure to uninstall it from $ENV{HOME}/usr.

0.14	2023-03-11
	See 0.13.

0.15	2023-04-04
	Changed the minimum Perl version required to be 5.008
	in all test files and the Makefile.PL.
	Aesthetic changes in Makefile.PL.
	NOTE: this version has never been released to CPAN.

0.16    2023-05-30
	1. Added a CAVEAT/WARNING in the documentation
	for dump2perl($input) saying that it does
	eval($input) which is a security risk if $input
	comes from untrusted sources (e.g. user input).
	2. Added a print statement to STDERR in sub dump2perl()
	warning about said eval($input) (using a warn '').
	This warning also states that dump2perl() will be
	removed in the future because of this eval().
	3. Added extra tests in t/10-scripts.t to check
	that scripts fail when they should. In addition
	to testing scripts that they succeed when they should.

0.17	2023-06-02
	Requires Test::Script v1.28 because Test::Script::script_fails()
	used by t/10-scripts.t was introduced there.

0.18	2023-09-01
	Added two extra functions: jsonfile2perl() and yamlfile2perl()
	which read JSON and YAML from a file into a perl data structure.
	Added a new test file '12-from-file.t' which tests file-related
	functionality including said two functions.
	Documentation supplemented.

0.19    2023-10-03 01:00
        added printing the yaml structure in test file '12-from-file.t'
        if it fails to ease debugging.

0.20    2023-10-03 14:00
        YAML::Load complains for strings like 'abc\"xyz',
        so I have decided to remove all such strings from the
        randomly created data structures of test file '12-from-file.t'.
        This does not affect the behaviour of yaml2* subs but
        only limits the testing range for input strings to yaml2* subs.

0.21    2023-10-03 14:45
        Fixed bug in script/yaml2perl.pl to print the data structure.

0.22    2023-10-06 11:00
        Switched from YAML to YAML::PP because the former failed on
        some tricky input, see https://github.com/ingydotnet/yaml-pm/issues/224
        Added extra test file (t/13-yaml-tricky-cases.t) for testing
        these cases.
        Added extra author test suit (xt/deficiencies run with make deficiencies)
        to test the tricky cases for all YAML, YAML::PP, YAML::XS
        Enclosed within eval {} all JSON::* calls (which were not already enclosed)

0.23    2023-10-11 11:30
        Modified t/12-from-file.t to delete temp dirs on success
        but keep them on failure.
        I am trying to debug t/12-from-file.t killed on some test environments.

0.24    2023-10-12 12:00
        String input to yaml2perl() is now being untainted in order
        to avoid a bug with Perls < v5.14 which causes YAML::PP to
        loop indefinetely and the OS to kill the script. Until YAML::PP is fixed.

0.25    2023-11-07 12:00
        Change untainting yaml string input from ($yaml_string) = each %{{$yaml_string,0}};
        to ($yaml_string) = keys %{{$yaml_string,0}}; because it was
        warning about "each on anonymous hash will always start from the beginning"
        Also a new test file was added (t/14-yaml-tainted-input.t) to
        test yaml2perl with tainted yaml string as input.

0.26    2023-12-29 12:00
        Clarified the documentation that internally YAML::PP is used and
        that it has no problem with handling yaml strings which contain
        escaped quotes.

0.27    2024-03-14 11:00
        Chnaged the shortcut command-line interface
        for the provided scripts so that
        -r is equivalent to --terse and -d is equivalent to --indent.
        Replaced 'warn()' with 'print STDERR'.
        In eval()'ing code which dies (e.g. my $res = eval { YAML::PP::Dump($pv) }; ) I have used this 'if( $@ || ! defined($res) )' which now became if( ! defined($res) )'.