0.32     2015-11-19

- When in verbose mode we now show what plugins are being applied to each
  file. This is helpful if you want to know why a file isn't being ignored,
  for example.

- Added a new plugin configuration option for the rc file, "weight". You can
  use this to exercise greater control over the order that plugins run in.

0.31     2015-11-17

- Added a new plugin, DiffOnTidyError. This plugin will call "diff -u" to
  compare the original file content to the tidy version.

0.30     2015-09-14

- Added a --no-cleanup option for the tidyall script that causes it to leave
  any tempdirs it creates behind. Implemented by Mark Fowler. GitHub #41.

0.29     2015-08-15

- Replaced use of Digest::SHA1 with Digest::SHA. The latter module has been
  part of the Perl core since 5.10. Implemented by Sergey Romanov. GitHub #39.

0.28     2015-08-06

- The JSON plugin now uses JSON::MaybeXS instead of JSON.pm. Patch by Greg
  Oschwald. GitHub #37.

- Added a new plugin, PerlTidySweet, which uses perltidy-sweet instead of
  perltidy. Implemented by Mark Grimes. GitHub #26.

0.27     2015-07-04


- Fixed broken POD. Most modules were missing their NAME sections because of a
  mistake in the distro's weaver.ini file. Reported by Красимир Беров.

0.26     2015-06-29


- The tidyall script did not handle the -I option correctly. It was treated as
  a boolean rather than a string, meaning it basically ignored whatever you
  passed. Fixed by Andy Jack. GH #35.

- The PodChecker plugin no longer generates warnings about an undef variable
  if the file did not have any Pod.

- Added an option for the tidyall config file, shebang. This is an additional
  filter that selects files based on the shebang line
  (#!/bin/foo). Implemented by timgimyee. GH #25.

0.25     2015-03-31


- 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


- 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.


- 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


* 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


* 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.


* Lots of little doc tweaks and fixes.

0.20    2014-05-18


* 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


* Added a JSON plugin (Gregory Oschwald)

0.18    2013-09-21


* 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


* Rename API method process_files to more accurate process_paths


* 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


* Added phpcs plugin (Joseph Crotty)

* Added cssunminifier plugin

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

0.15    2012-10-11


* Fix test_dirs test to not rely on file ordering

0.14    2012-10-10


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

* 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

0.13    2012-09-30


* Adjust MasonTidy plugin for new API

* Remove Util.t containing only author-only tests

0.12    2012-09-27


* 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


* 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


* 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


* Added masontidy plugin (Mason component tidier)

* Added jslint plugin (javascript validator)

0.09    2012-09-11


* 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


* 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


* 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


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


* Show file paths with errors in quiet mode

0.06    2012-09-03


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


* Omit directories from svn_uncommitted_files (--svn)

0.05    2012-08-21


* Added etc/editors/tidyall.el for Emacs

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

0.04    2012-08-14


* Added -s/--svn flag

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


* Added back missing plugins

* Fix --check-only flag

0.03    2012-07-24


* 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


* Switch to Moo

* Added separate new_from_conf_file constructor, for cleaner separation of cases

0.02    2012-07-03


* 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