<?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/3.7.2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.7.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.7.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.2/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.1/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.0/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.8/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.7/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.6/"/>
<rdf:li rdf:resource="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.5/"/>
</rdf:Seq>
</items>

<title>Latest releases of php_codesniffer</title>
<description>The latest releases for the package php_codesniffer</description>
</channel>

<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.7.2/">
 <title>PHP_CodeSniffer 3.7.2</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.7.2/</link>
 <content:encoded>- Newer versions of Composer will now suggest installing PHPCS using require-dev instead of require&lt;br /&gt;
  -- Thanks to Gary Jones (@GaryJones) for the patch&lt;br /&gt;
- A custom Out Of Memory error will now be shown if PHPCS or PHPCBF run out of memory during a run&lt;br /&gt;
  -- Error message provides actionable information about how to fix the problem and ensures the error is not silent&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) and Alain Schlesser (@schlessera) for the patch&lt;br /&gt;
- Generic.PHP.LowerCaseType sniff now correctly examines types inside arrow functions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Squiz.Formatting.OperatorBracket no longer reports false positives in match() structures&lt;br /&gt;
- Fixed bug #3616 : Squiz.PHP.DisallowComparisonAssignment false positive for PHP 8 match expression&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3618 : Generic.WhiteSpace.ArbitraryParenthesesSpacing false positive for return new parent()&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3632 : Short list not tokenized correctly in control structures without braces&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3639 : Tokenizer not applying tab replacement to heredoc/nowdoc closers&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3640 : Generic.WhiteSpace.DisallowTabIndent not reporting errors for PHP 7.3 flexible heredoc/nowdoc syntax&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3645 : PHPCS can show 0 exit code when running in parallel even if child process has fatal error&lt;br /&gt;
  -- Thanks to Alex Panshin (@enl) for the patch&lt;br /&gt;
- Fixed bug #3653 : False positives for match() in OperatorSpacingSniff&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík (@kukulich) for the patch&lt;br /&gt;
- Fixed bug #3666 : PEAR.Functions.FunctionCallSignature incorrect indent fix when checking mixed HTML/PHP files&lt;br /&gt;
- Fixed bug #3668 : PSR12.Classes.ClassInstantiation.MissingParentheses false positive when instantiating parent classes&lt;br /&gt;
  -- Similar issues also fixed in Generic.Functions.FunctionCallArgumentSpacing and Squiz.Formatting.OperatorBracket&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch&lt;br /&gt;
- Fixed bug #3672 : Incorrect ScopeIndent.IncorrectExact report for match inside array literal&lt;br /&gt;
- Fixed bug #3694 : Generic.WhiteSpace.SpreadOperatorSpacingAfter does not ignore spread operator in PHP 8.1 first class callables&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
 </content:encoded>
 <dc:date>2023-02-22T18:14:28-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.7.1/">
 <title>PHP_CodeSniffer 3.7.1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.7.1/</link>
 <content:encoded>- Fixed bug #3609: Methods/constants with name empty/isset/unset are always reported as error&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer (@jrfnl) for the patch
 </content:encoded>
 <dc:date>2022-06-18T03:29:59-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.7.0/">
 <title>PHP_CodeSniffer 3.7.0</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.7.0/</link>
 <content:encoded>- Added support for PHP 8.1 explicit octal notation&lt;br /&gt;
  -- This new syntax has been backfilled for PHP versions less than 8.1&lt;br /&gt;
  -- Thanks to Mark Baker for the patch&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for additional fixes&lt;br /&gt;
- Added support for PHP 8.1 enums&lt;br /&gt;
  -- This new syntax has been backfilled for PHP versions less than 8.1&lt;br /&gt;
  -- Includes a new T_ENUM_CASE token to represent the case statements inside an enum&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík for the patch&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for additional core and sniff support&lt;br /&gt;
- Added support for the PHP 8.1 readonly token&lt;br /&gt;
  -- Tokenzing of the readonly keyword has been backfilled for PHP versions less than 8.1&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík for the patch&lt;br /&gt;
- Added support for PHP 8.1 intersection types&lt;br /&gt;
  -- Includes a new T_TYPE_INTERSECTION token to represent the ampersand character inside intersection types&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík for the patch&lt;br /&gt;
