e657697b25
[1.116] Released on 2011-05-15 Policy Changes: * BuiltInFunctions::ProhibitLvalueSubstr does not report violations if the document contains an explicit 'use n.nnn;' where the version is before 5.005. RT #59112 * Documentation::RequirePodSections no longer blows up on code having POD but no =head1. This problem was introduced with RT #59268. RT #67231 * RegularExpressions::ProhibitUnusedCapture should more reliably find things like s/(a)/${1}2/. RT #67273. * ValuesAndExpressions::ProhibitMagicNumbers and Module::RequireVersionVar now treat versions passed as the second argument of a 'package' statement the same as versions declared as 'our $VERSION ...'. RT #67159 * Variables::RequireLexicalLoopIterators does not report violations if the document contains an explicit 'use n.nnn;' where the version is before 5.004. RT #67760 [1.115] Released on 2011-03-31 Minor bits: * Fatal error in RegularExpressions::ProhibitUnusedCapture here document check. RT #67116. * Internal POD error in Documentation::RequirePodLinksIncludeText. Patch by Salvatore Bonaccorso. RT #67012 [1.114] Released on 2011-03-26 Policy Changes: * Documentation::RequirePodLinksIncludeText now handles nested POD formatting. RT #65569 * Clarified relation of severity numbers to names in Perl::Critic POD. RT #66017 * Removed caveats from Variables::RequireLocalizedPunctuationVars, no longer necessary with PPI 1.208. RT #65514 * Have InputOutput::RequireBriefOpen attempt to expand scope as necessary to deal with the case where the open() and the corresponding close() are not in the same scope. RT #64437 * RegularExpressions::ProhibitUnusedCapture now looks inside double-quotish things. RT #38942. * RegularExpressions::ProhibitUnusedCapture now takes logical alternation into account, so that (e.g.) if ( /(a)/ || /(b)/ ) { say $1; } is not a violation. RT #38942. * ValuesAndExpressions::ProhibitCommaSeparatedStatements now recognizes 'return { foo => 1, bar => 2 }' as containing a hash constructor, not a block. This was fixed by PPI 1.215. RT #61301. * ValuesAndExpressions::ProhibitCommaSeparatedStatements now recognizes 'bless { foo => 1, bar => 2 }' as containing a hash constructor, not a block. This was fixed by PPI 1.215. RT #64132. [1.113] Released on 2011-02-14 New Policies: * InputOutput::RequireEncodingWithUTF8Layer recommends ':encoding(utf8)' over ':utf8' in open() and binmode(). It is severity 5 because of the bad things that can happen if invalid UTF8 gets loose in your code. * Modules::ProhibitConditionalUseStatements prohibits 'use module' inside a conditional, since the statement is executed unconditionally at compile time. Thanks to Peter Guzis for submitting the policy and tests in RT #59065. Policy Changes: * CodeLayout::RequireConsistentNewlines produces multiple undefined value errors when a violation is found. RT #65663 * ControlStructures::ProhibitMutatingListFunctions allows s///r, which was introduced in 5.13.2. * ControlStructures::ProhibitPostfixControls now looks for "when". It is treated in the same way as "if". * Documentation::RequirePodSections now honors '## no critic' annotation anywhere before the '__END__', '__DATA__', or first '=head1', whichever comes first. The line number of the offending '=head1 NAME' was added to the violation description. RT #59268. * RegularExpressions::ProhibitUnusedCapture now takes account of the use of $- and $+ (and their English equivalents under 'use English') provided the subscripts are literal integers. * RegularExpressions::ProhibitUnusedCapture now takes account of the use of capture variables in the replacement portion of s/.../.../e. * Subroutines::ProhibitUnusedPrivateSubroutines now looks inside regular expressions. * ValuesAndExpressions::ProhibitMagicNumbers now supports Const::Fast. * ValuesAndExpressions::ProhibitMagicNumbers now has a constant_creator_subroutines parameter to allow the user to configure the names of subroutines that create constants. RT #62562. * ValuesAndExpressions::ProhibitMismatchedOperators didn't handle file test operators properly. Patch by H.Merijn Brand. RT #58751 * Variables::ProhibitUnusedVariables now looks inside regular expressions. * ValuesAndExpressions::RequireInterpolationOfMetachars now detects and complains about "\b" and "\l" as documented in perlop, and "\1" through "\7", which are not documented there, but were found in toke.c. New Developer Features: * uses_module(), namespaces(), and subdocuments_for_namespace() methods on Perl::Critic::Document. * Perl::Critic::Document->new() now accepts a -filename-override argument for setting the filename when the source code comes from something other than an actual file. Other Changes: * Test::Perl::Critic::Policy no longer exports by default. * Build phase now requires Test::Deep. * Added example using Try::Tiny to documentation of ErrorHandling::RequireCheckingReturnValueOfEval. Suggested by Andy Lester on the developers mailing list. * In order to get more consistent behavior across all installations of Perl::Critic, IPC::Open2 (which actually is part of core), PPIx::Regexp, Perl::Tidy, Pod::Spell, and Text::ParseWords are no longer optional prerequisites. * Now depends upon PPIx::Utilities v1.1.0. Bug Fixes: * Build.PL/Makefile.PL didn't specify a minimum version of version.pm, but TestingAndDebugging::RequireUseStrict did. RT #58952 * Perl::Critic::Annotation needs to look inside the __END__ statement to find the true end of the document, otherwise POD policies may give false positives. RT #59176 * BuiltinFunctions::ProhibitStringyEval no longer dies on eval "#...". RT #60179 * RegularExpressions::ProhibitUnusedCapture now takes account of the %LAST_PAREN_MATCH as well as %+ if English has been loaded. RT #60002 * Subroutines::ProhibitManyArgs now interprets prototype groups (e.g. \[$@%]) as representing a single argument. * Require Exporter version 5.63 (versus version 0) to get sane handling of export tags. RT# 61071 * Prevent Subroutines::ProhibitUnusedPrivateSubroutines from failing on &_subroutine(). RT #61311 * Subroutines::ProhibitAmpersandSigils now allows references of the form \( &sub1, &sub2 ). RT #49609 [1.112_002] Released on 2011-02-09 [1.112_001] Released on 2010-12-14 Changes summarized into 1.113 above. For exact details, see Changes on BackPAN. [1.111] Released on 2010-12-14 Bug Fixes: * TestingAndDebugging::ProhibitNoStrict and ProhibitNoWarnings no longer rely on the behavior of all() when the list is empty due to change in List::MoreUtils 0.28. RT #63816 [1.110_001] Released on 2010-11-30 Changes summarized into 1.113 above. For exact details, see Changes on BackPAN. (Yes, all of this stuff was not in 1.111.) |
||
---|---|---|
.. | ||
DESCR | ||
distinfo | ||
Makefile |