Revision history for CLI::Framework
0.01 2009-06-18
Initial release.
0.02 2009-06-18
Documentation corrections.
0.03 2009-09-20
* Corrected broken dependencies (Exception::Class)
* Documentation improvements
+ refined existing documentation
+ added Tutorial
* Concept of "session" replaced with the "cache" (which can hold data shared
between separate components of a CLIF application)
* Now supporting custom error handling capability (new handle_exception() hook)
* Built-in command CLI::Framework::Command::Menu improved for better
formatting
* New features
+ inline declaration of CLIF subclasses (both Application and
Command classes) is now supported (one file can contain everything)
+ new built-in command CLI::Framework::Command::Alias
***
*** ATTENTION: interface has changed! Most noteworthy changes follow...
***
* REPLACED CLI::Framework::Application::is_valid_command()
WITH is_valid_command_pkg()
AND is_valid_command_name()
* REMOVED CLI::Framework::Application::command_search_path()
(no longer needed with the new command registration strategy)
* CHANGED CLI::Framework::Application::get_registered_command_names()
TO registered_command_names()
* REMOVED CLI::Framework::Command::get_registered_command_names()
* CHANGED CLI::Framework::Command::get_registered_command()
TO registered_command_object()
* CHANGED CLI::Framework::Command::get_registered_subcommand()
TO registered_subcommand_object()
* REMOVED CLI::Framework::Command::register_command()
* ADDED CLI::Framework::Command::package_is_registered()
* CHANGED CLI::Framework::Application::is_interactive()
TO get_interactivity_mode()
* CHANGED CLI::Framework::Command::Meta::app() changed
TO get_app()
* REPLACED CLI::Framework::Application::valid_commands()
WITH CLI::Framework::Application::command_map()
(a hash mapping command names to package names)
* CLI::Framework::Application::run() now accepts param 'initialize'
0.04 2010-03-31
* Fixed inconsistency in exception handling (http://cpanforum.com/posts/12419)
* Fixed failing tests (some test scripts depended on DBI and DBD::SQLite,
which are not (and should not be) dependencies of the distribution)
* Added CLI::Framework package to satisfy CPAN's requirements for
finding the ABSTRACT for a distribution
+ ***NOTE***: CLIF Application classes can now inherit from
CLI::Framework instead of CLI::Framework::Application (both work
equivalently)
* documentation updates
+ link corrections, better explanation of some concepts
+ moved general framework documentation from
CLI::Framework::Application POD to CLI::Framework POD
+ added class diagram
***
*** ATTENTION: one (minor) interface change:
***
* in CLI::Framework::Exceptions, changed throw_app_args_exception() to
throw_invalid_cmd_exception()
0.05 2011-03-10
* RT #56882: Fixed to use autohistory if the system's local ReadLine
supports it.
* RT #56885: EOF now treated like a quit signal
*** ATTENTION: updates that affect the interface...
* RT #56887: The order of the commands shown in the built-in interactive
menu is now determined by the order the commands are
declared in command_map.
The Application hook method "command_map" should now
return a (hash-worthy) list, not a HASH ref.
To upgrade a CLIF app to be compatible with this release,
change the definition of command_map() to return a list
(see documentation for CLI::Framework::Application::command_map)
and remember to change calls to that method if necessary.
Also see the new CLIF Application method, command_map_hashref().
* New method CLI::Framework::Application::command_map_hashref()
returns a HASH ref constructed from the command_map() list.