Revision history for Data-Printer

0.20    23/06/2011
    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    08/06/2011
    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    07/06/2011
    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    06/06/2011
    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    31/05/2011
    BUG FIXES:
        - patch to make it work on 5.8.8 again (RANDIR)

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

0.14    30/05/2011
    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    24/05/2011
    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    03/05/2011
    BUG FIXES:
        - fixed failing filter test due to timezone/epoch issues

0.11    03/05/2011
    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    18/04/2011
    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    13/04/2011
    NEW FEATURES:
        - allowing for 'internals' display customization

    BUG FIXES:
        - improving test suite
        - improving documentation

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

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

0.06    31/03/2011
    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    23/03/2011
    NEW FEATURES:
        - local configuration file support ($HOME/.dataprinter)
        - you can now alias p() to whatever name you like

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

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

0.02    13/02/2011

    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    20/01/2011
        - First version, released on an unsuspecting world.