Version 2.68: ( Tue Jun 21 22:14:39 IDT 2011 ) ------------------------------------------------- * Typo correction: https://rt.cpan.org/Ticket/Display.html?id=69003 Version 2.67: ( Tue Jun 21 14:55:07 IDT 2011 ) ------------------------------------------------- * Made sure that parameters with empty values will be written to the file. - Fixes https://rt.cpan.org/Public/Bug/Display.html?id=68554 . Version 2.66: ( Sat Jan 29 18:28:53 IST 2011 ) ------------------------------------------------- * Add support for the handle_trailing_comment option to support trailing comments at the end of a param=value line. - Fixes https://rt.cpan.org/Public/Bug/Display.html?id=43843 . - Original patch by Peter Xu. - Some comments and corrections of the patch by Shlomi Fish (the current Config-IniFiles maintainer.) Version 2.65: ( Thu Nov 25 12:00:00 IST 2010 ) ------------------------------------------------- * Replaced calls to File::Temp's tempfile() with those to its tempdir() followed by File::Spec->catfile() - hopefully fixes the CPAN smoking failures on Win32. Version 2.64: ( Sat Nov 20 11:47:07 IST 2010 ) ------------------------------------------------- * Fixed https://rt.cpan.org/Ticket/Display.html?id=63177 - tag-release.pl was installed into lib/Config by EU-MM. Converted the Makefile.PL to a wrapper around Build.PL by using Module-Build's create_makefile_pl='small' instead of create_makefile_pl='traditional' . Version 2.63: ( Fri Nov 19 16:50:58 IST 2010 ) ------------------------------------------------- * Fixed https://rt.cpan.org/Ticket/Display.html?id=63079 by refactoring/bug-fixing the main module into the _OutputParam method, which handles the output of multi-line and single-line parameters with all the edge cases. - The reported problem was that EOT was encountered again in certain cases in the output string, and now we make sure the program always avoid it. The reappearance of the bug was caused due to duplicate code, which was now eliminated. Version 2.62: ( Fri Nov 19 15:31:36 IST 2010 ) -------------------------------------------------- * Applied a modified version of Steven Haryanto's commit ac6ace8bf09fabba4e6ea3b2826ff13cd30507bc : - When writing config with fallback section, also omit the fallback section header, like the original file. Also, change t/19param-found-outside-section.t a bit to not require IO::Scalar and use File::Temp instead (we are testing WriteConfig anyway). - Shlomi Fish fixed unless'es to if's and converted a do { ... } if call to a block conditional, as well as made the open statements on t/19param more secure. * Add -nomultiline option. -Applied a modified version of Steven Haryanto's commit 2181f438d40b54c290a2dda5627a244c6e467a7b Version 2.61: ( Sun Nov 14 10:52:39 IST 2010 ) ------------------------------------------------- * Correct the opening comment on t/26scalar-filehandle.t to point to the right bug URL and to include the title of the bug - https://rt.cpan.org/Ticket/Display.html?id=54997 - this is the right URL. * Correct the check in t/26scalar-filehandle.t - it should check that Perl is above 5.8.x - not that IO::Scalar is available, because we use open my $fh, "<", \$buffer; Version 2.60: ( Sat Nov 13 09:21:23 IST 2010 ) ------------------------------------------------ * Made t/19param-found-outside-section.t pass in case IO::Scalar is not installed. - We got many failing test reports due to that, like: - http://www.cpantesters.org/cpan/report/eb3df0f4-eeb7-11df-b934-9430e12b63f3 Version 2.59: ( Fri Nov 12 13:21:02 IST 2010 ) ------------------------------------------------ * Applied a patch from "sharyanto" about enabling the -fallback parameter to new for items outside any section. - https://rt.cpan.org/Public/Bug/Display.html?id=62944 * Add the tag-release.pl file to tag a release. Version 2.58: ( Mon May 17 10:43:06 IDT 2010 ) ------------------------------------------------ * Incorporated a fix for some broken POD. - https://rt.cpan.org/Ticket/Display.html?id=51617 - Thanks to Frank Wiegand for reporting it. * Got rid of \r/carriage-returns's in lib/Config/IniFiles.pm . - It interfered with applying a patch. * Applied a patch to get rid of indirect object notation in the documentation and code ("new Config::IniFiles") and replace it with Config::IniFiles->new(). - https://rt.cpan.org/Ticket/Display.html?id=57536 - Thanks to Tom Molesworth for the patch. Version 2.57: ( Mon Mar 1 15:49:54 IST 2010 ) ------------------------------------------------ * Fixed failure to read the ini file contents from a filehandle made out of a scalar - https://rt.cpan.org/Ticket/Display.html?id=45997 - Applied a patch by Nicolas Mendoza - thanks! Version 2.56: ( Thu Dec 31 06:55:01 IST 2009 ) ------------------------------------------------ * Hopefully fixed the skip() in t/07misc.t - https://rt.cpan.org/Public/Bug/Display.html?id=53238 - It was skip($num, $label) instead of skip($label, $num) and it lacked a "SKIP:" label. Version 2.55: ( Tue Dec 22 17:42:59 IST 2009 ) ------------------------------------------------ * Refactoring the tests: - Converted t/05hash.t to Test::More and modernised it. - Converted t/06oo.t to Test::More and modernised it. - Testing: extracted t/lib/Config/IniFiles/TestPaths.pm. - Converted t/10delta.t to Test::More and modernised it. - Add the t_unlink method. Version 2.54: ( Wed Nov 18 12:00:44 IST 2009 ) ------------------------------------------------ * Adapted t/25line-endings.t to perl-5.6.x . - http://www.nntp.perl.org/group/perl.cpan.testers/2009/11/msg6026936.html - Failure there. - did that by replacing open ">:raw" with "binmode()". Version 2.53: ( Fri Nov 13 11:52:40 IST 2009 ) ------------------------------------------------ * Converted t/01basic.t to Test::More and modernised it. * Converted t/02weird.t to Test::More and modernised it. * Converted t/04import.t to Test::More and modernised it. * Applied a patch from Steffen Heinrich (SHE) for: - https://rt.cpan.org/Ticket/Display.html?id=51445 - included t/25line-endings.t - modified a little. Version 2.52: ( Sun Jun 28 16:16:09 IDT 2009 ) ------------------------------------------------ * Added more keys to Build.PL (author, etc.) * Added resources and keywords to META.yml. * Converted t/00load.t to Test-More. * No longer chdir()-ing into "t" in t/00load.t * Got rid of the "new Config::IniFiles" syntax in the tests. - replaced with Config::IniFiles->new(). - see "Perl Best Practices", "Programming Perl", 3rd Edition Version 2.51: ( Mon Jun 8 12:38:50 IDT 2009 ) ------------------------------------------------ * Fixed "#46721: $config->exists() does not pay attention to -nocase => 1" - https://rt.cpan.org/Ticket/Display.html?id=46721 Version 2.50: ( Sun May 31 14:54:14 IDT 2009 ) ------------------------------------------------ * Fixed the POD for SetParameterEOT: - https://rt.cpan.org/Ticket/Display.html?id=28375 * Added t/pod.t and t/pod-coverage.t and fixed the problems they pointed: - Removed some trailing pod. - http://rt.cpan.org/Ticket/Display.html?id=46549 - Documented the ->OutputConfig() method. Version 2.49: ( Sat May 2 17:16:28 IDT 2009 ) ------------------------------------------------ * Fixed bug https://rt.cpan.org/Public/Bug/Display.html?id=45209 : - Makefile.PL lacked the empty "PL_FILES" directive. * Fixed bug https://rt.cpan.org/Ticket/Display.html?id=45588 : - Failure to read ini file contents from a scalar (via "IO::Scalar"). - added t/23scalar-ref.t Version 2.48: ( Tue Apr 7 15:24:55 IDT 2009 ) ------------------------------------------------ * Fixed bug https://rt.cpan.org/Ticket/Display.html?id=30402 : - Trailing comments at the end of the file are not written. - added a test (t/22trailing-comment-lines.t ) and a test file. * Reverted the fix to bug #34067 ( "Multiline values returned as array references in tied hash interface"), as it could potentially break a lot of old code, and was not such a good idea, and was less preferable from interface-sanity reasons. * Documented the old API in regards to bug #34067 - see above. Version 2.47: ( Wed Jan 21 11:32:24 IST 2009 ) ------------------------------------------------ * Fixed bug https://rt.cpan.org/Ticket/Display.html?id=34067 : - Multiline values returned as array references in tied hash interface - This was as opposed to the documentation. - added t/21multiline-values-in-tied.t and fixed some older tests. * Moved the eval'ed debugging code (_assert_invariants) to its own module, without the eval so the perl-5.6.2 will be happy. Now explicitly use'ing it from t/lib where appropriate. See for example: - http://www.nntp.perl.org/group/perl.cpan.testers/2009/01/msg3101788.html Version 2.46: ( Sat Jan 17 16:31:52 IST 2009 ) ------------------------------------------------ * Added regression tests for bug #1720915 - https://sourceforge.net/tracker/index.php?func=detail&aid=1720915&group_id=6926&atid=106926 - the bug seems to be fixed in trunk. * Added a regression test for RT #36584 - https://rt.cpan.org/Ticket/Display.html?id=36584 - the bug seems to be fixed in trunk. * Added a regression test for RT #36309 - https://rt.cpan.org/Ticket/Display.html?id=36309 - Testing for allowedcommentchars. - the bug seems to be fixed in trunk. * Converted t/03comments.t to Test::More and did other cleanups in preparation of solving a few bugs. * Now GetSectionComment does the documented behaviour in scalar context and returns the string joined by newlines: - https://rt.cpan.org/Ticket/Display.html?id=8612 * Now GetParameterComment returns the right thing in scalar context (joined by newlines). It was documented and tested. - https://rt.cpan.org/Ticket/Display.html?id=8612 Version 2.45: ( Sat Dec 27 17:21:45 IST 2008 ) ------------------------------------------------ * Fixed bug #1230339: - https://sourceforge.net/tracker/index.php?func=detail&aid=1230339&group_id=6926&atid=106926 - Can't store and retrive "\nEOT\n" - Fixed by checking for the existence of the here-doc terminator in the string, and if so appending more characters. * Fixed bug #1565180 - https://sourceforge.net/tracker/index.php?func=detail&aid=1565180&group_id=6926&atid=106926 - -nocase breaks -default. - If a default-values section is specified, then -nocase did not look it up if it's not lowercase. * Fixed bug #1831654 - https://sourceforge.net/tracker/index.php?func=detail&aid=1831654&group_id=6926&atid=106926 - multiline-values are tainted. - Added a test as t/17untainted-multiline-values.t Version 2.44: ( Thu Dec 25 11:44:07 IST 2008 ) ------------------------------------------------ * Eliminated an assignment of $VERSION into itself to "get rid of warnings". Only caused warnings at Build.PL, and is unnecessary now that we "use vars". Version 2.43: ( Thu Dec 4 18:56:02 IST 2008 ) ------------------------------------------------ * Placed IniFiles.pm under lib/Config/IniFiles.pm. * Added a Build.PL file for the distribution. * Moved the ChangeLog to its own file - Changes. * Made the README contain the useful information and nothing else - previously it was a copy of the module's entire POD. * Added a regression test for: https://sourceforge.net/tracker/index.php?func=detail&aid=778593&group_id=6926&atid=106926 When copying tied-hashes representing sections with multiline values as keys, one used to get a reference instead of a copy. This was fixed in SVN but not in CPAN. * Added a test for opening an empty file, inspired by: https://sourceforge.net/tracker/index.php?func=detail&aid=927111&group_id=6926&atid=106926 * Added a fix for this bug: https://sourceforge.net/tracker/index.php?func=detail&aid=767913&group_id=6926&atid=106926 With a test that I wrote myself: in list context, ->val() returned the list containing (undef()) if there was no such key. Now returning the empty list which evaluates to false. * Added a test for bug "[ 2030786 ] Brackets within values are treated as section headers" It seems to be fixed on SVN. Revision 2.40 2003/12/08 10:33:13 domq Documentation tidyup Revision 2.39 2003/12/06 07:54:21 wadg [By Proxy for domq] * Encapsulation of internal data structures even for use within the class: e.g. ReadConfig() and the TIEHASH interface operate using accessor methods on $self. Causes massive simplification of the code. * TIEHASH interface made load-on-demand. Order of each() in TIEHASH same as configuration file's order (i.e. $self->Sections() and $self->Parameters()). * push() and exists() methods * -allowempty and -deltas parameters to new() * support for loading config from a SCALAR reference. Unfortunately this also requires a small patch to IO::Scalar, whose author has yet to respond to my email * ->{myparms} and ->{mysects} fields, supporting -delta=>1 option to WriteConfig() * _assert_invariants() method (used only in t/01basic.t and t/02weird.t, maybe should be packaged otherwise) Revision 2.39 2003/11/10 15:37:48 dom * Encapsulation of internal data structures even for use within the class: e.g. ReadConfig() and the TIEHASH interface operate using accessor methods on $self. Causes massive simplification of the code. * TIEHASH interface made load-on-demand. Order of each() in TIEHASH same as configuration file's order (i.e. $self->Sections() and $self->Parameters()). * push() and exists() methods * -allowempty and -deltas parameters to new() * support for loading config from a SCALAR reference. Unfortunately this also requires a small patch to IO::Scalar, whose author has yet to respond to my email * ->{myparms} and ->{mysects} fields, supporting -delta=>1 option to WriteConfig() * _assert_invariants() method (used only in t/01basic.t and t/02weird.t, maybe should be packaged otherwise) Revision 2.38 2003/05/14 01:30:32 wadg - fixed RewriteConfig and ReadConfig to work with open file handles - added a test to ensure that blank files throw no warnings - added a test for error messages from malformed lines Revision 2.37 2003/01/31 23:00:35 wadg Updated t/07misc test 4 to remove warning Revision 2.36 2002/12/18 01:43:11 wadg - Improved error message when an invalid line is encountered in INI file - Fixed bug 649220; importing a non-file-based object into a file one no longer destroys the original object Revision 2.33 2002/11/12 14:48:16 grail Addresses feature request - [ 403496 ] A simple change will allow support on more platforms Revision 2.32 2002/11/12 14:15:44 grail Addresses bug - [225971] Respect Read-Only Permissions of File System Revision 2.31 2002/10/29 01:45:47 grail [ 540867 ] Add GetFileName method Revision 2.30 2002/10/15 18:51:07 wadg Patched to stopwarnings about utf8 usage. Revision 2.29 2002/08/15 21:33:58 wadg - Support for UTF Byte-Order-Mark (Raviraj Murdeshwar) - Made tests portable to Mac (p. kent) - Made file parsing portable for s390/EBCDIC, etc. (Adam Fischler) - Fixed import bug with Perl 5.8.0 (Marek Rouchal) - Fixed precedence bug in WriteConfig (Luc St Louis) - Fixed broken group detection in SetGroupMember and RemoveGroupMember (Kay Röpke) - Added line continuation character (/) support (Marek Rouchal) - Added configurable comment character support (Marek Rouchal) Revision 2.28 2002/07/04 03:56:05 grail Changes for resolving bug 447532 - _section::FETCH should return array ref for multiline values. Revision 2.27 2001/12/20 16:03:49 wadg - Fixed bug introduced in new valid file check where ';' comments in first lines were not considered valid - Rearranged some tests to put them in the proper files (case and -default) - Added more comment test to cover more cases - Fixed first two comments tests which weren't doing anything Revision 2.26 2001/12/19 22:20:50 wadg #481513 Recognize badly formatted files Revision 2.25 2001/12/12 20:44:48 wadg Update to bring CVS version in synch Revision 2.24 2001/12/07 10:03:06 wadg 222444 Ability to load from arbitrary source Revision 2.23 2001/12/07 09:35:06 wadg Forgot to include updates t/test.ini Revision 2.22 2001/12/06 16:52:39 wadg Fixed bugs 482353,233372. Updated doc for new mgr. Revision 2.21 2001/08/14 01:49:06 wadg Bug fix: multiple blank lines counted as one Patched README change log to include recent updates Revision 2.20 2001/06/07 02:49:52 grail - Added checks for method parameters being defined - fixed some regexes to make them stricter - Fixed greps to make them consistent through the code (also a vain attempt to help my editors do syntax colouring properly) - Added AddSection method, replaced chunk of ReadConfig with AddSection - Added case handling stuff to more methods - Added RemoveGroupMember - Made variable names more consistent through OO methods - Restored Unix EOLs Revision 2.19 2001/04/04 23:33:40 wadg Fixed case sensitivity bug Revision 2.18 2001/03/30 04:41:08 rbowen Small documentation change in IniFiles.pm - pod2* was choking on misplaces =item tags. And I regenerated the README The main reason for this release is that the MANIFEST in the 2.17 version was missing one of the new test suite files, and that is included in this re-release. Revision 2.17 2001/03/21 21:05:12 wadg Documentation edits Revision 2.16 2001/03/21 19:59:09 wadg 410327 -default not in original; 233255 substring parameters Revision 2.15 2001/01/30 11:46:48 rbowen Very minor documentation bug fixed. Revision 2.14 2001/01/08 18:02:32 wadg [Bug #127325] Fixed proken import; changelog; moved Revision 2.13 2000/12/18 07:14:41 wadg [Bugs# 122441,122437] Alien EOLs and OO delete method Revision 2.12 2000/12/18 04:59:37 wadg [Bug #125524] Writing multiline of 2 with tied hash Revision 2.11 2000/12/16 12:53:13 grail [BUG #122455] Problem with File Permissions Revision 2.10 2000/12/13 17:40:18 rbowen Updated version number so that CPAN will stop being angry with us. Revision 1.18 2000/12/08 00:45:35 grail Change as requested by Jeremy Wadsack, for Bug 123146 Revision 1.17 2000/12/07 15:32:36 grail Further patch to duplicate sections bug, and replacement of repeated values handling code. Revision 1.14 2000/11/29 11:26:03 grail Updates for task 22401 (no more reloadsig) and 22402 (Group and GroupMember doco) Revision 1.13 2000/11/28 12:41:42 grail Added test for being able to add sections with wierd names like section|version2 Revision 1.11 2000/11/24 21:20:11 rbowen Resolved SourceForge bug #122445 - a parameter should be split from its value on the first = sign encountered, not on the last one. Added test suite to test this, and put test case in test.ini Revision 1.10 2000/11/24 20:40:58 rbowen Updated MANIFEST to have file list of new files in t/ Updated IniFiles.pm to have mention of sourceforge addresses, rather than rcbowen.com addresses Regenerated README from IniFiles.pm Revision 1.9 2000/11/23 05:08:08 grail Fixed documentation for bug 122443 - Check that INI files can be created from scratch. Revision 1.1.1.1 2000/11/10 03:04:01 rbowen Initial checkin of the Config::IniFiles source to SourceForge Revision 1.8 2000/10/17 01:52:55 rbowen Patch from Jeremy. Fixed "defined" warnings. Revision 1.7 2000/09/21 11:19:17 rbowen Mostly documentation changes. I moved the change log into the POD rather than having it in a separate Changes file. This allows people to see the changes in the Readme before they download the module. Now I just need to make sure I remember to regenerate the Readme every time I do a commit. 1.6 September 19, 2000 by JW, AS * Applied several patches submitted to me by Jeremy and Alex. * Changed version number to the CVS version number, so that I won't have to think about changing it ever again. Big version change should not be taken as a huge leap forward. 0.12 September 13, 2000 by JW/WADG * Added documentation to clarify autovivification issues when creating new sections * Fixed version number (Oops!) 0.11 September 13, 2000 by JW/WADG * Applied patch to Group and GroupMembers functions to return empty list when no groups are present (submitted by John Bass, Sep 13) 0.10 September 13, 2000 by JW/WADG * Fixed reference in POD to ReWriteFile. changes to RewriteConfig * Applied patch for failed open bug submitted by Mordechai T. Abzug Aug 18 * Doc'd behavior of failed open * Removed planned SIG testing from test.pl as SIGs have been removed * Applied patch from Thibault Deflers to fix bug in parameter list when a parameter value is undef 0.09 Hey! Where's the change log for 0.09? 0.08 2000-07-30 Adrian Phillips <adrianp@powertech.no> * test.pl: Fixed some tests which use $\, and made those that try to check a non existant val check against ! defined. * IniFiles.pm: hopefully fixed use of $\ when this is unset (problems found when running tests with -w). Similar problem with $/ which can be undefined and trying to return a val which does not exist. Modified val docs section to indicate a undef return when this occurs. 0.07 Looks like we missed a change log for 0.07. Bummer. 0.06 Sun Jun 25, 2000 by Daniel Winkelmann * Patch for uninitialized value bug in newval and setval 0.05 Sun Jun 18, 2000 by RBOW * Added something to shut up -w on VERSIONS * Removed unused variables 0.04 Thu Jun 15 - Fri Jun 16, 2000 by JW/WADG * Added support for -import option on ->new * Added support for tying a hash * Edited POD for grammer, clarity and updates * Updated test.pl file * Fixed bug in multiline/single line output * Fixed bug in default handling with tie interface * Added bugs to test.pl for regression * Fixed bug in {group} vs. {groups} property (first is valid) * Fixed return value for empty {sects} or {parms}{$sect} in Sections and Parameters methods 0.03 Thu Jun 15, 2000 by RBOW * Modifications to permit 'use strict', and to get 'make test' working again. 0.02 Tue Jun 13, 2000 by RBOW * Fixed bug reported by Bernie Cosell - Sections, Parameters, and GroupMembers return undef if there are no sections, parameters, or group members. These functions now return () if the particular value is undefined. * Added some contributed documentation, from Alex Satrapa, explaining how the internal data structure works. * Set up a project on SourceForge. (Not a change, but worth noting). * Added Groups method to return a list of section groups. 0.01 Mon Jun 12, 2000 by RBOW Some general code cleanup, in preparation for changes to come. Put up Majordomo mailing list and sent invitation to various people to join it.