- File::getMethodParameters now supports the new PHP 8.1 readonly token&lt;br /&gt;
  -- When constructor property promotion is used, a new property_readonly array index is included in the return value&lt;br /&gt;
    --- This is a boolean value indicating if the property is readonly&lt;br /&gt;
  -- If the readonly token is detected, a new readonly_token array index is included in the return value&lt;br /&gt;
    --- This contains the token index of the readonly keyword&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Support for new PHP 8.1 readonly keyword has been added to the following sniffs:&lt;br /&gt;
  -- Generic.PHP.LowerCaseKeyword&lt;br /&gt;
  -- PSR2.Classes.PropertyDeclaration&lt;br /&gt;
  -- Squiz.Commenting.BlockCommentS&lt;br /&gt;
  -- Squiz.Commenting.DocCommentAlignment&lt;br /&gt;
  -- Squiz.Commenting.VariableComment&lt;br /&gt;
  -- Squiz.WhiteSpace.ScopeKeywordSpacing&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patches&lt;br /&gt;
- The parallel feature is now more efficent and runs faster in some situations due to improved process managment&lt;br /&gt;
  -- Thanks to Sergei Morozov for the patch&lt;br /&gt;
- The list of installed coding standards now has consistent ordering across all platforms&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Generic.PHP.UpperCaseConstant and Generic.PHP.LowerCaseConstant now ignore type declarations&lt;br /&gt;
  -- These sniffs now only report errors for true/false/null when used as values&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Generic.PHP.LowerCaseType now supports the PHP 8.1 never type&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík for the patch&lt;br /&gt;
- Fixed bug #3502 : A match statement within an array produces Squiz.Arrays.ArrayDeclaration.NoKeySpecified&lt;br /&gt;
- Fixed bug #3503 : Squiz.Commenting.FunctionComment.ThrowsNoFullStop false positive when one line @throw&lt;br /&gt;
- Fixed bug #3505 : The nullsafe operator is not counted in Generic.Metrics.CyclomaticComplexity&lt;br /&gt;
  -- Thanks to Mark Baker for the patch&lt;br /&gt;
- Fixed bug #3526 : PSR12.Properties.ConstantVisibility false positive when using public final const syntax&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3530 : Line indented incorrectly false positive when using match-expression inside switch case&lt;br /&gt;
- Fixed bug #3534 : Name of typed enum tokenized as T_GOTO_LABEL&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3546 : Tokenizer/PHP: bug fix - parent/static keywords in class instantiations&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3550 : False positive from PSR2.ControlStructures.SwitchDeclaration.TerminatingComment when using trailing comment&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3575: Squiz.Scope.MethodScope misses visibility keyword on previous line&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3604: Tokenizer/PHP: bug fix for double quoted strings using ${&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch
 </content:encoded>
 <dc:date>2022-06-13T02:37:48-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.2/">
 <title>PHP_CodeSniffer 3.6.2</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.6.2/</link>
 <content:encoded>- Processing large code bases that use tab indenting inside comments and strings will now be faster&lt;br /&gt;
  -- Thanks to Thiemo Kreuz for the patch&lt;br /&gt;
- Fixed bug #3388 : phpcs does not work when run from WSL drives&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer and Graham Wharton for the patch&lt;br /&gt;
- Fixed bug #3422 : Squiz.WhiteSpace.ScopeClosingBrace fixer removes HTML content when fixing closing brace alignment&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3437 : PSR12 does not forbid blank lines at the start of the class body&lt;br /&gt;
  -- Added new PSR12.Classes.OpeningBraceSpace sniff to enforce this&lt;br /&gt;
- Fixed bug #3440 : Squiz.WhiteSpace.MemberVarSpacing false positives when attributes used without docblock&lt;br /&gt;
  -- Thanks to Vadim Borodavko for the patch&lt;br /&gt;
- Fixed bug #3448 : PHP 8.1 deprecation notice while generating running time value&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer and Andy Postnikov for the patch&lt;br /&gt;
- Fixed bug #3456 : PSR12.Classes.ClassInstantiation.MissingParentheses false positive using attributes on anonymous class&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3460 : Generic.Formatting.MultipleStatementAlignment false positive on closure with parameters&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3468 : do/while loops are double-counted in Generic.Metrics.CyclomaticComplexity&lt;br /&gt;
  -- Thanks to Mark Baker for the patch&lt;br /&gt;
- Fixed bug #3469 : Ternary Operator and Null Coalescing Operator are not counted in Generic.Metrics.CyclomaticComplexity&lt;br /&gt;
  -- Thanks to Mark Baker for the patch&lt;br /&gt;
