Skip to content

Commit

Permalink
Changelog + minor fix for #2751
Browse files Browse the repository at this point in the history
  • Loading branch information
gsherwood committed Dec 8, 2019
1 parent 08e033e commit a2bde79
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 57 deletions.
58 changes: 4 additions & 54 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,67 +17,17 @@ http://pear.php.net/dtd/package-2.0.xsd">
<date>2019-12-04</date>
<time>15:42:00</time>
<version>
<release>3.5.3</release>
<api>3.5.3</api>
<release>3.5.4</release>
<api>3.5.4</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<license uri="https://github.com/squizlabs/PHP_CodeSniffer/blob/master/licence.txt">BSD 3-Clause License</license>
<notes>
- The PHP 7.4 T_FN token has been made available for older versions
-- T_FN represents the fn string used for arrow functions
-- The double arrow becomes the scope opener, and uses a new T_FN_ARROW token type
-- The token after the statement (normally a semicolon) becomes the scope closer
-- The token is also associated with the opening and closing parenthesis of the statement
-- Any functions named "fn" will cause have a T_FN token for the function name, but have no scope information
-- Thanks to Michał Bundyra for the help with this change
- PHP 7.4 numeric separators are now tokenized in the same way when using older PHP versions
-- Previously, a number like 1_000 would tokenize as T_LNUMBER (1), T_STRING (_000)
-- Now, the number tokenizes as T_LNUMBER (1_000)
-- Sniff developers should consider how numbers with underscores impact their custom sniffs
- The PHPCS file cache now takes file permissions into account
-- The cache is now invalidated for a file when its permissions are changed
- File::getMethodParameters() now supports arrow functions
- File::getMethodProperties() now supports arrow functions
- Added Fixer::changeCodeBlockIndent() to change the indent of a code block while auto-fixing
-- Can be used to either increase or decrease the indent
-- Useful when moving the start position of something like a closure, where you want the content to also move
- Added Generic.Files.ExecutableFile sniff
-- Ensures that files are not executable
-- Thanks to Matthew Peveler for the contribution
- Generic.CodeAnalysis.EmptyPhpStatement now reports unnecessary semicolons after control structure closing braces
-- Thanks to Vincent Langlet for the patch
- Generic.PHP.LowerCaseKeyword now enforces that the "fn" keyword is lowercase
-- Thanks to Michał Bundyra for the patch
- Generic.WhiteSpace.ScopeIndent now supports static arrow functions
- PEAR.Functions.FunctionCallSignature now adjusts the indent of function argument contents during auto-fixing
-- Previously, only the first line of an argument was changed, leading to inconsistent indents
-- This change also applies to PSR2.Methods.FunctionCallSignature
- PSR2.ControlStructures.ControlStructureSpacing now checks whitespace before the closing parenthesis of multi-line control structures
-- Previously, it incorrectly applied the whitespace check for single-line definitions only
- PSR12.Functions.ReturnTypeDeclaration now checks the return type of arrow functions
-- Thanks to Michał Bundyra for the patch
- PSR12.Traits.UseDeclaration now ensures all trait import statements are grouped together
-- Previously, the trait import section of the class ended when the first non-import statement was found
-- Checking now continues throughout the class to ensure all statements are grouped together
-- This also ensures that empty lines are not requested after an import statement that isn't the last one
- Squiz.Functions.LowercaseFunctionKeywords now enforces that the "fn" keyword is lowercase
-- Thanks to Michał Bundyra for the patch
- Fixed bug #2586 : Generic.WhiteSpace.ScopeIndent false positives when indenting open tags at a non tab-stop
- Fixed bug #2638 : Squiz.CSS.DuplicateClassDefinitionSniff sees comments as part of the class name
-- Thanks to Raphael Horber for the patch
- Fixed bug #2640 : Squiz.WhiteSpace.OperatorSpacing false positives for some negation operators
-- Thanks to Jakub Chábek and Juliette Reinders Folmer for the patch
- Fixed bug #2674 : Squiz.Functions.FunctionDeclarationArgumentSpacing prints wrong argument name in error message
- Fixed bug #2676 : PSR12.Files.FileHeader locks up when file ends with multiple inline comments
- Fixed bug #2678 : PSR12.Classes.AnonClassDeclaration incorrectly enforcing that closing brace be on a line by itself
- Fixed bug #2685 : File::getMethodParameters() setting typeHintEndToken for vars with no type hint
-- Thanks to Juliette Reinders Folmer for the patch
- Fixed bug #2694 : AbstractArraySniff produces invalid indices when using ternary operator
-- Thanks to Michał Bundyra for the patch
- Fixed bug #2702 : Generic.WhiteSpace.ScopeIndent false positive when using ternary operator with short arrays
- Fixed bug #2751 : Autoload relative paths first to avoid confusion with files from the global include path
-- Thanks to Klaus Purer for the patch
</notes>
<contents>
<dir name="/">
Expand Down
2 changes: 1 addition & 1 deletion src/Config.php
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class Config
*
* @var string
*/
const VERSION = '3.5.3';
const VERSION = '3.5.4';

/**
* Package stability; either stable, beta or alpha.
Expand Down
4 changes: 2 additions & 2 deletions src/Ruleset.php
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,7 @@ public function processRuleset($rulesetPath, $depth=0)
$ownSniffs = $this->expandSniffDirectory($sniffDir, $depth);
}

// Included custom autoloaders.
// Include custom autoloaders.
foreach ($ruleset->{'autoload'} as $autoload) {
if ($this->shouldProcessElement($autoload) === false) {
continue;
Expand All @@ -360,7 +360,7 @@ public function processRuleset($rulesetPath, $depth=0)
// Try relative autoload paths first.
$relativePath = Util\Common::realPath(dirname($rulesetPath).DIRECTORY_SEPARATOR.$autoloadPath);

if ($relativePath !== false && is_file($$relativePath) === true) {
if ($relativePath !== false && is_file($relativePath) === true) {
$autoloadPath = $relativePath;
} else if (is_file($autoloadPath) === false) {
throw new RuntimeException('The specified autoload file "'.$autoload.'" does not exist');
Expand Down

0 comments on commit a2bde79

Please sign in to comment.