<?xml version="1.0" encoding="iso-8859-1"?>
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns="http://purl.org/rss/1.0/"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
    <channel rdf:about="http://pear.php.net/">
    <link>http://pear.php.net/</link>
    <dc:creator>pear-webmaster@lists.php.net</dc:creator>
    <dc:publisher>pear-webmaster@lists.php.net</dc:publisher>
    <dc:language>en-us</dc:language><items>
<rdf:Seq><rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC3/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0a1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC3/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/0.9.0/"/>
</rdf:Seq>
</items>

<title>Latest releases</title>
<description>The latest releases for the package php_codesniffer</description>
</channel>

<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC3/">
 <title>PHP_CodeSniffer 1.1.0RC3</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC3/</link>
 <content:encoded>- PEAR FileCommentSniff now allows tag orders to be overridden in child classes&lt;br /&gt;
  -- Thanks to Jeff Hodsdon for the patch&lt;br /&gt;
- Added Generic DisallowMultipleStatementsSniff to ensure there is only one statement per line&lt;br /&gt;
- Squiz standard now uses DisallowMultipleStatementsSniff&lt;br /&gt;
- Fixed error in Zend ValidVariableNameSniff when checking vars in form: $class-&gt;{$var}&lt;br /&gt;
- Fixed bug #14077 : Fatal error: Uncaught PHP_CodeSniffer_Exception: $stackPtr is not a class member&lt;br /&gt;
- Fixed bug #14168 : Global Function -&gt; Static Method and __autoload()&lt;br /&gt;
- Fixed bug #14238 :Line length not checket at last line of a file&lt;br /&gt;
- Fixed bug #14249 : wrong detection of scope_opener&lt;br /&gt;
- Fixed bug #14250 : ArrayDeclarationSniff emit warnings at malformed array&lt;br /&gt;
- Fixed bug #14251 : --extensions option doesn't work
 </content:encoded>
 <dc:date>2008-07-03T01:28:17-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC2/">
 <title>PHP_CodeSniffer 1.1.0RC2</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC2/</link>
 <content:encoded>- Permission denied errors now stop script execution but still display current errors (feature request #14076)&lt;br /&gt;
- Added Squiz ValidArrayIndexNameSniff to ensure array indexes do not use camel case&lt;br /&gt;
- Squiz ArrayDeclarationSniff now ensures arrays are not declared with camel case index values&lt;br /&gt;
- PEAR ValidVariableNameSniff now alerts about a possible parse error for member vars inside an interface&lt;br /&gt;
- Fixed bug #13921 : js parsing fails for comments on last line of file&lt;br /&gt;
- Fixed bug #13922 : crash in case of malformed (but tokenized) php file&lt;br /&gt;
  -- PEAR and Squiz ClassDeclarationSniff now throw warnings for possible parse errors&lt;br /&gt;
  -- Squiz ValidClassNameSniff now throws warning for possible parse errors&lt;br /&gt;
  -- Squiz ClosingDeclarationCommentSniff now throws additonal warnings for parse errors
 </content:encoded>
 <dc:date>2008-06-13T00:15:23-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC1/">
 <title>PHP_CodeSniffer 1.1.0RC1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0RC1/</link>
 <content:encoded>- Fixed error in PEAR ValidClassNameSniff when checking class names with double underscores&lt;br /&gt;
- Moved Squiz InlineControlStructureSniff into Generic standard&lt;br /&gt;
- PEAR standard now throws warnings for inline control structures&lt;br /&gt;
- Squiz OutputBufferingIndentSniff now ignores the indentation of inline HTML&lt;br /&gt;
- MySource IncludeSystemSniff now ignores usage of ZipArchive&lt;br /&gt;
- Removed &quot;function&quot; from error messages for Generic function brace sniffs (feature request #13820)&lt;br /&gt;
- Generic UpperCaseConstantSniff no longer throws errors for delcare(ticks = ...)&lt;br /&gt;
  -- Thanks to Josh Snyder for the patch&lt;br /&gt;
- Squiz ClosingDeclarationCommentSniff and AbstractVariableSniff now throw warnings for possible parse errors&lt;br /&gt;
- Fixed bug #13827 : AbstractVariableSniff throws &quot;undefined index&quot;&lt;br /&gt;
- Fixed bug #13846 : Bug in Squiz.NonExecutableCodeSniff&lt;br /&gt;
- Fixed bug #13849 : infinite loop in PHP_CodeSniffer_File::findNext()
 </content:encoded>
 <dc:date>2008-05-12T21:14:43-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0a1/">
 <title>PHP_CodeSniffer 1.1.0a1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.1.0a1/</link>
 <content:encoded>- Added support for multiple tokenizers so PHP_CodeSniffer can check more than just PHP files&lt;br /&gt;
  -- PHP_CodeSniffer now has a JS tokenizer for checking JavaScript files&lt;br /&gt;
  -- Sniffs need to be updated to work with additional tokenizers, or new sniffs written for them&lt;br /&gt;
- phpcs now exits with status 2 if the tokenier extension has been disabled (feature request #13269)&lt;br /&gt;
- Added scripts/phpcs-svn-pre-commit that can be used as an SVN pre-commit hook&lt;br /&gt;
  - Also reworked the way the phpcs script works to make it easier to wrap it with other functionality&lt;br /&gt;
  - Thanks to Jack Bates for the contribution&lt;br /&gt;
- Fixed error in phpcs error message when a supplied file does not exist&lt;br /&gt;
- Fixed a cosmetic error in AbstractPatternSniff where the &quot;found&quot; string was missing some content&lt;br /&gt;
- Added sniffs that implement part of the PMD rule catalog to the Generic standard&lt;br /&gt;
  -- Thanks to Manuel Pichler for the contribution of all these sniffs.&lt;br /&gt;
- Squiz FunctionCommentThrowTagSniff no longer throws errors for function that only throw variables&lt;br /&gt;
- Generic ScopeIndentSniff now has private member to enforce exact indent matching&lt;br /&gt;
- Replaced Squiz DisallowCountInLoopsSniff with Squiz DisallowSizeFunctionsInLoopsSniff&lt;br /&gt;
  -- Thanks to Jan Miczaika for the sniff&lt;br /&gt;
- Squiz BlockCommentSniff now checks inline doc block comments&lt;br /&gt;
- Squiz InlineCommentSniff now checks inline doc block comments&lt;br /&gt;
- Squiz BlockCommentSniff now checks for no blank line before first comment in a function&lt;br /&gt;
- Squiz DocCommentAlignmentSniff now ignores inline doc block comments&lt;br /&gt;
- Squiz ControlStructureSpacingSniff now ensures no blank lines at the start of control structures&lt;br /&gt;
- Squiz ControlStructureSpacingSniff now ensures no blank lines between control structure closing braces&lt;br /&gt;
- Squiz IncrementDecrementUsageSniff now ensures inc/dec ops are bracketed in string concats&lt;br /&gt;
- Squiz IncrementDecrementUsageSniff now ensures inc/dec ops are not used in arithmetic operations&lt;br /&gt;
- Squiz FunctionCommentSniff no longer throws errors if return value is mixed but function returns void somewhere&lt;br /&gt;
- Squiz OperatorBracketSniff no allows function call brackets to count as operator brackets&lt;br /&gt;
- Squiz DoubleQuoteUsageSniff now supports \x \f and \v (feature request #13365)&lt;br /&gt;
- Squiz ComparisonOperatorUsageSniff now supports JS files&lt;br /&gt;
- Squiz ControlSignatureSniff now supports JS files&lt;br /&gt;
- Squiz ForLoopDeclarationSniff now supports JS files&lt;br /&gt;
- Squiz OperatorBracketSniff now supports JS files&lt;br /&gt;
- Squiz InlineControlStructureSniff now supports JS files&lt;br /&gt;
- Generic LowerCaseConstantSniff now supports JS files&lt;br /&gt;
- Generic DisallowTabIndentSniff now supports JS files&lt;br /&gt;
- Generic MultipleStatementAlignmentSniff now supports JS files&lt;br /&gt;
- Added Squiz ObjectMemberCommaSniff to ensure the last member of a JS object is not followed by a comma&lt;br /&gt;
- Added Squiz ConstantCaseSniff to ensure the PHP constants are uppercase and JS lowercase&lt;br /&gt;
- Added Squiz JavaScriptLintSniff to check JS files with JSL&lt;br /&gt;
  -- Set path using phpcs --config-set jsl_path /path/to/jsl&lt;br /&gt;
- Added MySource FirebugConsoleSniff to ban the use of &quot;console&quot; for JS variable and function names&lt;br /&gt;
- Added MySource JoinStringsSniff to enforce the use of join() to concatenate JS strings&lt;br /&gt;
- Added MySource AssignThisSniff to ensure this is only assigned to a var called self&lt;br /&gt;
- Added MySource DisallowNewWidgetSniff to ban manual creation of widget objects&lt;br /&gt;
- Removed warning shown in Zend CodeAnalyzerSniff when the ZCA path is not set&lt;br /&gt;
- Fixed error in Squiz ValidVariableNameSniff when checking vars in the form $obj-&gt;$var&lt;br /&gt;
- Fixed error in Squiz DisallowMultipleAssignmentsSniff when checking vars in the form $obj-&gt;$var&lt;br /&gt;
- Fixed error in Squiz InlineCommentSniff where comments for class constants were seen as inline&lt;br /&gt;
- Fixed error in Squiz BlockCommentSniff where comments for class constants were not ignored&lt;br /&gt;
- Fixed error in Squiz OperatorBracketSniff where negative numbers were ignored during comparisons&lt;br /&gt;
- Fixed error in Squiz FunctionSpacingSniff where functions after member vars reported incorrect spacing&lt;br /&gt;
- Fixed bug #13062 : Interface comments aren't handled in PEAR standard&lt;br /&gt;
  -- Thanks to Manuel Pichler for the path&lt;br /&gt;
- Fixed bug #13119 : php minimum requirement need to be fix&lt;br /&gt;
- Fixed bug #13156 : Bug in Squiz_Sniffs_PHP_NonExecutableCodeSniff&lt;br /&gt;
- Fixed bug #13158 : Strange behaviour in AbstractPatternSniff&lt;br /&gt;
- Fixed bug #13169 : Undefined variables&lt;br /&gt;
- Fixed bug #13178 : Catch exception in File.php&lt;br /&gt;
- Fixed bug #13254 : Notices output in checkstyle report causes XML issues&lt;br /&gt;
- Fixed bug #13446 : crash with src of phpMyAdmin&lt;br /&gt;
  -- Thanks to Manuel Pichler for the path
 </content:encoded>
 <dc:date>2008-04-20T20:58:33-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.1/">
 <title>PHP_CodeSniffer 1.0.1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.0.1/</link>
 <content:encoded>- Squiz ArrayDeclarationSniff now throws error if the array keyword is followed by a space&lt;br /&gt;
- Squiz ArrayDeclarationSniff now throws error for empty multi-line arrays&lt;br /&gt;
- Squiz ArrayDeclarationSniff now throws error for multi-line arrays with a single value&lt;br /&gt;
- Squiz DocCommentAlignmentSniff now checks for a single space before tags inside docblocks&lt;br /&gt;
- Squiz ForbiddenFunctionsSniff now disallows is_null() to force use of (=== NULL) instead&lt;br /&gt;
- Squiz VariableCommentSniff now continues throwing errors after the first one is found&lt;br /&gt;
- Squiz SuperfluousWhitespaceSniff now throws errors for multiple blank lines inside functions&lt;br /&gt;
- MySource IncludedSystemSniff now checks extended class names&lt;br /&gt;
- MySource UnusedSystemSniff now checks extended and implemented class names&lt;br /&gt;
- MySource IncludedSystemSniff now supports includeWidget()&lt;br /&gt;
- MySource UnusedSystemSniff now supports includeWidget()&lt;br /&gt;
- Added PEAR ValidVariableNameSniff to check that only private member vars are prefixed with an underscore&lt;br /&gt;
- Added Squiz DisallowCountInLoopsSniff to check for the use of count() in FOR and WHILE loop conditions&lt;br /&gt;
- Added MySource UnusedSystemSniff to check for included classes that are never used&lt;br /&gt;
- Fixed a problem that caused the parentheses map to sometimes contain incorrect values&lt;br /&gt;
- Fixed bug #12767 : Cant run phpcs from dir with PEAR subdir&lt;br /&gt;
- Fixed bug #12773 : Reserved variables are not detected in strings&lt;br /&gt;
  -- Thanks to Wilfried Loche for the patch&lt;br /&gt;
- Fixed bug #12832 : Tab to space conversion does not work&lt;br /&gt;
- Fixed bug #12888 : extra space indentation = Notice: Uninitialized string offset...&lt;br /&gt;
- Fixed bug #12909 : Default generateDocs function does not work under linux&lt;br /&gt;
  -- Thanks to Paul Smith for the patch&lt;br /&gt;
- Fixed bug #12957 : PHP 5.3 magic method __callStatic&lt;br /&gt;
  -- Thanks to Manuel Pichler for the patch
 </content:encoded>
 <dc:date>2008-02-03T18:00:33-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0/">
 <title>PHP_CodeSniffer 1.0.0</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0/</link>
 <content:encoded>- You can now specify the full path to a coding standard on the command line (feature request #11886)&lt;br /&gt;
  -- This allows you to use standards that are stored outside of PHP_CodeSniffer's own Standard dir&lt;br /&gt;
  -- You can also specify full paths in the CodingStandard.php include and exclude methods&lt;br /&gt;
  -- Classes, dirs and files need to be names as if the standard was part of PHP_CodeSniffer&lt;br /&gt;
  -- Thanks to Dirk Thomas for the doc generator patch and testing&lt;br /&gt;
- Modified the scope map to keep checking after 3 lines for some tokens (feature request #12561)&lt;br /&gt;
  -- Those tokens that must have an opener (like T_CLASS) now keep looking until EOF&lt;br /&gt;
  -- Other tokens (like T_FUNCTION) still stop after 3 lines for performance&lt;br /&gt;
- You can now esacpe commas in ignore patterns so they can be matched in file names&lt;br /&gt;
  -- Thanks to Carsten Wiedmann for the patch&lt;br /&gt;
- Config data is now cached in a global var so the file system is not hit so often&lt;br /&gt;
  -- You can also set config data temporarily for the script if you are using your own external script&lt;br /&gt;
  -- Pass TRUE as the third argument to PHP_CodeSniffer::setConfigData()&lt;br /&gt;
- PEAR ClassDeclarationSniff no longer throws errors for multi-line class declarations&lt;br /&gt;
- Squiz ClassDeclarationSniff now ensures there is one blank line after a class closing brace&lt;br /&gt;
- Squiz ClassDeclarationSniff now throws errors for a missing end PHP tag after the end class tag&lt;br /&gt;
- Squiz IncrementDecrementUsageSniff no longer throws errors when -= and += are being used with vars&lt;br /&gt;
- Squiz SwitchDeclarationSniff now throws errors for switch statements that do not contain a case statement&lt;br /&gt;
  -- Thanks to Sertan Danis for the patch&lt;br /&gt;
- MySource IncludeSystemSniff no longer throws errors for the Util package&lt;br /&gt;
- Fixed bug #12621 : &quot;space after AS&quot; check is wrong&lt;br /&gt;
  -- Thanks to Satoshi Oikawa for the patch&lt;br /&gt;
- Fixed bug #12645 : error message is wrong&lt;br /&gt;
  -- Thanks to Renoiv for the patch&lt;br /&gt;
- Fixed bug #12651 : Increment/Decrement Operators Usage at -1
 </content:encoded>
 <dc:date>2007-12-20T22:04:32-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC3/">
 <title>PHP_CodeSniffer 1.0.0RC3</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC3/</link>
 <content:encoded>- Added new command line argument --tab-width that will convert tabs to spaces before testing&lt;br /&gt;
  -- This allows you to use the existing sniffs that check for spaces even when you use tabs&lt;br /&gt;
  -- Can also be set via a config var: phpcs --config-set tab_width 4&lt;br /&gt;
  -- A value of zero (the default) tells PHP_CodeSniffer not to replace tabs with spaces&lt;br /&gt;
- You can now change the default report format from &quot;full&quot; to something else&lt;br /&gt;
    -- Run: phpcs --config-set report_format [format]&lt;br /&gt;
- Improved performance by optimising the way the scope map is created during tokenising&lt;br /&gt;
- Added new Squiz DisallowInlineIfSniff to disallow the usage of inline IF statements&lt;br /&gt;
- Fixed incorrect errors being thrown for nested switches in Squiz SwitchDeclarationSniff&lt;br /&gt;
- PEAR FunctionCommentSniff no longer complains about missing comments for @throws tags&lt;br /&gt;
- PEAR FunctionCommentSniff now throws error for missing exception class name for @throws tags&lt;br /&gt;
- PHP_CodeSniffer_File::isReference() now correctly returns for functions that return references&lt;br /&gt;
- Generic LineLengthSniff no longer warns about @version lines with CVS or SVN id tags&lt;br /&gt;
- Generic LineLengthSniff no longer warns about @license lines with long URLs&lt;br /&gt;
- Squiz FunctionCommentThrowTagSniff no longer complains about throwing variables&lt;br /&gt;
- Squiz ComparisonOperatorUsageSniff no longer throws incorrect errors for inline IF statements&lt;br /&gt;
- Squiz DisllowMultipleAssignmentsSniff no longer throws errors for assignments in inline IF statements&lt;br /&gt;
- Fixed bug #12455 : CodeSniffer treats content inside heredoc as PHP code&lt;br /&gt;
- Fixed bug #12471 : Checkstyle report is broken&lt;br /&gt;
- Fixed bug #12476 : PHP4 destructors are reported as error&lt;br /&gt;
- Fixed bug #12513 : Checkstyle XML messages need to be utf8_encode()d&lt;br /&gt;
  -- Thanks to Sebastian Bergmann for the patch.&lt;br /&gt;
- Fixed bug #12517 : getNewlineAfter() and dos files
 </content:encoded>
 <dc:date>2007-11-29T22:09:50-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC2/">
 <title>PHP_CodeSniffer 1.0.0RC2</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC2/</link>
 <content:encoded>- Added a new Checkstyle report format&lt;br /&gt;
  -- Like the current XML format but modified to look like Checkstyle output&lt;br /&gt;
  -- Thanks to Manuel Pichler for helping get the format correct&lt;br /&gt;
- You can now hide warnings by default&lt;br /&gt;
    -- Run: phpcs --config-set show_warnings 0&lt;br /&gt;
    -- If warnings are hidden by default, use the new -w command line argument to override&lt;br /&gt;
- Added new command line argument --config-delete to delete a config value and revert to the default&lt;br /&gt;
- Improved overall performance by optimising tokenising and next/prev methods (feature request #12421)&lt;br /&gt;
  -- Thanks to Christian Weiske for the patch&lt;br /&gt;
- Added FunctionCallSignatureSniff to Squiz standard&lt;br /&gt;
- Added @subpackage support to file and class comment sniffs in PEAR standard (feature request #12382)&lt;br /&gt;
  -- Thanks to Carsten Wiedmann for the patch&lt;br /&gt;
- An error is now displayed if you use a PHP version less than 5.1.0 (feature request #12380)&lt;br /&gt;
  -- Thanks to Carsten Wiedmann for the patch&lt;br /&gt;
- phpcs now exits with status 2 if it receives invalid input (feature request #12380)&lt;br /&gt;
  -- This is distinct from status 1, which indicates errors or warnings were found&lt;br /&gt;
- Added new Squiz LanguageConstructSpacingSniff to throw errors for additional whitespace after echo etc.&lt;br /&gt;
- Removed Squiz ValidInterfaceNameSniff&lt;br /&gt;
- PEAR FunctionCommentSniff no longer complains about unknown tags&lt;br /&gt;
- Fixed incorrect errors about missing function comments in PEAR FunctionCommentSniff&lt;br /&gt;
- Fixed incorrect function docblock detection in Squiz FunctionCommentSniff&lt;br /&gt;
- Fixed incorrect errors for list() in Squiz DisallowMultipleAssignmentsSniff&lt;br /&gt;
- Errors no longer thrown if control structure is followed by a CASE's BREAK in Squiz ControlStructureSpacingSniff&lt;br /&gt;
- Fixed bug #12368 : Autoloader cannot be found due to include_path override&lt;br /&gt;
  -- Thanks to Richard Quadling for the patch&lt;br /&gt;
- Fixed bug #12378 : equal sign alignments problem with while()
 </content:encoded>
 <dc:date>2007-11-13T19:45:03-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC1/">
 <title>PHP_CodeSniffer 1.0.0RC1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/1.0.0RC1/</link>
 <content:encoded>- Main phpcs script can now be run from a CVS checkout without installing the package&lt;br /&gt;
- Added a new CSV report format&lt;br /&gt;
  -- Header row indicates what position each element is in&lt;br /&gt;
  -- Always use the header row to determine positions rather than assuming the format, as it may change&lt;br /&gt;
- XML and CSV report formats now contain information about which column the error occurred at&lt;br /&gt;
  -- Useful if you want to highlight the token that caused the error in a custom application&lt;br /&gt;
- Square bracket tokens now have bracket_opener and bracket_closer set&lt;br /&gt;
- Added new Squiz SemicolonSpacingSniff to throw errors if whitespace is found before a semicolon&lt;br /&gt;
- Added new Squiz ArrayBracketSpacingSniff to throw errors if whitespace is found around square brackets&lt;br /&gt;
- Added new Squiz ObjectOperatorSpacingSniff to throw errors if whitespace is found around object operators&lt;br /&gt;
- Added new Squiz DisallowMultipleAssignmentsSniff to throw errors if multiple assignments are on the same line&lt;br /&gt;
- Added new Squiz ScopeKeywordSpacingSniff to throw errors if there is not a single space after a scope modifier&lt;br /&gt;
- Added new Squiz ObjectInstantiationSniff to throw errors if new objects are not assigned to a variable&lt;br /&gt;
- Added new Squiz FunctionDuplicateArgumentSniff to throw errors if argument is declared multiple times in a function&lt;br /&gt;
- Added new Squiz FunctionOpeningBraceSpaceSniff to ensure there are no blank lines after a function open brace&lt;br /&gt;
- Added new Squiz CommentedOutCodeSniff to warn about comments that looks like they are commented out code blocks&lt;br /&gt;
- Added CyclomaticComplexitySniff to Squiz standard&lt;br /&gt;
- Added NestingLevelSniff to Squiz standard&lt;br /&gt;
- Squiz ForbiddenFunctionsSniff now recommends echo() instead of print()&lt;br /&gt;
- Squiz ValidLogicalOperatorsSniff now recommends ^ instead of xor&lt;br /&gt;
- Squiz SwitchDeclarationSniff now contains more checks&lt;br /&gt;
  -- A single space is required after the case keyword&lt;br /&gt;
  -- No space is allowed before the colon in a case or default statement&lt;br /&gt;
  -- All switch statements now require a default case&lt;br /&gt;
  -- Default case must contain a break statement&lt;br /&gt;
  -- Empty default case must contain a comment describing why the default is ignored&lt;br /&gt;
  -- Empty case statements are not allowed&lt;br /&gt;
  -- Case and default statements must not be followed by a blank line&lt;br /&gt;
  -- Break statements must be followed by a blank line or the closing brace&lt;br /&gt;
  -- There must be no blank line before a break statement&lt;br /&gt;
- Squiz standard is now using the PEAR IncludingFileSniff&lt;br /&gt;
- PEAR ClassCommentSniff no longer complains about unknown tags&lt;br /&gt;
- PEAR FileCommentSniff no longer complains about unknown tags&lt;br /&gt;
- PEAR FileCommentSniff now accepts multiple @copyright tags&lt;br /&gt;
- Squiz BlockCommentSniff now checks that comment starts with a capital letter&lt;br /&gt;
- Squiz InlineCommentSniff now has better checking to ensure comment starts with a capital letter&lt;br /&gt;
- Squiz ClassCommentSniff now checks that short and long comments start with a capital letter&lt;br /&gt;
- Squiz FunctionCommentSniff now checks that short, long and param comments start with a capital letter&lt;br /&gt;
- Squiz VariableCommentSniff now checks that short and long comments start with a capital letter&lt;br /&gt;
- Fixed error with multi-token array indexes in Squiz ArrayDeclarationSniff&lt;br /&gt;
- Fixed error with checking shorthand IF statements without a semicolon in Squiz InlineIfDeclarationSniff&lt;br /&gt;
- Fixed error where constants used as defulat values in function declarations were seen as type hints&lt;br /&gt;
- Fixed bug #12316 : PEAR is no longer the default standard&lt;br /&gt;
- Fixed bug #12321 : wrong detection of missing function docblock
 </content:encoded>
 <dc:date>2007-10-31T21:45:15-05:00</dc:date>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/0.9.0/">
 <title>PHP_CodeSniffer 0.9.0</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/0.9.0/</link>
 <content:encoded>- Added a config system for setting config data across phpcs runs&lt;br /&gt;
- You can now change the default coding standard from PEAR to something else&lt;br /&gt;
  -- Run: phpcs --config-set default_standard [standard]&lt;br /&gt;
- Added new Zend coding standard to check code against the Zend Framework standards&lt;br /&gt;
  -- The complete standard is not yet implemented&lt;br /&gt;
  -- Specify --standard=Zend to use&lt;br /&gt;
  -- Thanks to Johann-Peter Hartmann for the contribution of some sniffs&lt;br /&gt;
  -- Thanks to Holger Kral for the Code Analyzer sniff
 </content:encoded>
 <dc:date>2007-09-24T01:46:38-05:00</dc:date>
</item>

</rdf:RDF>