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