Login
is_script() now tries to check if the filename ends in ".PL".
[gknop/Perl-Critic.git] / Changes
1 [1.xxx] Released on 2008-xx-xx
2
3     Minor Enhancements:
4     * -s is now a synonym for --single-policy.
5
6     Bug fixes:
7     * BuiltinFunctions::ProhibitSleepViaSelect would complain if there were
8       three undefs as arguments to select(), but one of them was the timeout.
9       RT #37416.
10     * Reduced false positives in
11       RegularExpressions::ProhibitSingleCharAlternation.  Thanks to
12       Andy Lester and Elliot Shank test cases.
13     * RegularExpressions::ProhibitUnusedCapture would complain if there were
14       multiple captures used in a substitution, e.g. s/(.)(.)/$2$1/.
15     * Subroutines::ProhibitAmpersandSigils no longer complains about
16       "sort &foo(...)".
17     * Makefile.PL, Build.PL and other ".PL" scripts which typically do not
18       have a shebang are no longer mistaken as modules.  This prevents
19       spurrious warnings from Modules::RequireEndWithOne. RT #20481.
20
21 [1.088] Released on 2008-07-04
22
23     New Policies
24     * ErrorHandling::RequireCheckingReturnValueOfEval
25
26     Policy Changes:
27     * ValuesAndExpressions::ProhibitLeadingZeros now accepts octal numbers
28       for the Unix permissions argument to chmod, dbmopen, mkdir, sysopen, or
29       umask, by default.  Use the "strict" option to get the old behavior.
30       RT #31977.
31     * Due to the consensus at YAPC::NA 2008,
32       Variables::ProhibitUnusedVariables default severity has been raised to
33       medium/3.
34
35     Minor Changes:
36     * The perlcritic "--Version" option is now "--version" in order to act
37       like the rest of the world.
38
39 [1.087] Released on 2008-06-21
40
41     Policy Changes:
42     * CodeLayout::ProhibitParensWithBuiltins no longer complains about
43       sort(foo(@x)).
44     * TestingAndDebugging::RequireUseWarnings will not complain about files
45       that contain a "use 5.005" statement or similar for perls prior to 5.6.
46       Lesson of the day: computer conferences where you can meet in the real
47       world can clarify conversations greatly.  Good to finally meet you Adam.
48     * InputOutput::ProhibitTwoArgOpen similarly will not complain if there's
49       a "use/require 5.005" statement in the file.  RT #34385.
50
51     Bug fixes:
52     * Perl::Critic can now critique a file named "0".  However, PPI will give
53       a parse error until the next version comes out.  Fixes RT #36127.
54     * Moved detection of the lack of any enabled Policies from P::C::Config
55       to Perl::Critic.  This was causing the perlcritic.t in Parrot to fail.
56       Note, however, there are plans afoot to change how Perl::Critic is
57       configured and things that depend upon that may break.  Please contact
58       users@perlcritic.tigris.org and tell us how you're using P::C::Config
59       directly so that we can take your needs into account.
60
61 [1.086] Released on 2008-06-12
62
63     Policy Changes:
64     * NamingConventions::ProhibitAmbiguousNames now specifies the name that
65       it had problems with in its violation descriptions.
66
67     Bug fixes:
68     * The color option wasn't being correctly set from a .perlcriticrc.
69       RT #36569.
70
71     Minor changes:
72     * --colour is now a synonym for --color.
73
74 [1.085] Released on 2008-06-07
75
76     New Policies:
77     * Documentation::RequirePackageMatchesPodName
78
79     Policy Changes:
80     * Variables::ProhibitUnusedVariables detects a few more cases.  It's
81       still very limited, though.
82
83     Bug fixes:
84     * ControlStructures::ProhibitUnreachableCode didn't notice "until" was an
85       conditional expression.
86
87     Minor documentation updates.
88
89 [1.084] Released on 2008-05-24
90
91     New Features:
92     * perlcritic now supports a --list-themes option.
93     * You can specify the maximum number of violations you want per Policy
94       per document.  Developers can give a default value for this for a
95       Policy by overriding default_maximum_violations_per_document().
96       See RequireUseStrict and ProhibitMagicNumbers for examples.
97
98     Policy Moved:
99     * The ValuesAndExpressions::ProhibitMagicNumbers policy has been moved
100       from Perl::Critic::More into the primary Perl::Critic distribution.
101
102     New Policies:
103     * Variables::ProhibitUnusedVariables (very dumb, limited initial
104       implementation.)
105     * ControlStructures::ProhibitLabelsWithSpecialBlockNames
106       Contributed by Mike O'Regan.  Kickin' ass, Mike.
107
108     Policy Changes:
109     * ControlStructures::ProhibitUnreachableCode now handles the perl 5.10
110       "//" and "err" operators.  RT #36080
111     * InputOutput::RequireBriefOpen now ignores opens of STDIN, STDOUT,
112       and STDERR.  You're generally trying to make long-lasting global
113       effects when manipulating these.  (RT #35774)
114     * RegularExpressions::ProhibitUnusualDelimiters now supports an
115       "allow_all_brackets" option.
116     * RegularExpressions::RequireBracesForMultiline now supports an
117       "allow_all_brackets" option.
118     * TestingAndDebugging::RequireUseStrict now accepts "use Moose::Role"
119       as equivalent to "use strict".  (RT #34838)
120     * TestingAndDebugging::RequireUseWarnings now accepts "use Moose::Role"
121       as equivalent to "use warnings".  (RT #34838)
122     * ValuesAndExpressions::ProhibitMagicNumbers now accepts constant
123       subroutines.
124     * Variables::ProhibitMatchVars no longer detects "use English;".
125       This problem is detected in a more clear way by
126       Modules::RequireNoMatchVarsWithUseEnglish.
127     * Variables::ProhibitPerl4PackageNames no longer complains about
128       $'/$POSTMATCH.  RT #36059
129     * Variables::RequireLocalizedPunctuationVars now allows the use of "my".
130       RT #33937
131
132     Bug Fixes:
133     * No longer falls over if a single file has a parse error.
134
135     New Developer Features:
136     * If a document specifies a minimum perl version, e.g. "use 5.008003",
137       P::C::Document::highest_explicit_perl_version() will tell you what it
138       is.
139     * The parameter to P::C::Policy::initialize_if_enabled is now a
140       P::C::PolicyConfig object instead of a hash reference.
141
142     Minor Changes:
143     * LOTS of documentation updates.
144     * A few more statistics are emitted by perlcritic with the --statistics
145       option.
146     * perlcritic --profile-proto now includes policy abstracts in its
147       output.
148
149     Prerequisites:
150     * Now depends upon PPI 1.203.
151     * New dependency upon version.
152
153 [1.083_006] Released on 2008-05-20
154 [1.083_005] Released on 2008-05-19
155 [1.083_004] Released on 2008-05-18
156 [1.083_003] Released on 2008-05-17
157 [1.083_002] Released on 2008-05-17
158 [1.083_001] Released on 2008-04-13
159
160     Changes summarized into 1.084 above.  For exact details, see Changes in
161     1.083_006 on BackPAN.
162
163 [1.082] Released on 2008-03-08
164
165     New Features:
166     * A new metadata system for defining policy parameters/options has been
167       added.  This makes the life of policy authors easier because
168       configuration validation and parsing can be taken care of
169       automatically, in most cases.  This allows greater integration with
170       IDEs and allows the perlcritic "--profile-proto" option to produce
171       better output.
172
173       Note: This change does NOT REQUIRE ANY CHANGES to policies outside of
174       this distribution; they should continue to work as is.  However, use
175       of this facility can reduce the size of your code and provide the
176       means for tools to discover more about your policy.  If this change
177       does break any of your policies, please let us know.
178
179       To learn how to take advantage of this facility, read
180       Perl::Critic::DEVELOPER and look at the source of any of the
181       configurable policies included in this distribution.
182
183       There is a discussion of the design considerations for this facility in
184       the source repository under doc/PolicyParameter_Notes.pod.
185
186     * Added support for "criticism-fatal" option in your perlcriticrc
187       file.  This will be used by the criticism pragma to cause execution
188       to abort if the file contains any violations.
189
190     New Policy:
191     * Module::RequireNoMatchVarsWithUseEnglish
192
193     Policy Changes:
194     * Added an allow_last_statement_to_be_comma_separated_in_map_and_grep
195       option to ValuesAndExpressions::ProhibitCommaSeparatedStatements.
196       Partial response to http://rt.cpan.org/Public/Bug/Display.html?id=27654.
197     * ControlStructures::ProhibitPostfixControls gains the ability to have
198       the flow control statements allowed to be modified.  This in response
199       to RT #29540.
200     * TestingAndDebugging::RequireUseStrict now accepts "use Moose" as
201       equivalent to "use strict".
202     * TestingAndDebugging::RequireUseWarnings now accepts "use Moose" as
203       equivalent to "use warnings".
204
205     Bug Fixes:
206     * RT #31281 perlcritic doesn't recognize "#!/bin/env perl" shebang
207     * Replace usage of Unicode property escapes with POSIX character classes
208       order to restore 5.6 compatability.
209     * RT #30388 ValuesAndExpressions::ProhibitVersionStrings complained
210       about numbered directories in "use lib".
211     * Fixed handling of badly behaved spelling programs in PodSpelling.
212
213 [1.081_006] Released on 2008-03-02
214 [1.081_005] Released on 2007-12-29
215 [1.081_004] Released on 2007-12-20
216 [1.081_003] Released on 2007-12-16
217 [1.081_002] Released on 2007-12-16
218 [1.081_001] Released on 2007-12-15
219
220     Changes summarized into 1.082 above.  For exact details, see Changes in
221     1.081_006 on BackPAN.
222
223 [1.080] Released on 2007-11-11
224
225     New Features:
226     * Allow a "## no critic" statement after a shebang on line 1 of a
227       file.  This allows users to block violations that apply to
228       whole files and still allow shebangs.
229
230     New Policies: (funded by a Perl Foundation grant)
231     * InputOutput::ProhibitExplicitStdin
232     * RegularExpressions::ProhibitFixedStringMatches
233     * RegularExpressions::RequireBracesForMultiline
234     * RegularExpressions::ProhibitUnusualDelimiters
235     * RegularExpressions::ProhibitUnusedCapture
236     * RegularExpressions::ProhibitComplexRegexes
237     * RegularExpressions::ProhibitSingleCharAlternation
238     * RegularExpressions::ProhibitEscapedMetacharacters
239     * RegularExpressions::ProhibitEnumeratedClasses
240     * InputOutput::RequireBriefOpen
241     * InputOutput::RequireCheckedSyscalls
242
243     Other New Policies
244     * ControlStructures::ProhibitNegativeExpressionsInUnlessAndUntilConditions
245
246     Policy Changes:
247     * Variables::ProhibitConditionalDeclarations now permits you to local-ize
248       variables in conditional declarations.  This makes sense, since
249       C<local> is actually a variable modifier, rather than a declaration.
250       Thanks to David Golden for reporting this.
251
252     New Developer Features:
253     * Perl::Critic::Utils::PPIRegexp encapsulates interaction with
254       the PPI Regexp token classes.  Those classes have very sparse
255       APIs, so this package hides away the ugly fiddling with PPI
256       internals.
257     * Added a new optional_modules parameter for the .run syntax.
258
259     Bug fixes:
260     * PPI::Structure::List can now contain multiple children,
261       so P::C::Utils::parse_arg_list() needs to handle it.
262
263       This was done in the process of fixing
264       http://rt.cpan.org/Ticket/Display.html?id=24924, which was a problem
265       with TestingAndDebugging::RequireTestLabels.
266
267     * ValuesAndExpressions::ProhibitLongChainsOfMethodCalls wasn't resetting
268       chain length when it ran into the end of a sub-expression.
269
270       http://rt.cpan.org/Public/Bug/Display.html?id=30040
271
272     * ValuesAndExpressions::ProhibitCommaSeparatedStatements was reporting
273       false positives when builtins which accept both no and multiple
274       arguments were involved.
275
276       http://rt.cpan.org/Public/Bug/Display.html?id=27654
277
278     Internals:
279     * Removed all use of Carp in favor of exceptions.
280
281     Prerequisites:
282     * Now requires PPI 1.201.  A number of workarounds for PPI bugs have been
283       removed.
284     * New dependency upon Exception::Class.
285
286     Installation:
287     * Use Devel::CheckOS to see whether Perl::Critic is being installed on
288       a Solaris system and warn about tar(1) chopping file names off if it
289       is.
290
291 [1.079_003]  Released on 2007-10-22
292 [1.079_002]  Released on 2007-10-21
293 [1.079_001]  Released on 2007-10-09
294
295     Changes summarized into 1.080 above.  For exact details, see Changes in
296     1.079_003 on BackPAN.
297
298 [1.078]  Released on 2007-09-19
299
300     Restore Perl::Critic::TestUtils::should_skip_author_tests() and
301     get_author_test_skip_message().  Some Perl::Critic add-on distributions
302     are using them.
303
304 [1.077]  Released on 2007-09-15
305
306     Note: if you don't have any problems installing Perl::Critic 1.076, there
307     is no need to upgrade to this version.  There are no functionality
308     changes.  This release only contains changes related to installation that
309     a few people were experiencing.
310
311     Minor changes:
312     * Removed build-time use of Readonly, again, due to problems some people
313       were having when trying to compile the code by hand, rather than using
314       CPAN(PLUS)?.
315     * Don't run author tests if there's a .svn directory present because
316       users who grabbed the code from the source repository were executing
317       them and getting failures.
318     * Don't generate optional, module-hiding test wrappers if author tests
319       are not enabled.
320
321
322 [1.076]  Released on 2007-09-07
323
324     It appears from reports on the 1.075_001 release that the subroutine
325     sigils were indeed the problem.  Release to the general populace.
326
327
328 [1.075_001]  Released on 2007-09-06
329
330     Bug Fixes:
331     Undo the changes in 1.073 and 1.074.  Instead, stop using the subroutine
332     sigil in import and export lists.  It is suspected that the problem lies
333     with Exporter stripping off ampersands.
334
335 [1.074]  Released on 2007-09-04
336
337     Bug Fixes:
338     Repeat the Makefile.PL change on
339     t/generate_without_optional_dependencies_wrappers.PL.
340     I love CPAN Testers.
341
342 [1.073]  Released on 2007-09-04
343
344     Bug Fixes:
345     Work around problems with the combination of Exporter & Readonly in
346     Makefile.PL on some machines.
347
348 [1.072]  Released on 2007-09-03
349
350     Bug Fixes:
351     * The Makefile generated by Makefile.PL was not syntactically correct
352       according to some versions of Solaris.  Thanks to Diab Jerius
353       (DJERIUS) for discovery and testing.
354     * Fixed mis-definition of "quiet" value for the "--profile-strictness"
355       option.
356     * Enhanced testing with the absence of optional modules.
357
358 [1.071]  Released on 2007-08-24
359
360     The "Brown Paper Bag" Release
361
362     Bug Fixes:
363     * Tests would not pass in environments that did not have all optional
364       dependencies installed.
365
366 [1.07]  Released on 2007-08-21
367
368     New Policies: (funded by a Perl Foundation grant)
369     * BuiltinFunctions::ProhibitBooleanGrep
370     * BuiltinFunctions::ProhibitComplexMappings
371     * Documentation::PodSpelling
372     * InputOutput::ProhibitJoinedReadline
373     * Subroutines::ProhibitManyArgs
374     * Subroutines::RequireArgUnpacking
375     * ValuesAndExpressions::ProhibitImplicitNewlines
376     * Variables::RequireLocalizedPunctuationVars
377
378     Other New Policies
379     * Subroutines::ProhibitNestedSubs
380
381     New Features:
382     * The "perlcritic --profile-proto" output now includes the "add_themes"
383       parameter for each policy.
384     * The perlcritic "--strict-profile" option has been replaced with a
385       "--profile-strictness" option.  This new option takes values of "warn"
386       (the default), "fatal", and "quiet", which controls what happens with
387       ignorable problems in a .perlcriticrc file.
388
389     New Developer Features:
390     * Perl::Critic::Policy now has an overridable initialize_if_enabled()
391       method which allows a Policy to perform expensive initialization after
392       it has been determined whether the user has it enabled or not.  Also,
393       this method allows a Policy to say that it should be disabled
394       regardless of what the user says.
395
396       Actually, use of this method is now encouraged over using a
397       constructor.
398
399     Other Stuff:
400     * Now requires the Readonly module in order to be more self-compliant.
401
402 [1.061]  Released on 2007-07-24
403
404     Bug Fixes:
405     * Fix P::C::Theme-- Exporter in Perl 5.6 does not export import(), so you
406       must subclass it.  *sigh*
407     * Fix P::C::Config::_validate_and_save_theme()-- eval of an empty string
408       does not reset $@/$EVAL_ERROR in Perl 5.6.
409
410     Big thanks to Anirvan Chatterjee for identifying and helping debug these
411     issues.
412
413 [1.06]  Released on 2007-06-27
414
415     New Features:
416     * perlcritic now emits errors for all the problems it can find for the
417       global options in the command-line parameters and .perlcriticrc file,
418       rather than bailing on the first one it encounters.
419
420     * perlcritic now has a "--strict-profile" option which will make warnings
421       about problems in a profile fatal.
422
423     * perlcritic now has a "--statistics-only" option which suppresses the
424       display of individual violations and only shows the additional output
425       produced by the "--statistics" option.
426
427     Feature requests:
428     * A value for "color" can now be specified in a .perlcriticrc.
429       http://rt.cpan.org/Ticket/Display.html?id=24877
430
431     New Policies:
432     * ValuesAndExpressions::ProhibitQuotesAsQuotelikeOperatorDelimiters
433       As suggested in http://rt.cpan.org/Ticket/Display.html?id=23290.
434     * ValuesAndExpressions::ProhibitLongChainsOfMethodCalls
435     * Modules::ProhibitExcessMainComplexity
436       As suggested in http://rt.cpan.org/Ticket/Display.html?id=24699
437
438     Minor changes:
439     * The perlcritic "--profile-proto" option now emits the short names for
440       policies, rather than the full ones.
441
442     * The "-profileproto" and "-singlepolicy" options have been renamed to
443       "-profile-proto" and "-single-policy" in order to make the growing
444       number of command-line options comprehensible.  The change of
445       "singlepolicy" also affects your F<.perlcriticrc> file.
446
447 [1.053]  Released on 2007-06-02
448
449     *DEVELOPMENT RELEASE*
450
451     Bug Fixes:
452     Fixed bug in 15_statustics.t test script, which caused the build
453     to fail on machines that don't have Perl::Tidy installed.
454
455 [1.052]  Released on 2007-06-01
456
457     *DEVELOPMENT RELEASE*
458
459     New Features:
460     * perlcritic now emits a summary about the scanned code when enabled by
461       the "-statistics" option.
462
463     Policy Enhancements:
464     * InputOutput::ProhibitBacktickOperators can now be configured to only
465       check in void contexts.
466
467     Bug Fixes:
468     * 27073: False positive in RequireUpperCaseHeredocTerminator
469     * 27065: CodeLayout::ProhibitTrailingWhitespace breaks under Perl 5.6.1
470     * 26462: ControlStructures::ProhibitCascadingIfElse pod typo
471     * ValuesAndExpressions::ProhibitCommaSeparatedStatements was complaining
472       about multiple values in the list to be iterated over by a foreach loop.
473     * Corrected PBP page numbers for some policies (Quinn Weaver).
474
475 [1.051]  Released on 2007-04-12
476
477     *DEVELOPMENT RELEASE*
478
479     No new policies.
480     No particular bug fixes.
481
482     Internals:
483     * Added several new utility functions to support the StricterSubs distro.
484       Also, some of the existing functions in Perl-Critic-Utils have
485       changed in ways that might break your custom policies.
486
487     Miscellanea:
488     * Updated Emacs plugin (Courtesy Josh ben Jore).
489       See extras/perlcritic.el for details.
490     * Added copy of BBEdit plugin (Courtesy of Josh Clark).
491       See extras/perl_critic_for_bbedit-1_0.zip for details
492
493 [1.05]  Released on 2007-03-19
494
495     Bug Fixes:
496     * 25557: t/20_policy_prohibittrailingwhitespace.t fails on Perl 5.8.0
497
498 [1.04]  Released on 2007-03-18
499
500     Bug Fixes:
501     * 25008: Subroutines::RequireFinalReturn should allow "throw"
502     * 25085: False Positive - Heredoc terminator must be quoted
503     * 18423: VERSION check does not notice Readonly::Scalar version
504     * 25449: Proposal of $VERSION declaration (DUPLICATE)
505
506     New Policies:
507     * CodeLayout::ProhibitTrailingWhitespace
508     * ValuesAndExpressions::ProhibitCommaSeparatedStatements
509     * Variables::ProhibitPerl4PackageNames
510
511     Policy Enhancements:
512     * Subroutines::RequireFinalReturn can now be configured to recognize
513       your custom functions that behave like "die" or "exit".
514     * Documentation::RequirePodSections can be configured to match
515       Module::Starter:PBP or to really match the PBP book.
516
517 [1.03]  Released on 2007-02-13
518
519     Bug Fixes:
520     * Fixed a few more problems with the %f, %F, and %r format escapes.
521     * I forgot to put Conway's perlcriticrc file in the MANIFEST. Sorry.
522
523     Interface Changes:
524     * Perl::Critic::Utils automatically exports everything.  However,
525       this is deprecated.  In the future, you must request your exports.
526
527     Policy Changes:
528     * Duplicate violations of RequireExcplicitPackage are now squelched,
529       in the same way as RequireUseStrict and RequireUseWarnings.
530
531 [1.02]  Released on 2007-02-11
532
533     Bug Fixes:
534     * "undef" incorrectly triggered ProhibitMutatingListFunctions.
535     * 24876: %f and %F escapes not working in custom "verbose" format strings.
536     * 24875: Documentation bug in TestingAndDebugging::ProhibitNoStrict
537
538     New Policies:
539     * InputOutput::RequireCheckedOpen
540     * InputOutput::RequireCheckedClose
541
542     Other Cool Stuff:
543     * Added Conway's own suggested Perl::Critic configuration as
544       examples/perlcriticrc-conway.
545
546     * See the examples/ directory for some neat demonstrations of using
547       the Perl::Critic API. Contributed by Elliot Shank.
548
549     Interface Changes:
550     * Perl::Critic::Utils no longer exports anything by default.  Policies
551       outside the distribution will need to specify what exactly they need
552       from this module.  There are a number of tags that can be used in
553       addition to individual imports.
554
555 [1.01]  Released on 2007-01-24
556
557     PRODUCTION RELEASE:  You may now consider the public Perl::Critic
558     API as "stable."  Future minor releases will focus on bug fixes,
559     new policies, and internal refactoring.
560
561     Bug Fixes:
562     * Fixed memory leak.  This was reported by the Parrot team at
563       http://rt.perl.org/rt3/Ticket/Display.html?id=41230
564
565 [0.23]  Released on 2007-01-19
566
567     Bug Fixes:
568     * 23994: Test 56 in t/05_utils.t of Perl::Critic v0.22 fails
569     * 24005: test 95 in t/13_bundled_policies fails in 0.22
570
571
572     Groovy New Features:
573     * Added '%F' to the Violation format specifications.  This will
574       give you just the name of file where the violation occurred
575       (i.e. without the path).
576
577     * Improved validation of .perlcriticrc file.  An invalid
578       default setting will now cause a fatal exception. A
579       strange-looking policy name will cause a warning.
580
581
582     Interface Changes:
583     * The syntax for theme expressions has changed.  Instead of using
584       mathematical operators qw(+ * -) you must now use the logical
585       operators qw(|| && !).  See the Perl::Critic docs for more info.
586
587     * The @GLOBALS and @BUILTINS variables are no longer exported by
588       Perl::Critic::Utils.  Use the is_perl_global() and is_perl_builtin()
589       functions instead.
590
591     * Perl::Critic::Policy::policy_parameters() has bee renamed to
592       Perl::Critic::Policy::supported_paramters().  This was an
593       undocumented feature anyway, so it shouldn't affect anyone.
594
595
596     Other Internal Changes:
597     * Perl::Critic now requires B::Keywords v1.05 or newer.
598
599     * A few internal classes have been refactored.  As a result,
600       Set::Scalar is no longer a required dependency.
601
602
603 [0.22]  Released on 2006-12-15
604
605     New Features:
606     * Introduced named severity levels: gentle, stern, harsh, cruel, brutal
607       You can use these named levels instead of the numeric ones.
608       For example: "perlcritic --severity=cruel MyModule.pm"
609       Or just:     "perlcritic --cruel MyModule.pm"
610
611     * For perlcritic, the "-List" option has been renamed to
612       "-profileproto".  The output now includes the names of the
613       parameters that each Policy supports, if any.
614
615     * Improved validation of Policy parameters in your F<.perlcriticrc>
616       Any invalid parameter now causes a fatal exception.
617
618     Major Changes:
619     * Reassigned themes for most policies.  Now there are fewer
620       themes and they are organized around programming concepts
621       instead of severity levels.  If you have assigned your own
622       themes to any Policies, they should still work as expected.
623
624     Policy Changes:
625     * ErrorHandling::RequireCarping will not complain if it can figure
626       out that the die or warn message will always end in a newline
627       ("\n").  The idea is that, if you put the newline there, you
628       don't indend for there to be any file/line/stack information
629       emitted, in which case you really don't want carp/croak.
630
631       You can restore the old strict behavior by giving the policy
632       a false value for "allow_messages_ending_with_newlines" in your
633       configuration.
634
635     Misc Changes:
636
637     Added single-letter uppercase alternatives for some perlcritic options.
638
639 [0.21_01] Released on 2006-12-03
640
641     New Policies:
642     * TestingAndDebugging::ProhibitProlongedStrictureOverride
643     * ControlStructures::ProhibitMutatingListFunctions
644
645     New Features:
646     * Say "perlcritic -List" to get an expanded listing of all Policies.
647       The format is suitable for use as your .perlcriticrc file.
648     * Say "perlcritic -doc PATTERN" to get the documentation for all
649       Policies that match m/PATTERN/imx.  This is a little easier than
650       typing in the full name of the Policy module with "perldoc".
651     * Say "perlcritic --singlepolicy PATTERN" to use one and only one
652       policy.
653     * Can now specify exceptions to Variables::ProhibitPackageVars,
654       for packages like File::Find that only interface through
655       package variables.
656
657     Bug Fixes:
658     * 21713 false positive for parens used with substr and unpack.
659     * 22890 allow Rcs keywords in POD.
660
661     Internals:
662     * Testing system overhauled.  Details on the Policy/subtest
663       framework is in t/run.t.
664     * Added Perl::Critic::Utils::words_from_string.  This is safer
665       than plain old C<split /\s+/>.
666
667 [0.21]  Released on 2006-11-05
668
669     New Policies:
670     * BuiltinFunctions::ProhibitReverseSortBlock
671     * BuiltinFunctions::ProhibitVoidGrep
672     * BuiltinFunctions::ProhibitVoidMap
673     * CodeLayout::RequireConsistentNewlines
674     * Modules::RequireFilenameMatchesPackage
675     * TestingAndDebugging::RequireTestLabels
676     * ValuesAndExpressions::ProhibitMismatchedOperators
677
678     New Features:
679     * Introduced policy "themes."  Themes are arbitrary names that can
680       be used to identify a group of related Policies.  You can select
681       your favorite policies by combining themes in a mathematic expression
682       such as "pbp * (danger + risky)".  See POD for details.
683     * perlcritic output is colorized if you have Term::ANSIColor.  This
684       only works on non-Win32 platforms.  Use -nocolor switch to disable.
685     * Say "perlcritic -count" to get just the the total number of
686       violations per file.  Use this feature to quickly identify hot-spots.
687     * Use the -only switch to choose only from policies mentioned in your
688       .perlcriticrc file.  This is useful if you usually only want to
689       work with a small subset of the policies.
690     * Default values for most of the perlcritic and Perl::Critic options
691       can now be defined in your .perlcriticrc file.  See POD for details.
692
693     Bug Fixes:
694     * 21236: wrong page number for "printing to filehandles"
695     * 21916: File handle ... wrong page reference in PBP [DUPE]
696     * 21714: false positive for capture var used in ternary condition
697     * 21718: No skip for File::Slurp in includes.t
698     * ProhibitBarewordFilehandles doesn't complain if you open
699       STDIN, STDOUT or STDERR.
700     * Parrot 40564: Subroutines::RequireFinalReturn should allow die,
701       exit, etc.
702     * Each "for" and "foreach" loop now adds one point to the McCabe
703       complexity score.
704
705     Other Stuff:
706     * The internals of Perl::Critic have been significantly refactored,
707       but should still be compatible with existing third-party Policies.
708     * Added author-only tests to the release, but disabled by default
709     * New Perl::Critic::Utils::shebang_line() method
710     * Support for filename-based policies
711     * Additional prerequisite: Set::Scalar
712     * Now requires PPI version 1.118
713
714 [0.20]  Released on 2006-09-10
715
716     Perl::Critic now requires PPI version 1.117, which fixes
717     several bugs that were introduced in version 1.116.
718
719     Bug Fixes:
720     * 21079: grep clears @SITE_POLICIES
721     * 21352: Test failures with PPI 1.117
722     * 11365: sub DESTROY detected as a builtin homonym
723
724 [0.19]  Released on 2006-08-20
725
726     New Policies:
727     * BuiltinFunctions::ProhibitStringySplit
728     * ControlStructures::ProhibitDeepNests
729     * RegularExpressions::ProhibitCaptureWithoutTest
730     * Variables::RequireLexicalLoopIterator
731
732     New Features:
733     * "perlcritic -quiet" suppresses the "source OK" message.
734     * Variables::ProhibitPunctuationVars is now configurable.
735
736     Bug Fixes:
737     * 20965: "Hard tabs used at" shouldn't check __DATA__
738     * 21070: ProhibitNoisyQuotes hates overload
739     * Punctuation variables are now exempt from ProhibitLocalVars
740
741     Other Stuff:
742     * Test coverage is now over 95%
743
744 [0.18_01]  Released on 2006-08-06
745
746     New Policies:
747     * Variables::RequireNegativeIndices
748     * InputOutput::ProhibitInteractiveTest
749     * ErrorHandling::RequireCarping
750
751     Bug Fixes:
752     * RequireTidyCode tests fail if user has custom .perltidyrc file
753     * 20612: RequirePerlTidy was ignoring HEREDOCs
754     * 20659: __END__ statement considered "unreachable"
755     * Fix for PPI::XS (no C<use overload '""'> support)
756     * Support for 'goto' in ProhibitAmpersandSigils and
757       Subroutines::RequireFinalReturn
758
759     Performance Enhancements:
760     * Introduced Perl::Critic::Document class.  This is a facade for
761       PPI::Document which internally caches search results.  This
762       reduces the running time by about 35%.  The facade should be
763       invisible, unless you are doing something really sneaky.
764     * Extraction of the 'diagnostics' information is postponed
765       until it is really needed.  Speedup has not been measured.
766     * Calls to helper-subs have been reordered for maximum efficiency.
767
768     Other Cool Stuff:
769     * Includes updated version of perlcritic mode for emacs.  See
770       "extras/perlcritic.el" for details.
771
772 [0.18]  Released on 2006-07-16
773
774     Bug Fixes:
775     * 14855: Home discovery is dangerously naive.
776     * 20060: Incorrect page numbers in ProhibitLeadingZeros
777       and RequireNumberSeparator policies.
778     * 20068: .perlrc file - inconsistent documentation
779     * 20254: "use vars qw(@EXPORT_OK)" not recognized
780     * 20463: No-case heredoc terminator incorrectly detected as lower case.
781     * ProhibitOneArgBless doesn't understand "bless {} => $class;"
782     * ProhibitExcessComplexity doesn't count 'while' and 'until' stmnts
783     * ProhibitLeadingZeros was falsely hits '.0456'
784
785     Enhancements:
786     * If File::HomeDir is available, we use it to locate the
787       .perlcriticrc file.  This should help make Perl::Critic
788       more portable to Win32 platforms.  If File::HomeDir is
789       not installed, we resort to looking at the usual
790       environment variables.
791
792     Other Stuff:
793     * Added "perlcritic.el", which is a super-cool emacs minor-mode
794       that runs perl-critic on the current buffer and returns the
795       results in a sexy hot-linked "compiler" window.  You can run
796       it on demand, or have it run automatically every time you
797       save the buffer.  You can find this in the extras/ directory.
798       Thanks to Josh ben Jore for contributing this.
799
800     * Moved "Perl::Critic::TestUtils" into the installed build.  This
801       module is only used for unit-testing Perl::Critic, but we
802       are putting it in the installation so folks who want to
803       extend Perl::Critic can make use of it.
804
805 [0.17]  Released on 2006-06-13
806
807     Bug Fixes:
808     * 19836: Perl-Critic0.16 fails tests during install.  This was
809       caused by a bug in version 3.01 of Module::Pluggable.  See
810       http://rt.cpan.org/Ticket/Display.html?id=19857 for details.
811     * Fixed bug in no-critic pragma parser.
812
813     New Policies:
814     * ValuesAndExpressions::ProhibitEscapedCharacters
815     * BuiltinFunctions::RequireSimpleSortBlock
816
817     Enhancements:
818     * Perl::Critic can export critique() as a static function.  This
819       may appeal to folks who dislike the object-oriented interface.
820
821 [0.16]  Released on 2006-05-14
822
823     Enhancements:
824     * Perl::Critic->critique() now accepts a PPI::Document as the
825       argument.  This feature creates an additional dependency on
826       Scalar::Util, but that shouldn't be a problem because it is
827       included with List::Util, which we already use.
828
829     Miscellanea:
830     * Increased PPI dependency from v1.110 to v1.112
831
832 [0.15_03] Released on 2006-05-07
833
834     Bug Fixes:
835     * The "## no critic" feature is now implemented without eval-ing
836       the code.  This keeps Perl::Critic pure and safe :)
837     * 19082: Page number for AUTOLOAD is incorrect
838
839     New Policies:
840     * ControlStructures::ProhibitUnreachableCode (by Peter Guzis)
841     * Modules::ProhibitAutomaticExportation
842     * ValuesAndExpressions::ProhibitVersionStrings
843
844 [0.15_02] Released on 2006-04-26
845
846     Bug Fixes:
847     * Reimplemented the '##no critic' pragmas to have effect on the
848       line where the violation is reported, not on the line where
849       the candidate element lives.  This is because some policies
850       may report violations that are nowhere near the element that
851       is being evaluated.
852     * RequireUseStrict, RequireUseWarnings, and RequireExplcitPackage
853       all emit violations for _every_ statement that violates the
854       Policy.  This closes a loophole that allowed you to circumvent
855       the Policy by using '## no critic' on just the first statement
856       that violated the policy.
857     * Fixed the workaround for the magic shebang that is inserted
858       by EU::MM and M::B.  This had stopped working around version 13.
859     * Fixed -noprofile option on 'perlcritic'.  This also had stopped
860       working at some point.
861
862 [0.15_01] Released on 2006-04-16
863
864     Enhancements:
865     * Added diagnostic messages if the .perlcriticrc contains entries
866       for Policy modules that don't seem to exist.
867     * Now you can specify which policies to disable with the
868       "## no critic" pseudo-pragmas.  This feature is still
869       experimental.  See docs for details.
870     * perlcritic's directory searching now skips backup files, such
871       as *.swp, *.bak and *~.  It also ignores version control system
872       directories, and the blib directory in module build directories.
873
874     Bug Fixes:
875     * 18386: Bad example in POD for Documentation::RequirePodSections
876     * 18670: Test failure if Perl::Tidy is not installed
877     * 18698: Policy idea ProhibitUniversalFunctions (see New Policies)
878     * RequireInterpolationOfMetachars falsely hit strings like 'foo=s@'
879       which are commonly used with Getopt::Long.
880
881     New Policies:
882     * BuiltinFunctions::ProhibitUniversalCan (by Chris Dolan)
883     * BuiltinFunctions::ProhibitUniversalIsa (by Chris Dolan)
884
885     Miscellanea:
886     * All spurrious options for `perlcritic` are now fatal.
887     * Changed several of the -verbose formats to be more readable.
888     * Explicit -severity option now overrides -[12345] shortcuts instead
889       of being the other way around.
890
891
892
893 [0.15] Released on 2006-03-26
894
895     Bug Fixes:
896     * 17964: Insists my code is not tidy (may not be fixed for all cases)
897
898 [0.14_02] Released on 2006-03-19
899
900     Bug Fixes:
901     * 15653: False positive in OneArgSelect (fixed for real this time)
902
903     New Policies:
904     * ClassHierarchies::ProhibitAutoloading
905     * Documentation::RequirePodSections
906     * InputOutput::RequireBracedFileHandleWithPrint
907     * ValuesAndExpressions::ProhibitMixedBooleanOperators
908     * Variables::RequireInitializationForLocalVars
909
910 [0.14_01] Released on 2006-03-05
911
912     Bug Fixes:
913     * 14731: False positive: Builtin function called with parens
914     * 17554: False positive in CodeLayout::RequireTrailingCommas
915
916     New Policies:
917     * ClassHierarchies::ProhibitExplicitISA
918     * InputOutput::ProhibitReadlineInForLoop
919     * Miscellanea::ProhibitFormats
920     * Miscellanea::ProhibitTies
921     * Variables::ProhibitConditionalDeclarations
922
923 [0.14] Released on 2006-01-29
924
925     More documentation edits.
926
927     New Policies:
928     * Documentation::RequirePodAtEnd
929     * Subroutines::ProtectPrivateSubs
930     * Variables::ProhibitMatchVars
931     * Variables::ProtectPrivateVars
932
933     Bug Fixes:
934     * 15295: "## no critic" pragmas too aggresive on compound statements.
935     * t/01_config.t failed in the presence of third-party policies
936
937 [0.13_05] Not released
938
939     More documentation edits.
940
941     Implemented workaround for failing pod_coverage tests.
942
943     Bug Fixes:
944     * 16906:  tr/// created false-postives with RegularExpression polices.
945
946 [0.13_04] Released on 2005-12-31
947
948     Moved DEVELOPER.pod file into the Perl/Critic dir.
949
950     More documentation edits.
951
952 [0.13_03] Released on 20051230
953
954     perlcritic now prints 'source OK' if it doesn't find any
955     violations.  This gives folks a warm fuzzy feeling.
956
957     Tweaked some test cases that were failing on my Solaris
958     environment at work.
959
960 [0.13_02] Released on 2005-12-29
961
962     Fixed Config to recognize fully-qualified module names in the
963     .perlcriticrc file.
964
965     Various documentation edits.
966
967 [0.13_01] Released on 2005-12-28
968
969     Replaced 'priority' concept with 'severity'.  Now each Policy module
970     has a predefined severity level ranging from 1 to 5.  By default,
971     perlcritic only reports the most severe violations.  You can adjust
972     the severity threshold at the command line, and you can change
973     the severity for any Policy using the config file.
974
975     Chris implemented the applies_to() mechanism, which allows each Policy
976     class to declare the types of PPI elements that it wants to examine.
977     When traversing the document, Perl::Critic invokes the Policy only
978     for elements that are of the correct type.  This improves performance
979     by about 33%.
980
981     Perl::Critic now uses a Plugin architecture to automatically
982     discover Policy modules.  So if you have custom Policies, all you
983     have to do is install them in the Perl::Critic::Policy namespace --
984     no need to add anything to your .perlcriticrc file.  If you write
985     policies in a different namespace, you can configure that too.  See
986     the Perl::Critic::Config docs for details.
987
988     New Policies:
989     * Modules::RequireEndWithOne
990     * NamingConventions::ProhibitAmbiguousNames
991     * References::ProhibitDoubleSigils
992     * Subroutines::RequireFinalReturn
993     * Subroutines::ProhibitAmpersandSigils
994     * Subroutines::ProhibitExcessComplexity
995     * TestingAndDebugging::ProhibitNoStrict
996     * TestingAndDebugging::ProhibitNoWarnings
997
998     Bug Fixes:
999     * 15101: Plugin architecture improves support for 3rd-party code
1000     * 16319: Fixed incorrect PBP page number in ProhibitBarwordFilehandle
1001     * 16321: Lists of empty quotes are now allowed by ProhibitQuotedWordLists
1002     * 16288: Empty lists caused a fatal error RequireTrailingCommas
1003     * 15653: Fixed false positive in OneArgSelect.
1004
1005 [0.13] Released on 2005-10-31
1006
1007     Official release of 0.12_03.  No code major changes.
1008
1009 [0.12_03] Not released
1010
1011     Renamed -Policy option to -include.  Added -exclude to give the
1012     opposite effect.
1013
1014     Refactored constructor of Perl::Critic.  Now, most of the work
1015     is delegated to Perl::Critic::Config.  I'm not sure I like how
1016     this turned out, but we'll see how it goes.
1017
1018     Renamed some Policy modules to be a bit more comprehensible.  Note
1019     that you may need to change your .perlcriticrc file accordingly.
1020     I also suggest removing your current Perl::Critic installation
1021     before installing this one.
1022
1023     Name Changes:
1024     * ProhibitUnpackagedCode => RequireExplicitPackage
1025     * RequireQuotedWords     => ProhibitQuotedWordLists
1026
1027     Improved error message when Perl::Critic dies because PPI can't
1028     parsee the input code.
1029
1030     Changed output of -help to be more terse.
1031
1032     Edited POD.
1033
1034 [0.12_02] Not released
1035
1036     Added -Policy option to perlcritic.  The idea is to provide a
1037     compact interface for selecting Policy modules at the command-line.
1038     This feature is experimental and subject to change.
1039
1040     Added a warning message if -verbose value looks strange.  In most
1041     applications, the -verbose option does not require a value, so people
1042     might be puzzled when they write 'perlcritic -verbose my_file.pm' and
1043     nothing seems to happen.
1044
1045     Command-line options to perlcritic are now case-sensitive.  This
1046     makes it easier to abbreviate options that start with the same letters
1047     (e.g. 'Version' and 'verbose')
1048
1049     Fixed the new Policy modules that were misnamed and misplaced in the
1050     previous distribution.
1051
1052 [0.12_01] Not released
1053
1054     Rewrote some of the ControlStructures and BuiltinFunction
1055     policies to be simpler (and probably a little faster).
1056
1057     Edited POD.  Fixed some typos.  Added PREREQUISITES section
1058     to Perl::Critic documentation.
1059
1060     Fixed the -verbose FORMAT option so that you can put metachars
1061     in the FORMAT specification.  If using perlcritic, be careful to
1062     protect them from getting munged by the shell first.
1063
1064     Replaced ProhibitRequireStatements with RequireBarewordIncludes
1065     module. Courtesy of Chris Dolan <cdolan@cpan.org>
1066
1067     Added configuration to ProhibitInterpolationOfLiterals so that
1068     certain flavors of quotes can be exempt.  This is for folks who
1069     have configured their editor to use special syntax highlighting
1070     for certain kinds of strings (SQL, for example).
1071
1072     perlcritic now accepts multiple file arguments, so now you can
1073     critique your entire distribution in one shot.  As a result, the
1074     output-formats have changed slightly.
1075
1076     New Policy modules:
1077     * BuiltinFunctions::ProhibitLvalueSubstr
1078     * BuiltinFunctions::ProhibitSleepViaSelect
1079     * ClassHierarchies::ProhibitOneArgBless
1080     * CodeLayout::RequireTrailingCommas
1081     * CodeLayout::RequireQuotedWordLists
1082     * InputOutput::ProhibitTwoArgOpen
1083     * InputOutput::ProhibitOneArgSelect
1084     * InputOutput::ProhibitBarewordFileHandles
1085     * Miscellanea::RequireRcsKeywords
1086     * Modules::RequireVersionVar
1087     * RegularExpressions::RequireExtendedFormatting
1088     * RegularExpressions::RequireLineBoundaryMatching
1089
1090
1091     Bug fixes:
1092     14923: 'require' is now permitted. See RequireBarewordIncludes.
1093     15022: Fixed false-positives when keywords are used as hash keys.
1094     15023: Fixed spurious Violations by removing magic shebang.
1095     15031: Fixed spelling mistakes (and probably added some new ones).
1096     15233: Postfix 'if' is now allowed with 'die', 'croak', etc.
1097
1098 [0.12] Released 2005-10-10
1099
1100     Redesigned the 'verbose' feature.  Now the output format
1101     can be user-defined using a sprintf-like specification.
1102     perlciritc also has a predefined output format that is
1103     compatible with grep mode in editors like vim and emacs.
1104
1105     'return' is now exempt from ProhibitParensWithBuiltins.  I may
1106     extend this exemption to all unary functions.
1107
1108     Edited POD. Added a super brief description of each policy
1109     in the main Perl::Critic documentation.  Added details about
1110     editor integration.
1111
1112     Additional Prerequisites:
1113     * String::Format
1114
1115 [0.11] Not released
1116
1117     The internal dynamics and API of Perl::Critic have changed
1118     considerably.  The result is a 300% increase in performance.
1119     See the POD in Perl::Critic::Policy for details.
1120
1121     New Features:
1122     * Added -verbose option to put more stuff in the output.  In the
1123       extreme, you can get the POD from Policy attached to each
1124       and every violation.
1125
1126     Additional Prerequisites:
1127     * IO::String
1128     * Pod::PlainText
1129
1130 [0.10] Released 2005-10-05
1131
1132     Fixed stupid bug in newest Policy modules.  They were returning
1133     PPI objects instead of Perl::Critic::Violation objects.  Doh!
1134
1135     Fixed test scripts to prevent failures if the user already has a
1136     .perlcriticrc file.
1137
1138     'ProhibitHardTabs' now allows leading tabs by default.
1139
1140     Put the Changes file in reverse-chronological order, so the most
1141     recent stuff is easy to find at the top of the file
1142
1143 [0.09] Released 2005-10-04
1144
1145     Fixed several bugs:
1146     * 14810: Now you are allowed to create your own 'import' function,
1147              since this is frequently done with fancy modules.
1148     * 14817: Parens, brackets, and braces are now excluded from
1149              'ProhibitNoisyQuotes' since they look better in quotes anyway.
1150     * 14787: $1..$9 and '_' are exempt from ProhibitPunctuationVars
1151     * 14899: Object methods with the same name as a built-in can
1152              be called with parens (ProhibitParensWithBuiltins).
1153     * 14901: Normalized the exit status of perlcritic to 0, 1, or 2.
1154              See documentation for explanation.
1155     * 14855: Partially fixed home directory discovery.  Still not
1156              completely portable, but at least doesn't create warnings.
1157
1158     New features:
1159     * 14734: Limit for number separators is now configurable
1160
1161     New Policy modules:
1162     * CodeLayout::ProhibitHardTabs
1163     * ControlStructures::ProhibitUnlessBlocks
1164     * ControlStructures::ProhibitUntilBlocks
1165     * ControlStructures::ProhibitCStyleForLoops
1166
1167     Changed the syntax for the magic comments.  Adam had the
1168     idea of using a pragma-like notation.  I liked it.
1169
1170 [0.08_2] Released 2005-09-27
1171
1172     Fixed problems with Perl::Critic::Config that caused File::Spec
1173     to emit 'uninitialized value' warnings during the build.
1174
1175     Added 1 Policy module contributed by Graham TerMarsch
1176
1177     Switched from File::Spec::Functions to plain File::Spec because
1178     I think its usage is more common.
1179
1180     Removed 'FindBin' from the test files so I can be sure that the
1181     right libraries are getting loaded.  This means I'll have to
1182     use the -l option with C<prove>.
1183
1184     Edited more POD.
1185
1186 [0.08_01] Not released
1187
1188     Fixed "ProhibitParensWithBuiltins" to allow parens to be used with
1189     object method calls that have the same name as a builtin functions.
1190
1191     Introduced magical comments that allow developers to configure
1192     Perl::Critic on-the-fly from within their code.
1193
1194     Added META.yml files and POD tests to the build.  I did this
1195     mostly just to boost the Kwalitee score on CPANTS.
1196
1197     Switched from "Config::Std" to "Config::Tiny" because it doesn't
1198     require those fancy Damian modules that don't seem to work on
1199     some older versions of Perl.
1200
1201 [0.07] Released on 2005-09-21
1202
1203     Fixed bugs in the ProhibitCascadingIfElse policy.
1204
1205     Added ProhibitExplicitReturnUndef policy
1206
1207     Made ProhibitUnpackagedCode configurable so you can exempt scripts,
1208     which typically don't have an explicit 'package' statement.
1209
1210     ProhibitPackageVars policy now exempts vars in ALL_CAPS.  This
1211     is to permit common package variables like @EXPORT and $VERSION.
1212
1213     Renamed "ProhibitStringyGrep and "ProhibitStringyMap" because
1214     the so-called string form doesn't really exist.  Now called
1215     "RequireBlockGrep" and "RequireBlockMap"
1216
1217     Corrected documentation on defining Policy names within the
1218     configuration file.  This still isn't very clear and needs
1219     to be rewritten.
1220
1221     Perl::Critic now requires PPI version 1.003, which has a few bug
1222     fixes of its own.
1223
1224     Rewrite some code just to make Perl::Critic more self-compliant.
1225
1226     Added test cases to verify the configuration functionality.  These
1227     are not completely thorough and need more work.
1228
1229 [0.06] Released on 2005-09-17
1230
1231     Now called 'Perl::Critic'.
1232
1233     Added 4 new policy modules.
1234
1235     Fixed bugs in build process.
1236
1237     Added support for Module::Build.
1238
1239 [0.05] Released on 2005-09-17
1240
1241     End of 'Perl::Review' releases.  I have changed the name to
1242     'Perl::Critic' to avoid possible confusion with "The Perl Review"
1243     magazine.
1244
1245 [0.04] Released on 2005-09-14
1246
1247     Version 0.03 was a bust because I uploaded the wrong tarball to PAUSE.
1248
1249 [0.03] Released on 2005-09-13.
1250
1251     Fixed some POD links.
1252
1253     Removed test cases for missing policy module.
1254
1255 [0.02] Released on 2005-09-13.
1256
1257     Major overhaul based on feedback from Perl community.
1258
1259     Factored coding standards into separate modules (known as
1260     Policies).  The idea here is to allow other developers to easily
1261     contribute additional coding standards.
1262
1263     Reworked Perl::Review into a simple engine for loading and running
1264     Policy modules.
1265
1266     Gave perlreview a command-line interface and configuration file
1267     for selecting which Policy modules to use.
1268
1269 [0.01] Released on 2005-08-16.
1270
1271     Initial version.
1272
1273 ##############################################################################
1274 #      $URL$
1275 #     $Date$
1276 #   $Author$
1277 # $Revision$
1278 ##############################################################################
1279
1280 # ex: set ts=8 sts=4 sw=4 tw=78 ft= expandtab shiftround :