Copyright 2008, 2009, 2010, 2011, 2012 Kevin Ryde

This file is part of Perl-Critic-Pulp.

Perl-Critic-Pulp is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 3, or (at
your option) any later version.

Perl-Critic-Pulp is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with Perl-Critic-Pulp.  If not, see <http://www.gnu.org/licenses/>.



Version 73, June 2012
    - tests fix for File::Temp in perl pre-5.10

Version 72, June 2012
    - TextDomainPlaceholders fix #line regexp plain \2 for perl before 5.10

Version 71, June 2012
    - RequireLinkedURLs - skip "=begin html" etc blocks
    - RequireFinalCut - cut not required if only =begin foo/=end foo block

Version 70, May 2012
    - new policy Documentation::RequireFinalCut

Version 69, January 2012
    - new policy ValuesAndExpressions::ProhibitDuplicateHashKeys
    - PerlMinimumVersionAndWhy
      - new keys @array, values @array and each @array are 5.12
      - new eval '#line' with #line the very first thing is 5.8
    - Perl::Critic::Pulp::Utils new elem_is_comma_operator()

Version 68, January 2012
    - RequireNumericVersion
      - recognise fully-qualified $Foo::VERSION
      - recognise "$VERSION = eval $VERSION" trick

Version 67, December 2011
    - RequireTrailingCommaAtNewline allow "return(123 newline );"

Version 66, December 2011
    - new policy Documentation::ProhibitDuplicateSeeAlso

Version 65, September 2011
    - PerlMinimumVersionAndWhy
      - new UNIVERSAL.pm methods in 5.004 and 5.10
      - new "Foo->$method" no-args without parens is 5.6 

Version 64, August 2011
    - fix ProhibitLinkToSelf warnings on no L<> display part

Version 63, August 2011
    - new policy Documentation::ProhibitLinkToSelf

Version 62, July 2011
    - Makefile.PL depends PPI 1.212 for literal()

Version 61, June 2011
    - new policies ProhibitArrayAssignAref, RequireTrailingCommaAtNewline,
      ProhibitUnbalancedParens

Version 60, May 2011
    - PerlMinimumVersionAndWhy new 5.6 open(my $fh,...)

Version 59, May 2011
    - tests don't die on a deliberately induced version.pm warning

Version 58, May 2011
    - new policy Documentation::ProhibitParagraphTwoDots

Version 57, May 2011
    - ProhibitUnknownBackslash
        - allow \: etc stopping interpolation
        - \N only when "use charnames" in scope

Version 56, April 2011
    - new policy Documentation::ProhibitAdjacentLinks
    - PerlMinimumVersionAndWhy new 5.6 syswrite() length optional

Version 55, April 2011
    - PerlMinimumVersionAndWhy add 5.8 pack() "[123]" brackets

Version 54, April 2011
    - PerlMinimumVersionAndWhy
        - new check 5.005 for "my (undef,$x)",
        - fix for "delete $array[0]{'key'}" is hash not array
        - document 5.8 for "=>" across newline
        - document 5.004 for "$coderef->()" call and "sysseek()" func

Version 53, April 2011
    - new policy Documentation::RequireLinkedURLs

Version 52, April 2011
    - new policy Compatibility::ConstantLeadingUnderscore
    - Perl::Critic::Pulp::Utils new elem_in_BEGIN()

Version 51, April 2011
    - depend on Pod::MinimumVersion 50 for fix to =item C<< >> detection

Version 50, March 2011
    - fix Compatibility::PodMinimumVersion to use its documented
      "above_version", as reported by Mark Gardner
    - fix Perl::Critic::Pulp::Utils parameter_parse_version() to store
      with __set_parameter_value(), so field "_foo" not "foo"

Version 49, March 2011
    - split Pod::MinimumVersion to its own distribution

Version 48, March 2011
    - PerlMinimumVersionAndWhy some bits now in Perl::MinimumVersion itself

Version 47, February 2011
    - fix Makefile.PL for perl 5.6
    - UnexpandedSpecialLiteral allow fat comma after newline
    - PerlMinimumVersionAndWhy report pragmas too

Version 46, January 2011
    - new policy ValuesAndExpressions::RequireNumericVersion

Version 45, December 2010
    - oops, tests really fix ProhibitVerbatimMarkup.t

Version 44, December 2010
    - tests fix ProhibitVerbatimMarkup.t some version number checks

Version 43, September 2010
    - test manifest only as an author test
    - tests drop backslash of more wide chars which bomb on 5.8.x, maybe

Version 42, September 2010
    - tests avoid warnings from Pod::Parser 1.37 on empty =encoding
    - tests and docs Perl::Critic 1.110 for annotations past __END__

