- updated to 1.148
see /usr/share/doc/packages/perl-Perl-Critic/Changes
1.148
[Possible breakage]
Removed Perl::Critic::Utils::DataConversion. Any add-on policies that used
it will need to copy the functions from there into their own code.
[Documentation]
ProhibitCascadingIfElse no longer suggests using given/when.
[Internals]
We no longer require Test::Deep for testing.
Test::Kwalitee is now only recommended, not required.
Random microoptimizations, like using hashes for array contents checking,
and using any() instead of calling grep as a boolean.
OBS-URL: https://build.opensuse.org/request/show/1061360
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=58
- updated to 1.146
see /usr/share/doc/packages/perl-Perl-Critic/Changes
1.146
[New features]
ProhibitBarewordDirHandles now checks for sysopen as well as open. Thanks,
Tadeusz Sośnierz. (GH #732)
Added a Dockerfile in the extras/ directory for those who want to run P::C
in a container. Thanks, Isaac Gittins. (GH #832)
Subroutines::ProhibitBuiltinHomonyms now can take an "allows" parameter to
specify subroutines that won't violate the policy. Thanks, UTAGAWA Kiki.
(GH #14, #932)
ProhibitStringyEval now allows package declarations in evals when
allow_includes = true. This is a common way packages are declared.
Thanks, Chris Novakovic. (GH #908)
[Bug Fixes]
Fixed some problems with how Perl::Critic determined scope. Thanks, Tom
Wyant. (GH #793)
Fixed improper violation for lexical subroutines in
Subroutines::ProhibitBuiltinHomonyms. Thanks, TOYAMA Nao. (GH #973, #955,
#546)
ValuesAndExpressions::RequireNumberSeparators no longer complains if your
version numbers do not have number separators in them. Thanks, Tom Wyant.
(GH #856, #904)
Fixed a false positive with split() in ProhibitUnusedCapture. Thanks, Tom
Wyant. (GH #888)
[Internals]
We no longer use or need IO::String. Thanks, Graham Knop. (GH #997)
Removed requirements and mentions of modules no longer used:
* Fatal
* IO::String
* IPC::Open2
* Pod::Parser
* Task::Weaken
OBS-URL: https://build.opensuse.org/request/show/1046339
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=56
- updated to 1.144
see /usr/share/doc/packages/perl-Perl-Critic/Changes
1.144
Perl::Critic now requires Perl 5.10.1.
[New features]
The ProhibitAugmentedAssignmentInDeclaration policy now allows augmented
assignments to "our" variables, if the allow_our option is enabled.
Thanks, Graham Knop. (GH #993)
ProhibitExplicitISA now recommends "use parent" instead of "use base".
(GH #987)
RequireUseWarnings now recognizes that "use v5.36" implies warnings.
Thanks, Andrew Grechkin. (GH #984)
Subroutines::ProhibitNestedSubs now allows lexical subroutines can
now be inside of other subroutines. Thanks, TOYAMA Nao. (GH #946,
#971, #972)
RequireUseStrict now knows that Test::Spec enables it. (GH #906)
ProhibitUnusedCapture now understands @{^CAPTURE} and %{^CAPTURE_ALL} that
were added in Perl 5.26.0. Thanks, Tom Wyant. (GH #778)
Allow numeric operators on special number strings 'NaN' and 'inf'. Thanks,
Omer Gazit. (GH #803)
[Fixes]
Miscellanea::ProhibitUselessNoCritic no longer filters out errors about
itself, just as Miscellanea::ProhibitUnrestrictedNoCritic cannot. Thanks,
Bernhard Schmalhofer. (GH #939)
Fixed GH #878: bareword filehandle dies on `open(CHECK, '/foo');`. Thanks,
Tom Wyant.
[Internals]
Updated to using Perl 5.10.1. Starting migrating to Perl 5.10-isms like
defined-or. Thanks, James Raspass.
[Documentation]
Updated some outdated docs in Perl::Critic::Utils. Thanks, Slaven Rezić.
(GH #951)
1.142
This is the last version of Perl::Critic that will run on Perl 5.6.1. The
next release will require Perl 5.10.1.
[New Features]
Add new policy InputOutput::ProhibitBarewordDirHandles, comparable to
ProhibitBarewordFilehanles. Thanks, raf. (GH #912)
References::ProhibitDoubleSigils policy now allows for Perl's
postfix dereference syntax and does not report a policy violation.
Thanks to Ilya Rassadin (GH #578)
Added Test::Class::Moose and MooseX::MethodAttributes::Role to the
list of modules that are equivalent to "use strict". (GH #808, GH #886)
Subroutines::RequireArgUnpacking now detects anonymous subroutines with
attributes, prototypes or signatures. Thanks, Tom Wyant. (GH #684)
ProhibitVoidMap and ProhibitVoidGrep now detect void context inside subs,
such as:
sub { map { foo($_) } @list; return }
Thanks, James Raspass. (GH #905)
RequireArgUnpacking now allows a closure to be recognized as a way that
subroutine arguments can be unpacked. This is specified with an optional
allow_closures configuration option. Thanks, Tom Wyant. (GH #737)
ProhibitTwoArgOpen now disallows one-arg opens as well. Also, it
no longer allows two-arg opening of STDIN/STDOUT/STDERR. Thanks,
Dan Book. (GH #652, #653)
[Fixes]
ProhibitLeadingZeros would not handle sysopen and lexical variables
correctly. This has been fixed. Thanks, Tom Wyant. (GH #789)
[Documentation]
We note that the any() function is available in both List::MoreUtils and
List::SomeUtils.
Added instructions to perlcritic on how to integrate with Visual Studio
Code. Thanks, sigzero.
[Internals]
Switch to using List::SomeUtils instead of List::MoreUtils.
OBS-URL: https://build.opensuse.org/request/show/1042273
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=54
- updated to 1.140
see /usr/share/doc/packages/perl-Perl-Critic/Changes
1.140
[New Features]
Subroutines::RequireFinalReturn now lets you specify a
terminal_methods parameter to specify methods that should been as
terminal. This is like the terminal_funcs parameter, but for methods.
Thanks, Robin Smidsrød and Mike Bruins. (GH #920)
1.139_01
[Fixes]
Removed an extra /x in RequireInterpolationOfMetachars.pm that caused
deprecation warnings in Perl 5.22 and higher. (GH #822)
Documentation::RequirePackageMatchesPodName now recognizes the package
name if it's in C<< I<> >> or C<< B<> >> markup. Thanks, Renée Bäcker.
(GH #913)
OBS-URL: https://build.opensuse.org/request/show/881474
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=50
- updated to 1.138
see /usr/share/doc/packages/perl-Perl-Critic/Changes
1.138
Stable release. No changes since 1.137_01.
1.137_01
[Fixes]
RequireCheckingReturnValueOfEval didn't count returning the result of an
eval as checking it. Now it does. However, it's only if you "return eval
{ ... }". It still doesn't handle the case of "return ( eval {} )".
Thanks, Tom Wyant. (GH #324)
ProhibitPunctuationVars would get confused and think that the expression
qr/SOME$/ was using the $/ special variable. Thanks, Tom Wyan. (GH #843)
OBS-URL: https://build.opensuse.org/request/show/767041
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=48
- updated to 1.122
[Dependencies]
* Now requires PPI-1.218 which has numerous enahncements and bug fixes.
Also now requires Readonly-2.00, which obviates the need for Readonly::XS
to get fast constants.
* File::HomeDir, File::Which, and Term::ANSIColor are all required now
instead of being optional or recommended. This simplifies our test code
and ensures consistent optimal behavior for all users.
[New Policies]
* Added two new policies: BuiltinFunctions::ProhibitUselessTopic and
RegularExpressions::ProhibitUselessTopic.
[Miscellanea]
* Updated the perlcritic.el script to use modern Emacs hooks.
Thanks to @intrigeri and the Debian team for the patch. Fixes GH #556.
* Removed all the internal RCS keyword boilerplate blocks that were never
getting expanded.
OBS-URL: https://build.opensuse.org/request/show/249340
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Perl-Critic?expand=0&rev=19
- updated to 1.118
Policy Changes:
* CodeLayout::RequireTidyCode: Revise to work with incompatible
changes in Perl::Tidy 20120619. RT #77977.
* TestingAndDebugging::ProhibitNoWarnings: Correct the parse of the
'no warnings' statement, so that 'no warnings "qw"' is recognized
as supressing just 'qw' warnings. RT #74647.
* Miscellanea::RequireRcsKeywords has been moved to the Perl-Critic-More
distribution, 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. RT #77510.
OBS-URL: https://build.opensuse.org/request/show/178070
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Perl-Critic?expand=0&rev=13
Policy Changes:
* CodeLayout::RequireTidyCode: Revise to work with incompatible
changes in Perl::Tidy 20120619. RT #77977.
* TestingAndDebugging::ProhibitNoWarnings: Correct the parse of the
'no warnings' statement, so that 'no warnings "qw"' is recognized
as supressing just 'qw' warnings. RT #74647.
* Miscellanea::RequireRcsKeywords has been moved to the Perl-Critic-More
distribution, 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. RT #77510.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=24
- updated to 1.117
New Policies:
* Variables::ProhibitAugmentedAssignmentInDeclaration reports
constructs like 'my $x += 1'. Contributed by Mike O'Regan
Policy Changes:
* BuiltinFunctions::ProhibitLvalueSubstr: Add explicit 'use version'.
RT #68498.
* CodeLayout::ProhibitHardTabs: Add 'pbp' to the default_themes list.
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. RT #70901.
* ErrorHandling::RequireCheckingReturnValueOfEval now allows things
like grep { eval $_ }. RT #69489.
* Modules::RequireExplicitPackage now has configuraion option
allow_import_of, to allow the import of specified modules before
the package statement. 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. RT #69867.
* RegularExpressions::ProhibitUnusedCaptures now looks into lists
and blocks in the replacement portion of the regular expression if
/e is asserted. RT #72086.
* RegularExpressions::RequireDotMatchAnything,
RegularExpressions::RequireExtendedFormatting and
RegularExpressions::RequireLineBoundaryMatching now honor defaults
set with 'use re "/modifiers"'. RT #72151.
OBS-URL: https://build.opensuse.org/request/show/104888
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Perl-Critic?expand=0&rev=10
New Policies:
* Variables::ProhibitAugmentedAssignmentInDeclaration reports
constructs like 'my $x += 1'. Contributed by Mike O'Regan
Policy Changes:
* BuiltinFunctions::ProhibitLvalueSubstr: Add explicit 'use version'.
RT #68498.
* CodeLayout::ProhibitHardTabs: Add 'pbp' to the default_themes list.
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. RT #70901.
* ErrorHandling::RequireCheckingReturnValueOfEval now allows things
like grep { eval $_ }. RT #69489.
* Modules::RequireExplicitPackage now has configuraion option
allow_import_of, to allow the import of specified modules before
the package statement. 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. RT #69867.
* RegularExpressions::ProhibitUnusedCaptures now looks into lists
and blocks in the replacement portion of the regular expression if
/e is asserted. RT #72086.
* RegularExpressions::RequireDotMatchAnything,
RegularExpressions::RequireExtendedFormatting and
RegularExpressions::RequireLineBoundaryMatching now honor defaults
set with 'use re "/modifiers"'. RT #72151.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:perl/perl-Perl-Critic?expand=0&rev=22
- update to 1.116
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
OBS-URL: https://build.opensuse.org/request/show/97099
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/perl-Perl-Critic?expand=0&rev=9