Revision history for XML-Simple 2.20 2012-06-20 22:00:13 Pacific/Auckland - Suppress warning from empty CDATA section (RT#58359 from Juan Antonio Navarro Pérez) 2.19_02 2012-06-19 20:33:53 Pacific/Auckland - Reinstate XML::SAX::Expat dependency - Fix warnings tests (broken in 2.19_01) which rely on global $^W 2.19_01 2012-06-17 23:27:22 Pacific/Auckland - Use lexical filehandles instead of old-style fileglobs (RT#77787 from Quanah) - Restrict scope of :strict mode to calling package (RT#41562 from Hannu Aronsson) - Fix POD typo (RT#45414 from Anirvan Chatterjee) - Update POD to reflect best practise regarding :strict and options - Change minimum Perl requirement to 5.008 - Switch to using Dist::Zilla for release management 2.18 Aug 15 2007 - Non-unique key attribute values now trigger a warning (or a fatal error in strict mode) rather than silently discarding data (patch from Daniel Baysinger) 2.17 Aug 02 2007 - Added parse_string(), parse_file() and parse_fh() methods - Added default_config_file(), and build_simple_tree() hook methods - Tweak to implementation of exporting (patch from Stuart Moore) - Documented hook methods - Fixed test suite race condition (RT#28603 from Andreas J. König) 2.16 Oct 30 2006 - Added test/fix for bad GroupTags option (report from Lee Goddard) - Added new_hashref() hook method - refactored cache save/restore methods for easier overriding 2.15 Oct 03 2006 - Makefile.PL changes: reject known-bad PurePerl and RTF parser modules; default to XML::SAX::Expat if no parser installed - allow '.' characters in variable names (suggested by Cosimo Streppone) - fix output of undefs in arrayrefs with SuppressEmpty (reported by かんな - Kanna) - tidy up code and docs around lexical filehandle passed to OutputFile (report from Helge Sauer) - reduce memory usage by passing XML strings by reference (patch from Dan Sully) 2.14 Jan 29 2005 - unlink and lock fixes for VMS (patch from Peter (Stig) Edwards) 2.13 Nov 17 2004 - Fixed bug where NoIndent broke KeyAttr (reported by David Haas) - Added copy_hash helper method which may be overridden to avoid tied hashes becoming untied during XMLout (patch from Jan Sundberg) - Fixed bug where GroupTags corrupted source hashref in XMLout (reported by Bram) - Tweaks to SuppressEmpty for undef with XMLout (report from jamesb), behaviour now matches docs and additional behaviour of setting option to 1 will skip undefined values altogether 2.12 Apr 05 2004 - added NumericEscape option - added ValueAttr option (patch from Anton Berezin) - suppress 'wide character in print' warning (reported by Dawei Lin) 2.11 Mar 02 2004 - Fixed hash ordering assumption in a new test (reported by Jost Krieger) 2.10 Feb 29 2004 - Added AttrIndent option (patch from Volker Moell) - Hash keys are now sorted alphabetically by default; enable the new NoSort option if you don't want this (patch from Volker Moell) - Fixed bug where disabling array folding broke anonymous array handling - Fixed bug when unfolding a tied hash - SuppressEmpty patch from Douglas Wilson - Numerous test improvements - Devel::Cover rocks! - POD update re XMLin(XMLout($data)) caveats (bug report from Slaven Rezic) 2.09 Sep 09 2003 - Makefile.PL makeover contributed by Joshua Keroes - fixed hash ordering assumption in test script (reported by Michel Rodriguez) - POD updates - updated link to Perl XML FAQ 2.08 Jun 13 2003 - fixed variable expansion not happening in attributes (patch from Paul Bussé) 2.07 May 20 2003 - added test to catch old versions of Storable which lack locking support - removed new-style loop which broke on 5.005_03 - suppress more uninitialised variable warnings 2.06 May 18 2003 - fixed strict mode requiring ForceArray on output (fix from Igor Román Mariño) - fixed warnings about uninitialised values - minor POD update (link to FAQ) 2.05 Apr 16 2003 - fixed warnings when NormaliseSpace undefined (reported by Peter Scott and others) - added support for specifying ForceArray using regular expressions (patch from Jim Cromie) - added check to escape_value to guard against undefined argument (reported by Henrik Gemal) - added NoIndent option (requested by Afroze Husain Zubairi) 2.04 Apr 10 2003 - integrated a patch from Michel Rodriguez + new facility for removing extra levels of indirection (using the new 'GroupTags' option) + new facility for rolling the dreaded 'content' hash up into a scalar if there are no keys left after array folding (using the '-' prefix mode on the ContentKey option) + new facility for doing variable substitution in the XML; variables can be defined in Perl (using the new 'Variables' option) or in the XML document (using the new 'VarAttr' option) - added 'NormaliseSpace' option for tidying up hash keys and other text content if required (feature requested by Alex Manoussakis) - option names are now case-insensitive and can include underscores - XMLin() and XMLout() are now aliased to xml_in() and xml_out() when called as methods or imported explicitly - option names passed to XML::Simple->new() are now validated 2.03 Jan 20 2003 - fixed circular reference check which was incorrectly catching 'parallel' references (patch from Theo Lengyel) 2.02 Dec 15 2002 - changed Storable calls to use locking (reported by Randal Schwarz) 2.01 Dec 11 2002 - fixed bug whereby :strict mode required forcearray on XMLout() (reported by Ville Skytta) 2.00 Dec 08 2002 - first production release with SAX support - added support for 'strict mode' using :strict import tag - removed locking code (as it was incompatible with iThreads) - integrated patch for test failures from Sean Campbell - fixed stringification of references during folding (reported by Trond Michelsen) - fixed incompatability with Tie::IxHash (reported by Venkataramana Mokkapati) - POD: alphabetised options (patch from John Borwick) - POD: updated suppressempty (patch from Kjetil Kjernsmo) - added FAQ.pod to distribution and added new questions 1.08_01 Feb 14 2002 - beta release for testing SAX support - fixed errors with default namespace handling - minor POD updates 1.08 Feb 09 2002 - re-release of 1.06 (stable) with minor updates ... - searchpath option now defaults to current directory if not set - fix to Storable test routine for test failures on Win32 - removed obselete 'convert' script from distribution 1.07b Feb 05 2002 - beta release for testing SAX support - added SAX support including: + using SAX parsers + acting as a SAX handler + generating SAX events from XMLout() with new Handler option + acting as a SAX filter (via new DataHandler option) - added $ENV{XML_SIMPLE_PREFERRED_PARSER} and $XML::Simple::PREFERRED_PARSER for selecting a parser module - added namespace support (SAX only) with nsexpand option for both XMLin() and XMLout() - searchpath now defaults to current directory - parseropts option now officially deprecated - removed obselete 'convert' script from distribution - many POD updates (more to come) 1.06 Nov 19 2001 - fixed version number in default xmldecl (thanks to Matt Sergeant for bug report and patch) - updated contact email address for author 1.05 Aug 31 2000 - code re-org to make internals all OO for easier extending - added 'noattr' option to tell XMLout() not to use attributes (only nested elements) and XMLin() to discard attributes - added 'suppressempty' option to tell XMLin what to do with elements with no attributes and no content - added 'parseropts' option for specifying options which should be passed to the underlying XML::Parser object - added 'forcecontent' option to force text content to parse to a hash value even if the element has no attributes - fix for forcearray getting applied to text content - integrated patch from Paul Lindner to work around filenames sometimes being seen as XML when running under mod_perl - integrated patch from Edward Avis: filename '-' means stdin - fixed bug where a missing key attribute could cause a crash - added a warning message for above situation - added 'support' for CDATA sections - they always worked, but now they're in the test suite which should ensure they keep working - fixed error message when caching enabled but parsing from filehandle - fixed empty elements being skipped by XMLout() when folding enabled - fixed text content of '0' being skipped by XMLout() 1.04 Apr 03 2000 - fix for text content being skipped by XMLout - added (optional) OO interface for changing default options - added 'keeproot' option (requested by Mark D. Anderson - MDA) - added 'contentkey' option (also requested by MDA) - incorporated 'forcearray' as arrayref patch from Andrew McNaughton 1.03 Mar 05 2000 - added 'maketest' script for make impaired platforms - yet more cross platform robustness added to test scripts incl workaround for Win32 problem where writing to file changed contents but not timestamp(!) - backed out one overzealous use of File::Spec in test script - POD updates including XML::Twig description contributed by Michel Rodriguez 1.02b Feb 16 2000 - limited distribution beta - reinstated locking with new backwards compatibility code - fixed platform dependant pathname handling to use File::Basename & File::Spec in XML::Simple.pm and test scripts - fixed bug causing XMLout() to incorrectly barf on what it thought was a recursive data structure - removed spurious checking code which stopped XMLout unfolding a single nested hash - fixed t/4_MemShare.t to gracefully cope with the absense of utime() - changed t/3_Storable.t and t/5_MemCopy.t to skip gracefully if no Storable.pm - removed superflous eval blocks around requires 1.01 Dec 1 1999 - removed faulty locking code pending a fix 1.00 Nov 25 1999 - added escaping feature + noescape option - added xmldecl option - further tidy ups for thread safing - more POD revisions (incl: pointers to other modules) 0.95 Nov 2 1999 - added rootname option - added outputfile option - lots of internal tidy ups for thread safing - fixed bug in check for XML string to XMLin() - extra tests (esp option handling) 0.90 Oct 14 1999 (first beta release) - module renamed to XML::Simple ready for CPAN upload - XMLToOpt() renamed to XMLin() - OptToXML() renamed to XMLout() - added 'convert' script 0.05 Sep 18 1999 - fixed location of XML.pm in distribution (make install didn't work) - added tests for MemCopy - fixed ABSTRACT_FROM in Makefile.PL - fixed PREREQ_PM in Makefile.PL 0.04 Aug 10 1999 - added caching using Storable.pm - updated MANIFEST to include missing test files 0.03 Jun 20 1999 - rewrite of OptToXML - anonymous array support - more and better test routines - POD updates 0.02 Jun 10 1999 - added support for OptToXML - fixed searchpath inconsistencies - added 'forcearray' option - POD improvements - much improved test routines 0.01 May 27 1999 - original version; created by h2xs 1.18 - module called 'Getopt::XML' - included basic XMLToOpt routine