Skip to content

2.1.0

Compare
Choose a tag to compare
@gsherwood gsherwood released this 18 Dec 02:51
· 4452 commits to master since this release
  • Time and memory output is now shown if progress information is also shown (request #335)
  • A tilde can now be used to reference a user's home directory in a path to a standard (request #353)
  • Added PHP_CodeSniffer_File::findStartOfStatement() to find the first non-whitespace token in a statement
    • Possible alternative for code using PHP_CodeSniffer_File::findPrevious() with the local flag set
  • Added PHP_CodeSniffer_File::findEndOfStatement() to find the last non-whitespace token in a statement
    • Possible alternative for code using PHP_CodeSniffer_File::findNext() with the local flag set
  • Generic opening function brace sniff now ensure the opening brace is the last content on the line
    • Affects OpeningFunctionBraceBsdAllmanSniff and OpeningFunctionBraceKernighanRitchieSniff
    • Also enforced in PEAR FunctionDeclarationSniff and Squiz MultiLineFunctionDeclarationSniff
  • Generic DisallowTabIndentSniff now replaces tabs everywhere it finds them, except in strings and here/now docs
  • Generic EmptyStatementSniff error codes now contain the type of empty statement detected (request #314)
    • All messages generated by this sniff are now errors (empty CATCH was previously a warning)
    • Message code Generic.CodeAnalysis.EmptyStatement.NotAllowed has been removed
    • Message code Generic.CodeAnalysis.EmptyStatement.NotAllowedWarning has been removed
    • New message codes have the format Generic.CodeAnalysis.EmptyStatement.Detected[TYPE]
    • Example code is Generic.CodeAnalysis.EmptyStatement.DetectedCATCH
    • You can now use a custom ruleset to change messages to warnings and to exclude them
  • PEAR and Squiz FunctionCommentSniffs no longer ban @return tags for constructors and destructors
    • Removed message PEAR.Commenting.FunctionComment.ReturnNotRequired
    • Removed message Squiz.Commenting.FunctionComment.ReturnNotRequired
    • Change initiated by request #324 and request #369
  • Squiz EmptyStatementSniff has been removed
    • Squiz standard now includes Generic EmptyStatementSniff and turns off the empty CATCH error
  • Squiz ControlSignatureSniff fixes now retain comments between the closing parenthesis and open brace
  • Squiz SuperfluousWhitespaceSniff now checks for extra blank lines inside closures
    • Thanks to Sertan Danis for the patch
  • Squiz ArrayDeclarationSniff now skips function calls while checking multi-line arrays
  • Fixed bug #337 : False positive with anonymous functions in Generic_Sniffs_WhiteSpace_ScopeIndentSniff
  • Fixed bug #339 : reformatting brace location can result in broken code
  • Fixed bug #342 : Nested ternary operators not tokenized correctly
  • Fixed bug #345 : Javascript regex not tokenized when inside array
  • Fixed bug #346 : PHP path can't be determined in some cases in "phpcs.bat" (on Windows XP)
  • Fixed bug #358 : False positives for Generic_Sniffs_WhiteSpace_ScopeIndentSniff
  • Fixed bug #361 : Sniff-specific exclude patterns don't work for Windows
  • Fixed bug #364 : Don't interpret "use function" as declaration
  • Fixed bug #366 : phpcbf with PSR2 errors on control structure alternative syntax
  • Fixed bug #367 : Nested Anonymous Functions Causing False Negative
  • Fixed bug #371 : Shorthand binary cast causes tokenizer errors
    • New token T_BINARY_CAST added for the b"string" cast format (the 'b' is the T_BINARY_CAST token)
  • Fixed bug #372 : phpcbf parse problem, wrong brace placement for inline IF
  • Fixed bug #373 : Double quote usage fix removing too many double quotes
  • Fixed bug #20196 : 1.5.2 breaks scope_closer position