The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.25     2015-03-31

[ENHANCEMENTS]

- You can now pass "verbose => 1" to tidyall_ok(). Previously this would have
  been overridden because we unconditionally set "quiet => 1", but now we only
  do this when verbose is not specified.

- Added a new "msg_outputter" attribute to Code::TidyAll. By default, this is
  a sub that simply calls "printf", but you can pass something else to change
  how messages are printed. Test::Code::TidyAll uses this to send messages
  through diag().

- If you set "verbose => 1" when calling Test::Code::TidyAll, it will now use
  Text::Diff::Table to show details of how a file needs to be tidied in order
  to pass the tidyall checks.

- Made the PerlCritic plugin pass even if a critic module issues some
  warnings. As long as perlcritic says "source OK", we want to treat that as a
  pass, despite any warnings it may issue. Fixed by Mark Fowler.

- Made the caching model pluggable, and added a new
  Code::TidyAll::CacheModel::Shared class as an alternative to the default
  model. This lets you share the cache directory between multiple branches in
  a single checkout while still detecting file changes properly. Implemented
  by Mark Fowler.


0.24     2014-11-06

[WARNING FOR A FUTURE RELEASE]

- At some point in the future, it will probably be necessary for Code::TidyAll
  to become aware of encodings on a per-file basis. As it stands right now,
  any tidying plugin which reformats text could, in theory, end up splitting
  up a UTF-8 character's bytes across at a line break.

[BUG FIXES]

- Replaced the use of Capture::Tiny with IPC::Run3 for some plugins. The
  former seems to sometimes return character data where we want bytes, even if
  the STDOUT and STDERR handles are binmode()'d to the ":bytes" encoding. This
  prevents warnings about writing wide characters from the JSBeautify plugin.


0.23     2014-11-06

- Fix test failures seen on CPANTesters.


0.22     2014-11-05

[BUG FIXES]

* Removed the compile test added in the last release. Many plugin modules
  won't compile unless optional prereqs are manually installed first (such as
  Perl::Critic, Perl::Tidy, etc.).


0.21     2014-11-05

[ENHANCEMENTS]

* Test::Code::TidyAll now sets "quiet => 1" when creating the Code::TidyAll
  object to suppress noise from any plugins.

* Test::Code::TidyAll now calls Test::More::diag() after test failures instead
  of before.

[BUG FIXES]

* Lots of little doc tweaks and fixes.


0.20    2014-05-18

[BUG FIXES]

* Fix option handling implentation and documentation for
  Test::Code::TidyAll::tidyall_ok -
  https://github.com/jonswar/perl-code-tidyall/issues/18 (Olad Alders)


0.19    2014-03-06

[ENHANCEMENTS]

* Added a JSON plugin (Gregory Oschwald)


0.18    2013-09-21

[BUG FIXES]

* Fix Test::Code::TidyAll::tidyall_ok -
  https://github.com/jonswar/perl-code-tidyall/issues/12 (Adam Taylor)

* Fix JSBeautify plugin as js-beautify no longer respects --replace


0.17    2013-03-11

[BACKWARDS INCOMPATIBILITIES]

* Rename API method process_files to more accurate process_paths

[BUG FIXES]

* Fix recursive processing of directories (Mark Risman)

* Improve git precommit setup script -
  https://github.com/jonswar/perl-code-tidyall/pull/10 (Olaf Anders)


0.16    2012-10-22

[ENHANCEMENTS]

* Added phpcs plugin (Joseph Crotty)

* Added cssunminifier plugin

* Added SortLines plugin, for one-entry-per-line files like .gitignore


0.15    2012-10-11

[BUG FIXES]

* Fix test_dirs test to not rely on file ordering


0.14    2012-10-10

[ENHANCEMENTS]

* Allow a plugin to be listed multiple times in config with different
  configuration

* Specify order that plugins run (tidiers before validators, then alpha) and
  document that they are applied atomically

* Added etc/editors/tidyall.vim for Vim (Justin Devuyst)

* Added -r/--recursive flag to process directories recursively

* In -p/--pipe mode, mirror input to output in case of error (Justin Devuyst)

