CPAN-Changes
view release on metacpan or search on metacpan
corpus/dists/Perl-Critic.changes view on Meta::CPAN
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.)
[1.109] Released on 2010-08-29
Bug Fixes:
* ValuesAndExpressions::RequireInterpolationOfMetachars fix due to changes
in Email::Address 1.890. Note that this may find problems in code that
it didn't before, e.g. q<'@foo'>.
[1.108] Released on 2010-06-22
This is the "Give Shawn Moore what we promised him a year ago and hurry up
and get this out before Brad Oaks gives his YAPC::NA talk" release.
New Policies:
* Documentation::RequirePodLinksIncludeText
* Subroutines::ProhibitUnusedPrivateSubroutines
( run in 2.181 seconds using v1.01-cache-2.11-cpan-fe3c2283af0 )