summaryrefslogtreecommitdiff
path: root/dist/Data-Dumper/Changes
blob: 49cec05fa2fe5d5b8f82139432d9c0c478f0f31d (plain)
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
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
=head1 NAME

Changes - public release history for Data::Dumper

=head1 DESCRIPTION

=over 8

=item 2.181_50 (Jun 29 2021)

Set bugtracker metadata to https://github.com/Perl/perl5/issues

=item 2.181 (May 25 2021)

No changes from previous dev release.

=item 2.180_53 (May 25 2021)

Fix Makefile.PL to install to "perl" for 5.10.x and earlier (CPAN #12282)

=item 2.180_52 (May 24 2021)

Remove no longer needed compatibility shims, and use ppport.h whenever possible.

=item 2.180_51 (May 23 2021)

Convert dumper.t to Test::More and eliminate a lot of test code duplication.

=item 2.180_50 (May 22 2021)

Data::Dumper now requires Perl v5.8.1 or later.

=item 2.180 (May 17 2021)

No changes from previous dev release.

=item 2.179_50 (May 14 2021)

Data::Dumper handles Unicode regex corner cases (GH #18614, GH #18764)

=item 2.179 (May 13 2021)

Revert the changes of 2.177 for the v5.34.0 release to avoid a regression.

=item 2.178 (Apr  7 2021)

Correct documentation of indent Style 2.

=item 2.177 (Mar  3 2021)

Make Data::Dumper mark regex output as UTF-8 if needed. (GH #18614)

=item 2.176 (Sep 30 2020)

Make Data::Dumper strict and warnings compliant.

=item 2.175 (Aug 13 2020)

Avoid some leaks if we call get magic and that throws an exception.

=item 2.174 (Apr  3 2019)

Avoid leaking if we croak due to excessive recursion.

=item 2.173 (Nov 10 2018)

perl #133624: Reinstate support for 5.8.8 and older.

=item 2.172 (Sep 19 2018)

Prepare recent changes for CPAN release

=item 2.171 (Apr 21 2018)

Restore deparsing support in the XS dumper, on Perl 5.18 and earlier

Test fixes on older Perl versions (notably, skip tests for Unicode glob
names on Perl 5.14 and earlier, which had incomplete support for Unicode
in globs)

=item 2.170 (Jan 10 2018)

Fix bug when dumping globs with quoting (which now happens for
all Unicode glob names)

Internal change: use strlcpy(), for safety

=item 2.169 (Dec 12 2017)

Behavior change: $dumper->Useqq(undef) is now treated as setting the
"useqq" option, not getting it (and similarly for other options)
[perl #113090]

=item 2.168 (Dec  1, 2017)

perl #119831: Quote glob names better; notably, Unicode globs are
now handled correctly

=item 2.167_02  (Aug  4 2017)

Attempt to work around XS deparse issues on old perls.
According to the few old perls at my disposure, this now repairs,
for example 5.18, but 5.8.9 still barfs. My debugging hasn't
really come up with much since all changes other than the deparse
change look benign to me.
Can someone who uses ancient perls please step up and take a look?
--Steffen

=item 2.167_01  (Jul 31 2017)

CPAN dev release with the accumulated changes from core perl.

=item 2.166 (Nov 29 2016)

Reduce memory usage by not importing from Carp
Reduce memory usage by removing unused overload require.

=item 2.165 (Nov 20 2016)

Remove impediment to compiling under C++11.

=item 2.164 (Nov 12 2016)

The XS implementation now handles the C<Deparse> option, so using it no
longer forces use of the pure-Perl version.

=item 2.161 (Jul 11 2016)

Perl 5.12 fix/workaround until fixed PPPort release.

Pre-5.12 fixes for test dependency.

=item 2.160 (Jul 3 2016)

Now handles huge inputs on 64bit perls.

Add Trailingcomma option. This is as suggested in RT#126813.

Significant refactoring of XS implementation.

Pure Perl implementation fixes in corner cases ("\n" dumped raw").

=item 2.154 (Sep 18 2014)

Most notably, this release fixes CVE-2014-4330:

  Don't recurse infinitely in Data::Dumper

  Add a configuration variable/option to limit recursion when dumping
  deep data structures.
  [...]
  This patch addresses CVE-2014-4330.  This bug was found and
  reported by: LSE Leading Security Experts GmbH employee Markus
  Vervier.

On top of that, there are several minor big fixes and improvements,
see "git log" if the core perl distribution for details.

=item 2.151 (Mar 7 2014)

A "useqq" implementation for the XS version of Data::Dumper.

Better compatibility wrt. hash key quoting between PP and XS
versions of Data::Dumper.

EBCDIC fixes.

64bit safety fixes (for very large arrays).

Build fixes for threaded perls.

clang warning fixes.

Warning fixes in tests on older perls.

Typo fixes in documentation.

=item 2.145 (Mar 15 2013)

Test refactoring and fixing wide and far.

Various old-perl compat fixes.

=item 2.143 (Feb 26 2013)

Address vstring related test failures on 5.8: Skip tests for
obscure case.

Major improvements to test coverage and significant refactoring.

Make Data::Dumper XS ignore Freezer return value. Fixes RT #116364.

Change call of isALNUM to equivalent but more clearly named isWORDCHAR

=item 2.139 (Dec 12 2012)

Supply an explicit dynamic_config => 0 in META

Properly list BUILD_REQUIRES prereqs (P5-RT#116028)

Some optimizations. Removed useless "register" declarations.

=item 2.136 (Oct 04 2012)

Promote to stable release.

Drop some "register" declarations.

=item 2.135_07 (Aug 06 2012)

Use the new utf8 to code point functions - fixing a potential
reading buffer overrun.

Data::Dumper: Sparseseen option to avoid building much of the seen
hash: This has been measured to, in some cases, provide a 50% speed-up

Dumper.xs: Avoid scan_vstring on 5.17.3 and up

Avoid a warning from clang when compiling Data::Dumper

Fix DD's dumping of qr|\/|

Data::Dumper's Perl implementation was not working with overloaded
blessed globs, which it thought were strings.

Allow Data::Dumper to load on miniperl

=item 2.135_02 (Dec 29 2011)

Makes DD dump *{''} properly.

[perl #101162] DD support for vstrings:
Support for vstrings to Data::Dumper, in both Perl and XS
implementations.

=item 2.135_01 (Dec 19 2011)

Make Data::Dumper UTF8- and null-clean with GVs.

In Dumper.xs, use sv_newmortal() instead of sv_mortalcopy(&PL_sv_undef)
for efficiency.

Suppress compiler warning

Keep verbatim pod in Data::Dumper within 80 cols

=item 2.131 (May 27 2011)

Essentially the same as version 2.130_02, but a production release.

=item 2.130_03 (May 20 2011)

Essentially the same as version 2.130_02, but a CPAN release
for the eventual 2.131.

=item 2.130_02

This was only shipped with the perl core, never released to CPAN.

Convert overload.t to Test::More

Fix some spelling errors

Fix some compiler warnings

Fix an out of bounds write in Data-Dumper with malformed utf8 input

=item 2.130 (Nov 20 2010)

C<Dumpxs> can now handle malformed UTF-8.

=item 2.129 (Oct 20 2010)

C<Dumpxs> no longer crashes with globs returned by C<*$io_ref>
[perl #72332].

=item 2.128 (Sep 10 2010)

Promote previous release to stable version with the correct version.

=item 2.127 (Sep 10 2010)

Promote previous release to stable version.

=item 2.126_01 (Sep  6 2010)

Port core perl changes e3ec2293dc, fe642606b19.
Fixes core perl RT #74170 (handle the stack changing in the
custom sort functions) and adds a test.

=item 2.126 (Apr 15 2010)

Fix Data::Dumper's Fix Terse(1) + Indent(2):
perl-RT #73604: When $Data::Dumper::Terse is true, the indentation is thrown
off. It appears to be acting as if the $VAR1 = is still there.

=item 2.125 (Aug  8 2009)

CPAN distribution fixes (meta information for META.yml).

=item 2.124 (Jun 13 2009)

Add three missing test files.

=item 2.123 (Jun 11 2009)

Re-add the INSTALLDIRS => 'perl' directive to Makefile.PL
of the CPAN release.

=item 2.122 (Jun  9 2009)

Promote previous developer release to stable release.

=item 2.121_20 (Jun  6 2009)

A host of bug fixes and improvements that have
accumulated in the perl core

Updated backport to 5.6.1 by Steffen Mueller <smueller@cpan.org>.

=item 2.121 (Aug 24 2003)

Backport to 5.6.1 by Ilya Martynov <ilya@martynov.org>.

=item 2.11  (unreleased)

C<0> is now dumped as such, not as C<'0'>.

qr// objects are now dumped correctly (provided a post-5.005_58)
overload.pm exists).

Implemented $Data::Dumper::Maxdepth, which was on the Todo list.
Thanks to John Nolan <jpnolan@Op.Net>.

=item 2.101 (30 Apr 1999)

Minor release to sync with version in 5.005_03.  Fixes dump of
dummy coderefs.

=item 2.10  (31 Oct 1998)

Bugfixes for dumping related undef values, globs, and better double
quoting: three patches suggested by Gisle Aas <gisle@aas.no>.

Escaping of single quotes in the XS version could get tripped up
by the presence of nulls in the string.  Fix suggested by
Slaven Rezic <eserte@cs.tu-berlin.de>.

Rather large scale reworking of the logic in how seen values
are stashed. Anonymous scalars that may be encountered while
traversing the structure are properly tracked, in case they become
used in data dumped in a later pass.  There used to be a problem
with the previous logic that prevented such structures from being
dumped correctly.

Various additions to the testsuite.

=item 2.09  (9 July 1998)

Implement $Data::Dumper::Bless, suggested by Mark Daku <daku@nortel.ca>.

=item 2.081  (15 January 1998)

Minor release to fix Makefile.PL not accepting MakeMaker args.

=item 2.08  (7 December 1997)

Glob dumps don't output superflous 'undef' anymore.

Fixes from Gisle Aas <gisle@aas.no> to make Dumper() work with
overloaded strings in recent perls, and his new testsuite.

require 5.004.

A separate flag to always quote hash keys (on by default).

Recreating known CODE refs is now better supported.

Changed flawed constant SCALAR bless workaround.

=item 2.07  (7 December 1996)

Dumpxs output is now exactly the same as Dump.  It still doesn't
honor C<Useqq> though.

Regression tests test for identical output and C<eval>-ability.

Bug in *GLOB{THING} output fixed.

Other small enhancements.

=item 2.06  (2 December 1996)

Bugfix that was serious enough for new release--the bug cripples
MLDBM.  Problem was "Attempt to modify readonly value..." failures
that stemmed for a misguided SvPV_force() instead of a SvPV().)

=item 2.05  (2 December 1996)

Fixed the type mismatch that was causing Dumpxs test to fail
on 64-bit platforms.

GLOB elements are dumped now when C<Purity> is set (using the
*GLOB{THING} syntax).

The C<Freezer> option can be set to a method name to call
before probing objects for dumping.  Some applications: objects with
external data, can re-bless themselves into a transitional package;
Objects the maintain ephemeral state (like open files) can put
additional information in the object to facilitate persistence.

The corresponding C<Toaster> option, if set, specifies
the method call that will revive the frozen object.

The C<Deepcopy> flag has been added to do just that.

Dumper does more aggressive cataloging of SCALARs encountered
within ARRAY/HASH structures. Thanks to Norman Gaywood 
<norm@godel.une.edu.au> for reporting the problem.

Objects that C<overload> the '""' operator are now handled
properly by the C<Dump> method.

Significant additions to the testsuite.

More documentation.

=item 2.04beta  (28 August 1996)

Made dump of glob names respect C<Useqq> setting.

[@$%] are now escaped now when in double quotes.

=item 2.03beta  (26 August 1996)

Fixed Dumpxs.  It was appending trailing nulls to globnames.
(reported by Randal Schwartz <merlyn@teleport.com>).

Calling the C<Indent()> method on a dumper object now correctly
resets the internal separator (reported by Curt Tilmes
<curt@ltpmail.gsfc.nasa.gov>).

New C<Terse> option to suppress the 'C<VARI<n> = >' prefix 
introduced.  If the option is set, they are output only when
absolutely essential.

The C<Useqq> flag is supported (but not by the XSUB version
yet).

Embedded nulls in keys are now handled properly by Dumpxs.

Dumper.xs now use various integer types in perl.h (should
make it compile without noises on 64 bit platforms, although
I haven't been able to test this).

All the dump methods now return a list of strings in a list
context.


=item 2.02beta  (13 April 1996)

Non portable sprintf usage in XS code fixed (thanks to 
Ulrich Pfeifer <pfeifer@charly.informatik.uni-dortmund.de>).


=item 2.01beta  (10 April 1996)

Minor bugfix (single digit numbers were always getting quoted).


=item 2.00beta  (9 April 1996)

C<Dumpxs> is now the exact XSUB equivalent of C<Dump>.  The XS version
is 4-5 times faster.

C<require 5.002>.

MLDBM example removed (as its own module, it has a separate CPAN 
reality now).

Fixed bugs in handling keys with wierd characters.  Perl can be
tripped up in its implicit quoting of the word before '=>'.  The
fix: C<Data::Dumper::Purity>, when set, always triggers quotes
around hash keys.

Andreas Koenig <k@anna.in-berlin.de> pointed out that handling octals
is busted.  His patch added.

Dead code removed, other minor documentation fixes.


=item 1.23      (3 Dec 1995)

MLDBM example added.

Several folks pointed out that quoting of ticks and backslashes 
in strings is missing. Added.

Ian Phillipps <ian@pipex.net> pointed out that numerics may lose 
precision without quotes.  Fixed.


=item 1.21     (20 Nov 1995)

Last stable version I can remember.

=back

=cut