* Fix -l/--list handling of local files

* Added --version option

* Make git prereceive hook more modular, so it can be combined with other
  checks


0.13    2012-09-30

[BUG FIXES]

* Adjust MasonTidy plugin for new API

* Remove Util.t containing only author-only tests


0.12    2012-09-27

[ENHANCEMENTS]

* Added podspell plugin (POD spell checker)

* Added --iterations flag to run tidier transforms multiple times

* Allow .tidyallrc as alternative to tidyall.ini

* Allow git prereceive hook to be bypassed by pushing an identical set of commits
    several consecutive times (allow_repeated_push)

* Added handcrafted usage w/summary of options, instead of Pod::Usage


0.11    2012-09-21

[ENHANCEMENTS]

* Allow multiple select and ignore patterns, separated by whitespace or on separate lines

* Added -l/--list flag to show which plugins match which files

* Added conf_name parameter to specify name other than tidyall.ini

* Redirect stdout to stderr with -p/--pipe, so that stdout is dedicated to the tidied content

* In tidyall.el, hide error buffer on successful tidy

[BUG FIXES]

* Handle argv/config errors correctly in various plugins

* Eliminate double-printed error with -p/--pipe

* Allow relative paths to -p/--pipe


0.10    2012-09-12

[ENHANCEMENTS]

* Added masontidy plugin (Mason component tidier)

* Added jslint plugin (javascript validator)


0.09    2012-09-11

[BUG FIXES]

* Remove use of ex-dependency Hash::MoreUtils from bin/tidyall (Jason Wieland)

* Added IPC::System::Simple and Pod::Usage to deps (Jason Wieland)


0.08    2012-09-10

[ENHANCEMENTS]

* Added js-beautify plugin (javascript tidier)

* Added jshint plugin (javascript validator)

* Added podchecker plugin

* Added -p/--pipe flag to read from STDIN and write to STDOUT

* Allow tidyall.el to work in narrowed regions

* Make plugins into Moo classes, pass configuration as attributes

[BUG FIXES]

* Remove unused SVN::Look - perl-code-tidyall/pull/1 (Pedro Melo)

* Filter just files from git status in Code::TidyAll::Git::Precommit (Pedro Melo)


0.07    2012-09-05

[ENHANCEMENTS]

* Added git pre-receive hook (Code::TidyAll::Git::Prereceive)

[BUG FIXES]

* Show file paths with errors in quiet mode


0.06    2012-09-03

[ENHANCEMENTS]

* Added -g/--git flag and git pre-commit hook (Code::TidyAll::Git::Precommit)

[BUG FIXES]

* Omit directories from svn_uncommitted_files (--svn)


0.05    2012-08-21

[ENHANCEMENTS]

* Added etc/editors/tidyall.el for Emacs

* Only print 'no plugins apply' warning in verbose mode


0.04    2012-08-14

[ENHANCEMENTS]

* Added -s/--svn flag

* Added emergency_comment_prefix ("NO TIDYALL") to svn precommit hook

[BUG FIXES]

* Added back missing plugins

* Fix --check-only flag


0.03    2012-07-24

[eNHANCEMENTS]

* Added svn precommit hook (Code::TidyAll::SVN::Precommit)

* Added preprocess_source and postprocess_source to plugins

* Added only_modes and except_modes configuration for plugins

* Added Code::TidyAll::process_source(), for processing a string instead of a file

* When only specified files are being processed, don't scan the whole hierarchy

* Added -I flag to tidyall

[INTERNALS]

* Switch to Moo

* Added separate new_from_conf_file constructor, for cleaner separation of cases


0.02    2012-07-03

[ENHANCEMENTS]

* Added Test::Code::TidyAll, to test that a project is tidied

* Added prefilter and postfilter params, to be applied to code before and after processing

* Added --check-only option to check but not tidy

* Added --mode option and modes config entry, to activate only a subset of plugins in config

* Added --output-suffix to write file to a different destination

* Added --quiet option to suppress most output

* Added --tidyall-class option to specify a different Code::TidyAll subclass

* Document how to create new plugins in Code::Tidy::Plugin


0.01    2012-06-17

* Initial release