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 . Version 74, October 2012 - tests RequireNumericVersion skip version.pm 1e6 uncertain quite yet 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