|
| 1 | +--- |
| 2 | +rss_title: Codacy release notes RSS feed |
| 3 | +rss_href: /feed_rss_created.xml |
| 4 | +--- |
| 5 | + |
| 6 | +# PHP_CodeSniffer Upgrade and Legacy Package Deprecations – July 2026 |
| 7 | + |
| 8 | +We are preparing to upgrade our PHP CodeSniffer tool to the latest version. This update will bring vital performance improvements, better syntax parsing, and support for the latest PHP features. |
| 9 | + |
| 10 | +We know how important your current workflows and rule configurations are. However, to successfully complete this upgrade, we have encountered hard compatibility constraints with several older, unmaintained coding standard packages. To move forward, we must officially remove support for these legacy packages and their associated rules. |
| 11 | + |
| 12 | +## Packages Being Removed |
| 13 | + |
| 14 | +The following packages are incompatible with the latest PHP_CodeSniffer version or are no longer maintained, and will be dropped in this release: |
| 15 | + |
| 16 | +- automattic/vipwpcs |
| 17 | +- magento/magento-coding-standard |
| 18 | +- magento/marketplace-eqp |
| 19 | +- pheromone/phpcs-security-audit |
| 20 | +- wp-coding-standards/wpcs |
| 21 | + |
| 22 | +### What to expect |
| 23 | + |
| 24 | +As a result, pattern IDs from these packages will no longer be evaluated during your code scans, and any existing issues from them will disappear. |
| 25 | + |
| 26 | +Below is the comprehensive list of patterns that are being removed, categorized by their respective frameworks. |
| 27 | + |
| 28 | +#### Magento |
| 29 | + |
| 30 | +- MEQP1_Classes_Mysql4 |
| 31 | +- MEQP1_Classes_ObjectInstantiation |
| 32 | +- MEQP1_Classes_ResourceModel |
| 33 | +- MEQP1_CodeAnalysis_EmptyBlock |
| 34 | +- MEQP1_Exceptions_DirectThrow |
| 35 | +- MEQP1_Exceptions_Namespace |
| 36 | +- MEQP1_Performance_CollectionCount |
| 37 | +- MEQP1_Performance_EmptyCheck |
| 38 | +- MEQP1_Performance_InefficientMethods |
| 39 | +- MEQP1_Performance_Loop |
| 40 | +- MEQP1_PHP_Goto |
| 41 | +- MEQP1_PHP_PrivateClassMember |
| 42 | +- MEQP1_PHP_Syntax |
| 43 | +- MEQP1_PHP_Var |
| 44 | +- MEQP1_SQL_MissedIndexes |
| 45 | +- MEQP1_SQL_RawQuery |
| 46 | +- MEQP1_SQL_SlowQuery |
| 47 | +- Magento2Framework_Header_Copyright |
| 48 | +- Magento2Framework_Header_CopyrightAnotherExtensionsFiles |
| 49 | +- Magento2Framework_Header_CopyrightGraphQL |
| 50 | +- Magento2Framework_Header_License |
| 51 | +- Magento2_Annotation_MethodAnnotationStructure |
| 52 | +- Magento2_Annotation_MethodArguments |
| 53 | +- Magento2_Classes_AbstractApi |
| 54 | +- Magento2_Classes_DiscouragedDependencies |
| 55 | +- Magento2_CodeAnalysis_EmptyBlock |
| 56 | +- Magento2_Commenting_ClassAndInterfacePHPDocFormatting |
| 57 | +- Magento2_Commenting_ClassPropertyPHPDocFormatting |
| 58 | +- Magento2_Commenting_ConstantsPHPDocFormatting |
| 59 | +- Magento2_Exceptions_DirectThrow |
| 60 | +- Magento2_Exceptions_ThrowCatch |
| 61 | +- Magento2_Exceptions_TryProcessSystemResources |
| 62 | +- Magento2_Functions_DiscouragedFunction |
| 63 | +- Magento2_Functions_FunctionsDeprecatedWithoutArgument |
| 64 | +- Magento2_Functions_StaticFunction |
| 65 | +- Magento2_GraphQL_AbstractGraphQL |
| 66 | +- Magento2_GraphQL_ValidArgumentName |
| 67 | +- Magento2_GraphQL_ValidEnumValue |
| 68 | +- Magento2_GraphQL_ValidFieldName |
| 69 | +- Magento2_GraphQL_ValidTopLevelFieldName |
| 70 | +- Magento2_GraphQL_ValidTypeName |
| 71 | +- Magento2_Html_HtmlBinding |
| 72 | +- Magento2_Html_HtmlClosingVoidTags |
| 73 | +- Magento2_Html_HtmlCollapsibleAttribute |
| 74 | +- Magento2_Html_HtmlDirective |
| 75 | +- Magento2_Html_HtmlSelfClosingTags |
| 76 | +- Magento2_Legacy_AbstractBlock |
| 77 | +- Magento2_Legacy_ClassReferencesInConfigurationFiles |
| 78 | +- Magento2_Legacy_DiConfig |
| 79 | +- Magento2_Legacy_EmailTemplate |
| 80 | +- Magento2_Legacy_EscapeMethodsOnBlockClass |
| 81 | +- Magento2_Legacy_InstallUpgrade |
| 82 | +- Magento2_Legacy_Layout |
| 83 | +- Magento2_Legacy_MageEntity |
| 84 | +- Magento2_Legacy_ModuleXML |
| 85 | +- Magento2_Legacy_ObsoleteAcl |
| 86 | +- Magento2_Legacy_ObsoleteConfigNodes |
| 87 | +- Magento2_Legacy_ObsoleteConnection |
| 88 | +- Magento2_Legacy_ObsoleteMenu |
| 89 | +- Magento2_Legacy_ObsoleteSystemConfiguration |
| 90 | +- Magento2_Legacy_PhtmlTemplate |
| 91 | +- Magento2_Legacy_RestrictedCode |
| 92 | +- Magento2_Legacy_TableName |
| 93 | +- Magento2_Legacy_WidgetXML |
| 94 | +- Magento2_Less_AvoidId |
| 95 | +- Magento2_Less_BracesFormatting |
| 96 | +- Magento2_Less_ClassNaming |
| 97 | +- Magento2_Less_ColonSpacing |
| 98 | +- Magento2_Less_ColourDefinition |
| 99 | +- Magento2_Less_CombinatorIndentation |
| 100 | +- Magento2_Less_CommentLevels |
| 101 | +- Magento2_Less_ImportantProperty |
| 102 | +- Magento2_Less_Indentation |
| 103 | +- Magento2_Less_PropertiesLineBreak |
| 104 | +- Magento2_Less_PropertiesSorting |
| 105 | +- Magento2_Less_Quotes |
| 106 | +- Magento2_Less_SelectorDelimiter |
| 107 | +- Magento2_Less_SemicolonSpacing |
| 108 | +- Magento2_Less_TypeSelectorConcatenation |
| 109 | +- Magento2_Less_TypeSelectors |
| 110 | +- Magento2_Less_Variables |
| 111 | +- Magento2_Less_ZeroUnits |
| 112 | +- Magento2_Methods_DeprecatedModelMethod |
| 113 | +- Magento2_Namespaces_ImportsFromTestNamespace |
| 114 | +- Magento2_NamingConvention_InterfaceName |
| 115 | +- Magento2_NamingConvention_ReservedWords |
| 116 | +- Magento2_Performance_ForeachArrayMerge |
| 117 | +- Magento2_PHP_ArrayAutovivification |
| 118 | +- Magento2_PHP_AutogeneratedClassNotInConstructor |
| 119 | +- Magento2_PHP_FinalImplementation |
| 120 | +- Magento2_PHP_Goto |
| 121 | +- Magento2_PHP_LiteralNamespaces |
| 122 | +- Magento2_PHP_ReturnValueCheck |
| 123 | +- Magento2_PHP_ShortEchoSyntax |
| 124 | +- Magento2_PHP_Var |
| 125 | +- Magento2_SQL_RawQuery |
| 126 | +- Magento2_Whitespace_MultipleEmptyLines |
| 127 | + |
| 128 | +#### PHP CS Security |
| 129 | + |
| 130 | +- Security_BadFunctions_Asserts |
| 131 | +- Security_BadFunctions_Backticks |
| 132 | +- Security_BadFunctions_CallbackFunctions |
| 133 | +- Security_BadFunctions_CryptoFunctions |
| 134 | +- Security_BadFunctions_EasyRFI |
| 135 | +- Security_BadFunctions_EasyXSS |
| 136 | +- Security_BadFunctions_ErrorHandling |
| 137 | +- Security_BadFunctions_FilesystemFunctions |
| 138 | +- Security_BadFunctions_FringeFunctions |
| 139 | +- Security_BadFunctions_FunctionHandlingFunctions |
| 140 | +- Security_BadFunctions_Mysqli |
| 141 | +- Security_BadFunctions_NoEvals |
| 142 | +- Security_BadFunctions_Phpinfos |
| 143 | +- Security_BadFunctions_PregReplace |
| 144 | +- Security_BadFunctions_SQLFunctions |
| 145 | +- Security_BadFunctions_SystemExecFunctions |
| 146 | +- Security_CVE_20132110 |
| 147 | +- Security_CVE_20134113 |
| 148 | +- Security_Drupal7_AESModule |
| 149 | +- Security_Drupal7_AdvisoriesContrib |
| 150 | +- Security_Drupal7_AdvisoriesCore |
| 151 | +- Security_Drupal7_Cachei |
| 152 | +- Security_Drupal7_DbQueryAC |
| 153 | +- Security_Drupal7_DynQueries |
| 154 | +- Security_Drupal7_HttpRequest |
| 155 | +- Security_Drupal7_SQLi |
| 156 | +- Security_Drupal7_UserInputWatch |
| 157 | +- Security_Drupal7_XSSFormValue |
| 158 | +- Security_Drupal7_XSSHTMLConstruct |
| 159 | +- Security_Drupal7_XSSPTheme |
| 160 | +- Security_Misc_BadCorsHeader |
| 161 | +- Security_Misc_IncludeMismatch |
| 162 | + |
| 163 | +#### WordPress |
| 164 | + |
| 165 | +- WordPressVIPMinimum_Classes_DeclarationCompatibility |
| 166 | +- WordPressVIPMinimum_Classes_RestrictedExtendClasses |
| 167 | +- WordPressVIPMinimum_Constants_ConstantString |
| 168 | +- WordPressVIPMinimum_Constants_RestrictedConstants |
| 169 | +- WordPressVIPMinimum_Files_IncludingFile |
| 170 | +- WordPressVIPMinimum_Files_IncludingNonPHPFile |
| 171 | +- WordPressVIPMinimum_Functions_CheckReturnValue |
| 172 | +- WordPressVIPMinimum_Functions_DynamicCalls |
| 173 | +- WordPressVIPMinimum_Functions_RestrictedFunctions |
| 174 | +- WordPressVIPMinimum_Functions_StripTags |
| 175 | +- WordPressVIPMinimum_Hooks_AlwaysReturnInFilter |
| 176 | +- WordPressVIPMinimum_Hooks_PreGetPosts |
| 177 | +- WordPressVIPMinimum_Hooks_RestrictedHooks |
| 178 | +- WordPressVIPMinimum_JS_DangerouslySetInnerHTML |
| 179 | +- WordPressVIPMinimum_JS_HTMLExecutingFunctions |
| 180 | +- WordPressVIPMinimum_JS_InnerHTML |
| 181 | +- WordPressVIPMinimum_JS_StringConcat |
| 182 | +- WordPressVIPMinimum_JS_StrippingTags |
| 183 | +- WordPressVIPMinimum_JS_Window |
| 184 | +- WordPressVIPMinimum_Performance_CacheValueOverride |
| 185 | +- WordPressVIPMinimum_Performance_FetchingRemoteData |
| 186 | +- WordPressVIPMinimum_Performance_LowExpiryCacheTime |
| 187 | +- WordPressVIPMinimum_Performance_NoPaging |
| 188 | +- WordPressVIPMinimum_Performance_OrderByRand |
| 189 | +- WordPressVIPMinimum_Performance_RegexpCompare |
| 190 | +- WordPressVIPMinimum_Performance_RemoteRequestTimeout |
| 191 | +- WordPressVIPMinimum_Performance_TaxonomyMetaInOptions |
| 192 | +- WordPressVIPMinimum_Performance_WPQueryParams |
| 193 | +- WordPressVIPMinimum_Security_EscapingVoidReturnFunctions |
| 194 | +- WordPressVIPMinimum_Security_ExitAfterRedirect |
| 195 | +- WordPressVIPMinimum_Security_Mustache |
| 196 | +- WordPressVIPMinimum_Security_PHPFilterFunctions |
| 197 | +- WordPressVIPMinimum_Security_ProperEscapingFunction |
| 198 | +- WordPressVIPMinimum_Security_StaticStrreplace |
| 199 | +- WordPressVIPMinimum_Security_Twig |
| 200 | +- WordPressVIPMinimum_Security_Underscorejs |
| 201 | +- WordPressVIPMinimum_Security_Vuejs |
| 202 | +- WordPressVIPMinimum_UserExperience_AdminBarRemoval |
| 203 | +- WordPressVIPMinimum_Variables_RestrictedVariables |
| 204 | +- WordPressVIPMinimum_Variables_ServerVariables |
| 205 | +- WordPress_Arrays_ArrayDeclarationSpacing |
| 206 | +- WordPress_Arrays_ArrayIndentation |
| 207 | +- WordPress_Arrays_ArrayKeySpacingRestrictions |
| 208 | +- WordPress_Arrays_MultipleStatementAlignment |
| 209 | +- WordPress_CodeAnalysis_AssignmentInTernaryCondition |
| 210 | +- WordPress_CodeAnalysis_EscapedNotTranslated |
| 211 | +- WordPress_DB_DirectDatabaseQuery |
| 212 | +- WordPress_DB_PreparedSQLPlaceholders |
| 213 | +- WordPress_DB_RestrictedClasses |
| 214 | +- WordPress_DB_RestrictedFunctions |
| 215 | +- WordPress_DB_SlowDBQuery |
| 216 | +- WordPress_DateTime_CurrentTimeTimestamp |
| 217 | +- WordPress_DateTime_RestrictedFunctions |
| 218 | +- WordPress_Files_FileName |
| 219 | +- WordPress_NamingConventions_PrefixAllGlobals |
| 220 | +- WordPress_NamingConventions_ValidFunctionName |
| 221 | +- WordPress_NamingConventions_ValidHookName |
| 222 | +- WordPress_NamingConventions_ValidPostTypeSlug |
| 223 | +- WordPress_NamingConventions_ValidVariableName |
| 224 | +- WordPress_PHP_DevelopmentFunctions |
| 225 | +- WordPress_PHP_DiscouragedPHPFunctions |
| 226 | +- WordPress_PHP_DontExtract |
| 227 | +- WordPress_PHP_IniSet |
| 228 | +- WordPress_PHP_NoSilencedErrors |
| 229 | +- WordPress_PHP_POSIXFunctions |
| 230 | +- WordPress_PHP_PregQuoteDelimiter |
| 231 | +- WordPress_PHP_RestrictedPHPFunctions |
| 232 | +- WordPress_PHP_StrictInArray |
| 233 | +- WordPress_PHP_TypeCasts |
| 234 | +- WordPress_PHP_YodaConditions |
| 235 | +- WordPress_WP_AlternativeFunctions |
| 236 | +- WordPress_WP_Capabilities |
| 237 | +- WordPress_WP_CapitalPDangit |
| 238 | +- WordPress_WP_ClassNameCase |
| 239 | +- WordPress_WP_CronInterval |
| 240 | +- WordPress_WP_DeprecatedClasses |
| 241 | +- WordPress_WP_DeprecatedFunctions |
| 242 | +- WordPress_WP_DeprecatedParameterValues |
| 243 | +- WordPress_WP_DeprecatedParameters |
| 244 | +- WordPress_WP_DiscouragedConstants |
| 245 | +- WordPress_WP_DiscouragedFunctions |
| 246 | +- WordPress_WP_EnqueuedResourceParameters |
| 247 | +- WordPress_WP_EnqueuedResources |
| 248 | +- WordPress_WP_GlobalVariablesOverride |
| 249 | +- WordPress_WP_I18n |
| 250 | +- WordPress_WP_PostsPerPage |
| 251 | +- WordPress_WhiteSpace_CastStructureSpacing |
| 252 | +- WordPress_WhiteSpace_ControlStructureSpacing |
| 253 | +- WordPress_WhiteSpace_ObjectOperatorSpacing |
| 254 | +- WordPress_WhiteSpace_OperatorSpacing |
| 255 | + |
| 256 | + |
| 257 | +If you have any questions regarding this update or need assistance migrating to modern equivalents for these checks, please reach out to our support team. |
0 commit comments