The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
2007-01-12  Dominique Dumont  v0.607

	* t/term_ui.t: Changed tests to try to load Term::ReadLine and
	skip tests if Term::ReadLine cannot be loaded.

2007-01-11  Dominique Dumont  v0.606

	* config-model: Corrected wrong doc for options.

	* Describe.pm: Small cosmetic changes in output.

2007-01-08  Dominique Dumont  v0.605

	* config-model: Now uses Log::Log4perl. (Still need to use
	Log4perl for all *.pm files though). Now write config files back.
	Added option to read and write config in test directories.

	* *.pm: Changed e-mail address to reduce spam.

	* *.pm: Small bug and doc fixes.
	
2006-12-08  Dominique Dumont 

	* Model.pm (load): Model files are expected to be delivered as
	Perl module and are searched using @INC. (E.g. Xorg.pl model will
	be searched as Config/Model/models/Xorg.pl in @INC elements)

	* Exception.pm (full_message): Clarified error message of
	RestrictedElement exception

	* examples/fstab/fstab_test.pl: Clarified notifications shown to
	user. Adapted to changes of 0.604

2006-12-06  Dominique Dumont   v0.604

	* Node.pm: added check_list in possible element of a node.

	* Value.pm (set): Changed reference declaration: now value_type
	must be set to 'reference' when using 'refer_to' parameter.

	* WarpedThing.pm: can group rules declaration in warp argument to
	save typing

	* WizardHelper.pm: adapted for ObjTreeScanner changes

2006-12-05  Dominique Dumont  

	* ObjTreeScanner.pm: Modified the callback signature so the user
	does no longer have to play with closures.
	- added check_list_cb for CheckList elements
	- improved doc
	- added callback example in doc

	* AutoRead.pm (auto_write_init): bug fix in auto_write functions

	* AnyId.pm (new): New allow and allow_from parameters to set
	"allowed" keys of a hash or list. This list of allowed keys can be
	fixed or dynamic.

	* AnyThing.pm (root): new method. Returns the root node of the
	configuration tree.
	(grab): bug fix so hash identifier can contain white spaces when
	calling grab (e.g. InputDevice:"Configured Mouse")

	* CheckList.pm: New class to implement a check list. 

	* Describe.pm: adapted for ObjTreeScanner changes and new
	CheckList element type

	* Dumper.pm: idem

	* Report.pm: idem

2006-10-19  Dominique Dumont   v0.603

	* Value.pm (set): forbids to specify both 'refer_to' and
	'value_type' in value declaration

2006-10-11  Dominique Dumont  

	* Loader.pm (load): Accepts now to load configuration data where
	index can contain white space. (e.g. Monitor:"Hercules Pro")

	* AnyId.pm: changed 'element_args' to 'cargo_args'. Changed
	'element_class' to 'cargo_class'. Added 'follow' parameter so a
	hash key can mimic the keys of another hash in the configuration
	tree.

	* TermUI.pm: removed debug print. This makes auto-completion much
	easier to understand ;-)

2006-09-26  Dominique Dumont  

	* Value.pm (set_default): added built_in default
	parameter. Built_in default parameter are not written in
	configuration files but can be used to audit configuration data.
	
	* AutoRead.pm (auto_read_init): bug fix: override of read_dir was
	not taken into account
	(auto_write_init): idem for write_dir

2006-09-22  Dominique Dumont  

	* Instance.pm: added doc for the possibility to specify where to
	read or write the configuration files.

2006-09-21  Dominique Dumont  

	* AnyId.pm (move): also change index value when moving items.

2006-09-07  Dominique Dumont   v0.602

	* config-model: added -help and -man options to command line

	* Model.pm (load): model file now must return an array ref and not
	invoke Model methods. See t/big_model.pm for an example
	(load): can load model file for model class that contain '::'. In
	this case the model file is searched in a sub-directory just like
	a perl class (E.g Model::Foo -> Model/Foo.pm)

	* HashId.pm (create_default): can initialise children nodes while
	creating default keys. (Necessary to be able to write a
	configuration model for Xorg)

	* AnyId.pm (move): new method

2006-07-20  Dominique Dumont   v0.601

	* config-model: new program. This programs can be invoked to
	modify configuration files (provided the corresponding model is
	available in /etc/config-model.d). (Still shaky. Don't run as
	root)

2006-07-19  Dominique Dumont  

	* Node.pm (get_type): new method
	(get_cargo_type): new method
	(get_element_name): added type and cargo_type parameters to filter
	returned element depending on their type or cargo (contained) type
	(describe): new method. Uses new Describe.pm file

	* Value.pm (get_type): new method
	(get_cargo_type): new method

2006-07-18  Dominique Dumont  

	* Model.pm (load): new method. Model can load model declaration
	from /etc/config-model.d. The model must be valid perl script that
	ends with an array ref containing configuraiton class declaration
	like the one accepted by create_config_class

	* ListId.pm (get_type): new method

	* HashId.pm (get_type): new method

	* Exception.pm : Added WrongType exception for new grab parameters

	* AnyThing.pm (get_type): New method
	(grab): added strict, autoadd, type parameter.

	* AnyId.pm (get_cargo_type): new method.
	(config_class_name): new mehtod

	* Describe.pm: New file. Provides a human readable description of
	a configuration node.

2006-06-15  Dominique Dumont   v0.507

	* TermUI.pm: New file. Provides a shell like interactive user
	interface.

	* Node.pm: Now inherit AutoRead class

	* Instance.pm: Adapted for auto read/write.

2006-06-12  Dominique Dumont   

	* AutoRead.pm: New file. Provides node the capabilities to load
	config data when creating a configuration node.

2006-05-19  Dominique Dumont   v0.506

	* examples/fstab/FstabModel.pl: added Fstab example with its fstab
	configuration model. This example includes a small program that
	use this model to show some ways to extract configuration
	informations.

2006-05-17  Dominique Dumont   

	* Report.pm: new file. Provides report and audit facility for
	Node.pm

	* Node.pm (report): new method
	(audit): new method

	* Model.pm (create_config_class): added inheritance of
	configuration models.

	* HashId.pm (_get_all_indexes): sort returned indexes

	* Dumper.pm (dump_tree): fix list dump which did not work

	* AnyId.pm (fetch_all_values): new method

2006-04-21  Dominique Dumont   v0.505

	* WizardHelper.pm: New file. This class helps to create wizard
	widget for config models

	* Makefile.PL: ValueFormula is no longer compiled at build-time
	but on the fly at run-time. Hopefully this will fix Windows
	problem and ease integration downstream for a minor performance
	penalty at start time.

2006-04-10  Dominique Dumont   v0.504

	* Searcher.pm: Added search element feature. This feature provides
	a way to search for a configuration element in a configuration
	tree. The search can be launcher from an instance or any node of a
	configuration tree. Getting to searched target can be manual or
	automatic (with call-backs provided by user)

2006-03-21  Dominique Dumont  

	* Makefile.PL: Changed grammar pre-compilation to add a "1;" at
	the end of ValueFormulaParser.pm (Makes Windows happy)

2006-03-16  Dominique Dumont   v0.503

	* Makefile.PL (MY::postamble): Corrected CPAN dependencies