Revision history for XML-Simple
2.25 2018-03-18 16:18:24+13:00 Pacific/Auckland
-
disable entity expansion when using XML::Parser, for more secure default
behaviour (patch from Ray Morris)
-
call to XML::Parser constructor is now in its own method to ease overriding
2.24 2017-04-17 16:12:00+12:00 Pacific/Auckland
-
fix typo in last commit with mistakenly removed some underscores
-
don't initialise $XML::Simple::PREFERRED_PARSER to undef as a caller may
have already set it before loading XML::Simple and if not, it would have
defaulted to undef anyway (RT#118205 from Slaven Rezić)
2.23 2017-04-17 15:49:14+12:00 Pacific/Auckland
-
another fix to the logic for detecting circular references (RT#114120 from
Matthias Pitzl, also report from Erland Sommarskog)
2.22 2015-12-05 11:08:20+13:00 Pacific/Auckland
-
POD fix in link to package XML::SAX::ParseFactory (from Mohammad S Anwar)
-
allow subclass to override attribute escaping (from Christopher Masto)
-
POD fix adding NAME section to FAQ (RT#110080 from Bart Martens & gregor
herrmann of the Debian project)
-
POD typo fix (RT#110082 from gregor herrmann of the Debian project)
-
fix reference comparison operator used in checking for circular data
structures (RT#89553 from Laurent Dami)
-
add better diagnostics from file handling code in test suite
2.21 2015-12-04 16:33:49+13:00 Pacific/Auckland
-
Improved diagnostics - xml_in() will now catch parse exceptions and add
caller information via Carp::croak
-
Switch to use lexical warnings (suppress with either 'no warnings;' or
'no warnings "XML::Simple";', rather than $^W = 0)
-
POD fixes (from David Steinbrunner)
-
Regex escaping fixes for Perl 5.22+ (from Kent Fredric)
-
Add workaround for test failures on RHEL/CentOS 6.5 (RT#102115 from
Chris Drake, workaround from Tim Bunce)
-
Remove some 'eval' calls from test suite which could mask root cause of
test failures
-
Make each test script use unique filenames to allow tests to be run in
parallel (RT#101362 from Karen Etheridge & Kent Fredric)
-
POD update: mention XML::Twig in 'STATUS' section (RT#79228 from Matt Trout)
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.07
b 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.02
b 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