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