3 Changes - public release history for Data::Dumper
9 =item 2.179 (May 13 2021)
11 Revert the changes of 2.177 for the v5.34.0 release to avoid a regression.
13 =item 2.178 (Apr 7 2021)
15 Correct documentation of indent Style 2.
17 =item 2.177 (Mar 3 2021)
19 Make Data::Dumper mark regex output as UTF-8 if needed. (GH #18614)
21 =item 2.176 (Sep 30 2020)
23 Make Data::Dumper strict and warnings compliant.
25 =item 2.175 (Aug 13 2020)
27 Avoid some leaks if we call get magic and that throws an exception.
29 =item 2.174 (Apr 3 2019)
31 Avoid leaking if we croak due to excessive recursion.
33 =item 2.173 (Nov 10 2018)
35 perl #133624: Reinstate support for 5.8.8 and older.
37 =item 2.172 (Sep 19 2018)
39 Prepare recent changes for CPAN release
41 =item 2.171 (Apr 21 2018)
43 Restore deparsing support in the XS dumper, on Perl 5.18 and earlier
45 Test fixes on older Perl versions (notably, skip tests for Unicode glob
46 names on Perl 5.14 and earlier, which had incomplete support for Unicode
49 =item 2.170 (Jan 10 2018)
51 Fix bug when dumping globs with quoting (which now happens for
52 all Unicode glob names)
54 Internal change: use strlcpy(), for safety
56 =item 2.169 (Dec 12 2017)
58 Behavior change: $dumper->Useqq(undef) is now treated as setting the
59 "useqq" option, not getting it (and similarly for other options)
62 =item 2.168 (Dec 1, 2017)
64 perl #119831: Quote glob names better; notably, Unicode globs are
67 =item 2.167_02 (Aug 4 2017)
69 Attempt to work around XS deparse issues on old perls.
70 According to the few old perls at my disposure, this now repairs,
71 for example 5.18, but 5.8.9 still barfs. My debugging hasn't
72 really come up with much since all changes other than the deparse
73 change look benign to me.
74 Can someone who uses ancient perls please step up and take a look?
77 =item 2.167_01 (Jul 31 2017)
79 CPAN dev release with the accumulated changes from core perl.
81 =item 2.166 (Nov 29 2016)
83 Reduce memory usage by not importing from Carp
84 Reduce memory usage by removing unused overload require.
86 =item 2.165 (Nov 20 2016)
88 Remove impediment to compiling under C++11.
90 =item 2.164 (Nov 12 2016)
92 The XS implementation now handles the C<Deparse> option, so using it no
93 longer forces use of the pure-Perl version.
95 =item 2.161 (Jul 11 2016)
97 Perl 5.12 fix/workaround until fixed PPPort release.
99 Pre-5.12 fixes for test dependency.
101 =item 2.160 (Jul 3 2016)
103 Now handles huge inputs on 64bit perls.
105 Add Trailingcomma option. This is as suggested in RT#126813.
107 Significant refactoring of XS implementation.
109 Pure Perl implementation fixes in corner cases ("\n" dumped raw").
111 =item 2.154 (Sep 18 2014)
113 Most notably, this release fixes CVE-2014-4330:
115 Don't recurse infinitely in Data::Dumper
117 Add a configuration variable/option to limit recursion when dumping
118 deep data structures.
120 This patch addresses CVE-2014-4330. This bug was found and
121 reported by: LSE Leading Security Experts GmbH employee Markus
124 On top of that, there are several minor big fixes and improvements,
125 see "git log" if the core perl distribution for details.
127 =item 2.151 (Mar 7 2014)
129 A "useqq" implementation for the XS version of Data::Dumper.
131 Better compatibility wrt. hash key quoting between PP and XS
132 versions of Data::Dumper.
136 64bit safety fixes (for very large arrays).
138 Build fixes for threaded perls.
142 Warning fixes in tests on older perls.
144 Typo fixes in documentation.
146 =item 2.145 (Mar 15 2013)
148 Test refactoring and fixing wide and far.
150 Various old-perl compat fixes.
152 =item 2.143 (Feb 26 2013)
154 Address vstring related test failures on 5.8: Skip tests for
157 Major improvements to test coverage and significant refactoring.
159 Make Data::Dumper XS ignore Freezer return value. Fixes RT #116364.
161 Change call of isALNUM to equivalent but more clearly named isWORDCHAR
163 =item 2.139 (Dec 12 2012)
165 Supply an explicit dynamic_config => 0 in META
167 Properly list BUILD_REQUIRES prereqs (P5-RT#116028)
169 Some optimizations. Removed useless "register" declarations.
171 =item 2.136 (Oct 04 2012)
173 Promote to stable release.
175 Drop some "register" declarations.
177 =item 2.135_07 (Aug 06 2012)
179 Use the new utf8 to code point functions - fixing a potential
180 reading buffer overrun.
182 Data::Dumper: Sparseseen option to avoid building much of the seen
183 hash: This has been measured to, in some cases, provide a 50% speed-up
185 Dumper.xs: Avoid scan_vstring on 5.17.3 and up
187 Avoid a warning from clang when compiling Data::Dumper
189 Fix DD's dumping of qr|\/|
191 Data::Dumper's Perl implementation was not working with overloaded
192 blessed globs, which it thought were strings.
194 Allow Data::Dumper to load on miniperl
196 =item 2.135_02 (Dec 29 2011)
198 Makes DD dump *{''} properly.
200 [perl #101162] DD support for vstrings:
201 Support for vstrings to Data::Dumper, in both Perl and XS
204 =item 2.135_01 (Dec 19 2011)
206 Make Data::Dumper UTF8- and null-clean with GVs.
208 In Dumper.xs, use sv_newmortal() instead of sv_mortalcopy(&PL_sv_undef)
211 Suppress compiler warning
213 Keep verbatim pod in Data::Dumper within 80 cols
215 =item 2.131 (May 27 2011)
217 Essentially the same as version 2.130_02, but a production release.
219 =item 2.130_03 (May 20 2011)
221 Essentially the same as version 2.130_02, but a CPAN release
222 for the eventual 2.131.
226 This was only shipped with the perl core, never released to CPAN.
228 Convert overload.t to Test::More
230 Fix some spelling errors
232 Fix some compiler warnings
234 Fix an out of bounds write in Data-Dumper with malformed utf8 input
236 =item 2.130 (Nov 20 2010)
238 C<Dumpxs> can now handle malformed UTF-8.
240 =item 2.129 (Oct 20 2010)
242 C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
245 =item 2.128 (Sep 10 2010)
247 Promote previous release to stable version with the correct version.
249 =item 2.127 (Sep 10 2010)
251 Promote previous release to stable version.
253 =item 2.126_01 (Sep 6 2010)
255 Port core perl changes e3ec2293dc, fe642606b19.
256 Fixes core perl RT #74170 (handle the stack changing in the
257 custom sort functions) and adds a test.
259 =item 2.126 (Apr 15 2010)
261 Fix Data::Dumper's Fix Terse(1) + Indent(2):
262 perl-RT #73604: When $Data::Dumper::Terse is true, the indentation is thrown
263 off. It appears to be acting as if the $VAR1 = is still there.
265 =item 2.125 (Aug 8 2009)
267 CPAN distribution fixes (meta information for META.yml).
269 =item 2.124 (Jun 13 2009)
271 Add three missing test files.
273 =item 2.123 (Jun 11 2009)
275 Re-add the INSTALLDIRS => 'perl' directive to Makefile.PL
278 =item 2.122 (Jun 9 2009)
280 Promote previous developer release to stable release.
282 =item 2.121_20 (Jun 6 2009)
284 A host of bug fixes and improvements that have
285 accumulated in the perl core
287 Updated backport to 5.6.1 by Steffen Mueller <smueller@cpan.org>.
289 =item 2.121 (Aug 24 2003)
291 Backport to 5.6.1 by Ilya Martynov <ilya@martynov.org>.
293 =item 2.11 (unreleased)
295 C<0> is now dumped as such, not as C<'0'>.
297 qr// objects are now dumped correctly (provided a post-5.005_58)
300 Implemented $Data::Dumper::Maxdepth, which was on the Todo list.
301 Thanks to John Nolan <jpnolan@Op.Net>.
303 =item 2.101 (30 Apr 1999)
305 Minor release to sync with version in 5.005_03. Fixes dump of
308 =item 2.10 (31 Oct 1998)
310 Bugfixes for dumping related undef values, globs, and better double
311 quoting: three patches suggested by Gisle Aas <gisle@aas.no>.
313 Escaping of single quotes in the XS version could get tripped up
314 by the presence of nulls in the string. Fix suggested by
315 Slaven Rezic <eserte@cs.tu-berlin.de>.
317 Rather large scale reworking of the logic in how seen values
318 are stashed. Anonymous scalars that may be encountered while
319 traversing the structure are properly tracked, in case they become
320 used in data dumped in a later pass. There used to be a problem
321 with the previous logic that prevented such structures from being
324 Various additions to the testsuite.
326 =item 2.09 (9 July 1998)
328 Implement $Data::Dumper::Bless, suggested by Mark Daku <daku@nortel.ca>.
330 =item 2.081 (15 January 1998)
332 Minor release to fix Makefile.PL not accepting MakeMaker args.
334 =item 2.08 (7 December 1997)
336 Glob dumps don't output superflous 'undef' anymore.
338 Fixes from Gisle Aas <gisle@aas.no> to make Dumper() work with
339 overloaded strings in recent perls, and his new testsuite.
343 A separate flag to always quote hash keys (on by default).
345 Recreating known CODE refs is now better supported.
347 Changed flawed constant SCALAR bless workaround.
349 =item 2.07 (7 December 1996)
351 Dumpxs output is now exactly the same as Dump. It still doesn't
352 honor C<Useqq> though.
354 Regression tests test for identical output and C<eval>-ability.
356 Bug in *GLOB{THING} output fixed.
358 Other small enhancements.
360 =item 2.06 (2 December 1996)
362 Bugfix that was serious enough for new release--the bug cripples
363 MLDBM. Problem was "Attempt to modify readonly value..." failures
364 that stemmed for a misguided SvPV_force() instead of a SvPV().)
366 =item 2.05 (2 December 1996)
368 Fixed the type mismatch that was causing Dumpxs test to fail
371 GLOB elements are dumped now when C<Purity> is set (using the
372 *GLOB{THING} syntax).
374 The C<Freezer> option can be set to a method name to call
375 before probing objects for dumping. Some applications: objects with
376 external data, can re-bless themselves into a transitional package;
377 Objects the maintain ephemeral state (like open files) can put
378 additional information in the object to facilitate persistence.
380 The corresponding C<Toaster> option, if set, specifies
381 the method call that will revive the frozen object.
383 The C<Deepcopy> flag has been added to do just that.
385 Dumper does more aggressive cataloging of SCALARs encountered
386 within ARRAY/HASH structures. Thanks to Norman Gaywood
387 <norm@godel.une.edu.au> for reporting the problem.
389 Objects that C<overload> the '""' operator are now handled
390 properly by the C<Dump> method.
392 Significant additions to the testsuite.
396 =item 2.04beta (28 August 1996)
398 Made dump of glob names respect C<Useqq> setting.
400 [@$%] are now escaped now when in double quotes.
402 =item 2.03beta (26 August 1996)
404 Fixed Dumpxs. It was appending trailing nulls to globnames.
405 (reported by Randal Schwartz <merlyn@teleport.com>).
407 Calling the C<Indent()> method on a dumper object now correctly
408 resets the internal separator (reported by Curt Tilmes
409 <curt@ltpmail.gsfc.nasa.gov>).
411 New C<Terse> option to suppress the 'C<VARI<n> = >' prefix
412 introduced. If the option is set, they are output only when
413 absolutely essential.
415 The C<Useqq> flag is supported (but not by the XSUB version
418 Embedded nulls in keys are now handled properly by Dumpxs.
420 Dumper.xs now use various integer types in perl.h (should
421 make it compile without noises on 64 bit platforms, although
422 I haven't been able to test this).
424 All the dump methods now return a list of strings in a list
428 =item 2.02beta (13 April 1996)
430 Non portable sprintf usage in XS code fixed (thanks to
431 Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>).
434 =item 2.01beta (10 April 1996)
436 Minor bugfix (single digit numbers were always getting quoted).
439 =item 2.00beta (9 April 1996)
441 C<Dumpxs> is now the exact XSUB equivalent of C<Dump>. The XS version
446 MLDBM example removed (as its own module, it has a separate CPAN
449 Fixed bugs in handling keys with wierd characters. Perl can be
450 tripped up in its implicit quoting of the word before '=>'. The
451 fix: C<Data::Dumper::Purity>, when set, always triggers quotes
454 Andreas Koenig <k@anna.in-berlin.de> pointed out that handling octals
455 is busted. His patch added.
457 Dead code removed, other minor documentation fixes.
460 =item 1.23 (3 Dec 1995)
464 Several folks pointed out that quoting of ticks and backslashes
465 in strings is missing. Added.
467 Ian Phillipps <ian@pipex.net> pointed out that numerics may lose
468 precision without quotes. Fixed.
471 =item 1.21 (20 Nov 1995)
473 Last stable version I can remember.