Skip to content

Commit 4747675

Browse files
Remove PHPCS packages and patterns related (#2699)
* Release Note: deprecated and unsupported PHPCS packages and patterns related removal
1 parent 1103ebd commit 4747675

3 files changed

Lines changed: 259 additions & 0 deletions

File tree

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,257 @@
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.

docs/release-notes/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ For product updates that are in progress or planned [visit the Codacy public roa
1818

1919
2026
2020

21+
- [PHP_CodeSniffer Upgrade and Legacy Package Deprecations July, 2026](cloud/cloud-2026-07-remove-codesniffer-packages.md)
2122
- [Cloud June 2026](cloud/cloud-2026-06.md)
2223
- [Cloud May 2026](cloud/cloud-2026-05.md)
2324
- [Cloud April 2026](cloud/cloud-2026-04.md)

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -691,6 +691,7 @@ nav:
691691
- release-notes/index.md
692692
- Cloud:
693693
- 2026:
694+
- release-notes/cloud/cloud-2026-07-remove-codesniffer-packages.md
694695
- release-notes/cloud/cloud-2026-06.md
695696
- release-notes/cloud/cloud-2026-05.md
696697
- release-notes/cloud/cloud-2026-04.md

0 commit comments

Comments
 (0)