- Fixed bug #3472 : PHP 8 match() expression is not counted in Generic.Metrics.CyclomaticComplexity&lt;br /&gt;
  -- Thanks to Mark Baker for the patch
 </content:encoded>
 <dc:date>2021-12-12T16:53:51-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.1/">
 <title>PHP_CodeSniffer 3.6.1</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.6.1/</link>
 <content:encoded>- PHPCS annotations can now be specified using hash-style comments&lt;br /&gt;
  -- Previously, only slash-style and block-style comments could be used to do things like disable errors&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed an issue where some sniffs would not run on PHP files that only used the short echo tag&lt;br /&gt;
  -- The following sniffs were affected:&lt;br /&gt;
     --- Generic.Files.ExecutableFile&lt;br /&gt;
     --- Generic.Files.LowercasedFilename&lt;br /&gt;
     --- Generic.Files.LineEndings&lt;br /&gt;
     --- Generic.Files.EndFileNewline&lt;br /&gt;
     --- Generic.Files.EndFileNoNewline&lt;br /&gt;
     --- Generic.PHP.ClosingPHPTag&lt;br /&gt;
     --- Generic.PHP.Syntax&lt;br /&gt;
     --- Generic.VersionControl.GitMergeConflict&lt;br /&gt;
     --- Generic.WhiteSpace.DisallowSpaceIndent&lt;br /&gt;
     --- Generic.WhiteSpace.DisallowTabIndent&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The new PHP 8.1 tokenisation for ampersands has been reverted to use the existing PHP_CodeSniffer method&lt;br /&gt;
  -- The PHP 8.1 tokens T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG and T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG are unsued&lt;br /&gt;
  -- Ampersands continue to be tokenized as T_BITWISE_AND for all PHP versions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer and Anna Filina for the patch&lt;br /&gt;
- File::getMethodParameters() no longer incorrectly returns argument attributes in the type hint array index&lt;br /&gt;
  -- A new has_attributes array index is available and set to TRUE if the argument has attributes defined&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Generic.NamingConventions.ConstructorName no longer throws deprecation notices on PHP 8.1&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Squiz.Commenting.BlockComment now correctly applies rules for block comments after a short echo tag&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed false positives when using attributes in the following sniffs:&lt;br /&gt;
  -- PEAR.Commenting.FunctionComment&lt;br /&gt;
  -- Squiz.Commenting.InlineComment&lt;br /&gt;
  -- Squiz.Commenting.BlockComment&lt;br /&gt;
  -- Squiz.Commenting.VariableComment&lt;br /&gt;
  -- Squiz.WhiteSpace.MemberVarSpacing&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3294 : Bug in attribute tokenization when content contains PHP end token or attribute closer on new line&lt;br /&gt;
  -- Thanks to Alessandro Chitolina for the patch&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the tests&lt;br /&gt;
- Fixed bug #3296 : PSR2.ControlStructures.SwitchDeclaration takes phpcs:ignore as content of case body&lt;br /&gt;
- Fixed bug #3297 : PSR2.ControlStructures.SwitchDeclaration.TerminatingComment does not handle try/finally blocks&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3302 : PHP 8.0 | Tokenizer/PHP: bugfix for union types using namespace operator&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3303 : findStartOfStatement() doesn't work with T_OPEN_TAG_WITH_ECHO&lt;br /&gt;
- Fixed bug #3316 : Arrow function not tokenized correctly when using null in union type&lt;br /&gt;
- Fixed bug #3317 : Problem with how phpcs handles ignored files when running in parallel&lt;br /&gt;
  -- Thanks to Emil Andersson for the patch&lt;br /&gt;
