Release Notes - 3.2

3.2.0-alpha2

Resolved Issues

Customer Ticket Id Details
46597 Objects created for one-line quoted PHP sections

Other Updates

Details
Removed FileNotFoundError for file Current.App
Reports from PHP_CodeSniffer and PHPMD are now kept in a LISA sub-directory named "third_party_reports". The detailed results of these tools no longer appear in CAST logs.
Fixed PHP_CodeSniffer "Fatal error: Allowed memory size of 536870912 bytes exhausted"
Fixed the warning "KeyError '.' " after analysing a string containing a quote.

3.2.0-alpha1

Resolved Issues

Customer Ticket Id Details
43895 Changes implemented to upgrade to PHP 8.2.13, PHP_CodeSniffer 3.9.0 and PHPMD 2.14.1
37220 Fixes missing violations when two analyses are run in parallel.
41397 Fixes a false positive violation of the rule "Avoid using PHP short tags" (1007192).

Rules

Rule Id New Rule Details
1007212 FALSE Fixed false positives and false negatives for rule "Avoid having variables without naming conventions (PHP)"
1007026 FALSE Fixed false positives and false negatives for rule "Use identical type operator rather than "equal" operator (PHP)"
1007088 FALSE Fixed false positives and false negatives for rule "Avoid having variable with too short name (PHP)". Removed the possibility to parameterize the rule.
1007022 FALSE Fixed false positives and false negatives for rule "Avoid artifacts using "for" loops which can be simplified to a "while" loop (PHP)"
1007024 FALSE Fixed false positives and false negatives for rule "Avoid incrementer jumbling in loops (PHP)"
1007030 FALSE Fixed false positives and false negatives for rule "Avoid using empty statement (PHP)"
1007056 FALSE Fixed false positives and false negatives for rule "Avoid unnecessary final modifiers inside final Classes (PHP)"
1007058 FALSE Fixed false positives and false negatives for rule "Avoid artifacts with unused parameters (PHP)"
1007070 FALSE Fixed false positives and false negatives for rule "Avoid method and functions without comments denoting scope end (PHP)"
1007080 FALSE Fixed false positives and false negatives for rule "Avoid Class name not matching parent file name (PHP)"
1007086 FALSE Fixed false positives and false negatives for rule "Use lowercase for control structures (PHP)"
1007096 FALSE Fixed false positives and false negatives for rule "Avoid "elseif" statements (PHP)"
1007114 FALSE Fixed false positives and false negatives for rule "Avoid unnecessary string concatenations (PHP)"
1007122 FALSE Fixed false positives and false negatives for rule "Avoid empty catch blocks (PHP)"
1007124 FALSE Fixed false positives and false negatives for rule "Avoid artifacts throwing exceptions without @Throws tag in doc comments (PHP)"
1007146 FALSE Fixed false positives and false negatives for rule "Avoid unconditional "if" and "else if\elseif" statements (PHP)"
1007148 FALSE Fixed false positives and false negatives for rule "Avoid methods and constructor overridden only with parent artifact call (PHP)"
1007150 FALSE Fixed false positives and false negatives for rule "Avoid artifacts with optional parameters before required parameters (PHP)"
1007206 FALSE Fixed false positives and false negatives for rule "Avoid using @error suppression (PHP)"
1007212 FALSE Fixed false positives and false negatives for rule "Fixed false positives and false negatives for rule"
1007228 FALSE Fixed false positives and false negatives for rule "Avoid control structures without proper spacing before and after open\close braces - PSR2 (PHP)"
1007232 FALSE Fixed false positives and false negatives for rule "Avoid artifacts with variables passed by reference when calling a function (PHP)"
1007234 FALSE Fixed false positives and false negatives for rule "Avoid having inline control statements (PHP)"
1007236 FALSE Fixed false positives and false negatives for rule "Avoid having Class Methods or Constructor without scope modifiers - Symfony STD (PHP)"
1007254 FALSE Fixed false positives and false negatives for rule "Avoid files that declare both symbols and execute logic with side effects (PHP)"
1007050 FALSE Fixed false positives and false negatives for rule "Avoid method invocation in loop termination expression (PHP)"
1007180 FALSE Fixed false positives and false negatives for rule "Use file inclusion based on API suitability (PHP)"
1007190 FALSE Fixed false positives and false negatives for rule "Avoid using relative path for including files (PHP)"
1007244 FALSE Fixed false positives and false negatives for rule "Avoid cross-site scripting - Improper Neutralization of script-related HTML tags in a web page (PHP)""
1007246 FALSE Fixed false positives and false negatives for rule "Avoid Remote File Inclusion - Improper Control of Filename for Include/Require Statement in PHP Program (PHP)"
1007250 FALSE Fixed false positives and false negatives for rule "Avoid preg_replace with /e option (PHP)"
1007252 FALSE Fixed false positives and false negatives for rule "Avoid filesystem function calls without sanitizing user input (PHP)"
1007238 FALSE Fixed false positives and false negatives for rule "Avoid having Class Methods or Constructor without scope modifiers - Symfony STD (PHP)"
1007238 FALSE Fixed false positives and false negatives for rule "Avoid artifacts having object instantiation without parenthesis - Symfony STD (PHP)"
1007036 FALSE Fixed false positives and false negatives for rule "Avoid classes having excessive number of derived classes (PHP)". Removed the possibility to parameterize the rule.
1007038 FALSE Fixed false positives and false negatives for rule "Avoid classes having excessive number of dependencies (PHP)". Removed the possibility to parameterize the rule.
1007046 FALSE Fixed false positives and false negatives for rule "Avoid Classes with High Depth of Inheritance Tree (PHP)". Removed the possibility to parameterize the rule.
1007090 FALSE Fixed false positives and false negatives for rule "Avoid having variable with too long name (PHP)". Removed the possibility to parameterize the rule.
1007126 FALSE Fixed false positives and false negatives for rule "Avoid classes with excessive lines of code (PHP)". Removed the possibility to parameterize the rule.
1007128 FALSE Fixed false positives and false negatives for rule "Avoid artifacts with excessive number of parameters (PHP)". Removed the possibility to parameterize the rule.
1007130 FALSE Fixed false positives and false negatives for rule "Avoid Artifacts with excessive lines of code (PHP)". Removed the possibility to parameterize the rule.
1007132 FALSE Fixed false positives and false negatives for rule "Avoid classes with excessive number of fields (PHP)". Removed the possibility to parameterize the rule.
1007134 FALSE Fixed false positives and false negatives for rule "Avoid classes with excessive number of methods (PHP)". Removed the possibility to parameterize the rule.
1007136 FALSE Fixed false positives and false negatives for rule "Avoid classes having with excessive number of public methods and fields (PHP)". Removed the possibility to parameterize the rule.
1007138 FALSE Fixed false positives and false negatives for rule "Avoid unused local variables (PHP)"
1007140 FALSE Fixed false positives and false negatives for rule "Avoid unused private fields (PHP)"
1007142 FALSE Fixed false positives and false negatives for rule "Avoid unused private methods (PHP)"
1007144 FALSE Fixed false positives and false negatives for rule "Avoid classes with excessive number of weighted methods (PHP)". Removed the possibility to parameterize the rule.
1007042 FALSE Removed the possibility to parameterize the rule "Avoid Classes implementing excessive number of Interfaces (PHP)"
1007168 FALSE Deprecated rule "Avoid using function or method return value that do not have return (PHP)"
1007170 FALSE Deprecated rule "Avoid function return value ignored (PHP)"
1007262 FALSE Deprecated rule "Avoid file name or path controlled by raw user input (PHP)"

New Support

Summary Details
Update of the list of file extensions considered by the PHP Analyzer Files with extension *.php6 are no longer analyzed. Files with extensions *.php3 and *.ini are now analyzed. New object "Configuration settings" for each *.ini file.