1.34 - Danial Pearce reported a bug in _store(), which caused the module to create scalar entries even if the entry contained newlines. While Danial supplied a patch to fix this - thx(TM) - I did not apply it, because I "outsourced" this kind of stuff to the subroutine _write_scalar(), see next. - added internal methods _write_scalar() and _write_hash() to simplify _store(), which did the same thing more than once, which is a good time to create a sub which does the job. - fixed cut'n paste bug in General/Extended.pm reported by Danial Pearce , which caused Config::General::Extended::is_scalar() to return true even when the key you pass in is an array. - added new method Config::General::Extended::delete() suggested by Danial Pearce , which deletes the given key from the config. 1.33 - fixed bug in _parse_value() which caused perl to complain with "Use of uninitialized value in..." if a value was empty. 1.32 - *argl* ... I forgot Interpolated.pm, don't know how that could happen, in 1.29 it was "lost". However - I added it again now. - added patch by Peder Stray to the _store() method, which makes it possible to catch arrays of hashes to be stored correctly. - cleaned up the t/run.t testscript to reflect the changes (in fact I did not touch it since 1.18 or so). - added test number 16 to test variable interpolation using ::Interpolated in t/run.t. - fixed bug with new() parameter -AllowMultiOptions which generated a croak() if set to something other than "no". - changed Extended::save() to reflect the API change, it calls now save_file(). 1.31: - i'm such a moron ... I forgot to do a make clean in 1.30, pf. So this is 1.31, which is clean. 1.30: - fixed typo, which made 1.29 unusable (undefined var %config) - added code to check if unknown parameters to new() has been supplied. 1.29: - added 2 procedural functions ParseConf and SaveConf - added new parameters -AutoTrue and -FlagBits - added save_file() which replaces save(), which was weird implemented. If the user only supplied a hash as parameter to save(), then the first key was used as the filename and the rest was used as a config hash (which was then of an uneven size). - save_file() takes now instead of a hash a hash-ref and a filename. And the hashref is optional, since the object already contains a complete hash. - new method save_string() added, which returns the ready generated string instead of writing it to disk. The user can then save it himself. - POD updated. 1.28: - added contributed sub module Config::General::Interpolated by "Wei-Hon Chen" with help from "Autrijus Tang" which makes it possible to use variables inside config files. - _read() accepts now c-comments inside c-comments if they are on a single line. - _read() is now more tolerant to here-identifiers (the ends of here-docs), whitespaces right after such an identifier are allowed (i.e. "EOF "). - _read() does now behave somewhat different with C-comments, they will be the first thing being processed in a config, so the parser really ignores everything inside C-comments. Previously it did not do that, for example here-docs has not been ignored. 1.27: - "make test" complained about uninitialized value in :146, which is now fixed. 1.26: - added filehandle capability to -file. - added -String parameter to new(), which allows one to supply the whole config as a string. - added -MergeDuplicateBlocks option, which causes duplicate blocks to be merged. 1.25: - include statements are now case insensitive - include statements may now also being used with indentation(leading and following whitespaces are allowed) - changed the end here-doc regexp from .+? to \S+? so " < and Anton Luht :-) This allows to include files from the location of the configfile instead from the working directory. 1.24: - AllowMultiOptions printed out the value and not the option itself, if more than one of this particular option occured. - added -UseApacheInclude feature, contributed by Thomas Klausner - fixed bug with multiple options stuff, which did not work with blocks or named blocks. Pointed out by Thomas Klausner , who meant it being feature request, but in fact it was a bug (IMHO). - Config::General does now contain also it's OO-sister Config::General::Extended, which is from now on no more available as an extra module, because it lived a shadowy existence. - finally(!) created a Changelog file (this one, yes). 1.23: - fixed bug, which removed trailing or leading " even no matching " was there. 1.22: - added a new option to new(): -LowerCaseNames, which lowercases all option-names (feature request) 1.21: - lines with just one "#" became an option array named "#" with empty entries, very weird, fixed 1.20: - added an if(exists... to new() for checking of the existence of -AllowMultiOptions. - use now "local $_" because it caused weird results if a user used $_ with the module. 1.19: - you can escape "#" characters using a backslash: "\#" which will now no more treated as a comment. - comments inside here-documents will now remain in the here-doc value. previous history logs are lost in space :-(