Version 41, July 2010
    - TextDomainPlaceholders allow literal number for __xn() count

Version 40, July 2010
    - new policy Modules::ProhibitModuleShebang

Version 39, July 2010
    - PerlMinimumVersionAndWhy add
	- 0b110011 binary literals new in 5.006
    - new policy Documentation::ProhibitVerbatimMarkup

Version 38, June 2010
    - new policy CodeLayout::RequireFinalSemicolon

Version 37, May 2010
    - tests don't try wide chars in PPI input string, doesn't work in
      5.8.6 and not sure if it's meant to

Version 36, May 2010
    - PerlMinimumVersionAndWhy add
	- "foreach my $foo" lexical loop variable new in 5.004
	- "$coderef->()" call new in 5.004

Version 35, April 2010
    - PerlMinimumVersionAndWhy add
	- special __PACKAGE__ new in 5.004
	- "use VERSION" or "use MODULE VERSION" new in 5.004

Version 34, April 2010
    - new policy ValuesAndExpressions::ProhibitBarewordDoubleColon
    - PerlMinimumVersionAndWhy new option skip_checks

Version 33, April 2010
    - ProhibitBadAproposMarkup and Pod::MinimumVersion quietly ignore
      POD parse errors

Version 32, March 2010
    - PerlMinimumVersionAndWhy add
        - exists() and delete() subs and arrays new in 5.006
        - Foo::Bar:: double-colon bareword new in 5.005

Version 31, February 2010
    - ProhibitUnknownBackslash fix for interpolated "$#array"

Version 30, January 2010
    - PerlMinimumVersionAndWhy new pack/unpack format string checks

Version 29, January 2010
    - fix dependency, P::C 1.084 for highest_explicit_perl_version()

Version 28, January 2010
    - new policy Compatibility::ProhibitUnixDevNull

Version 27, December 2009
    - ProhibitUnknownBackslash also \c control chars

Version 26, December 2009
    - new policy ValuesAndExpressions::ProhibitUnknownBackslash

Version 25, December 2009
    - new policy ValuesAndExpressions::ProhibitFiletest_f

Version 24, December 2009
    - new policy Documentation::ProhibitBadAproposMarkup

Version 23, November 2009
    - PodMinimumVersion 5.004 for =for, =begin, =end

Version 22, September 2009
    - new policy Modules::ProhibitPOSIXimport
    - TextDomainPlaceholders -- allow non-ascii keys

Version 21, August 2009
    - PodMinimumVersion -- update the location offset hack

Version 20, August 2009
    - PerlMinimumVersionAndWhy -- add report qr//m needs 5.10
    - fix some "use" module version cases
    - ProhibitNullStatements -- workaround incompatible changes in PPI 1.205

Version 19, June 2009
    - new policy Compatibility::PerlMinimumVersionAndWhy
    - new policy Compatibility::PodMinimumVersion

Version 18, June 2009
    - new policy Compatibility::Gtk2Constants
    - TextDomainPlaceholders -- check __px() and __npx(), and try to
      notice a missing count arg in __nx(), __xn() and __npx()

Version 17, May 2009
    - TextDomainUnused -- recognise __p() etc new in libintl-perl
      1.17, as advised by Guido Flohr

Version 16, April 2009
    - new policy Modules::ProhibitUseQuotedVersion

Version 15, March 2009
    - new policy Miscellanea::TextDomainUnused

Version 14, January 2009
    - ConstantPragmaHash -- fix for document with no includes at all

Version 13, January 2009
    - ConstantPragmaHash -- fix location reported

Version 12, January 2009
    - new policy Compatibility::ConstantPragmaHash

Version 11, December 2008
    - oops, in the tests PPI 1.203 doesn't like an empty document

Version 10, December 2008
    - new policy Documentation::RequireEndBeforeLastPod

Version 9, December 2008
    - new policy ValuesAndExpressions::ProhibitEmptyCommas

Version 8, October 2008
    - UnexpandedSpecialLiteral -- rename from LiteralSpecialLiteral,
      for clarity

Version 7, August 2008
    - new policy LiteralSpecialLiteral

Version 6, August 2008
    - new policy Miscellanea::TextDomainPlaceholders

Version 5, July 2008
    - new policy ValuesAndExpressions::NotWithCompare

Version 4, July 2008
    - another go at the CPAN indexing

Version 3, July 2008
    - fixes for CPAN indexing

Version 2, July 2008
    - new toplevel module Perl::Critic::Pulp
    - ConstantBeforeLt -- depends on prototyping, not perl version

Version 1, June 2008
    - the first version, with ConstantBeforeLt and ProhibitNullStatements