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