Codebase list libdata-printer-perl / HEAD Changes
HEAD

Tree @HEAD (Download .tar.gz)

Changes @HEADraw · history · blame

  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
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
Revision history for Data-Printer

1.0.4   2021-03-03
    BUG FIXES:
        - fix DBIx::Class print when literal SQL is present (Veesh Goldman)

1.0.3   2021-03-02
    OTHER:
        - fixup documentation on how to convert from the old .dataprinter
          format to the new one (GH#157)
        - test fixes

1.0.2   2021-02-28
    OTHER:
        - Material's color for caller_info and code is now a bit brighter
          to improve readability on terminals with dark background.
        - improve MS Windows support
        - increase test coverage

1.0.1   2021-02-25
    BUG FIXES:
        - properly parse the "n" option in regexes
        - fix unwrap of __PACKAGE__, __FILENAME__ and __LINE__
          on caller_message (GH#156)
        - add a single space between caller message and data when
          caller_message_newline is false
        - proper colorization on caller message.
    OTHER:
        - improve documentation on caller message behavior
        - document caveat of printing array/hash slices (GH#152)
        - fix broken link in documentation (GH#155)
        - improve tip on how to make a drop-in replacement
          to Data::Dumper (GH#154)

1.0.0   2021-02-24
    We are really excited to finally bring to you Data::Printer 1.0.0 \o/
    This release includes all modifications from the 0.99_* series as
    described below.

0.99_026 2021-02-19
    BUG FIXES:
        - test fixes/updates
        - improved support for Cpanel::JSON::XS::Boolean

0.99_025 2021-02-18
    BUG FIXES:
        - improved support for perl 5.8.9 (thank you cpantesters!)

0.99_024 2021-02-17
    NEW FEATURES:
        - fix rc file conversor to change 'color' to 'colors'
          (thanks Buddy Burden for reporting the issue!)
    OTHER:
        - massive documentation rewrite.
        - drop support for "ignore_keys" for now.

0.99_023 2021-02-01
    NEW FEATURES:
        - profiles! Now you make complex settings using Perl code.
        - allow .dataprinter files on the project home and subdirs.
        - new option 'warnings', when set to 0 will make DDP silence
          (almost) all warnings such as theme/profile not found. Default is 1.
        - filter for the 'Date' module (the evolution of Panda::Date)
    BUG FIXES:
        - properly show roles' attributes from Role::Tiny, Moo and Moose;
        - 'quote_keys' also quotes the path of circular references and found elements.
        - when 'quote_keys' is set, hash keys are quoted with whatever 'scalar_quotes'
          is set to.
        - escape quote characters in quoted strings and hash keys
        - blessed regexps (in objects different than the native 'Regexp') are now
          properly displayed as objects of their class.
    OTHER:
        - new string_max default: 4096
        - new array_max default: 100
        - new hash_max default: 100
        - dropped filter support for the deprecated Panda::Date dist
        - dropped filter support for the Date::Pcalc dist (buggy in recent perls)
        - lowercased all words in class dump for output consistency

0.99_022 2020-09-26
    BUG FIXES:
        - fix test case of rc option containing spaces

0.99_021 2020-09-26
    NEW FEATURES:
        - 'caller_message_position' option to control whether to show labels 'before'
          or 'after' the dump (defaults to 'before');
        - 'caller_message_newline' puts an automatic "\n" after the message;
        - 'resolve_scalar_refs' option to show values instead of just
          the reference indicator;
        - when multiline is false, string/hash/array overflow become "(...)";
        - filter loading errors are not fatal anymore, unless you set the
          'die_on_filter_error' option;
    BUG FIXES:
        - allow quoted values when parsing .dataprinter;
        - np() is never colored on 'auto' colors;
        - printing to a file or to a variable is never colored on 'auto' colors;
        - fulldump typo fix;
        - fix filter test failure when Mojo::JSON loads ::XS backends (GH#136);
        - do not call 'stringify' on PDF::API2 objects as it's a destructive op;
        - allow code filters in the new .dataprinter format, but only if the
          file meets certain permissions criteria;
        - 'dump' mode working as expected again;
    OTHER:
        - simplified homedir logic for MSWin32, Linux and MacOS
          (Karen Etheridge);
        - new 'contributing to' data;
        - minor color adjustments on Material theme to improve legibility
          on lighter terminals;


0.99_020 2018-06-30
    NEW FEATURES:
        - new 'fulldump' option to ignore max string/array/hash.
        - also stringify on to_string()
        - ContentType filter shows utf8 symbol for image/audio/video/etc
        - ContentType filter now has its own color
        - ContentType filter understands Sereal binaries
    BUG FIXES:
        - prevent 'undefined' warning in ContentType filter
        - fix test on old HTTP::Headers
    OTHER:
        - improved documentation

0.99_019 2018-06-27
    BUG FIXES:
        - more filter fixes on different module versions
          (many thanks to Slaven Rezić and all other CPAN testers).

0.99_018 2018-06-25
    BUG FIXES:
        - fix filter test on older HTTP::Message

0.99_017 2018-06-25
    BUG FIXES:
        - fix filter test failure on older Mojolicious
        - fix filter test failure on older Digest::MD5

0.99_016 2018-06-25
    NEW FEATURES:
        - unsee() method in DDP objects to ignore visits
        - new Web filter bundle parsing JSON, Cookies and HTTP Request/Response.
        - DateTime filter now understands Time::Seconds and Time::Moment.
    BUG FIXES:
        - fixed show_tied, which was not working properly since the refactor.
        - prevent non-ref counters from being refcounted
        - fix floating point test error in unusual hardware/OS combinations.
    OTHER:
        - improved implementation of "seen" counter
        - improved documentation
        - removed unused code

0.99_015 2018-06-14
    NEW FEATURES:
        - new ContentType filter to detect popular binaries in strings,
          like images, videos and documents.
    OTHER:
        - code tidying
        - greatly improved documentation
        - test coverage increased
    BUG FIXES:
        - DateTime/Digest/DB filters now honor colorization from themes
        - test fixes

0.99_014 2018-06-08
    BUG FIXES:
        - DateTime filter: fix Class::Date test on systems
          that treat GMT as UTC.

0.99_013 2018-06-08
    NEW FEATURES:
        - dualvar lax mode accepts leading/trailing whitespace in numbers
        - DB filter: improve display of replication lag
        - DB filter: list unique constraints on DBIC
        - DB filter: improved parsing of DBIC sources/resultsets/rows
    BUG FIXES:
        - filter listings in RC file now always an array ref
        - DateTime filter: fix parsing of old Mojo::Date objects
        - DB filter: test fixes
        - Digest filter updated and re-added
    OTHER:
        - DB filter: improve documentation
        - DB filter: increase test coverage
        - Digest filter: show class name by default on parsing digests

0.99_012 2018-05-25
    NEW FEATURES:
        - show_dualvar now accepts 'strict', 'lax' and 'off'. Default is
          'lax', ignoring decimal zeroes to the right (e.g. 1.00 and '1',
          '1.10' and 1.1)
        - multiline => 0 now also shortens the hash separator
    OTHER:
        - test improvements
        - improved documentation

0.99_011 2018-05-24
    BUG FIXES:
        - proper color downgrade on terminals who only support 256 colors.
        - fixed colorization tests
        - fixed DB external filters

0.99_010 2018-05-21
    BUG FIXES:
        - extra debug info for failed colorization tests
        - another fix for Panda::Date (Slaven Rezić)

0.99_009 2018-05-20
    BUG FIXES:
        - fix dualvar test on different locales (Slaven Rezić)
        - fix Panda::Date test when en_US locale not present (Slaven Rezić)

0.99_008 2018-05-20
    NEW FEATURES:
        - show_dualvar (defaults to true) lets you know whenever both numeric
          and string values of a variable are set to a different thing
          (Philippe "BooK" Bruhat)
        - maybe_colorize() accepts a 'default color' so filters can use it.
        - extra_config() provies all non-core settings passed
          to Data::Printer, so filters can use them.
        - DateTime filter for Panda::Date (Sergey Aleynikov)
    BUG FIXES:
        - fixed DateTime external filters
        - fix issue with dereferencing code refs (Håkon Hægland)
        - fix 'pass' on globs, regexes and code references
          (Håkon Hægland, Sergey Aleynikov)
    OTHER:
        - documentation improvements

0.99_007 2018-05-17
    BUG FIXES:
        - fix regex parsing in 5.10.1
        - test fixes for 5.11

0.99_006 2018-05-17
    BUG FIXES:
        - fix longstanding issue of displaying weirdly-named objects
          like 'HASH' or "0" (github issue #105) (bessarabov + dur-randir)
        - fix test for UNIVERSAL::DOES
    OTHER:
        - documentation improvements
        - remove undocumented and unsupported extra option in
          external filters.

0.99_005 2018-05-13
    BUG FIXES:
        - fix regex filter on perl 5.8
        - improve ISA detection in perl 5.8 without MRO::Compat

0.99_004 2018-05-12
    BUG FIXES:
        - fix tests on win32

0.99_003 2018-05-11
    BUG FIXES:
        - fix test plan issue on some versions of Test::More
        - die from caller perspective on filter error
        - drop support for Sort::Naturally::XS

0.99_002 2018-05-10
    BUG FIXES:
        - fix tests when bogus RC file is present
        - fix colored tests on travis
        - fix refcount test on perls <= 5.12
        - reset internal state after parsing
        - when scouting for methods, ensure GVs are named
        - synced p() and np() code so they behave exactly the same
        - fix use_prototypes => 0
        - prevent "double plan" warninga on tests
    OTHER:
        - extra tests to increase code coverage
        - improved error handling in themes
        - function to convert old RC format to the new one
        - improved README
        - extra debug info on test failures
        - cleanup on unreachable code

0.99_001 2018-04-21
    BACKWARDS-INCOMPATIBLE CHANGE
        - new format for the .dataprinterrc file
    NEW FEATURES:
        - Data::Printer::Object available for public usage!
          (big thanks to frew && rjbs)
        - use DDP; p $foo, as => 'this is a label';
          Hopefully this helps people tag their debug code without having
          to write caller_info => 1, caller_message => '...'
        - theme => 'XXX' will try and load Data::Printer::Theme::XXX,
          which you can create to share your colour scheme with the world!
        - speaking of colours, you can now use up to 256 of them
          (if your terminal supports them, of course)
        - print only a slice of arrays and hashes with:
           - array_max => 10 (default is 50, set it to 0 for unlimited)
           - array_overflow => '(...skipping __SKIPPED__ items...)'
           - array_preserve => 'begin'
             if the array has more than array_max elements, preserve the first
             array_max elements and replace the rest with '(...skipping XX items...)'.
             Other available options are 'end', 'middle', 'extremes', and 'none'.
           - hash_max / hash_overflow / hash_preserve (same! note however that
             preserved keys will only be the same if hash keys are sorted)
             Defaults to 50.
        - ignore_keys to skip their dump (feature by Eugen Konkov)
        - string_max/string_overflow/string_preserve to limit string entries (scalars),
          just like arrays and hashes. Defaults to 1024 and 'begin'. Set it
          to 0 for unlimited size.
        - new 'separator', 'brackets' and 'overflow' colors to control
        - unicode_charnames, when set to 1 (together with escape_chars)
          will try and use the Unicode name when escaping strings.
          So `$s = "\x{2603}"; p $s` will output "\N{SNOWMAN}"
        - show_refcount => 1 exposes the reference count for the data structure
          (and inner data) if the count is greater than 1. (default 0, showing no refcounts).
        - show_memsize => 1 shows the (approximated) amount of memory the variable
          occupies for all variables on that level. This means that '1' will show
          the size of the entire data structure, while 2 will also show sizes of
          inner data, 3 will go even deeper and so on. To get the size of everything,
          use 'all' - though usually you'll probably want to just use '1'.
          This requires Devel::Size, so the default is 0 for none.
        - memsize_unit defined in which unit to show the memory usage. Can be
          set to 'b'(ytes), 'k'(ilobytes), 'm'(egabytes) or 'auto' (the default).
        - new property 'format_inheritance', defaults to "lines", a shiny and much
          clearer new way to displays methods per inherited package. You may also
          set it to 'string' to preserve the old behaviour.
        - inheritance tree is considered when filtering objects unless you disable
          it with 'parent_filters => 0' (Ovid)
        - new option 'stringify' (default: 1) will return the stringified version
          of the object, if one is available. It will try overloaded strings/numbers,
          as_string() and stringify() calls, respectively. Note that this will efectivelly
          ignore all other class details you may have chosen.
          (Sergey Aleynikov, Benct Philip Jonsson)
        - new option show_overloads (default: 1) will list all overloads
          from the object's class.
        - the standard class filter is now able to show internals in blessed subs
        - support for faster natural sorting via Sort::Key::Natural
          if the user has it installed (feature request by @grr on github)
    BUG FIXES:
        - fix array subelement alignment when index is shown (GARU)
        - show UNIVERSAL in linear ISA if it's on (GARU)
        - use "\n" instead of $/ as default line separator (Håkon Hægland && Chung-Kuan Tsai)
        - less magic added to internal Perl representation of variables
          (Jarrod Funnell, Sergey Aleynikov, Michael Conrad, Nicolas R.)
        - show_methods is now independent from show_inherited, meaning you can
          check all inherited methods and no local ones, or any combination thereof.
          This is the expected behaviour from the documentation, but was not happening.

0.40 2017-08-01
    BUG FIXES:
        - fix tied hash test on blead perl (5.27.3)
          https://rt.perl.org/Ticket/Display.html?id=131824
          Thanks Jim Keenan, Dave Mitchell and Zefram for reporting
          and debugging!

0.39 2016-04-15
    BUG FIXES:
        - display '-' as a string, not a number (Ivan Bessarabov)
        - display "123\n" as a string, not a number (Ivan Bessarabov)
        - fix test failures on newer perls (Sergey Aleynikov)
    OTHER:
        - document availability of np() on Data::Printer::Filter (Olaf Alders)

0.38 2016-01-28
    BUG FIXES:
        - removed Test::Most unlisted dependency
          (thanks Marco Masetti for reporting)

0.37 2016-01-28
    NEW FEATURES:
        - Support for displaying scalar's unicode flag
          (Michael Conrad)
    BUG FIXES:
        - Fixed test failure due to leaking environment variables
          (Thomas Sibley)
        - class_method only works if it's actually something we can call
          (RenatoCRON)
        - Attempt to fix a taint error on old Win32 systems
          (Baldur Kristinsson)
        - Prevent some 5.8 errors caused by the version module
          (Baldur Kristinsson)
        - Data::Printer::Filter should imports np() as well
          (Olaf Alders)
        - Multiline property is now properly propagated
          (Adam Rosenstein)
    OTHER:
        - Removed some trailing whitespaces (Ivan Bessarabov)
        - Extended tests for finding trailing whitespaces (Ivan Bessarabov)
        - Documented caveat of using p() in variable declarations (vividsnow)
        - Documented that the 'DB' filter supports DBIx::Class (Olaf Alders)
        - New .gitignore file (David Lowe)
        - Updated .travis.yml (Ivan Bessarabov)

0.36 2015-05-29
    Bumping 0.35_01 to stable. Below is the (repeated) changelog,
    with the single addition of the 'scalar_quotes' patch.

    BACKWARDS-INCOMPATIBLE CHANGE
        - p()'s return value now defaults to 'pass'. Please see
          https://github.com/garu/Data-Printer/issues/16 for the
          full discussion. THIS WILL BREAK CODE RELYING ON p() TO
          RETURN A STRING. To fix your code, please set 'return_value'
          to 'dump' explicitly, or use the experimental np() function.

    NEW HIGHLY EXPERIMENTAL FEATURE:
        - np(), a version of p() that always returns the string instead
          of printing it.

    NEW FEATURES:
        - Add 'escape_chars' to allow \x{...} printing for chars
          (patch by Mark Fowler)
        - 'scalar_quotes' let you specify the quote to use when,
          well, quoting (Ivan Bessarabov)
        - Class::Date support in the DateTime filter (Ivan Bessarabov)

    BUG FIXES:
        - fixed crash in esoteric classes (github issue #41, thanks
          Ivan Bessarabov for reporting)
        - removed support for Digest::Haval256, as it can't really be
          observed without damaging the original data. If future versions
          provide a clone() function, it can be added again.
        - Being extra loud when rc files fail to load (RT#89203, thanks
          Caleb Cushing for reporting).
        - Prevents PERL5OPT from interfering with deparse tests (github
          issue #55, thanks David Precious for reporting)

    OTHER:
        - more tests
        - new external filter indexed: PDL

0.35_01 2014-12-22
    BACKWARDS-INCOMPATIBLE CHANGE
        - p()'s return value now defaults to 'pass'. Please see
          https://github.com/garu/Data-Printer/issues/16 for the
          full discussion. THIS WILL BREAK CODE RELYING ON p() TO
          RETURN A STRING. To fix your code, please set 'return_value'
          to 'dump' explicitly, or use the experimental np() function.

    NEW HIGHLY EXPERIMENTAL FEATURE:
        - np(), a version of p() that always returns the string instead
          of printing it.

    NEW FEATURES:
        - Add 'escape_chars' to allow \x{...} printing for chars
          (patch by Mark Fowler)
        - Class::Date support in the DateTime filter (Ivan Bessarabov)

    BUG FIXES:
        - fixed crash in esoteric classes (github issue #41, thanks
          Ivan Bessarabov for reporting)
        - removed support for Digest::Haval256, as it can't really be
          observed without damaging the original data. If future versions
          provide a clone() function, it can be added again.
        - Being extra loud when rc files fail to load (RT#89203, thanks
          Caleb Cushing for reporting).
        - Prevents PERL5OPT from interfering with deparse tests (github
          issue #55, thanks David Precious for reporting)

    OTHER:
        - more tests
        - new external filter indexed: PDL

0.35  2012-11-25
    BUG FIXES:
        - fixed escaped chars colorization issue in bleadperl
          (thanks Andreas Koenig for reporting!)
    OTHER:
        - more tests added

0.34  2012-11-11
    NEW FEATURES:
        - improved display of DBIC ResultSets
        - 'Digest' filter now works on any Digest::base modules [RT#80039]
        - enclosing quotes on strings are displayed using a different colour
          (patch by Ivan Bessarabov)

    OTHER:
        - new tip by dirk: creating fiddling filters
        - updated documentation including external filters
          (JSON, ClassicRegex, URI)

0.33    2012-08-20
    BUG FIXES:
        - fixed warning in external filters for some
          perl versions (thanks Stanislaw Pusep for reporting).
        - prevented repeated tie display

    OTHER:
        - removed deprecated escape_chars, as promised in version 0.30.

0.32    2012-08-11
    BUG FIXES:
        - fixed (other) test failures in 5.8
        - pod fix in DDP.pm (nuno carvalho)

    NEW HIGHLY EXPERIMENTAL FEATURE:
        - extra options for external filters. Right now
          the only available one is 'show_repeated', to
          let filters override Data::Printer's behaviour
          of not showing duplicate variables.


0.31   2012-08-09
    BUG FIXES:
        - fixed test failures in 5.8

    OTHER:
        - releasing as stable version

0.30_06   2012-07-22
    NEW FEATURES:
        - new filter for DateTime::Tiny

    OTHER:
        - new tip: using DDP with Template Toolkit

0.30_05   2012-07-21
    NEW FEATURES:
        - Add support for FORMAT and LVALUE refs (Rebecca Turner)

    BUG FIXES:
        - prevent warning when dumping refs to unopened or closed
          file handles (Rebecca Turner)
        - on Win32, it is allowed to use an RC file without
          read-only permissions

0.30_04   2012-07-08
    NEW FEATURES:
        - Improved support for unknown core datatypes (Rebecca Turner)

    BUG FIXES:
        - fixed indentation when using colored output (Stanislaw Pusep)
        - fixed t/05-obj.t on older perls (Mike Doherty)
        - fixed dev-only pod tests
        - Issue warning (carp) when color/colour is not a hashref

0.30_03   2012-07-05
    NEW FEATURES:
        - new class property 'universal', letting you choose whether
          to include UNIVERSAL methods during inheritance display
          or not (default is 1, meaning to show).
        - support for VSTRINGs (Rebecca Turner)

    NEW ***EXPERIMENTAL*** FEATURES:
        - new 'show_readonly' property, off by default, to show
          variables marked as read-only
          (scalars only for now, patches welcome!)

    BUG FIXES:
        - fixed issue with t/05-obj.t
        - minor pod fixes (Rebecca Turner, myself)
        - Protect against unknown core data types that don't implement "can" (Rebecca Turner)

0.30_02   2012-07-02
    BUG FIXES:
        - RC file under taint mode should be properly parsed now.

    OTHER:
        - Rob Hoeltz and Stephen Thirlwall added to the
          contributors list. Thanks guys!

0.30_01   2012-07-02
    CHANGES THAT BREAK BACKWARDS COMPATIBILITY:
        - linear_isa option is now set to 'auto' by default (see below)

    NEW FEATURES:
        - linear_isa can now be set to 'auto', in which case
          it will show the @ISA only if the object has more than
          one parent. Other values are 0 (never show) and 1 (always show)
        - new "Digest" filter bundle, for MD5, SHA and other Digest objects!
        - separate colours for classes and methods (feature request
          by Ivan Bessarabov)
        - environment variable DATAPRINTERRC overrides .dataprinter
          and lets you pick different RCs at will (Stephen Thirlwall)
        - new option 'separator' lets you pick a custom separator
          for array/hash elements, including none (''). Default is ','.
        - new option 'end_separator' can be set to 1 to show the last
          item of an array or hash with a separator (Ivan Bessarabov)
        - DateTime filter bundle now also handles DateTime::TimeZone
          objects (RT#77755)

    BUG FIXES:
        - RC file now works under taint mode, with restrictions
          (feature request by Rob Hoelz)
        - class_method call now includes properties hashref (Joel Berger)

    OTHER:
        - Replacement of dependencies to permit pure perl operation:
            Class::MOP is replaced with mro and Package::Stash
            Clone is replaced with Clone::PP
            Hash::FieldHash is replaced with Hash::Util::FieldHash
          Note that if <5.10 is detected, Data::Printer also requires:
            MRO::Compat to provide mro
            Hash::Util::FieldHash::Compat to provide Hash::Util::FieldHash
          As a result, Data::Printer should now be fatpackable (cpan:MSTROUT)
        - new /examples dir, with a sample file to let you easily try
          different color schemes (Yanick Champoux)
        - pod coverage tests (developer only)

0.30    2012-02-13
    CHANGES THAT BREAK BACKWARDS COMPATIBILITY:
        - 'escape_chars' was renamed 'print_escapes' to
          avoid ambiguity. The old name will work until
          v0.32, but will trigger a warning so you can
          update your code. Sorry for the inconvenience,
          the previous name was hard to figure out because
          'escape' could be interpreted as a noun or as
          an adjective (perigrin++ for suggesting the new
          name).

    NEW FEATURES:
        - in hashes, surround key names with quotes if they
          contain spaces (feature request by Maxim Vuets)
        - escape_chars also works for hash keys now.
        - new 'quote_keys' property to add quotes in hash
          keys. Defaults to 'auto' which means it will
          quote keys containing spaces (and empty keys)

    BUG FIXES:
        - fixed temporary file handling during tests. Thanks
          Andy Bach for reporting and providing a patch.

    OTHER:
        - added documentation for the new 'rc_file' feature
          introduced in the previous version.

0.29    2012-01-25
    NEW FEATURES:
        - custom rc file names via the new 'rc_file' property
          (many thanks to Maxim Vuets for the idea and the
           original implementation)

    BUG FIXES:
        - fixed unescaped null character during colored output
          (reported by bowtie++)


0.28    2012-01-23
    NEW FEATURES:
        - new 'escape_chars' property to show '\t', '\n'
          escaped (default is 1, meaning escape, which
          will render the actual character instead). Note that
          the '\0' special character is never escaped.
        - new 'escaped' colour, defaults to bright red.

    OTHER:
        - fixed Changes file for compliance against latest
          CPAN::Changes specification

0.27    2012-01-22
    BUG FIXES:
        - properly escape nulls in strings (oylenshpeegul)

    NEW FEATURES:
        - control the output target with the 'output' property.
          It can be set to 'stdout', 'stderr', a file name,
          a file handle or even a scalar reference! Default, as
          usual, is 'stderr'

    OTHER:
        - added tests for auto-coloring (DOY)
        - updated link to Any::Renderer::Data::Printer (Allan Whiteford)

0.26    2011-11-23
    BUG FIXES:
        - colored => 'auto' properly detects terminals again

0.25    2011-11-20
    BUG FIXES:
        - Increased version requirement for Test::Pod to 1.41 (Fitz Elliott)
        - Updated tests to handle newer Class::MOP installations (J Mash)

    OTHER:
        - POD tests enabled only for developers
        - Updated Class::MOP version requirement to 0.81 since
          ActiveState was complaining about ancient versions.

0.24    2011-10-23
    NEW FEATURES:
        - link to the external URI filter (by SYP)
        - display object's reference type (Denis Howe)

    OTHER:
        - only load Class::MOP when inspecting objects.

0.23    2011-08-30
    NEW FEATURES:
        - control the return value with the 'return_value'
          property. This can be set to 'void', 'dump', and
          'pass' (for pass-through). Default is 'dump',
          which behaves exactly like previous versions. Note
          that, as usual, the 'dump' mode will only print
          the dump if called in void context. Otherwise, it
          will only return it. (MST, GARU)

    OTHER:
        - more extra tips (HANEKOMU, RANDIR, MST)
        - updated documentation

0.22    2011-07-19
    NEW FEATURES:
        - display taint information via the 'show_tainted'
          display customization (default true)
        - control weak information display via 'show_weak'
          customization (default true)
    OTHER:
        - major documentation overhaul and update
        - more extra tips (MST, HANEKOMU)

0.21    2011-07-01
    BUG FIXES:
        - removed legacy dependency on Object::ID
        - increased Term::ANSIColor version (David Raab)
        - switched to EU:MM to make people happy :)
          (seriously though, M:I was being too clever
           while resolving dependencies)
    OTHER:
        - adding bugtracker meta information

0.20    2011-06-23
    CHANGES THAT BREAK BACKWARDS COMPATIBILITY:
        - respect ANSI_COLORS_DISABLED if colored => 'auto',
          but force color codes if colored => 1.
        - colored => 'auto' prints colored output only
          in void mode, not when returning a string. In other
          words, doing p($var) will show colors, but
          my $out = p($var) will not (unless you force it
          via colored => 1). This behavior differs from
          previous versions, but is more consistent and
          we consider the previous way to have been a bug.

          Many thanks to SZABGAB, CSJEWELL and specially RANDIR
          for detecting, analyzing and helping to come up with
          a solution, initially addressed as a Microsoft Windows
          issue (RT#68630).

    OTHER:
        - reduced some dependencies to make installation even easier.

0.19    2011-06-08
    NEW FEATURES:
        - toggle 'parents' class display, activated by default (RANDIR)
        - toggle 'show_methods' class display, activated by default (RANDIR, GARU)
        - toggle 'linear_isa' class display, activated by default

    BUG FIXES:
        - specific class filters now fallback to generic -class
          filters when used (RANDIR)
        - show flags from handles even when not all flags are
          implemented on the target system (DOHERTY, GARU)

0.18    2011-06-07
    NEW FEATURES:
        - toggle timezone display on DateTime filters (Elliot Shank)
        - showing weak references (RANDIR)
        - more concise output for empty structures (RANDIR)

    OTHER:
        - extra tip on unified dumping interfaces (cat|grep)
        - extra tip on using Data::Printer with Devel::REPL

0.17    2011-06-06
    NEW FEATURES:
        - filter fallback also for Perl types (RANDIR, GARU)
        - no need to pass arrayref in -external filters
          if you only have one.
        - new "use_prototypes" option, defaults to 1. Set to 0
          to stop using prototypes in p(), which will let you
          do p( { foo => "bar" } ); but you'll have to pass
          the data to be printed as a reference.

    BUG FIXES:
        - corrected filter order (should be LIFO, not FIFO)
        - fixed edge-case behavior of p() within standalone filters
        - make sure filter output is defined, not just true (RANDIR)
        - fixed filter tests for Date::Calc & Date::Pcalc (SUGYAN, GARU)

    OTHER:
        - more tests
        - big internal refactoring
        - extra tips on circumveinting prototypes (DAMS, GARU)
        - extra tips on loading p() across all loaded modules (Árpád Szász)

0.16    2011-05-31
    BUG FIXES:
        - patch to make it work on 5.8.8 again (RANDIR)

0.15    2011-05-30
    OTHERS:
        - updating filters docs
        - adding default color for DateTime filter

0.14    2011-05-30
    NEW FEATURES:
        - allowing 'colored' display customization to control colored
          output. Default is 'auto', showing colors only when
          output is not being piped. You may also set this to 0 to
          disable colors completely, or 1 to enable output coloring
          all the time (even when piped).
        - new 'caller_info' display customization.
        - default 'class_method' is now set to '_data_printer', so your
          modules and apps can be aware of Data::Printer automatically.

    BUG FIXES:
        - Skipping calls to fcntl() in systems that don't support it.

0.13    2011-05-24
    CHANGES THAT ***BREAK*** BACKWARDS COMPATIBILITY:
        - 'external' is now called '-external' to avoid name clash
          with a potential "external.pm" class;
        - filters for the same type/class are now stacked and called
          in order. The first one that returns a defined value (string)
          is used, otherwise it will forward the call to the next filter.
          In earlier versions, the last declared filter would be the one
          used. Note that this feature is only available for stand-alone
          filters, since inline filters are actually a hash.

    NEW FEATURES:
        - use a specific dump method via the 'class_method' display
          customization (default undef)
        - display tie information via the 'show_tied' display
          customization (default true)
        - display extra information (mode, flags, layers) on I/O handles
        - new '-class' type (note the dash) called when we find a
          non-native type (i.e. an object). If you return anything at
          all - even an empty string - the filter will succeed. Otherwise
          it will forward the call to the next '-class' filter, in order.
        - new DDP package alias


    OTHERS:
        - improved test suite
        - improved documentation

0.12    2011-05-03
    BUG FIXES:
        - fixed failing filter test due to timezone/epoch issues

0.11    2011-05-03
    NEW FEATURES:
        - allowing 'sort_keys' display customization (default true)
        - allowing 'sort_methods' class display customization (default true)
        - now you can add options to Data::Printer as a plain hash, not
          just as a hash ref (feature request by edenc)

    NEW ***EXPERIMENTAL*** FEATURES:
        - Data::Printer::Filter, enabling separate filter classes
        - filter for modules handling date and time (DateTime & friends)
        - filter for database modules (DBI only for now)

    OTHERS:
        - more tests
        - improved documentation, including how to turn output to HTML
        - some internal refactorings

0.10    2011-04-18
    NEW FEATURES:
        - allowing toggle for array indices
        - allowing 'multiline' display customization
        - allowing 'deparse' display customization
        - allowing 'max_depth' display customization
        - allowing 'inherited' class display customization
        - allowing 'expand' class display customization, defaults
          to 1 (expand only the object itself)

    OTHERS:
        - removed ending comma from arrays and hashes
        - showing parents/ISA information only when it's there
        - default separator for key/values reduced to 3 spaces for
          improved readability.
        - improved test suite

0.09    2011-04-13
    NEW FEATURES:
        - allowing for 'internals' display customization

    BUG FIXES:
        - improving test suite
        - improving documentation

0.08    2011-04-11
    BUG FIXES:
        - improving test suite (was still failing on NetBSD)
        - Improved handling of extended regexps (thanks Getty for reporting)

0.07    2011-04-02
    BUG FIXES:
        - Making sure File::HomeDir is 0.91 or higher
        - Making tests stricter, since they were failing on Win32

0.06    2011-03-31
    BUG FIXES:
        - if you want to call p() from within a filter, the
          argument to p() must be passed as a *reference*. This
          is now enforced to avoid users shooting themselves in the foot.
        - more tests added

0.05    2011-03-23
    NEW FEATURES:
        - local configuration file support ($HOME/.dataprinter)
        - you can now alias p() to whatever name you like

0.04    2011-02-21
    NEW FEATURE (or BUGFIX depending on how you look at it):
        - supporting the new (5.13.6) perl regex modifiers syntax

0.03    2011-02-14
    BUG FIXES:
        - reseting colors before starting

0.02    2011-02-13

    CHANGES THAT BREAK BACKWARDS COMPATIBILITY:
        - d() function removed. You can now call p($var) in void context to print,
          or as "my $output = p($var)" to retrieve results without printing.

    NEW FEATURES:
        - new import syntax, use Data::Printer { option => value }
        - new "filters" property available to filter certain types.
        - updated documentation.

    NEW ***EXPERIMENTAL*** FEATURES
        - local properties setting, p($var, key => value).

    BUG FIXES:
        - properly handles GLOB references
        - colors now work on Win32 as well.
        - uncolors piped output, for "less" & friends (thanks Getty for reporting).
        - added all possible regex modifiers to the regex output.
        - more tests added.


0.01    2011-01-20
        - First version, released on an unsuspecting world.