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