HHVM Support Dropped
Support for HHVM has been dropped due to recent unfixed bugs and HHVM's refocus on Hack only. Thanks to Walt Sorensen and Juliette Reinders Folmer for helping to remove all HHVM exceptions from the core.
Other Changes
- The
fullreport (the default report) now has improved word wrapping for multi-line messages and sniff codes- Thanks to Juliette Reinders Folmer for the patch
- The
summaryreport now sorts files based on their directory location instead of just a basic string sort- Thanks to Juliette Reinders Folmer for the patch
- The
sourcereport now orders error codes by name when they have the same number of errors- Thanks to Juliette Reinders Folmer for the patch
- The
junitreport no longer generates validation errors with the Jenkins xUnit plugin- Thanks to Nikolay Geo for the patch
Generic.Commenting.DocCommentno longer generates theSpacingBeforeTagserror if tags are the first content in the docblock- The sniff will still generate a
MissingShorterror if there is no short comment - This allows the
MissingShorterror to be suppressed in a ruleset to make short descriptions optional
- The sniff will still generate a
Generic.Functions.FunctionCallArgumentSpacingnow properly fixes multi-line function calls with leading commas- Previously, newlines between function arguments would be removed
- Thanks to Juliette Reinders Folmer for the patch
Generic.PHP.Syntaxwill now usePHP_BINARYinstead of trying to discover the executable path- This ensures that the sniff will always syntax check files using the PHP version that PHPCS is running under
- Setting the
php_pathconfig var will still override this value as normal - Thanks to Willem Stuursma-Ruwen for the patch
PSR2.Namespaces.UseDeclarationnow supports commas at the end of group use declarations- Also improves checking and fixing for use statements containing parse errors
- Thanks to Juliette Reinders Folmer for the patch
Squiz.Arrays.ArrayDeclarationno longer removes the array opening brace while fixing- This could occur when the opening brace was on a new line and the first array key directly followed
- This change also stops the
KeyNotAlignederror message being incorrectly reported in these cases
Squiz.Arrays.ArrayDeclarationno longer tries to change multi-line arrays to single line when they contain comments- Fixes a conflict between this sniff and some indentation sniffs
Squiz.Classes.ClassDeclarationno longer enforces spacing rules when a class is followed by a function- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacingsniff
- Fixes a conflict between this sniff and the
- The
Squiz.Classes.ValidClassName.NotCamelCapsmessage now references PascalCase instead of CamelCase- The
CamelCase class namemetric produced by the sniff has been changed toPascalCase class name - This reflects the fact that the class name check is actually a Pascal Case check and not really Camel Case
- Thanks to Tom H Anderson for the patch
- The
Squiz.Commenting.InlineCommentno longer enforces spacing rules when an inline comment is followed by a docblock- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacingsniff
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.OperatorSpacingno longer tries to fix operator spacing if the next content is a comment on a new line- Fixes a conflict between this sniff and the
Squiz.Commenting.PostStatementCommentsniff - Also stops PHPCS annotations from being moved to a different line, potentially changing their meaning
- Thanks to Juliette Reinders Folmer for the patch
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacingno longer checks spacing of functions at the top of an embedded PHP block- Fixes a conflict between this sniff and the
Squiz.PHP.EmbeddedPHPsniff - Thanks to Juliette Reinders Folmer for the patch
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.MemberVarSpacingno longer checks spacing before member vars that come directly after methods- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacingsniff
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.SuperfluousWhitespacenow recognizes unicode whitespace at the start and end of a file- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #2029 : Squiz.Scope.MemberVarScope throws fatal error when a property is found in an interface
- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #2047 : PSR12.Classes.ClassInstantiation false positive when instantiating class from array index
- Fixed bug #2048 : GenericFormatting.MultipleStatementAlignment false positive when assigning values inside an array
- Fixed bug #2053 : PSR12.Classes.ClassInstantiation incorrectly fix when using member vars and some variable formats
- Fixed bug #2065 : Generic.ControlStructures.InlineControlStructure fixing fails when inline control structure contains closure
- Fixed bug #2072 : Squiz.Arrays.ArrayDeclaration throws NoComma error when array value is a shorthand IF statement
- Fixed bug #2082 : File with "defined() or define()" syntax triggers PSR1.Files.SideEffects.FoundWithSymbols
- Fixed bug #2095 : PSR2.Namespaces.NamespaceDeclaration does not handle namespaces defined over multiple lines