- Fixed bug #3324 : PHPCS hangs processing some nested arrow functions inside a function call&lt;br /&gt;
- Fixed bug #3326 : Generic.Formatting.MultipleStatementAlignment error with const DEFAULT&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3333 : Squiz.Objects.ObjectInstantiation: null coalesce operators are not recognized as assignment&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3340 : Ensure interface and trait names are always tokenized as T_STRING&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3342 : PSR12/Squiz/PEAR standards all error on promoted properties with docblocks&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3345 : IF statement with no braces and double catch turned into syntax error by auto-fixer&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3352 : PSR2.ControlStructures.SwitchDeclaration can remove comments on the same line as the case statement while fixing&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3357 : Generic.Functions.OpeningFunctionBraceBsdAllman removes return type when additional lines are present&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3362 : Generic.WhiteSpace.ScopeIndent false positive for arrow functions inside arrays&lt;br /&gt;
- Fixed bug #3384 : Squiz.Commenting.FileComment.SpacingAfterComment false positive on empty file&lt;br /&gt;
- Fixed bug #3394 : Fix PHP 8.1 auto_detect_line_endings deprecation notice&lt;br /&gt;
- Fixed bug #3400 : PHP 8.1: prevent deprecation notices about missing return types&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3424 : PHPCS fails when using PHP 8 Constructor property promotion with attributes&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3425 : PHP 8.1 | Runner::processChildProcs(): fix passing null to non-nullable bug&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3445 : Nullable parameter after attribute incorrectly tokenized as ternary operator&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch
 </content:encoded>
 <dc:date>2021-10-11T00:40:45-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.6.0/">
 <title>PHP_CodeSniffer 3.6.0</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.6.0/</link>
 <content:encoded>- Added support for PHP 8.0 union types&lt;br /&gt;
  -- A new T_TYPE_UNION token is available to represent the pipe character&lt;br /&gt;
  -- File::getMethodParameters(), getMethodProperties(), and getMemberProperties() will now return union types&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added support for PHP 8.0 named function call arguments&lt;br /&gt;
  -- A new T_PARAM_NAME token is available to represent the label with the name of the function argument in it&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added support for PHP 8.0 attributes&lt;br /&gt;
  -- The PHP-supplied T_ATTRIBUTE token marks the start of an attribute&lt;br /&gt;
  -- A new T_ATTRIBUTE_END token is available to mark the end of an attribute&lt;br /&gt;
  -- New attribute_owner and attribute_closer indexes are available in the tokens array for all tokens inside an attribute&lt;br /&gt;
  -- Tokenizing of attributes has been backfilled for older PHP versions&lt;br /&gt;
  -- The following sniffs have been updated to support attributes:&lt;br /&gt;
     --- PEAR.Commenting.ClassComment&lt;br /&gt;
     --- PEAR.Commenting.FileComment&lt;br /&gt;
     --- PSR1.Files.SideEffects&lt;br /&gt;
     --- PSR12.Files.FileHeader&lt;br /&gt;
     --- Squiz.Commenting.ClassComment&lt;br /&gt;
     --- Squiz.Commenting.FileComment&lt;br /&gt;
     --- Squiz.WhiteSpace.FunctionSpacing&lt;br /&gt;
         ---- Thanks to Vadim Borodavko for the patch&lt;br /&gt;
  -- Thanks to Alessandro Chitolina for the patch&lt;br /&gt;
- Added support for PHP 8.0 dereferencing of text strings with interpolated variables&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added support for PHP 8.0 match expressions&lt;br /&gt;
  -- Match expressions are now tokenised with parenthesis and scope openers and closers&lt;br /&gt;
     --- Sniffs can listen for the T_MATCH token to process match expressions&lt;br /&gt;
     --- Note that the case and default statements inside match expressions do not have scopes set&lt;br /&gt;
  -- A new T_MATCH_ARROW token is available to represent the arrows in match expressions&lt;br /&gt;
  -- A new T_MATCH_DEFAULT token is available to represent the default keyword in match expressions&lt;br /&gt;
  -- All tokenizing of match expressions has been backfilled for older PHP versions&lt;br /&gt;
  -- The following sniffs have been updated to support match expressions:&lt;br /&gt;
     --- Generic.CodeAnalysis.AssignmentInCondition&lt;br /&gt;
     --- Generic.CodeAnalysis.EmptyPHPStatement&lt;br /&gt;
         ---- Thanks to Vadim Borodavko for the patch&lt;br /&gt;
     --- Generic.CodeAnalysis.EmptyStatement&lt;br /&gt;
     --- Generic.PHP.LowerCaseKeyword&lt;br /&gt;
     --- PEAR.ControlStructures.ControlSignature&lt;br /&gt;
     --- PSR12.ControlStructures.BooleanOperatorPlacement&lt;br /&gt;
     --- Squiz.Commenting.LongConditionClosingComment&lt;br /&gt;
     --- Squiz.Commenting.PostStatementComment&lt;br /&gt;
     --- Squiz.ControlStructures.LowercaseDeclaration&lt;br /&gt;
     --- Squiz.ControlStructures.ControlSignature&lt;br /&gt;
     --- Squiz.Formatting.OperatorBracket&lt;br /&gt;
     --- Squiz.PHP.DisallowMultipleAssignments&lt;br /&gt;
     --- Squiz.Objects.ObjectInstantiation&lt;br /&gt;
     --- Squiz.WhiteSpace.ControlStructureSpacing&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The value of the T_FN_ARROW token has changed from &quot;T_FN_ARROW&quot; to &quot;PHPCS_T_FN_ARROW&quot; to avoid package conflicts&lt;br /&gt;
  -- This will have no impact on custom sniffs unless they are specifically looking at the value of the T_FN_ARROW constant&lt;br /&gt;
  -- If sniffs are just using constant to find arrow functions, they will continue to work without modification&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- File::findStartOfStatement() now works correctly when passed the last token in a statement&lt;br /&gt;
