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

[BUG FIXES]

- 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

[BUG FIXES]

- 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

[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

