1=head1 NAME 2 3Changes - public release history for Data::Dumper 4 5=head1 DESCRIPTION 6 7=over 8 8 9=item 2.167_02 (Aug 4 2017) 10 11Attempt to work around XS deparse issues on old perls. 12According to the few old perls at my disposure, this now repairs, 13for example 5.18, but 5.8.9 still barfs. My debugging hasn't 14really come up with much since all changes other than the deparse 15change look benign to me. 16Can someone who uses ancient perls please step up and take a look? 17--Steffen 18 19=item 2.167_01 (Jul 31 2017) 20 21CPAN dev release with the accumulated changes from core perl. 22 23=item 2.166 (Nov 29 2016) 24 25Reduce memory usage by not importing from Carp 26Reduce memory usage by removing unused overload require. 27 28=item 2.165 (Nov 20 2016) 29 30Remove impediment to compiling under C++11. 31 32=item 2.164 (Nov 12 2016) 33 34The XS implementation now handles the C<Deparse> option, so using it no 35longer forces use of the pure-Perl version. 36 37=item 2.161 (Jul 11 2016) 38 39Perl 5.12 fix/workaround until fixed PPPort release. 40 41Pre-5.12 fixes for test dependency. 42 43=item 2.160 (Jul 3 2016) 44 45Now handles huge inputs on 64bit perls. 46 47Add Trailingcomma option. This is as suggested in RT#126813. 48 49Significant refactoring of XS implementation. 50 51Pure Perl implementation fixes in corner cases ("\n" dumped raw"). 52 53=item 2.154 (Sep 18 2014) 54 55Most notably, this release fixes CVE-2014-4330: 56 57 Don't recurse infinitely in Data::Dumper 58 59 Add a configuration variable/option to limit recursion when dumping 60 deep data structures. 61 [...] 62 This patch addresses CVE-2014-4330. This bug was found and 63 reported by: LSE Leading Security Experts GmbH employee Markus 64 Vervier. 65 66On top of that, there are several minor big fixes and improvements, 67see "git log" if the core perl distribution for details. 68 69=item 2.151 (Mar 7 2014) 70 71A "useqq" implementation for the XS version of Data::Dumper. 72 73Better compatibility wrt. hash key quoting between PP and XS 74versions of Data::Dumper. 75 76EBCDIC fixes. 77 7864bit safety fixes (for very large arrays). 79 80Build fixes for threaded perls. 81 82clang warning fixes. 83 84Warning fixes in tests on older perls. 85 86Typo fixes in documentation. 87 88=item 2.145 (Mar 15 2013) 89 90Test refactoring and fixing wide and far. 91 92Various old-perl compat fixes. 93 94=item 2.143 (Feb 26 2013) 95 96Address vstring related test failures on 5.8: Skip tests for 97obscure case. 98 99Major improvements to test coverage and significant refactoring. 100 101Make Data::Dumper XS ignore Freezer return value. Fixes RT #116364. 102 103Change call of isALNUM to equivalent but more clearly named isWORDCHAR 104 105=item 2.139 (Dec 12 2012) 106 107Supply an explicit dynamic_config => 0 in META 108 109Properly list BUILD_REQUIRES prereqs (P5-RT#116028) 110 111Some optimizations. Removed useless "register" declarations. 112 113=item 2.136 (Oct 04 2012) 114 115Promote to stable release. 116 117Drop some "register" declarations. 118 119=item 2.135_07 (Aug 06 2012) 120 121Use the new utf8 to code point functions - fixing a potential 122reading buffer overrun. 123 124Data::Dumper: Sparseseen option to avoid building much of the seen 125hash: This has been measured to, in some cases, provide a 50% speed-up 126 127Dumper.xs: Avoid scan_vstring on 5.17.3 and up 128 129Avoid a warning from clang when compiling Data::Dumper 130 131Fix DD's dumping of qr|\/| 132 133Data::Dumper's Perl implementation was not working with overloaded 134blessed globs, which it thought were strings. 135 136Allow Data::Dumper to load on miniperl 137 138=item 2.135_02 (Dec 29 2011) 139 140Makes DD dump *{''} properly. 141 142[perl #101162] DD support for vstrings: 143Support for vstrings to Data::Dumper, in both Perl and XS 144implementations. 145 146=item 2.135_01 (Dec 19 2011) 147 148Make Data::Dumper UTF8- and null-clean with GVs. 149 150In Dumper.xs, use sv_newmortal() instead of sv_mortalcopy(&PL_sv_undef) 151for efficiency. 152 153Suppress compiler warning 154 155Keep verbatim pod in Data::Dumper within 80 cols 156 157=item 2.131 (May 27 2011) 158 159Essentially the same as version 2.130_02, but a production release. 160 161=item 2.130_03 (May 20 2011) 162 163Essentially the same as version 2.130_02, but a CPAN release 164for the eventual 2.131. 165 166=item 2.130_02 167 168This was only shipped with the perl core, never released to CPAN. 169 170Convert overload.t to Test::More 171 172Fix some spelling errors 173 174Fix some compiler warnings 175 176Fix an out of bounds write in Data-Dumper with malformed utf8 input 177 178=item 2.130 (Nov 20 2010) 179 180C<Dumpxs> can now handle malformed UTF-8. 181 182=item 2.129 (Oct 20 2010) 183 184C<Dumpxs> no longer crashes with globs returned by C<*$io_ref> 185[perl #72332]. 186 187=item 2.128 (Sep 10 2010) 188 189Promote previous release to stable version with the correct version. 190 191=item 2.127 (Sep 10 2010) 192 193Promote previous release to stable version. 194 195=item 2.126_01 (Sep 6 2010) 196 197Port core perl changes e3ec2293dc, fe642606b19. 198Fixes core perl RT #74170 (handle the stack changing in the 199custom sort functions) and adds a test. 200 201=item 2.126 (Apr 15 2010) 202 203Fix Data::Dumper's Fix Terse(1) + Indent(2): 204perl-RT #73604: When $Data::Dumper::Terse is true, the indentation is thrown 205off. It appears to be acting as if the $VAR1 = is still there. 206 207=item 2.125 (Aug 8 2009) 208 209CPAN distribution fixes (meta information for META.yml). 210 211=item 2.124 (Jun 13 2009) 212 213Add three missing test files. 214 215=item 2.123 (Jun 11 2009) 216 217Re-add the INSTALLDIRS => 'perl' directive to Makefile.PL 218of the CPAN release. 219 220=item 2.122 (Jun 9 2009) 221 222Promote previous developer release to stable release. 223 224=item 2.121_20 (Jun 6 2009) 225 226A host of bug fixes and improvements that have 227accumulated in the perl core 228 229Updated backport to 5.6.1 by Steffen Mueller <smueller@cpan.org>. 230 231=item 2.121 (Aug 24 2003) 232 233Backport to 5.6.1 by Ilya Martynov <ilya@martynov.org>. 234 235=item 2.11 (unreleased) 236 237C<0> is now dumped as such, not as C<'0'>. 238 239qr// objects are now dumped correctly (provided a post-5.005_58) 240overload.pm exists). 241 242Implemented $Data::Dumper::Maxdepth, which was on the Todo list. 243Thanks to John Nolan <jpnolan@Op.Net>. 244 245=item 2.101 (30 Apr 1999) 246 247Minor release to sync with version in 5.005_03. Fixes dump of 248dummy coderefs. 249 250=item 2.10 (31 Oct 1998) 251 252Bugfixes for dumping related undef values, globs, and better double 253quoting: three patches suggested by Gisle Aas <gisle@aas.no>. 254 255Escaping of single quotes in the XS version could get tripped up 256by the presence of nulls in the string. Fix suggested by 257Slaven Rezic <eserte@cs.tu-berlin.de>. 258 259Rather large scale reworking of the logic in how seen values 260are stashed. Anonymous scalars that may be encountered while 261traversing the structure are properly tracked, in case they become 262used in data dumped in a later pass. There used to be a problem 263with the previous logic that prevented such structures from being 264dumped correctly. 265 266Various additions to the testsuite. 267 268=item 2.09 (9 July 1998) 269 270Implement $Data::Dumper::Bless, suggested by Mark Daku <daku@nortel.ca>. 271 272=item 2.081 (15 January 1998) 273 274Minor release to fix Makefile.PL not accepting MakeMaker args. 275 276=item 2.08 (7 December 1997) 277 278Glob dumps don't output superflous 'undef' anymore. 279 280Fixes from Gisle Aas <gisle@aas.no> to make Dumper() work with 281overloaded strings in recent perls, and his new testsuite. 282 283require 5.004. 284 285A separate flag to always quote hash keys (on by default). 286 287Recreating known CODE refs is now better supported. 288 289Changed flawed constant SCALAR bless workaround. 290 291=item 2.07 (7 December 1996) 292 293Dumpxs output is now exactly the same as Dump. It still doesn't 294honor C<Useqq> though. 295 296Regression tests test for identical output and C<eval>-ability. 297 298Bug in *GLOB{THING} output fixed. 299 300Other small enhancements. 301 302=item 2.06 (2 December 1996) 303 304Bugfix that was serious enough for new release--the bug cripples 305MLDBM. Problem was "Attempt to modify readonly value..." failures 306that stemmed for a misguided SvPV_force() instead of a SvPV().) 307 308=item 2.05 (2 December 1996) 309 310Fixed the type mismatch that was causing Dumpxs test to fail 311on 64-bit platforms. 312 313GLOB elements are dumped now when C<Purity> is set (using the 314*GLOB{THING} syntax). 315 316The C<Freezer> option can be set to a method name to call 317before probing objects for dumping. Some applications: objects with 318external data, can re-bless themselves into a transitional package; 319Objects the maintain ephemeral state (like open files) can put 320additional information in the object to facilitate persistence. 321 322The corresponding C<Toaster> option, if set, specifies 323the method call that will revive the frozen object. 324 325The C<Deepcopy> flag has been added to do just that. 326 327Dumper does more aggressive cataloging of SCALARs encountered 328within ARRAY/HASH structures. Thanks to Norman Gaywood 329<norm@godel.une.edu.au> for reporting the problem. 330 331Objects that C<overload> the '""' operator are now handled 332properly by the C<Dump> method. 333 334Significant additions to the testsuite. 335 336More documentation. 337 338=item 2.04beta (28 August 1996) 339 340Made dump of glob names respect C<Useqq> setting. 341 342[@$%] are now escaped now when in double quotes. 343 344=item 2.03beta (26 August 1996) 345 346Fixed Dumpxs. It was appending trailing nulls to globnames. 347(reported by Randal Schwartz <merlyn@teleport.com>). 348 349Calling the C<Indent()> method on a dumper object now correctly 350resets the internal separator (reported by Curt Tilmes 351<curt@ltpmail.gsfc.nasa.gov>). 352 353New C<Terse> option to suppress the 'C<VARI<n> = >' prefix 354introduced. If the option is set, they are output only when 355absolutely essential. 356 357The C<Useqq> flag is supported (but not by the XSUB version 358yet). 359 360Embedded nulls in keys are now handled properly by Dumpxs. 361 362Dumper.xs now use various integer types in perl.h (should 363make it compile without noises on 64 bit platforms, although 364I haven't been able to test this). 365 366All the dump methods now return a list of strings in a list 367context. 368 369 370=item 2.02beta (13 April 1996) 371 372Non portable sprintf usage in XS code fixed (thanks to 373Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>). 374 375 376=item 2.01beta (10 April 1996) 377 378Minor bugfix (single digit numbers were always getting quoted). 379 380 381=item 2.00beta (9 April 1996) 382 383C<Dumpxs> is now the exact XSUB equivalent of C<Dump>. The XS version 384is 4-5 times faster. 385 386C<require 5.002>. 387 388MLDBM example removed (as its own module, it has a separate CPAN 389reality now). 390 391Fixed bugs in handling keys with wierd characters. Perl can be 392tripped up in its implicit quoting of the word before '=>'. The 393fix: C<Data::Dumper::Purity>, when set, always triggers quotes 394around hash keys. 395 396Andreas Koenig <k@anna.in-berlin.de> pointed out that handling octals 397is busted. His patch added. 398 399Dead code removed, other minor documentation fixes. 400 401 402=item 1.23 (3 Dec 1995) 403 404MLDBM example added. 405 406Several folks pointed out that quoting of ticks and backslashes 407in strings is missing. Added. 408 409Ian Phillipps <ian@pipex.net> pointed out that numerics may lose 410precision without quotes. Fixed. 411 412 413=item 1.21 (20 Nov 1995) 414 415Last stable version I can remember. 416 417=back 418 419=cut 420