This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Update Changes file for Data::Dumper.
[perl5.git] / dist / Data-Dumper / Changes
1 =head1 NAME
2
3 Changes - public release history for Data::Dumper
4
5 =head1 DESCRIPTION
6
7 =over 8
8
9 =item 2.179 (May 13 2021)
10
11 Revert the changes of 2.177 for the v5.34.0 release to avoid a regression.
12
13 =item 2.178 (Apr  7 2021)
14
15 Correct documentation of indent Style 2.
16
17 =item 2.177 (Mar  3 2021)
18
19 Make Data::Dumper mark regex output as UTF-8 if needed. (GH #18614)
20
21 =item 2.176 (Sep 30 2020)
22
23 Make Data::Dumper strict and warnings compliant.
24
25 =item 2.175 (Aug 13 2020)
26
27 Avoid some leaks if we call get magic and that throws an exception.
28
29 =item 2.174 (Apr  3 2019)
30
31 Avoid leaking if we croak due to excessive recursion.
32
33 =item 2.173 (Nov 10 2018)
34
35 perl #133624: Reinstate support for 5.8.8 and older.
36
37 =item 2.172 (Sep 19 2018)
38
39 Prepare recent changes for CPAN release
40
41 =item 2.171 (Apr 21 2018)
42
43 Restore deparsing support in the XS dumper, on Perl 5.18 and earlier
44
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
47 in globs)
48
49 =item 2.170 (Jan 10 2018)
50
51 Fix bug when dumping globs with quoting (which now happens for
52 all Unicode glob names)
53
54 Internal change: use strlcpy(), for safety
55
56 =item 2.169 (Dec 12 2017)
57
58 Behavior change: $dumper->Useqq(undef) is now treated as setting the
59 "useqq" option, not getting it (and similarly for other options)
60 [perl #113090]
61
62 =item 2.168 (Dec  1, 2017)
63
64 perl #119831: Quote glob names better; notably, Unicode globs are
65 now handled correctly
66
67 =item 2.167_02  (Aug  4 2017)
68
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?
75 --Steffen
76
77 =item 2.167_01  (Jul 31 2017)
78
79 CPAN dev release with the accumulated changes from core perl.
80
81 =item 2.166 (Nov 29 2016)
82
83 Reduce memory usage by not importing from Carp
84 Reduce memory usage by removing unused overload require.
85
86 =item 2.165 (Nov 20 2016)
87
88 Remove impediment to compiling under C++11.
89
90 =item 2.164 (Nov 12 2016)
91
92 The XS implementation now handles the C<Deparse> option, so using it no
93 longer forces use of the pure-Perl version.
94
95 =item 2.161 (Jul 11 2016)
96
97 Perl 5.12 fix/workaround until fixed PPPort release.
98
99 Pre-5.12 fixes for test dependency.
100
101 =item 2.160 (Jul 3 2016)
102
103 Now handles huge inputs on 64bit perls.
104
105 Add Trailingcomma option. This is as suggested in RT#126813.
106
107 Significant refactoring of XS implementation.
108
109 Pure Perl implementation fixes in corner cases ("\n" dumped raw").
110
111 =item 2.154 (Sep 18 2014)
112
113 Most notably, this release fixes CVE-2014-4330:
114
115   Don't recurse infinitely in Data::Dumper
116
117   Add a configuration variable/option to limit recursion when dumping
118   deep data structures.
119   [...]
120   This patch addresses CVE-2014-4330.  This bug was found and
121   reported by: LSE Leading Security Experts GmbH employee Markus
122   Vervier.
123
124 On top of that, there are several minor big fixes and improvements,
125 see "git log" if the core perl distribution for details.
126
127 =item 2.151 (Mar 7 2014)
128
129 A "useqq" implementation for the XS version of Data::Dumper.
130
131 Better compatibility wrt. hash key quoting between PP and XS
132 versions of Data::Dumper.
133
134 EBCDIC fixes.
135
136 64bit safety fixes (for very large arrays).
137
138 Build fixes for threaded perls.
139
140 clang warning fixes.
141
142 Warning fixes in tests on older perls.
143
144 Typo fixes in documentation.
145
146 =item 2.145 (Mar 15 2013)
147
148 Test refactoring and fixing wide and far.
149
150 Various old-perl compat fixes.
151
152 =item 2.143 (Feb 26 2013)
153
154 Address vstring related test failures on 5.8: Skip tests for
155 obscure case.
156
157 Major improvements to test coverage and significant refactoring.
158
159 Make Data::Dumper XS ignore Freezer return value. Fixes RT #116364.
160
161 Change call of isALNUM to equivalent but more clearly named isWORDCHAR
162
163 =item 2.139 (Dec 12 2012)
164
165 Supply an explicit dynamic_config => 0 in META
166
167 Properly list BUILD_REQUIRES prereqs (P5-RT#116028)
168
169 Some optimizations. Removed useless "register" declarations.
170
171 =item 2.136 (Oct 04 2012)
172
173 Promote to stable release.
174
175 Drop some "register" declarations.
176
177 =item 2.135_07 (Aug 06 2012)
178
179 Use the new utf8 to code point functions - fixing a potential
180 reading buffer overrun.
181
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
184
185 Dumper.xs: Avoid scan_vstring on 5.17.3 and up
186
187 Avoid a warning from clang when compiling Data::Dumper
188
189 Fix DD's dumping of qr|\/|
190
191 Data::Dumper's Perl implementation was not working with overloaded
192 blessed globs, which it thought were strings.
193
194 Allow Data::Dumper to load on miniperl
195
196 =item 2.135_02 (Dec 29 2011)
197
198 Makes DD dump *{''} properly.
199
200 [perl #101162] DD support for vstrings:
201 Support for vstrings to Data::Dumper, in both Perl and XS
202 implementations.
203
204 =item 2.135_01 (Dec 19 2011)
205
206 Make Data::Dumper UTF8- and null-clean with GVs.
207
208 In Dumper.xs, use sv_newmortal() instead of sv_mortalcopy(&PL_sv_undef)
209 for efficiency.
210
211 Suppress compiler warning
212
213 Keep verbatim pod in Data::Dumper within 80 cols
214
215 =item 2.131 (May 27 2011)
216
217 Essentially the same as version 2.130_02, but a production release.
218
219 =item 2.130_03 (May 20 2011)
220
221 Essentially the same as version 2.130_02, but a CPAN release
222 for the eventual 2.131.
223
224 =item 2.130_02
225
226 This was only shipped with the perl core, never released to CPAN.
227
228 Convert overload.t to Test::More
229
230 Fix some spelling errors
231
232 Fix some compiler warnings
233
234 Fix an out of bounds write in Data-Dumper with malformed utf8 input
235
236 =item 2.130 (Nov 20 2010)
237
238 C<Dumpxs> can now handle malformed UTF-8.
239
240 =item 2.129 (Oct 20 2010)
241
242 C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
243 [perl #72332].
244
245 =item 2.128 (Sep 10 2010)
246
247 Promote previous release to stable version with the correct version.
248
249 =item 2.127 (Sep 10 2010)
250
251 Promote previous release to stable version.
252
253 =item 2.126_01 (Sep  6 2010)
254
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.
258
259 =item 2.126 (Apr 15 2010)
260
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.
264
265 =item 2.125 (Aug  8 2009)
266
267 CPAN distribution fixes (meta information for META.yml).
268
269 =item 2.124 (Jun 13 2009)
270
271 Add three missing test files.
272
273 =item 2.123 (Jun 11 2009)
274
275 Re-add the INSTALLDIRS => 'perl' directive to Makefile.PL
276 of the CPAN release.
277
278 =item 2.122 (Jun  9 2009)
279
280 Promote previous developer release to stable release.
281
282 =item 2.121_20 (Jun  6 2009)
283
284 A host of bug fixes and improvements that have
285 accumulated in the perl core
286
287 Updated backport to 5.6.1 by Steffen Mueller <smueller@cpan.org>.
288
289 =item 2.121 (Aug 24 2003)
290
291 Backport to 5.6.1 by Ilya Martynov <ilya@martynov.org>.
292
293 =item 2.11  (unreleased)
294
295 C<0> is now dumped as such, not as C<'0'>.
296
297 qr// objects are now dumped correctly (provided a post-5.005_58)
298 overload.pm exists).
299
300 Implemented $Data::Dumper::Maxdepth, which was on the Todo list.
301 Thanks to John Nolan <jpnolan@Op.Net>.
302
303 =item 2.101 (30 Apr 1999)
304
305 Minor release to sync with version in 5.005_03.  Fixes dump of
306 dummy coderefs.
307
308 =item 2.10  (31 Oct 1998)
309
310 Bugfixes for dumping related undef values, globs, and better double
311 quoting: three patches suggested by Gisle Aas <gisle@aas.no>.
312
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>.
316
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
322 dumped correctly.
323
324 Various additions to the testsuite.
325
326 =item 2.09  (9 July 1998)
327
328 Implement $Data::Dumper::Bless, suggested by Mark Daku <daku@nortel.ca>.
329
330 =item 2.081  (15 January 1998)
331
332 Minor release to fix Makefile.PL not accepting MakeMaker args.
333
334 =item 2.08  (7 December 1997)
335
336 Glob dumps don't output superflous 'undef' anymore.
337
338 Fixes from Gisle Aas <gisle@aas.no> to make Dumper() work with
339 overloaded strings in recent perls, and his new testsuite.
340
341 require 5.004.
342
343 A separate flag to always quote hash keys (on by default).
344
345 Recreating known CODE refs is now better supported.
346
347 Changed flawed constant SCALAR bless workaround.
348
349 =item 2.07  (7 December 1996)
350
351 Dumpxs output is now exactly the same as Dump.  It still doesn't
352 honor C<Useqq> though.
353
354 Regression tests test for identical output and C<eval>-ability.
355
356 Bug in *GLOB{THING} output fixed.
357
358 Other small enhancements.
359
360 =item 2.06  (2 December 1996)
361
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().)
365
366 =item 2.05  (2 December 1996)
367
368 Fixed the type mismatch that was causing Dumpxs test to fail
369 on 64-bit platforms.
370
371 GLOB elements are dumped now when C<Purity> is set (using the
372 *GLOB{THING} syntax).
373
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.
379
380 The corresponding C<Toaster> option, if set, specifies
381 the method call that will revive the frozen object.
382
383 The C<Deepcopy> flag has been added to do just that.
384
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.
388
389 Objects that C<overload> the '""' operator are now handled
390 properly by the C<Dump> method.
391
392 Significant additions to the testsuite.
393
394 More documentation.
395
396 =item 2.04beta  (28 August 1996)
397
398 Made dump of glob names respect C<Useqq> setting.
399
400 [@$%] are now escaped now when in double quotes.
401
402 =item 2.03beta  (26 August 1996)
403
404 Fixed Dumpxs.  It was appending trailing nulls to globnames.
405 (reported by Randal Schwartz <merlyn@teleport.com>).
406
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>).
410
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.
414
415 The C<Useqq> flag is supported (but not by the XSUB version
416 yet).
417
418 Embedded nulls in keys are now handled properly by Dumpxs.
419
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).
423
424 All the dump methods now return a list of strings in a list
425 context.
426
427
428 =item 2.02beta  (13 April 1996)
429
430 Non portable sprintf usage in XS code fixed (thanks to 
431 Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>).
432
433
434 =item 2.01beta  (10 April 1996)
435
436 Minor bugfix (single digit numbers were always getting quoted).
437
438
439 =item 2.00beta  (9 April 1996)
440
441 C<Dumpxs> is now the exact XSUB equivalent of C<Dump>.  The XS version
442 is 4-5 times faster.
443
444 C<require 5.002>.
445
446 MLDBM example removed (as its own module, it has a separate CPAN 
447 reality now).
448
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
452 around hash keys.
453
454 Andreas Koenig <k@anna.in-berlin.de> pointed out that handling octals
455 is busted.  His patch added.
456
457 Dead code removed, other minor documentation fixes.
458
459
460 =item 1.23      (3 Dec 1995)
461
462 MLDBM example added.
463
464 Several folks pointed out that quoting of ticks and backslashes 
465 in strings is missing. Added.
466
467 Ian Phillipps <ian@pipex.net> pointed out that numerics may lose 
468 precision without quotes.  Fixed.
469
470
471 =item 1.21     (20 Nov 1995)
472
473 Last stable version I can remember.
474
475 =back
476
477 =cut