- File::getMethodParameters() now supports PHP 8.0 constructor property promotion&lt;br /&gt;
  -- Returned method params now include a &quot;property_visibility&quot; and &quot;visibility_token&quot; index if property promotion is detected&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- File::getMethodProperties() now includes a &quot;return_type_end_token&quot; index in the return value&lt;br /&gt;
  -- This indicates the last token in the return type, which is helpful when checking union types&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Include patterns are now ignored when processing STDIN&lt;br /&gt;
  -- Previously, checks using include patterns were excluded when processing STDIN when no file path was provided via --stdin-path&lt;br /&gt;
  -- Now, all include and exclude rules are ignored when no file path is provided, allowing all checks to run&lt;br /&gt;
  -- If you want include and exclude rules enforced when checking STDIN, use --stdin-path to set the file path&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Spaces are now correctly escaped in the paths to external on Windows&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added Generic.NamingConventions.AbstractClassNamePrefix to enforce that class names are prefixed with &quot;Abstract&quot;&lt;br /&gt;
  -- Thanks to Anna Borzenko for the contribution&lt;br /&gt;
- Added Generic.NamingConventions.InterfaceNameSuffix to enforce that interface names are suffixed with &quot;Interface&quot;&lt;br /&gt;
  -- Thanks to Anna Borzenko for the contribution&lt;br /&gt;
- Added Generic.NamingConventions.TraitNameSuffix to enforce that trait names are suffixed with &quot;Trait&quot;&lt;br /&gt;
  -- Thanks to Anna Borzenko for the contribution&lt;br /&gt;
- Generic.CodeAnalysis.UnusedFunctionParameter can now be configured to ignore variable usage for specific type hints&lt;br /&gt;
    -- This allows you to suppress warnings for some variables that are not required, but leave warnings for others&lt;br /&gt;
    -- Set the ignoreTypeHints array property to a list of type hints to ignore&lt;br /&gt;
    -- Thanks to Petr Bugyík for the patch&lt;br /&gt;
- Generic.Formatting.MultipleStatementAlignment can now align statements at the start of the assignment token&lt;br /&gt;
  -- Previously, the sniff enforced that the values were aligned, even if this meant the assignment tokens were not&lt;br /&gt;
  -- Now, the sniff can enforce that the assignment tokens are aligned, even if this means the values are not&lt;br /&gt;
  -- Set the &quot;alignAtEnd&quot; sniff property to &quot;false&quot; to align the assignment tokens&lt;br /&gt;
  -- The default remains at &quot;true&quot;, so the assigned values are aligned&lt;br /&gt;
  -- Thanks to John P. Bloch for the patch&lt;br /&gt;
- Generic.PHP.LowerCaseType now supports checking of typed properties&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Generic.PHP.LowerCaseType now supports checking of union types&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- PEAR.Commenting.FunctionComment and Squiz.Commenting.FunctionComment sniffs can now ignore private and protected methods&lt;br /&gt;
  -- Set the &quot;minimumVisibility&quot; sniff property to &quot;protected&quot; to ignore private methods&lt;br /&gt;
  -- Set the &quot;minimumVisibility&quot; sniff property to &quot;public&quot; to ignore both private and protected methods&lt;br /&gt;
  -- The default remains at &quot;private&quot;, so all methods are checked&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- PEAR.Commenting.FunctionComment and Squiz.Commenting.FunctionComment sniffs can now ignore return tags in any method&lt;br /&gt;
  -- Previously, only __construct and __destruct were ignored&lt;br /&gt;
  -- Set the list of method names to ignore in the &quot;specialMethods&quot; sniff property&lt;br /&gt;
  -- The default remains at &quot;__construct&quot; and &quot;__destruct&quot; only&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- PSR2.ControlStructures.SwitchDeclaration now supports nested switch statements where every branch terminates&lt;br /&gt;
  -- Previously, if a CASE only contained a SWITCH and no direct terminating statement, a fall-through error was displayed&lt;br /&gt;
  -- Now, the error is surpressed if every branch of the SWITCH has a terminating statement&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- The PSR2.Methods.FunctionCallSignature.SpaceBeforeCloseBracket error message is now reported on the closing parenthesis token&lt;br /&gt;
  -- Previously, the error was being reported on the function keyword, leading to confusing line numbers in the error report&lt;br /&gt;
- Squiz.Commenting.FunctionComment is now able to ignore function comments that are only inheritdoc statements&lt;br /&gt;
  -- Set the skipIfInheritdoc sniff property to &quot;true&quot; to skip checking function comments if the content is only {@inhertidoc}&lt;br /&gt;
  -- The default remains at &quot;false&quot;, so these comments will continue to report errors&lt;br /&gt;
  -- Thanks to Jess Myrbo for the patch&lt;br /&gt;
