0.33     2015-11-30 (TRIAL RELEASE)

- Adding diff functionality as its own plugin (DiffOnTidyError), which was
  done in 0.31, turned out to be quite problematic. As a plugin you had to
  define which files it applied to via select & exclude, and in a large code
  base it was easy to select files that no other plugin applied to. This meant
  tidyall (and Test::Code::Tidyall, etc.) would include those files even
  though they were never touched. This could make tidying and tidy tests
  _much_ slower.

  This plugin has been replaced with a new config attribute that can be
  applied to all plugins, diff_on_tidy_error. When this is set, any plugin
  that tidies source in --check-only mode (also used by Test::Code::Tidyall)
  will include a diff in the error message, one diff per plugin. This has the
  added benefit of showing if you if multiple plugins are each making changes
  to the same file.

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

