1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324
|
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.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
|