@@ -14,8 +14,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
14
14
15
15
<active>yes</active>
16
16
</lead>
17
- <date>2019-04-11 </date>
18
- <time>09:34 :00</time>
17
+ <date>2019-09-27 </date>
18
+ <time>08:24 :00</time>
19
19
<version>
20
20
<release>3.5.0</release>
21
21
<api>3.5.0</api>
@@ -26,6 +26,8 @@ http://pear.php.net/dtd/package-2.0.xsd">
26
26
</stability>
27
27
<license uri="https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt">BSD 3-Clause License</license>
28
28
<notes>
29
+ - The included PSR12 standard is now complete and ready to use
30
+ -- Check your code using PSR-12 by running PHPCS with --standard=PSR12
29
31
- Added support for PHP 7.4 typed properties
30
32
-- The nullable operator is now tokenized as T_NULLABLE inside property types, as it is elsewhere
31
33
-- To get the type of a member var, use the File::getMemberProperties() method, which now contains a "type" array index
@@ -2115,6 +2117,186 @@ http://pear.php.net/dtd/package-2.0.xsd">
2115
2117
</filelist>
2116
2118
</phprelease>
2117
2119
<changelog>
2120
+ <release>
2121
+ <version>
2122
+ <release>3.5.0</release>
2123
+ <api>3.5.0</api>
2124
+ </version>
2125
+ <stability>
2126
+ <release>stable</release>
2127
+ <api>stable</api>
2128
+ </stability>
2129
+ <date>2019-09-27</date>
2130
+ <license uri="https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt">BSD License</license>
2131
+ <notes>
2132
+ - The included PSR12 standard is now complete and ready to use
2133
+ -- Check your code using PSR-12 by running PHPCS with --standard=PSR12
2134
+ - Added support for PHP 7.4 typed properties
2135
+ -- The nullable operator is now tokenized as T_NULLABLE inside property types, as it is elsewhere
2136
+ -- To get the type of a member var, use the File::getMemberProperties() method, which now contains a "type" array index
2137
+ --- This contains the type of the member var, or a blank string if not specified
2138
+ --- If the type is nullable, the return type will contain the leading ?
2139
+ --- If a type is specified, the position of the first token in the type will be set in a "type_token" array index
2140
+ --- If a type is specified, the position of the last token in the type will be set in a "type_end_token" array index
2141
+ --- If the type is nullable, a "nullable_type" array index will also be set to TRUE
2142
+ --- If the type contains namespace information, it will be cleaned of whitespace and comments in the return value
2143
+ - The PSR1 standard now correctly bans alternate PHP tags
2144
+ -- Previously, it only banned short open tags and not the pre-7.0 alternate tags
2145
+ - Added support for only checking files that have been locally staged in a git repo
2146
+ -- Use --filter=gitstaged to check these files
2147
+ -- You still need to give PHPCS a list of files or directories in which to apply the filter
2148
+ -- Thanks to Juliette Reinders Folmer for the contribution
2149
+ - JSON reports now end with a newline character
2150
+ - The phpcs.xsd schema now validates phpcs-only and phpcbf-only attributes correctly
2151
+ -- Thanks to Juliette Reinders Folmer for the patch
2152
+ - The tokenizer now correctly identifies inline control structures in more cases
2153
+ - All helper methods inside the File class now throw RuntimeException instead of TokenizerException
2154
+ -- Some tokenizer methods were also throwing RuntimeExpection but now correctly throw TokenizerException
2155
+ -- Thanks to Juliette Reinders Folmer for the patch
2156
+ - The File::getMethodParameters() method now returns more information, and supports closure USE groups
2157
+ -- If a type hint is specified, the position of the last token in the hint will be set in a "type_hint_end_token" array index
2158
+ -- If a default is specified, the position of the first token in the default value will be set in a "default_token" array index
2159
+ -- If a default is specified, the position of the equals sign will be set in a "default_equal_token" array index
2160
+ -- If the param is not the last, the position of the comma will be set in a "comma_token" array index
2161
+ -- If the param is passed by reference, the position of the reference operator will be set in a "reference_token" array index
2162
+ -- If the param is variable length, the position of the variadic operator will be set in a "variadic_token" array index
2163
+ - The T_LIST token and it's opening and closing parentheses now contain references to each other in the tokens array
2164
+ -- Uses the same parenthesis_opener/closer/owner indexes as other tokens
2165
+ -- Thanks to Juliette Reinders Folmer for the patch
2166
+ - The T_ANON_CLASS token and it's opening and closing parentheses now contain references to each other in the tokens array
2167
+ -- Uses the same parenthesis_opener/closer/owner indexes as other tokens
2168
+ -- Only applicable if the anon class is passing arguments to the constructor
2169
+ -- Thanks to Juliette Reinders Folmer for the patch
2170
+ - The PHP 7.4 T_BAD_CHARACTER token has been made available for older versions
2171
+ -- Allows you to safely look for this token, but it will not appear unless checking with PHP 7.4+
2172
+ - Metrics are now available for Squiz.WhiteSpace.FunctionSpacing
2173
+ -- Use the "info" report to see blank lines before/after functions
2174
+ -- Thanks to Juliette Reinders Folmer for the patch
2175
+ - Metrics are now available for Squiz.WhiteSpace.MemberVarSpacing
2176
+ -- Use the "info" report to see blank lines before member vars
2177
+ -- Thanks to Juliette Reinders Folmer for the patch
2178
+ - Added Generic.ControlStructures.DisallowYodaConditions sniff
2179
+ -- Ban the use of Yoda conditions
2180
+ -- Thanks to Mponos George for the contribution
2181
+ - Added Generic.PHP.RequireStrictTypes sniff
2182
+ -- Enforce the use of a strict types declaration in PHP files
2183
+ - Added Generic.WhiteSpace.SpreadOperatorSpacingAfter sniff
2184
+ -- Checks whitespace between the spread operator and the variable/function call it applies to
2185
+ -- Thanks to Juliette Reinders Folmer for the contribution
2186
+ - Added PSR12.Classes.AnonClassDeclaration sniff
2187
+ -- Enforces the formatting of anonymous classes
2188
+ - Added PSR12.Classes.ClosingBrace sniff
2189
+ -- Enforces that closing braces of classes/interfaces/traits/functions are not followed by a comment or statement
2190
+ - Added PSR12.ControlStructures.BooleanOperatorPlacement sniff
2191
+ -- Enforces that boolean operators between conditions are consistently at the start or end of the line
2192
+ - Added PSR12.ControlStructures.ControlStructureSpacing sniff
2193
+ -- Enforces that spacing and indents are correct inside control structure parenthesis
2194
+ - Added PSR12.Files.DeclareStatement sniff
2195
+ -- Enforces the formatting of declare statements within a file
2196
+ - Added PSR12.Files.FileHeader sniff
2197
+ -- Enforces the order and formatting of file header blocks
2198
+ - Added PSR12.Files.ImportStatement sniff
2199
+ -- Enforces the formatting of import statements within a file
2200
+ - Added PSR12.Files.OpenTag sniff
2201
+ -- Enforces that the open tag is on a line by itself when used at the start of a php-only file
2202
+ - Added PSR12.Functions.ReturnTypeDeclaration sniff
2203
+ -- Enforces the formatting of return type declarations in functions and closures
2204
+ - Added PSR12.Properties.ConstantVisibility sniff
2205
+ -- Enforces that constants must have their visibility defined
2206
+ -- Uses a warning instead of an error due to this conditionally requiring the project to support PHP 7.1+
2207
+ - Added PSR12.Traits.UseDeclaration sniff
2208
+ -- Enforces the formatting of trait import statements within a class
2209
+ - Generic.Files.LineLength ignoreComments property now ignores comments at the end of a line
2210
+ -- Previously, this property was incorrectly causing the sniff to ignore any line that ended with a comment
2211
+ -- Now, the trailing comment is not included in the line length, but the rest of the line is still checked
2212
+ - Generic.Files.LineLength now only ignores unwrappable comments when the comment is on a line by itself
2213
+ -- Previously, a short unwrappable comment at the end of the line would have the sniff ignore the entire line
2214
+ - Generic.Functions.FunctionCallArgumentSpacing no longer checks spacing around assignment operators inside function calls
2215
+ -- Use the Squiz.WhiteSpace.OperatorSpacing sniff to enforce spacing around assignment operators
2216
+ --- Note that this sniff checks spacing around all assignment operators, not just inside function calls
2217
+ -- The Generic.Functions.FunctionCallArgumentSpacing.NoSpaceBeforeEquals error has been removed
2218
+ --- use Squiz.WhiteSpace.OperatorSpacing.NoSpaceBefore instead
2219
+ -- The Generic.Functions.FunctionCallArgumentSpacing.NoSpaceAfterEquals error has been removed
2220
+ --- use Squiz.WhiteSpace.OperatorSpacing.NoSpaceAfter instead
2221
+ -- This also changes the PEAR/PSR2/PSR12 standards so they no longer check assignment operators inside function calls
2222
+ --- They were previously checking these operators when they should not have
2223
+ -- Thanks to Juliette Reinders Folmer for the patch
2224
+ - Generic.WhiteSpace.ScopeIndent no longer performs exact indents checking for chained method calls
2225
+ -- Other sniffs can be used to enforce chained method call indent rules
2226
+ -- Thanks to Pieter Frenssen for the patch
2227
+ - PEAR.WhiteSpace.ObjectOperatorIndent now supports multi-level chained statements
2228
+ -- When enabled, chained calls must be indented 1 level more or less than the previous line
2229
+ -- Set the new "multilevel" setting to TRUE in a ruleset.xml file to enable this behaviour
2230
+ -- Thanks to Marcos Passos for the patch
2231
+ - PSR2.ControlStructures.ControlStructureSpacing now allows whitespace after the opening parenthesis if followed by a comment
2232
+ -- Thanks to Michał Bundyra for the patch
2233
+ - PSR2.Classes.PropertyDeclaration now enforces a single space after a property type keyword
2234
+ -- The PSR2 standard itself excludes this new check as it is not defined in the written standard
2235
+ -- Using the PSR12 standard will enforce this check
2236
+ - Squiz.Commenting.BlockComment no longer requires blank line before comment if it's the first content after the PHP open tag
2237
+ -- Thanks to Juliette Reinders Folmer for the patch
2238
+ - Squiz.Functions.FunctionDeclarationArgumentSpacing now has more accurate error messages
2239
+ -- This includes renaming the SpaceAfterDefault error code to SpaceAfterEquals, which reflects the real error
2240
+ - Squiz.Functions.FunctionDeclarationArgumentSpacing now checks for no space after a reference operator
2241
+ -- If you don't want this new behaviour, exclude the SpacingAfterReference error message in a ruleset.xml file
2242
+ - Squiz.Functions.FunctionDeclarationArgumentSpacing now checks for no space after a variadic operator
2243
+ -- If you don't want this new behaviour, exclude the SpacingAfterVariadic error message in a ruleset.xml file
2244
+ - Squiz.Functions.MultiLineFunctionDeclaration now has improved fixing for the FirstParamSpacing and UseFirstParamSpacing errors
2245
+ - Squiz.Operators.IncrementDecrementUsage now suggests pre-increment of variables instead of post-increment
2246
+ -- This change does not enforce pre-increment over post-increment; only the suggestion has changed
2247
+ -- Thanks to Juliette Reinders Folmer for the patch
2248
+ - Squiz.PHP.DisallowMultipleAssignments now has a second error code for when assignments are found inside control structure conditions
2249
+ -- The new error code is Squiz.PHP.DisallowMultipleAssignments.FoundInControlStructure
2250
+ -- All other multiple assignment cases use the existing error code Squiz.PHP.DisallowMultipleAssignments.Found
2251
+ -- Thanks to Juliette Reinders Folmer for the patch
2252
+ - Squiz.WhiteSpace.FunctionSpacing now applies beforeFirst and afterLast spacing rules to nested functions
2253
+ -- Previously, these rules only applied to the first and last function in a class, interface, or trait
2254
+ -- These rules now apply to functions nested in any statement block, including other functions and conditions
2255
+ - Squiz.WhiteSpace.OperatorSpacing now has improved handling of parse errors
2256
+ -- Thanks to Juliette Reinders Folmer for the patch
2257
+ - Squiz.WhiteSpace.OperatorSpacing now checks spacing around the instanceof operator
2258
+ -- Thanks to Jakub Chábek for the patch
2259
+ - Squiz.WhiteSpace.OperatorSpacing can now enforce a single space before assignment operators
2260
+ -- Previously, the sniff this spacing as multiple assignment operators are sometimes aligned
2261
+ -- Now, you can set the ignoreSpacingBeforeAssignments sniff property to FALSE to enable checking
2262
+ -- Default remains TRUE, so spacing before assignments is not checked by default
2263
+ -- Thanks to Jakub Chábek for the patch
2264
+ - Fixed bug #2391 : Sniff-specific ignore rules inside rulesets are filtering out too many files
2265
+ -- Thanks to Juliette Reinders Folmer and Willington Vega for the patch
2266
+ - Fixed bug #2478 : FunctionCommentThrowTag.WrongNumber when exception is thrown once but built conditionally
2267
+ - Fixed bug #2479 : Generic.WhiteSpace.ScopeIndent error when using array destructing with exact indent checking
2268
+ - Fixed bug #2498 : Squiz.Arrays.ArrayDeclaration.MultiLineNotAllowed autofix breaks heredoc
2269
+ - Fixed bug #2502 : Generic.WhiteSpace.ScopeIndent false positives with nested switch indentation and case fall-through
2270
+ - Fixed bug #2504 : Generic.WhiteSpace.ScopeIndent false positives with nested arrays and nowdoc string
2271
+ - Fixed bug #2511 : PSR2 standard not checking if closing paren of single-line function declaration is on new line
2272
+ - Fixed bug #2512 : Squiz.PHP.NonExecutableCode does not support alternate SWITCH control structure
2273
+ -- Thanks to Juliette Reinders Folmer for the patch
2274
+ - Fixed bug #2522 : Text generator throws error when code sample line is too long
2275
+ -- Thanks to Juliette Reinders Folmer for the patch
2276
+ - Fixed bug #2526 : XML report format has bad syntax on Windows
2277
+ -- Thanks to Juliette Reinders Folmer for the patch
2278
+ - Fixed bug #2529 : Generic.Formatting.MultipleStatementAlignment wrong error for assign in string concat
2279
+ - Fixed bug #2534 : Unresolvable installed_paths can lead to open_basedir errors
2280
+ -- Thanks to Oliver Nowak for the patch
2281
+ - Fixed bug #2541 : Text doc generator does not allow for multi-line rule explanations
2282
+ -- Thanks to Juliette Reinders Folmer for the patch
2283
+ - Fixed bug #2549 : Searching for a phpcs.xml file can throw warnings due to open_basedir restrictions
2284
+ -- Thanks to Matthew Peveler for the patch
2285
+ - Fixed bug #2558 : PHP 7.4 throwing offset syntax with curly braces is deprecated message
2286
+ -- Thanks to Matthew Peveler for the patch
2287
+ - Fixed bug #2561 : PHP 7.4 compatibility fix / implode argument order
2288
+ -- Thanks to Juliette Reinders Folmer for the patch
2289
+ - Fixed bug #2562 : Inline WHILE triggers SpaceBeforeSemicolon incorrectly
2290
+ -- Thanks to Juliette Reinders Folmer for the patch
2291
+ - Fixed bug #2565 : Generic.ControlStructures.InlineControlStructure confused by mixed short/long tags
2292
+ -- Thanks to Juliette Reinders Folmer for the patch
2293
+ - Fixed bug #2566 : Author tag email validation doesn't support all TLDs
2294
+ -- Thanks to Juliette Reinders Folmer for the patch
2295
+ - Fixed bug #2575 : Custom error messages don't have data replaced when cache is enabled
2296
+ - Fixed bug #2601 : Squiz.WhiteSpace.FunctionSpacing incorrect fix when spacing is 0
2297
+ - Fixed bug #2608 : PSR2 throws errors for use statements when multiple namespaces are defined in a file
2298
+ </notes>
2299
+ </release>
2118
2300
<release>
2119
2301
<version>
2120
2302
<release>3.4.2</release>
0 commit comments