Skip to content

Releases: PHPCSStandards/PHPCSDevCS

1.2.0 - 2025-11-01

01 Nov 00:05
Immutable release. Only release title and notes can be modified.
74a5149

Choose a tag to compare

Added

  • New dependency: PHPCSExtra.
  • The following sniffs have been added to the ruleset:
    • Generic.CodeAnalysis.RequireExplicitBooleanOperatorPrecedence
    • Generic.Strings.UnnecessaryHeredoc
    • Generic.WhiteSpace.HereNowdocIdentifierSpacing
    • Squiz.Operators.ComparisonOperatorUsage while excluding the Squiz.Operators.ComparisonOperatorUsage.ImplicitTrue error code.
    • Modernize.FunctionCalls.Dirname (FileConstant error code only)
    • NormalizedArrays.Arrays.ArrayBraceSpacing
    • NormalizedArrays.Arrays.CommaAfterLast
    • Universal.Arrays.DuplicateArrayKey
    • Universal.Arrays.MixedArrayKeyTypes
    • Universal.Arrays.MixedKeyedUnkeyedArray
    • Universal.Classes.ModifierKeywordOrder
    • Universal.Classes.RequireAnonClassParentheses
    • Universal.Classes.RequireFinalClass
    • Universal.CodeAnalysis.ConstructorDestructorReturn
    • Universal.CodeAnalysis.ForeachUniqueAssignment
    • Universal.CodeAnalysis.NoDoubleNegative
    • Universal.CodeAnalysis.NoEchoSprintf
    • Universal.CodeAnalysis.StaticInFinalClass
    • Universal.Constants.LowercaseClassResolutionKeyword
    • Universal.Constants.ModifierKeywordOrder
    • Universal.Constants.UppercaseMagicConstants
    • Universal.ControlStructures.DisallowAlternativeSyntax
    • Universal.ControlStructures.DisallowLonelyIf
    • Universal.Files.SeparateFunctionsFromOO
    • Universal.FunctionDeclarations.NoLongClosures
    • Universal.FunctionDeclarations.RequireFinalMethodsInTraits
    • Universal.Namespaces.DisallowCurlyBraceSyntax
    • Universal.Namespaces.OneDeclarationPerFile
    • Universal.NamingConventions.NoReservedKeywordParameterNames
    • Universal.OOStructures.AlphabeticExtendsImplements
    • Universal.Operators.ConcatPosition
    • Universal.Operators.DisallowLogicalAndOr
    • Universal.Operators.DisallowShortTernary
    • Universal.Operators.DisallowStandalonePostIncrementDecrement
    • Universal.Operators.TypeSeparatorSpacing
    • Universal.PHP.LowercasePHPTag
    • Universal.PHP.NoFQNTrueFalseNull
    • Universal.PHP.OneStatementInShortEchoTag
    • Universal.UseStatements.DisallowMixedGroupUse
    • Universal.UseStatements.DisallowUseConst
    • Universal.UseStatements.DisallowUseFunction
    • Universal.UseStatements.KeywordSpacing
    • Universal.UseStatements.LowercaseFunctionConst
    • Universal.UseStatements.NoLeadingBackslash
    • Universal.UseStatements.NoUselessAliases
    • Universal.WhiteSpace.AnonClassKeywordSpacing
    • Universal.WhiteSpace.CommaSpacing
    • Universal.WhiteSpace.PrecisionAlignment

Note: some of these additions may lead to duplicate messages for certain issues. If you come across this, please report the duplication.

Changed

  • Updated the version constraints for PHP_CodeSniffer to ^3.13.3 || ^4.0.0 (was ^3.6.2).
  • Updated the version constraints for PHPCompatibility to ^10.0.0@dev to benefit from hugely improved issue detection.
    Includes excluding a number of additional error codes from the PHPCompatibility.Constants.NewConstants sniff to allow for polyfilled PHP tokens.
  • The PSR12.ControlStructures.BooleanOperatorPlacement will now enforce that boolean operators between two conditions on different lines will always be at the start of the second line.
  • The PPSR12.Files.FileHeader.SpacingAfterTagBlock error code (PHPCS 4.0+) has been excluded to allow for file docblocks to directly follow a PHP open tag at the top of a file.
  • The PEAR.Commenting.FileComment.DuplicateSinceTag error code has been excluded to allow for @since tags used as a changelog in file docblocks.
  • Various housekeeping, including a contribution from @fredden.

1.1.6 - 2023-01-05

05 Jan 14:24
aedb280

Choose a tag to compare

Changed

  • Composer: The version requirements for the Composer PHPCS plugin have been widened to allow for version 1.0.0.
    Please ensure you run composer update phpcsstandards/phpcsdevcs --with-dependencies to benefit from this.

1.1.5 - 2022-10-14

14 Oct 19:30
9ec12c5

Choose a tag to compare

Changed

  • Composer: The package will now identify itself as a static analysis tool. Thanks @GaryJones!
  • Minor housekeeping.

1.1.4 - 2022-04-21

21 Apr 05:44
1.1.4
fb72452

Choose a tag to compare

Changed

  • A few PHP 8.1 token constant error codes for the PHPCompatibility.Constants.NewConstants sniff have been excluded as the constants have been backfilled by PHPCS.
  • README: Updated the installation instructions for compatibility with Composer 2.2.
  • Various other housekeeping and minor documentation updates.

1.1.3 - 2021-12-23

23 Dec 00:26
e411b6e

Choose a tag to compare

Changed

  • Updated the version constraints for PHP_CodeSniffer to ^3.6.2.
  • CI is now running on GitHub Actions.

Fixed

  • To prevent conflicting expectations between a newly introduced PSR12 sniff and this ruleset as it was, the new PSR12.Classes.OpeningBraceSpace sniff will be ignored.

1.1.2 - 2020-12-01

01 Dec 19:45
2e36072

Choose a tag to compare

Changed

  • A few more token constant error codes for the PHPCompatibility.Constants.NewConstants sniff are excluded as the constants have been backfilled by PHPCS.

1.1.1 - 2020-09-03

03 Sep 12:02
c1850e7

Choose a tag to compare

Changed

  • A few more token constant error codes for the PHPCompatibility.Constants.NewConstants and PHPCompatibility.Constants.RemovedConstants sniffs are excluded as the constants are, or soon will be, backfilled by PHPCS.
  • Updated the version constraints for the PHPCompatibility standard to allow for installing version 10.0 (currently in dev).

1.1.0 - 2020-09-03

03 Sep 08:33
3a57672

Choose a tag to compare

Added

  • Short array syntax is now required by default via the Generic.Arrays.DisallowLongArraySyntax sniff.

Changed

  • The Squiz.PHP.NonExecutableCode.ReturnNotRequired code is excluded to allow for a return statement in an otherwise empty function (typical use: overloadable methods in an abstract class).
  • The PHPCompatibility.Constants.NewConstants.t_fnFound code is excluded as the constant is backfilled by PHPCS since PHPCS 3.5.3.
  • Updated the version constraints for the Composer PHPCS plugin. The minimum supported version is now 0.4.1, while the maximum is ^0.7 (latest release).
  • Updated the inline ruleset documentation.

1.0.0 - 2020-02-12

12 Feb 16:10

Choose a tag to compare

Initial release