- Squiz.Commenting.FunctionComment now supports the PHP 8 mixed type&lt;br /&gt;
  -- Thanks to Vadim Borodavko for the patch&lt;br /&gt;
- Squiz.PHP.NonExecutableCode now has improved handling of syntax errors&lt;br /&gt;
  -- Thanks to Thiemo Kreuz for the patch&lt;br /&gt;
- Squiz.WhiteSpace.ScopeKeywordSpacing now checks spacing when using PHP 8.0 constructor property promotion&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed an issue that could occurr when checking files on network drives, such as with WSL2 on Windows 10&lt;br /&gt;
  -- This works around a long-standing PHP bug with is_readable()&lt;br /&gt;
  -- Thanks to Michael S for the patch&lt;br /&gt;
- Fixed a number of false positives in the Squiz.PHP.DisallowMultipleAssignments sniff&lt;br /&gt;
  -- Sniff no longer errors for default value assignments in arrow functions&lt;br /&gt;
  -- Sniff no longer errors for assignments on first line of closure&lt;br /&gt;
  -- Sniff no longer errors for assignments after a goto label&lt;br /&gt;
  -- Thanks to Jaroslav Hanslík for the patch&lt;br /&gt;
- Fixed bug #2913 : Generic.WhiteSpace.ScopeIndent false positive when opening and closing tag on same line inside conditional&lt;br /&gt;
- Fixed bug #2992 : Enabling caching using a ruleset produces invalid cache files when using --sniffs and --exclude CLI args&lt;br /&gt;
- Fixed bug #3003 : Squiz.Formatting.OperatorBracket autofix incorrect when assignment used with null coalescing operator&lt;br /&gt;
- Fixed bug #3145 : Autoloading of sniff fails when multiple classes declared in same file&lt;br /&gt;
- Fixed bug #3157 : PSR2.ControlStructures.SwitchDeclaration.BreakIndent false positive when case keyword is not indented&lt;br /&gt;
- Fixed bug #3163 : Undefined index error with pre-commit hook using husky on PHP 7.4&lt;br /&gt;
  -- Thanks to Ismo Vuorinen for the patch&lt;br /&gt;
- Fixed bug #3165 : Squiz.PHP.DisallowComparisonAssignment false positive when comparison inside closure&lt;br /&gt;
- Fixed bug #3167 : Generic.WhiteSpace.ScopeIndent false positive when using PHP 8.0 constructor property promotion&lt;br /&gt;
- Fixed bug #3170 : Squiz.WhiteSpace.OperatorSpacing false positive when using negation with string concat&lt;br /&gt;
  -- This also fixes the same issue in the PSR12.Operators.OperatorSpacing sniff&lt;br /&gt;
- Fixed bug #3177 : Incorrect tokenization of GOTO statements in mixed PHP/HTML files&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3184 : PSR2.Namespace.NamespaceDeclaration false positive on namespace operator&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3188 : Squiz.WhiteSpace.ScopeKeywordSpacing false positive for static return type&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3192 : findStartOfStatement doesn't work correctly inside switch&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- Fixed bug #3195 : Generic.WhiteSpace.ScopeIndent confusing message when combination of tabs and spaces found&lt;br /&gt;
- Fixed bug #3197 : Squiz.NamingConventions.ValidVariableName does not use correct error code for all member vars&lt;br /&gt;
- Fixed bug #3219 : Generic.Formatting.MultipleStatementAlignment false positive for empty anonymous classes and closures&lt;br /&gt;
- Fixed bug #3258 : Squiz.Formatting.OperatorBracket duplicate error messages for unary minus&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3273 : Squiz.Functions.FunctionDeclarationArgumentSpacing reports line break as 0 spaces between parenthesis&lt;br /&gt;
- Fixed bug #3277 : Nullable static return typehint causes whitespace error&lt;br /&gt;
- Fixed bug #3284 : Unused parameter false positive when using array index in arrow function
 </content:encoded>
 <dc:date>2021-04-08T21:00:34-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.8/">
 <title>PHP_CodeSniffer 3.5.8</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.5.8/</link>
 <content:encoded>- Reverted a change to the way include/exclude patterns are processed for STDIN content&lt;br /&gt;
  -- This change is not backwards compatible and will be re-introduced in version 3.6.0
 </content:encoded>
 <dc:date>2020-10-23T00:36:52-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.7/">
 <title>PHP_CodeSniffer 3.5.7</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.5.7/</link>
 <content:encoded>- The PHP 8.0 T_NULLSAFE_OBJECT_OPERATOR token has been made available for older versions&lt;br /&gt;
  -- Existing sniffs that check for T_OBJECT_OPERATOR have been modified to apply the same rules for the nullsafe object operator&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The new method of PHP 8.0 tokenizing for namespaced names has been revert to thr pre 8.0 method&lt;br /&gt;
  -- This maintains backwards compatible for existing sniffs on PHP 8.0&lt;br /&gt;
  -- This change will be removed in PHPCS 4.0 as the PHP 8.0 tokenizing method will be backported for pre 8.0 versions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added support for changes to the way PHP 8.0 tokenizes hash comments&lt;br /&gt;
  -- The existing PHP 5-7 behaviour has been replicated for version 8, so no sniff changes are required&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The autoloader has been changed to fix sniff class name detection issues that may occur when running on PHP 7.4+&lt;br /&gt;
  -- Thanks to Eloy Lafuente for the patch&lt;br /&gt;
