Revision history for Perl extension Metabrik.

1.11 Sun Nov 22 17:46:43 CET 2015
   - FEATURE: core::shell: auto prefix by run if entered command is a used Brik
              example:          perl::module install Class::Gomor
              is equivalent to: run perl::module install Class::Gomor
   - FEATURE: Metabrik: brik_author and brik_license Commands and Properties
   - FEATURE: Metabrik: auto tagging of Briks based on Repository, Category and Name
   - FEATURE: Metabrik: optional_modules and optional_binaries Properties.
              Also added brik_has_binary and brik_has_module Commands.
   - new: core::context: get_used Command to return a reference to a used Brik
   - new: brik::search: command Command to search a Brik by existing Commands
   - bugfix: shell::script: allow blank lines and comments
   - bugfix: core::shell: correctly stop a run Command on SIGINT
   - bugfix: Metabrik: return error and not info on bad usage for some brik_has_* Commands
   - bugfix: Metabrik: correctly call brik_fini on core::context exiting

1.10 Tue Oct 27 20:13:36 CET 2015
   - FEATURE: core::context: allows to pass complex structs arguments to run and set Commands
     Example: run network::arp scan $info->{subnet}
   - FEATURE: core::context: allows also to execute Perl code within an Argument of a 
     run Command
     Example: run client::dns ptr_lookup "[ map { @$_ } values %$RUN ]"
   - FEATURE: core::shell: allows to complete aliases (can be disabled via
     aliases_completion Attribute
   - FEATURE: shell::command: use_sudo Attribute to launch sudo on executing external command
   - FEATURE: shell::command: file globbing enabled with capture Command
   - UPDATE: moved attributes_default() from brik_use_properties to brik_properties when 
     there is no need to use $self. It allows instanciated Attributes inheritage to work.
   - UPDATE: shell::command: do not print STDERR when using capture Command when there is no 
     STDERR string captured.
   - new: shell::command: execute Command to use capture_mode Attribute to launch either 
     capture or system Command
   - bugfix: core::context: save_state to use Metabrik brik_attributes Command to correctly 
     retrieve all Brik Attributes even those inherited
   - bugfix: core::shell: display error on chdir() failure
   - bugfix: core::shell: escapes " character when executing a multiline Perl/Metabrik Code
             example:
             my $test = 'root'
             for (0..1) {
                'run shell::command system "ls /$test"'
             }
   - bugfix: Metabrik: error checking within new_from_brik_init Command
   - bugfix: Metabrik: logging correctly on class calls to _log_*()

1.09 N/A
   - FEATURE: core::shell/core::context: supports passing Perl code directly as Commands
              Arguments. Example: run database::sqlite create MyTable "[ qw(field1 field2) ]"
   - RENAME: core::shell: help_show_brik_attributes => help_show_base_attributes
   - RENAME: core::shell: help_show_brik_commands => help_show_base_commands
   - RENAME: core::shell: comp_show_brik_attributes => comp_show_base_attributes
   - RENAME: core::shell: comp_show_brik_commands => comp_show_base_commands
   - UPDATE: core::shell: rework of help/completion scheme
   - UPDATE: core::shell: help Command rewritten to show help for Metabrik only (not Term:Shell)
   - bugfix: core::shell: use unique match to run Commands
   - bugfix: shell::command: correctly check return value from system Command for errors
   - new: core::shell: get_help/comp_attributes and get_help/comp_commands Commands
   - new: Metabrik: brik_base_attributes, brik_inherited_attributes, brik_own_attributes Commands
   - new: Metabrik: brik_base_commands, brik_inherited_commands, brik_own_commands Commands

1.08 Thu Mar 19 06:48:34 CET 2015
   - FEATURE: core::shell: run executable commands found in PATH through system Command
   - UPDATE: shell::command: now use IPC::Run3 to capture shell commands output
   - update: shell::command: system Command now returns $? on success
   - update: Metabrik: display every missing items from brik_require_*_check() before erroring
   - update: new dependance on IPC::Run3

1.07 Sun Mar  8 17:52:37 CET 2015
   - bugfix: shell::history: correctly writes $* variables when calling history Commands
   - new: shell::rc: create an alias to make it easy to switch to root from Shell
   - new: brik::search and perl::module Briks integrated in main distribution
   - remove: no more metabrik-cpanm, enforce use of standard cpanm

1.06 Fri Feb 27 07:17:59 CET 2015
   - bugfix: shell::command: go trough PATH to find a cmd to run (like less PAGER)
   - bugfix: core::shell: on SIGINT handling, now allows to break multiline and run Commands
   - bugfix: core::shell: allow user to get out of multiline mode by hitting Ctrl+C
   - bugfix: core::shell: better management of Metabrik Commands in multiline mode
   => you can put Metabrik Commands within single quotes anywhere
   - update: shell::script: load Command can take an optional file parameter
   - update: metabrik, shell::rc/script, core::shell: easier handling of rc file loading
   - new: metabrik: --script-rc argument to load a specific rc file for scripts

1.05 Tue Feb 10 08:01:53 CET 2015
   - FEATURE: core::shell: multiline mode do not require lines to end with `\' anymore
   - FEATURE: core::shell: Metabrik commands are directly translated to Perl code
              => Note: no alias support for now, only set, get, run and use are handled
   - bugfix: shell::command: check for error code from `` call
   - bugfix: Metabrik: do not override default Attributes with brik_use_properties
             if already set by brik_properties
   - bugfix: Metabrik: correctly prints help Command details when overriden by subclass
   - new: Metabrik: brik_preinit() creates a datadir directory per Brik 
          if datadir property exists.
   - update: Metabrik: default directory is set to $HOME/metabrik i/o /tmp

1.04 Sun Jan  4 13:07:56 CET 2015
   - bugfix: core::context: don't overwrite $RUN when run Command fails
   - bugfix: core::shell: help Command must not overwrite $RUN variable
   - bugfix: core::log: error Command must return undef, this is the error status
   - new: Metabrik: new_from_brik_init() base method
   - copyright: update to 2015

1.03 Sat Dec 20 17:48:44 CET 2014
   - bugfix: shell::script: return proper values from run cmds
   - bugfix: shell::script: disable SIGINT when running a script
   - update: core::shell: always complete Briks on use, even when Brik is already used
   - new: core::global: exit_on_sigint Attribute, for use in scripts
   - new: core::shell: help_show_inherited and comp_show_inherited Attributes to 
          respectively show inherited Attributes on help Commands and show inherited 
          Attributes when using completion
   - new: bin/metabrik: will load .metabrik_script_rc (if exists) when executing a script

1.02 Sun Nov 30 12:28:07 CET 2014
   - bugfix: bin/metabrik: document --script option
   - bugfix: core::context: brik_init on first run only when it is not a base class Command
   - new: metabrik: new_from_brik() method

1.01 Sat Nov 22 17:05:46 CET 2014
   - UPDATE: brik_init: sets init_done Attribute only on success, must be called by subclass at the end
   - bugfix: metabrik: fix inheritance of Briks properties over class hierarchy, like setting default Attributes
   - bugfix: core::context: correctly stops run Commands in case brik_init has failed
   - bugfix: core::context: fix save_state and restore_state Commands return value on success
   - bugfix: core::shell: correctly handle current working directory
   - new: core::shell: pwd Command

1.00 Sun Nov 16 17:07:12 CET 2014
   - first public release