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
full
report (the default report) now has improved word wrapping for multi-line messages and sniff codes- Thanks to Juliette Reinders Folmer for the patch
- The
summary
report now sorts files based on their directory location instead of just a basic string sort- Thanks to Juliette Reinders Folmer for the patch
- The
source
report now orders error codes by name when they have the same number of errors- Thanks to Juliette Reinders Folmer for the patch
- The
junit
report no longer generates validation errors with the Jenkins xUnit plugin- Thanks to Nikolay Geo for the patch
Generic.Commenting.DocComment
no longer generates theSpacingBeforeTags
error if tags are the first content in the docblock- The sniff will still generate a
MissingShort
error if there is no short comment - This allows the
MissingShort
error to be suppressed in a ruleset to make short descriptions optional
- The sniff will still generate a
Generic.Functions.FunctionCallArgumentSpacing
now 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.Syntax
will now usePHP_BINARY
instead 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_path
config var will still override this value as normal - Thanks to Willem Stuursma-Ruwen for the patch
PSR2.Namespaces.UseDeclaration
now 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.ArrayDeclaration
no 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
KeyNotAligned
error message being incorrectly reported in these cases
Squiz.Arrays.ArrayDeclaration
no 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.ClassDeclaration
no longer enforces spacing rules when a class is followed by a function- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacing
sniff
- Fixes a conflict between this sniff and the
- The
Squiz.Classes.ValidClassName.NotCamelCaps
message now references PascalCase instead of CamelCase- The
CamelCase class name
metric 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.InlineComment
no longer enforces spacing rules when an inline comment is followed by a docblock- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacing
sniff
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.OperatorSpacing
no 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.PostStatementComment
sniff - 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.FunctionSpacing
no longer checks spacing of functions at the top of an embedded PHP block- Fixes a conflict between this sniff and the
Squiz.PHP.EmbeddedPHP
sniff - Thanks to Juliette Reinders Folmer for the patch
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.MemberVarSpacing
no longer checks spacing before member vars that come directly after methods- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.FunctionSpacing
sniff
- Fixes a conflict between this sniff and the
Squiz.WhiteSpace.SuperfluousWhitespace
now 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