[ANNOUNCEMENT] PHP_CodeSniffer-2.4.0 (stable) Released.

[email protected] ("PEAR Announce") Mon, 23 Nov 2015 21:37:32 +0000 (GMT)
Newsgroups php.pear.general
Message-ID <[email protected]>
The new PEAR package PHP_CodeSniffer-2.4.0 (stable) has been released at http://pear.php.net/.

Release notes
-------------
- 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

Package Info
------------
PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.

Related Links
-------------
Package home: http://pear.php.net/package/PHP_CodeSniffer
   Changelog: http://pear.php.net/package/PHP_CodeSniffer/download/2.4.0
    Download: http://download.pear.php.net/package/PHP_CodeSniffer-2.4.0.tgz

Authors
-------
Greg Sherwood (lead)