Written by:
   Sullivan Beck (https://github.com/SBECK-github/)
Any suggestions, bug reports, or donations :-) should be sent to me.

3.06  2026-07-09
  - Removed all reference to the old cpan.org email

3.05  2026-03-23
  - Changed RELEASE_TESTING variable.
    Now use a release-specific testing variable rather than RELEASE_TESTING.
    See GitHub #17 in my Locale-Codes module for details.
  - Flush data when options are set as that may change the output from running
    the script.

3.04  2021-07-14
   - Fixed test script to fail if the test directory not writable.
     Alexandr Ciornii on GitHub (Pull request #2)
   - Fixed a bug where environment variables weren't getting properly
     quoted, so special characters were causing problems.  RT 133107
     and Github #3.

3.03  2019-08-19
   - Fixed problem with output=quiet mode=script
   - Fixed a bug where the per-command dire option wasn't working
   - Lots more tests.

3.02  2018-11-08
   - Fixed one more test that failed.  RT 127604

3.01  2018-11-08
   - Fixed two tests that failed everywhere.  RT 127596

3.00  2018-11-07
   - Significant rewrite including several backward incompatible
     changes.
     o  The return value of the run method (in run and script modes)
        is strictly a scalar.  The return value in script-mode is now
        an error code instead of the output.
     o  Similarly, the return values of the ssh method are now hashes
        for all modes.
     o  Removed the 'dire' option from the flush method.  Added the
        'out' option.
     o  Error codes cleaned up.  The commands are now numbered from
        1-N instead of 2-(N+1).  Some special error codes are now
        formalized and documented.
     o  Scripts are ALWAYS stored in a temporary script file
     o  Removed the 'f-output' global option
     o  Removed the 'flow' global option (deprecated in 2.10)
   - Complete rework of how output is handled in 'script' mode
       The output is no longer returned when running in script mode
       o  Added the output method
       o  Added the per-command label option.
       o  Removed the f-output per-command option.
   - Many improvements to the generated scripts

2.13  2017-02-10
   - Got rid of global data (stuck it in the object) to avoid problems
     when calling multiple times.

2.12  2016-08-22
   - Improved test scripts, and added a number of new tests.
   - Getting `pwd` in a directory with soft links was failing.  RT 117096

2.11  2016-07-05
   - Fixed a packaging problem (a .swp file got included)
   - Added support for while/done, until/done, and for/done flow structures.

2.10  2016-07-01
   - Fixed bug where the generated list of commands would not return you to
     the original directory.
   - Fixed a bug in env command which wasn't returning the documented values.
   - Revamped how scripts are generated (scripts are a bit simpler and have
     the potential to better support flow commands).
   - Fixed a bug where flow commands weren't handled correctly with
     failure=display.
   - Deprecated the command option 'flow'.  It is determined by parsing the
     command instead.  The option 'flow' is allowed, but totally ignored and will
     be removed at some point in the future.
   - Currently only support if/elif/else/fi flow structure, but more will be
     added in the future.

2.03  2015-12-08
   - Put distro on GitHub.  Gabor Szabo
   - Improvements to POD formatting.
   - Added tmp_script, tmp_script_keep, ssh_script, and ssh_script_keep options.

2.02  2014-05-22
   - Fixed a bug where script output was not getting handled correctly

2.01  2014-04-03
   - Updated example files for 2.xx (forgot to do then when 2.00 was released)
   - Fixed a bug where the dire option was getting lowercased
   - Some simple fixes to avoid a warning and unwanted blank lines

2.00  2014-03-06
   - Significant rewrite including several backwards incompatible
     changes.
        changed script generating routines to be cleaner
        generated script is now simpler to read
   - Bug where exit code wasn't getting set correctly by script
   - Change several options including:
       changed 'run' option to 'mode'
       changed 'f-output' values to not start with 'f-':
       changed 'simple' to 'script' and adjusted meaning
       changed 'echo' option (no longer applies to 'script' mode)
       changed 'failure' option slightly (no longer refers to 'simple' option)
   - Output of running in script mode changed (in a backward incompatible way)
   - The dire/env methods can now query current values
   - Added mode method

1.12  2013-12-06
   - New options:
      ssh_sleep, check

1.11  2013-10-31
   - Replaced 'declare' with a more standard way of doing arithmetic
     since declare broke on several systems.
   - Changed HISTORY file to new Changes specification.  Suggested by
     RT 89910.

1.10  2013-10-30
   - Better handling of 'flow' lines.
   - Rewrite of script generating lines to be much cleaner.
   - Several new options:
      global options: failure, simple
      per-command options: noredir, retry, sleep

1.00  2013-09-13
   - Initial release.
