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