- New upstream release 1.118:
Policy Changes:
- CodeLayout::RequireTidyCode: revise to work with incompatible changes in
Perl::Tidy 20120619 (CPAN RT#77977)
- TestingAndDebugging::ProhibitNoWarnings: correct the parse of the
'no warnings' statement, so that 'no warnings "qw"' is recognized as
suppressing just 'qw' warnings (CPAN RT#74647)
- Miscellanea::RequireRcsKeywords has been moved to the Perl-Critic-More
distribution (CPAN RT#69546)
Other Changes:
- Make all unescaped literal "{" characters in regexps into character
classes; these are deprecated, and became noisy with Perl 5.17.0
(CPAN RT#77510)
- Drop now-redundant patch for Perl::Tidy compatibility
- BR: perl(lib) for the build process
- BR: perl(base), perl(PPIx::Utilities::Node) and perl(Test::Builder) ≥ 0.92
for the module (Test::Builder required by Test::Perl::Critic::Policy)
- BR: perl(Exporter) ≥ 5.58; with older versions we get:
":color_severity" is not exported by the Perl::Critic::Utils::Constants module
- BR: perl(File::Spec::Functions) for the test suite
- Drop buildreqs for perl(charnames), perl(File::Basename), perl(File::Find),
perl(overload), perl(strict) and perl(warnings) - not dual lived
- New upstream release 1.117:
New Policies:
- Variables::ProhibitAugmentedAssignmentInDeclaration reports constructs like
'my $x += 1'
Policy Changes:
- BuiltinFunctions::ProhibitLvalueSubstr: add explicit 'use version'
(CPAN RT#68498)
- CodeLayout::ProhibitHardTabs: add 'pbp' to the default_themes list
(CPAN RT#71093)
- ControlStructures::ProhibitMutatingListFunctions now understands that
tr///r (introduced in 5.13.7) does not change its operand
- ControlStructures::ProhibitMutatingListFunctions now understands that
'//=', '<<=', and '>>=' are assignment operators (CPAN RT#70901)
- ErrorHandling::RequireCheckingReturnValueOfEval now allows things
like grep { eval $_ } (CPAN RT#69489)
- Modules::RequireExplicitPackage now has configuraion option
allow_import_of, to allow the import of specified modules before the
package statement (CPAN RT#72660)
- RegularExpressions::ProhibitEnumeratedClasses no longer thinks
that [A-Za-z_] matches \w. RT #69322.
- RegularExpressions::ProhibitUnusedCaptures now skips the first block of
an 'if' or 'elsif' if the regular expression is bound to its operand with
the '!~' operator (CPAN RT#69867)
- RegularExpressions::ProhibitUnusedCaptures now looks into lists and blocks
in the replacement portion of the regular expression if /e is asserted
(CPAN RT#72086)
- RegularExpressions::RequireDotMatchAnything,
RegularExpressions::RequireExtendedFormatting and
RegularExpressions::RequireLineBoundaryMatching now honor defaults set with
'use re "/modifiers"' (CPAN RT#72151)
- Subroutines::ProhibitManyArgs now recognizes '+' as a prototype character
- Variables::ProhibitPunctuationVars now recognizes bracketed variables
embedded in interpolated strings (e.g. "${$}"); for the purpose of the
'allow' configuration, these are considered equivalent to the unbracketed
form (CPAN RT#72910)
Other Changes:
- Corrected POD in Perl::Critic::PPI::Utils (CPAN RT#68898)
- Perl::Critic::Violation source() method now returns the line containing
the violation (not the first line) when the statement containing the
violation spans multiple lines
- This release by THALJEF -> update source URL
- Drop stopwords patch, now included upstream
- New upstream release 1.116:
- BuiltInFunctions::ProhibitLvalueSubstr does not report violations if the
document contains an explicit 'use n.nnn;' where the version is before
5.005 (CPAN RT#59112)
- Documentation::RequirePodSections no longer blows up on code having POD but
no =head1 (CPAN RT#67231)
- RegularExpressions::ProhibitUnusedCapture should more reliably find things
like s/(a)/${1}2/ (CPAN 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 ...' (CPAN RT#67159)
- Variables::RequireLexicalLoopIterators does not report violations if the
document contains an explicit 'use n.nnn;' where the version is before
5.004 (CPAN RT#67760)
- New upstream release 1.115:
- Fatal error in RegularExpressions::ProhibitUnusedCapture here document
check (CPAN RT#67116)
- Internal POD error in Documentation::RequirePodLinksIncludeText
(CPAN RT#67012)
- New upstream release 1.114:
- Documentation::RequirePodLinksIncludeText now handles nested POD formatting
(CPAN RT#65569)
- Clarified relation of severity numbers to names in Perl::Critic POD
(CPAN RT#66017)
- Removed caveats from Variables::RequireLocalizedPunctuationVars, no longer
necessary with PPI 1.208 (CPAN 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 (CPAN RT#64437)
- RegularExpressions::ProhibitUnusedCapture now looks inside double-quotish
things (CPAN RT#38942)
- RegularExpressions::ProhibitUnusedCapture now takes logical alternation
into account, so that (e.g.)
if ( /(a)/ || /(b)/ ) {
say $1;
}
is not a violation (CPAN 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 (CPAN 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 (CPAN RT#64132)
- Bump PPI version requirement to 1.215
- BR/R: perl(Pod::Parser)