- Running the unit tests now includes warnings in the found and fixable error code counts&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- PSR12.ControlStructures.BooleanOperatorPlacement.FoundMixed error message is now more accurate when using the allowOnly setting&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- PSR12.Functions.NullableTypeDeclaration now supports the PHP8 static return type&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed Squiz.Formatting.OperatorBracket false positive when exiting with a negative number&lt;br /&gt;
- Fixed Squiz.PHP.DisallowComparisonAssignment false positive for methods called on an object&lt;br /&gt;
- Fixed bug #2882 : Generic.Arrays.ArrayIndent can request close brace indent to be less than the statement indent level&lt;br /&gt;
- Fixed bug #2883 : Generic.WhiteSpace.ScopeIndent.Incorrect issue after NOWDOC&lt;br /&gt;
- Fixed bug #2975 : Undefined offset in PSR12.Functions.ReturnTypeDeclaration when checking function return type inside ternary&lt;br /&gt;
- Fixed bug #2988 : Undefined offset in Squiz.Strings.ConcatenationSpacing during live coding&lt;br /&gt;
  -- Thanks to Thiemo Kreuz for the patch&lt;br /&gt;
- Fixed bug #2989 : Incorrect auto-fixing in Generic.ControlStructures.InlineControlStructure during live coding&lt;br /&gt;
  -- Thanks to Thiemo Kreuz for the patch&lt;br /&gt;
- Fixed bug #3007 : Directory exclude pattern improperly excludes directories with names that start the same&lt;br /&gt;
  -- Thanks to Steve Talbot for the patch&lt;br /&gt;
- Fixed bug #3043 : Squiz.WhiteSpace.OperatorSpacing false positive for negation in arrow function&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3049 : Incorrect error with arrow function and parameter passed as reference&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3053 : PSR2 incorrect fix when multiple use statements on same line do not have whitespace between them&lt;br /&gt;
- Fixed bug #3058 : Progress gets unaligned when 100% happens at the end of the available dots&lt;br /&gt;
- Fixed bug #3059 : Squiz.Arrays.ArrayDeclaration false positive when using type casting&lt;br /&gt;
  -- Thanks to Sergei Morozov for the patch&lt;br /&gt;
- Fixed bug #3060 : Squiz.Arrays.ArrayDeclaration false positive for static functions&lt;br /&gt;
  -- Thanks to Sergei Morozov for the patch&lt;br /&gt;
- Fixed bug #3065 : Should not fix Squiz.Arrays.ArrayDeclaration.SpaceBeforeComma if comment between element and comma&lt;br /&gt;
  -- Thanks to Sergei Morozov for the patch&lt;br /&gt;
- Fixed bug #3066 : No support for namespace operator used in type declarations&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3075 : PSR12.ControlStructures.BooleanOperatorPlacement false positive when operator is the only content on line&lt;br /&gt;
- Fixed bug #3099 : Squiz.WhiteSpace.OperatorSpacing false positive when exiting with negative number&lt;br /&gt;
  -- Thanks to Sergei Morozov for the patch&lt;br /&gt;
- Fixed bug #3102 : PSR12.Squiz.OperatorSpacing false positive for default values of arrow functions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #3124 : PSR-12 not reporting error for empty lines with only whitespace&lt;br /&gt;
- Fixed bug #3135 : Ignore annotations are broken on PHP 8.0&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch
 </content:encoded>
 <dc:date>2020-10-22T18:59:23-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.6/">
 <title>PHP_CodeSniffer 3.5.6</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.5.6/</link>
 <content:encoded>- Added support for PHP 8.0 magic constant dereferencing&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Added support for changes to the way PHP 8.0 tokenizes comments&lt;br /&gt;
  -- The existing PHP 5-7 behaviour has been replicated for version 8, so no sniff changes are required&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- File::getMethodProperties() now detects the PHP 8.0 static return type&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The PHP 8.0 static return type is now supported for arrow functions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- The cache is no longer used if the list of loaded PHP extensions changes&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Generic.NamingConventions.CamelCapsFunctionName no longer reports __serialize and __unserialize as invalid names&lt;br /&gt;
  -- Thanks to Filip Š for the patch&lt;br /&gt;
