Login
Added svn keywords.
[gknop/Perl-Critic.git] / Changes
1 #######################################################################
2 #      $URL$
3 #     $Date$
4 #   $Author$
5 # $Revision$
6 ########################################################################
7
8 [0.13] Released on 051031
9
10      Production release of 0.12_03.  No code major changes.
11
12 [0.12_03] Not released
13
14      Renamed -Policy option to -include.  Added -exclude to give the
15      opposite effect.
16
17      Refactored constructor of Perl::Critic.  Now, most of the work
18      is delegated to Perl::Critic::Config.  I'm not sure I like how
19      this turned out, but we'll see how it goes.
20
21      Renamed some Policy modules to be a bit more comprehensible.  Note
22      that you may need to change your .perlcriticrc file accordingly. 
23      I also suggest removing your current Perl::Critic installation 
24      before installing this one.
25
26      Name Changes:
27      * ProhibitUnpackagedCode => RequireExplicitPackage
28      * RequireQuotedWords     => ProhibitQuotedWordLists
29
30      Improved error message when Perl::Critic dies because PPI can't
31      parsee the input code.
32
33      Changed output of -help to be more terse.
34
35      Edited POD.
36
37 [0.12_02] Not released
38
39      Added -Policy option to perlcritic.  The idea is to provide a 
40      compact interface for selecting Policy modules at the command-line.
41      This feature is experimental and subject to change.
42
43      Added a warning message if -verbose value looks strange.  In most 
44      applications, the -verbose option does not require a value, so people
45      might be puzzled when they write 'perlcritic -verbose my_file.pm' and
46      nothing seems to happen.
47
48      Command-line options to perlcritic are now case-sensitive.  This
49      makes it easier to abbreviate options that start with the same letters
50      (e.g. 'Version' and 'verbose')
51
52      Fixed the new Policy modules that were misnamed and misplaced in the 
53      previous distribution.
54
55 [0.12_01] Not released
56
57      Rewrote some of the ControlStructures and BuiltinFunction 
58      policies to be simpler (and probably a little faster).
59
60      Edited POD.  Fixed some typos.  Added PREREQUISITES section
61      to Perl::Critic documentation.
62
63      Fixed the -verbose FORMAT option so that you can put metachars
64      in the FORMAT specification.  If using perlcritic, be careful to
65      protect them from getting munged by the shell first.
66
67      Replaced ProhibitRequireStatements with RequireBarewordIncludes
68      module. Courtesy of Chris Dolan <cdolan@cpan.org>
69
70      Added configuration to ProhibitInterpolationOfLiterals so that
71      certain flavors of quotes can be exempt.  This is for folks who
72      have configured their editor to use special syntax highlighting
73      for certain kinds of strings (SQL, for example).
74
75      perlcritic now accepts multiple file arguments, so now you can 
76      critique your entire distribution in one shot.  As a result, the 
77      output-formats have changed slightly.
78
79      New Policy modules:
80      * BuiltinFunctions::ProhibitLvalueSubstr
81      * BuiltinFunctions::ProhibitSleepViaSelect
82      * ClassHierarchies::ProhibitOneArgBless
83      * CodeLayout::RequireTrailingCommas
84      * CodeLayout::RequireQuotedWordLists
85      * InputOutput::ProhibitTwoArgOpen
86      * InputOutput::ProhibitOneArgSelect
87      * InputOutput::ProhibitBarewordFileHandles
88      * Miscellanea::RequireRcsKeywords
89      * Modules::RequireVersionVar
90      * RegularExpressions::RequireExtendedFormatting
91      * RegularExpressions::RequireLineBoundaryMatching
92
93      
94      Bug fixes:
95      14923: 'require' is now permitted. See RequireBarewordIncludes.
96      15022: Fixed false-positives when keywords are used as hash keys.
97      15023: Fixed spurious Violations by removing magic shebang.
98      15031: Fixed spelling mistakes (and probably added some new ones).
99      15233: Postfix 'if' is now allowed with 'die', 'croak', etc.
100
101 [0.12] Released 051010
102
103      Redesigned the 'verbose' feature.  Now the output format 
104      can be user-defined using a sprintf-like specification.
105      perlciritc also has a predefined output format that is 
106      compatible with grep mode in editors like vim and emacs.
107
108      'return' is now exempt from ProhibitParensWithBuiltins.  I may
109      extend this exemption to all unary functions.
110
111      Edited POD. Added a super brief description of each policy 
112      in the main Perl::Critic documentation.  Added details about
113      editor integration.
114
115      Additional Prerequisites:
116      * String::Format
117
118 [0.11] Not released
119
120      The internal dynamics and API of Perl::Critic have changed
121      considerably.  The result is a 300% increase in performance.
122      See the POD in Perl::Critic::Policy for details.
123
124      New Features:
125      * Added -verbose option to put more stuff in the output.  In the
126        extreme, you can get the POD from Policy attached to each
127        and every violation.
128
129      Additional Prerequisites:
130      * IO::String
131      * Pod::PlainText
132
133 [0.10] Released 051005
134
135      Fixed stupid bug in newest Policy modules.  They were returning
136      PPI objects instead of Perl::Critic::Violation objects.  Doh!
137
138      Fixed test scripts to prevent failures if the user already has a
139      .perlcriticrc file.
140
141      'ProhibitHardTabs' now allows leading tabs by default.
142
143      Put the Changes file in reverse-chronological order, so the most
144      recent stuff is easy to find at the top of the file
145
146 [0.09] Released 051004
147
148      Fixed several bugs:
149      * 14810: Now you are allowed to create your own 'import' function,
150               since this is frequently done with fancy modules.
151      * 14817: Parens, brackets, and braces are now excluded from
152               'ProhibitNoisyQuotes' since they look better in quotes anyway.
153      * 14787: $1..$9 and '_' are exempt from ProhibitPunctuationVars
154      * 14899: Object methods with the same name as a built-in can
155               be called with parens (ProhibitParensWithBuiltins).
156      * 14901: Normalized the exit status of perlcritic to 0, 1, or 2.
157               See documentation for explanation.
158      * 14855: Partially fixed home directory discovery.  Still not
159               completely portable, but at least doesn't create warnings.
160
161      New features:
162      * 14734: Limit for number separators is now configurable
163
164      New Policy modules:
165      * CodeLayout::ProhibitHardTabs
166      * ControlStructures::ProhibitUnlessBlocks
167      * ControlStructures::ProhibitUntilBlocks
168      * ControlStructures::ProhibitCStyleForLoops
169
170      Changed the syntax for the magic comments.  Adam had the
171      idea of using a pragma-like notation.  I liked it.
172
173 [0.08_2] Released 050927
174
175      Fixed problems with Perl::Critic::Config that caused File::Spec
176      to emit 'uninitialized value' warnings during the build.
177
178      Added 1 Policy module contributed by Graham TerMarsch
179
180      Switched from File::Spec::Functions to plain File::Spec because
181      I think its usage is more common.
182
183      Removed 'FindBin' from the test files so I can be sure that the
184      right libraries are getting loaded.  This means I'll have to
185      use the -l option with C<prove>.
186
187      Edited more POD.
188
189 [0.08_01] Not released
190
191      Fixed "ProhibitParensWithBuiltins" to allow parens to be used with
192      object method calls that have the same name as a builtin functions.
193
194      Introduced magical comments that allow developers to configure 
195      Perl::Critic on-the-fly from within their code.
196
197      Added META.yml files and POD tests to the build.  I did this
198      mostly just to boost the Kwalitee score on CPANTS.
199
200      Switched from "Config::Std" to "Config::Tiny" because it doesn't
201      require those fancy Damian modules that don't seem to work on
202      some older versions of Perl.
203
204 [0.07] Released on 050921
205
206      Fixed bugs in the ProhibitCascadingIfElse policy.  
207
208      Added ProhibitExplicitReturnUndef policy
209
210      Made ProhibitUnpackagedCode configurable so you can exempt scripts,
211      which typically don't have an explicit 'package' statement.
212
213      ProhibitPackageVars policy now exempts vars in ALL_CAPS.  This
214      is to permit common package variables like @EXPORT and $VERSION.
215
216      Renamed "ProhibitStringyGrep and "ProhibitStringyMap" because 
217      the so-called string form doesn't really exist.  Now called
218      "RequireBlockGrep" and "RequireBlockMap" 
219
220      Corrected documentation on defining Policy names within the 
221      configuration file.  This still isn't very clear and needs
222      to be rewritten.
223
224      Perl::Critic now requires PPI version 1.003, which has a few bug 
225      fixes of its own.
226
227      Rewrite some code just to make Perl::Critic more self-compliant.
228
229      Added test cases to verify the configuration functionality.  These
230      are not completely thorough and need more work.
231
232 [0.06] Released on 050917
233
234      Now called 'Perl::Critic'.  
235
236      Added 4 new policy modules.  
237      
238      Fixed bugs in build process.  
239
240      Added support for Module::Build.
241
242 [0.05] Released on 050917
243
244      End of 'Perl::Review' releases.  I have changed the name to
245      'Perl::Critic' to avoid possible confusion with "The Perl Review"
246      magazine.
247
248 [0.04] Released on 050914
249
250      Version 0.03 was a bust because I uploaded the wrong tarball to PAUSE.
251
252 [0.03] Released on 050913.
253
254      Fixed some POD links.  
255
256      Removed test cases for missing policy module.
257
258 [0.02] Released on 050913.
259
260      Major overhaul based on feedback from Perl community.
261
262      Factored coding standards into separate modules (known as
263      Policies).  The idea here is to allow other developers to easily
264      contribute additional coding standards.
265
266      Reworked Perl::Review into a simple engine for loading and running
267      Policy modules.
268
269      Gave perlreview a command-line interface and configuration file
270      for selecting which Policy modules to use.
271
272 [0.01] Released on 050816.
273
274      Initial version.
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294