This is a change that breaks backwards compatibility. However, it only does so because the previous behavior is considered to be a bug, not a feature. Now, when colored => 'auto' (the default behavior) Data::Printer will respect the ANSI_COLORS_DISABLED environment variable. In colored => 'auto' mode, it will also colorize only when it's not returning, but printing to STDERR. In 'auto', saying "my $var = p($something)" will remove colors. As a consequence, this should help address the issues in MS Windows.
Now Data::Printer stores its own dumping routines as filters, which allowed the following cool features: - filter fallback for Perl types (randir++); - you can pass an array reference to inline filters to add more than one filter for the same given type; - no need to pass an array ref to -external if you are only loading one external filter module;