Log message:
Update to 1.148
Update DEPENDS
Upstream changes:
1.148 Sat Jan 7 15:20:07 CST 2023
[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.
1.146 Wed Dec 21 21:05:20 CST 2022
[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
1.144 Mon Dec 5 09:44:04 PM CST 2022
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 Mon Nov 28 08:12:14 PM CST 2022
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.
|