- PEAR.NamingConventions.ValidFunctionName no longer reports __serialize and __unserialize as invalid names&lt;br /&gt;
  -- Thanks to Filip Š for the patch&lt;br /&gt;
- Squiz.Scope.StaticThisUsage now detects usage of $this inside closures and arrow Functions&lt;br /&gt;
  -- Thanks to Micha? Bundyra for the patch&lt;br /&gt;
- Fixed bug #2877 : PEAR.Functions.FunctionCallSignature false positive for array of functions&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- Fixed bug #2888 : PSR12.Files.FileHeader blank line error with multiple namespaces in one file&lt;br /&gt;
- Fixed bug #2926 : phpcs hangs when using arrow functions that return heredoc&lt;br /&gt;
- Fixed bug #2943 : Redundant semicolon added to a file when fixing PSR2.Files.ClosingTag.NotAllowed&lt;br /&gt;
- Fixed bug #2967 : Markdown generator does not output headings correctly&lt;br /&gt;
  -- Thanks to Petr Bugyík for the patch&lt;br /&gt;
- Fixed bug #2977 : File::isReference() does not detect return by reference for closures&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #2994 : Generic.Formatting.DisallowMultipleStatements false positive for FOR loop with no body&lt;br /&gt;
- Fixed bug #3033 : Error generated during tokenizing of goto statements on PHP 8&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch
 </content:encoded>
 <dc:date>2020-08-10T01:03:43-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>
<item rdf:about="http://pear.php.net/package/PHP_CodeSniffer/download/3.5.5/">
 <title>PHP_CodeSniffer 3.5.5</title>
 <link>http://pear.php.net/package/PHP_CodeSniffer/download/3.5.5/</link>
 <content:encoded>- The T_FN backfill now works more reliably so T_FN tokens only ever represent real arrow functions&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed an issue where including sniffs using paths containing multiple dots would silently fail&lt;br /&gt;
- Generic.CodeAnalysis.EmptyPHPStatement now detects empty statements at the start of control structures&lt;br /&gt;
- Error wording in PEAR.Functions.FunctionCallSignature now always uses &quot;parenthesis&quot; instead of sometimes using &quot;bracket&quot;&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- Fixed bug #2787 : Squiz.PHP.DisallowMultipleAssignments not ignoring typed property declarations&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #2810 : PHPCBF fails to fix file with empty statement at start on control structure&lt;br /&gt;
- Fixed bug #2812 : Squiz.Arrays.ArrayDeclaration not detecting some arrays with multiple arguments on the same line&lt;br /&gt;
  -- Thanks to Jakub Chábek for the patch&lt;br /&gt;
- Fixed bug #2826 : Generic.WhiteSpace.ArbitraryParenthesesSpacing doesn't detect issues for statements directly after a control structure&lt;br /&gt;
  -- Thanks to Vincent Langlet for the patch&lt;br /&gt;
- Fixed bug #2848 : PSR12.Files.FileHeader false positive for file with mixed PHP and HTML and no file header&lt;br /&gt;
- Fixed bug #2849 : Generic.WhiteSpace.ScopeIndent false positive with arrow function inside array&lt;br /&gt;
- Fixed bug #2850 : Generic.PHP.LowerCaseKeyword complains __HALT_COMPILER is uppercase&lt;br /&gt;
- Fixed bug #2853 : Undefined variable error when using Info report&lt;br /&gt;
  -- Thanks to Juliette Reinders Folmer for the patch&lt;br /&gt;
- Fixed bug #2865 : Double arrow tokenized as T_STRING when placed after function named &quot;fn&quot;&lt;br /&gt;
- Fixed bug #2867 : Incorrect scope matching when arrow function used inside IF condition&lt;br /&gt;
- Fixed bug #2868 : phpcs:ignore annotation doesnt work inside a docblock&lt;br /&gt;
- Fixed bug #2878 : PSR12.Files.FileHeader conflicts with Generic.Files.LineEndings&lt;br /&gt;
- Fixed bug #2895 : PSR2.Methods.FunctionCallSignature.MultipleArguments false positive with arrow function argument
 </content:encoded>
 <dc:date>2020-04-16T21:24:32-05:00</dc:date>
 <dc:publisher>squiz</dc:publisher>
</item>

</rdf:RDF>