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.