Releases
2.4.0
Added support for PHP 7 anonymous classes
Anonymous classes are now tokenized as T_ANON_CLASS and ignored by normal class sniffs
Added support for PHP 7 function return type declarations
Return types are now tokenized as T_RETURN_TYPE
Fixed tokenizing of the XOR operator, which was incorrectly identified as a power operator (bug #765 )
The T_POWER token has been removed and replaced by the T_BITWISE_XOR token
The PHP-supplied T_POW token has been replicated for PHP versions before 5.6
Traits are now tokenized in PHP versions before 5.4 to make testing easier
Improved regular expression detection in JS files
PEAR FunctionCallSignatureSniff now properly detects indents in more mixed HTML/PHP code blocks
Full report now properly indents lines when newlines are found inside error messages
Generating documentation without specifying a standard now uses the default standard instead
Thanks to Ken Guest for the patch
Generic InlineControlStructureSniff now supports braceless do/while loops in JS
Thanks to Pieter Frenssen for the patch
Added more guard code for function declarations with syntax errors
Thanks to Yun Young-jin for the patch
Added more guard code for foreach declarations with syntax errors
Thanks to Johan de Ruijter for the patch
Added more guard code for class declarations with syntax errors
Squiz ArrayDeclarationSniff now has guard code for arrays with syntax errors
Generic InlineControlStructureSniff now correctly fixes ELSEIF statements
Fixed bug #601 : Expected type hint int[]; found array in Squiz FunctionCommentSniff
Thanks to Scato Eggen for the patch
Fixed bug #625 : Consider working around T_HASHBANG in HHVM 3.5.x and 3.6.x
Thanks to Kunal Mehta for the patch
Fixed bug #692 : Comment tokenizer can break when using mbstring function overloading
Fixed bug #694 : Long sniff codes can cause PHP warnings in source report when showing error codes
Fixed bug #698 : PSR2.Methods.FunctionCallSignature.Indent forces exact indent of ternary operator parameters
Fixed bug #704 : ScopeIndent can fail when an opening parenthesis is on a line by itself
Fixed bug #707 : Squiz MethodScopeSniff doesn't handle nested functions
Fixed bug #709 : Squiz.Sniffs.Whitespace.ScopeClosingBraceSniff marking indented endif in mixed inline HTML blocks
Fixed bug #711 : Sniffing from STDIN shows Generic.Files.LowercasedFilename.NotFound error
Fixed bug #714 : Fixes suppression of errors using docblocks
Thanks to Andrzej Karmazyn for the patch
Fixed bug #716 : JSON report is invalid when messages contain newlines or tabs
Thanks to Pieter Frenssen for the patch
Fixed bug #723 : ScopeIndent can fail when multiple array closers are on the same line
Fixed bug #730 : ScopeIndent can fail when a short array opening square bracket is on a line by itself
Fixed bug #732 : PHP Notice if @Package name is made up of all invalid characters
Adds new error code PEAR.Commenting.FileComment.InvalidPackageValue
Fixed bug #748 : Auto fix for Squiz.Commenting.BlockComment.WrongEnd is incorrect
Thanks to J.D. Grimes for the patch
Fixed bug #753 : PSR2 standard shouldn't require space after USE block when next code is a closing tag
Fixed bug #768 : PEAR FunctionCallSignature sniff forbids comments after opening parenthesis of a multiline call
Fixed bug #769 : Incorrect detection of variable reference operator when used with short array syntax
Thanks to Klaus Purer for the patch
Fixed bug #772 : Syntax error when using PHPCBF on alternative style foreach loops
Fixed bug #773 : Syntax error when stripping trailing PHP close tag and previous statement has no semicolon
Fixed bug #778 : PHPCBF creates invalid PHP for inline FOREACH containing multiple control structures
Fixed bug #781 : Incorrect checking for PHP7 return types on multi-line function declartions
Fixed bug #782 : Conditional function declarations cause fixing conflicts in Squiz standard
Squiz.ControlStructures.ControlSignature no longer enforces a single newline after open brace
Squiz.WhiteSpace.ControlStructureSpacing can be used to checl spacing at the start/end of control structures
You can’t perform that action at this time.