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