CPAN-Changes
view release on metacpan or search on metacpan
corpus/dists/Perl-Critic.changes view on Meta::CPAN
Policy Changes
* BuiltInFunctions::ProhibitLvalueSubstr no longer complains when there
is a low-precedence operator between the substr() and the assignment
operator.
* CodeLayout::ProhibitParensWithBuiltins now allows 'state ($foo)'. RT
#52029
* ErrorHandling::RequireCarping now has an
allow_in_main_if_not_in_subroutine option to allow "die" directly in
the default namespace.
* InputOutput::RequireBriefOpen now recognizes CORE::open(),
CORE::close(), CORE::GLOBAL::open(), and CORE::GLOBAL::close(). RT
#52391
* Modules::ProhibitEvilModules now complains by default about the modules
deprecated by the Perl 5 Porters in 5.12.
* Modules::RequireVersionVar documentation updated to make clear that "my
$VERSION" does not work as a module version declaration. RT #56667
* The RegularExpressions::* policies have been converted from using
Regexp::Parser to using PPIx::Regexp for their heavy lifting.
* RegularExpressions::ProhibitCaptureWithoutTest now allows capture
variables inside when() {}. RT #36081.
* RegularExpressions::ProhibitUnusedCapture now checks for unused named
captures.
* Subroutines::ProhibitManyArgs revised to count only characters in the
prototype that represent arguments. RT #56627
* Subroutines::ProhibitNestedSubs no longer complains about scheduled
blocks (BEGIN, etc.) inside subroutines and vice versa.
* Subroutines::RequireFinalReturn should now understand a final given/when
statement, and declare an error if there is no 'default' block or if any
branch does not return.
* TestingAndDebugging::RequireUseStrict now accepts 'use 5.011' or greater
as equivalent to 'use strict'.
* ValuesAndExpressions::ProhibitMismatchedOperators false positive with
"'foo' x 15 . 'bar'". RT #54524
* Variables::ProhibitPunctuationVars gave false positives on qr// regexp's
ending in '$'. RT #55604
Bug Fixes:
* The "## no critic" annotations now respect #line directives.
* Annotations on statements spanning more than one line (e.g.
my $foo =
'$bar'; ## no critic (RequireInterpolationOfMetachars)
) are now handled as single-line annotations, not block annotations.
* All instances of L<Foo> in the POD have been changed to L<Foo|Foo>.
L</bar> and L<Foo/bar> were allowed to stand. RT #37485
* Spaces are now allowed immediately inside the enclosing parentheses in
"## no critic ( Foo )". RT #52038
* With the introduction of PPIx::Regexp, Perl::Critic no longer dies
when it encounters a Perl 5.010 regexp. RT #49442.
* DEVELOPER.pod typo in link to
ValuesAndExpressions::ProhibitConstantPragma policy. RT #57818
* Spelling errors in documentation. RT #57375
* "die" used instead of "croak". RT #56619
* Fixed regex test that caused test failures on every Perl 5.11
(credit Tom Wyant).
* t/20_policy_pod_spelling.t now works (or at least no longer fails)
in non-English locales (again). RT #43291 and RT #48986.
* Perldoc hae broken link for McCabe score definition. RT #53219
* RT #33935 and #49679 were fixed by upgrading to PPI 1.208
Other Changes:
* Perl::Critic::Utils::is_unchecked_call() updated to include chmod in the
set of things covered by autodie (this happened in autodie v2.08). The
primary effect of this is on InputOutput::RequireCheckedSyscalls.
* Now depends upon Task::Weaken to ensure that we only install with perls
where Scalar::Util::weaken() works.
* Email::Address was optional, but is now required. So everyone
gets the optimal behavior from RequireInterpolationOfMetachars.
* Some infrastructure has been extracted to the new PPIx-Utilities
distro. It is also a required dependency here. Over time a good
portion of Perl::Critic::Utils* will be migrated to this distribution.
* Perl::Critic::Utils::PPI::get_constant_name_element_from_declaring_statement()
is deprecated because it doesn't handle multiple constants being
declared within a single "use constant" statement. Use
PPIx::Utilities::Statement::get_constant_name_elements_from_declaring_statement()
instead.
* Removed all uses of Perl::Critic::Utils::PPIRegep. Since the
PPIx::Regexp update, Perl::Critic only used get_match_string() and
friends, which were superseded by the corresponding PPI methods.
Perl::Critic now depends on PPI-1.208 or newer.
* Moved Perl::Critic::Utils::PPIRegexp to the Perl-Critic-Deprecated.
* The PolicySummary.pod file is now generated when the distribution
is created, rather than when you install it. This ensures the file
will be available on http://search.cpan.org. Thanks to Bear Longyear
for bringing this to our attention.
[1.107_001] Released on 2010-06-20
Changes summarized into 1.108 above. For exact details, see Changes on
BackPAN.
[1.106] Released on 2010-05-10
Bug Fixes:
* NamingConventions::Capitalization fix for PPI 1.212. RT #57348
[1.105_03] Released on 2010-03-21
[1.105_02] Released on 2010-01-23
[1.105_01] Released on 2010-01-16
Changes summarized into 1.108 above. For exact details, see Changes on
BackPAN.
[1.105] Released on 2009-09-07
Bug Fixes:
* Variables::ProhibitPunctuationVars would complain about "%-" appearing
anywhere in a string. RT #49016
Policy Changes:
* InputOutput::RequireCheckedSyscalls now complains about unchecked "say"
by default. RT #37487
[1.104] Released on 2009-08-23
This release is dedicated to Tom Wyant in appreciation of the amount of
effort he put into the enhancements and bug fixes in this release, for
having the patience to wait for the amount of time that it took to get
them out, and for overall awesomeness. Thank you, Tom.
New Policies:
Objects::ProhibitIndirectSyntax
corpus/dists/Perl-Critic.changes view on Meta::CPAN
Bug Fixes:
* perlcritic should now work under PAR. RT #38380.
* URL for our repository in META.yml now works for anonymous
checkout. The password is "" (empty). RT #38628.
* color for high-severity violations is now magenta because
it is more redable than yellow on white backgrounds. RT #38511.
[1.090] Released on 2008-07-22
Bug Fixes:
* Test was incorrectly failing when Regexp::Parser wasn't installed.
[1.089] Released on 2008-07-21
Minor Enhancements:
* -s is now a synonym for --single-policy.
Policy Changes:
* Subroutines::ProhibitBuiltinHomonyms now also prohibits subroutines
with the same name as a Perl keyword (e.g. if, foreach, while).
Inspired by RT #37632.
* Subroutines::ProtectPrivateSubs now allows expressions like
"shift->_some_private_method();". Note that this *only* applies
to the "shift" function -- a private method call on the right of any
other bareword still causes a violation. RT #34713.
* Subroutines::RequireFinalReturn now includes exec in the set of things
that mark a successful return. RT #37672
* ValuesAndExpressions::ProhibitInterpolationOfLiterals now takes a
allow_if_string_contains_single_quote option. Contributed by Ed
Avis <ed@membled.com>. RT #36125.
* ValuesAndExpressions::RequireInterpolationOfMetachars now supports a
rcs_keywords option to allow for the common case where those require
dollar signs.
Bug Fixes:
* BuiltinFunctions::ProhibitSleepViaSelect would complain if there were
three undefs as arguments to select(), but one of them was the timeout.
RT #37416.
* Reduced false positives in
RegularExpressions::ProhibitSingleCharAlternation. Thanks to
Andy Lester and Elliot Shank test cases.
* RegularExpressions::ProhibitUnusedCapture would complain if there were
multiple captures used in a substitution, e.g. s/(.)(.)/$2$1/.
* Subroutines::ProhibitAmpersandSigils no longer complains about
"sort &foo(...)".
* Makefile.PL, Build.PL and other ".PL" scripts which typically do not
have a shebang are no longer mistaken as modules. This prevents
spurious warnings from Modules::RequireEndWithOne. RT #20481.
Internals:
* Tests are now self compliant.
[1.088] Released on 2008-07-04
New Policies
* ErrorHandling::RequireCheckingReturnValueOfEval
Policy Changes:
* ValuesAndExpressions::ProhibitLeadingZeros now accepts octal numbers
for the Unix permissions argument to chmod, dbmopen, mkdir, sysopen, or
umask, by default. Use the "strict" option to get the old behavior.
RT #31977.
* Due to the consensus at YAPC::NA 2008,
Variables::ProhibitUnusedVariables default severity has been raised to
medium/3.
Minor Changes:
* The perlcritic "--Version" option is now "--version" in order to act
like the rest of the world.
[1.087] Released on 2008-06-21
Policy Changes:
* CodeLayout::ProhibitParensWithBuiltins no longer complains about
sort(foo(@x)).
* TestingAndDebugging::RequireUseWarnings will not complain about files
that contain a "use 5.005" statement or similar for perls prior to 5.6.
Lesson of the day: computer conferences where you can meet in the real
world can clarify conversations greatly. Good to finally meet you Adam.
* InputOutput::ProhibitTwoArgOpen similarly will not complain if there's
a "use/require 5.005" statement in the file. RT #34385.
Bug fixes:
* Perl::Critic can now critique a file named "0". However, PPI will give
a parse error until the next version comes out. Fixes RT #36127.
* Moved detection of the lack of any enabled Policies from P::C::Config
to Perl::Critic. This was causing the perlcritic.t in Parrot to fail.
Note, however, there are plans afoot to change how Perl::Critic is
configured and things that depend upon that may break. Please contact
users@perlcritic.tigris.org and tell us how you're using P::C::Config
directly so that we can take your needs into account.
[1.086] Released on 2008-06-12
Policy Changes:
* NamingConventions::ProhibitAmbiguousNames now specifies the name that
it had problems with in its violation descriptions.
Bug fixes:
* The color option wasn't being correctly set from a .perlcriticrc.
RT #36569.
Minor changes:
* --colour is now a synonym for --color.
[1.085] Released on 2008-06-07
New Policies:
* Documentation::RequirePackageMatchesPodName
Policy Changes:
* Variables::ProhibitUnusedVariables detects a few more cases. It's
still very limited, though.
Bug fixes:
* ControlStructures::ProhibitUnreachableCode didn't notice "until" was an
conditional expression.
Minor documentation updates.
( run in 0.633 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )