Skip to content

Releases: webimpress/coding-standard

coding-standard 1.1.6

14 Oct 17:37
1.1.6
86096c3
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #121 fixes false-positive on importing class constant with global constant names - PHP\ImportInternalConstant.

  • #122 fixes false-positive on unused use statement for constant used with bitwise operators - Namespaces\UnusedUseStatement.

coding-standard 1.1.5

06 Apr 18:47
1.1.5
f201b55
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #93 fixes importing FQCN when namespace is in use in PHP\DisallowFqn.

coding-standard 1.1.4

20 Feb 20:49
1.1.4
3418edb
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #90 fixes false-positive in Formatting\RedundantParentheses sniff when using nested ternary with instanceof condition.

coding-standard 1.1.3

09 Feb 20:33
1.1.3
ab4f93a
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • #87 bumps squizlabs/php_codesniffer dependency to version ^3.5.4 which contains fix for correct detecting indices in arrays.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #86 fixes false-positive in PHP\DisallowFqn for FQN in PHPDocs.

coding-standard 1.1.2

25 Jan 12:25
1.1.2
c35c71d
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #74 fixes false-positive in Namespaces\UnusedUseStatement for multiple trait usages.

  • #75 allows null value for properties with nullable type declaration (PHP 7.4+).

  • #76 fixes recognising annotations in property PHPDocs: Commenting\TagWithType sniff.

  • #78 fixes false-positive for mixed type in PHPDoc return tag: Functions\ReturnType sniff.

coding-standard 1.1.1

27 Dec 15:39
1.1.1
5ccef68
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #70 fixes Namespaces\AlphabeticallySortedUses sniff to not remove additional content between use statements.

coding-standard 1.1.0

08 Dec 19:24
1.1.0
182b702
Compare
Choose a tag to compare

Added

  • #35 adds PHP\StaticCallback sniff which detects closures and check if these can be marked as static

  • #36 adds PHP\DisallowCurlyOffsetAccessBrace sniff which detects array and string offset access using curly brackets.
    This functionality is deprecated as of PHP 7.4 so sniff can be useful when providing compatibility with PHP 7.4.

  • #38 adds ControlStructures\RedundantCase sniff which detects redundant cases within a switch control structure

  • #41 adds ControlStructures\DefaultAsLast sniff which requires default case to be last case in a switch control structure

  • #39 adds Arrays\DuplicateKey sniff which detects duplicated keys in arrays

  • #42 adds requiring camelCase names for class members and variables used in strings - extended sniff NamingConventions\ValidVariableName.
    Disallowed are two capital letters next to each other (strict mode).

  • #60 extends Classes\TraitUsage sniff to check if traits declarations are on the top of the class.
    Traits must be specified before constants, properties and methods.

  • #45 adds Classes\ConstBeforeProperty sniff to require constant definitions in classes and interfaces before properties and methods

  • #46 adds Classes\PropertyBeforeMethod sniff to require property definitions in classes before methods

  • #47 adds Commenting\TagName sniff which checks if PHPDoc tags have additional characters at the end of the name.
    By default : and ; are disallowed and removed by fixer, but the list of disallowed characters can be configured by option disallowedEndChars

  • #48 adds configuration option nullPosition to Commenting\TagWithType sniff. Default value is first to keep backward compatibility.
    The other allowed value is last so then null values in type list is at the last position.

  • #49 adds Commenting\DisallowEmptyComment sniff to detect empty comments and multiple empty lines in comments

  • #50 adds check for open and close of doc block comment in Commenting\DocComment.
    Only short version is allowed: /** and */. Additional asterisk are disallowed.

  • #51 adds check for blank lines and comments before arrow in arrays in Array\Format sniff.
    Arrow must be after the index value, can be in new line, but any additional lines or comments are disallowed.

  • #54 adds Namespaces\UniqueImport sniff to detect if class/function/constant is imported only once.
    Sniff checks also if the name is used only once. The same name can be used for class/function/constant, and constant names are case sensitive.

  • #37 adds additional sniffs to WebimpressCodingStandard ruleset:

    • Generic.ControlStructures.DisallowYodaConditions,
    • Squiz.Operators.IncrementDecrementUsage,
    • Squiz.PHP.DisallowMultipleAssignments (with Squiz.PHP.DisallowMultipleAssignments.FoundInControlStructure exclusion).
  • #59 extends Commenting\DocComment sniff to check if every line of DocBlock comment starts with *

  • #53 adds support for use groups in Namespaces\UnusedUseStatement sniff

  • #58 adds property type declaration (PHP 7.4+). The following sniffs are affected:

    • Commenting\PropertyAnnotation - ensure that type is skipped when detecting the comment before property,
    • Commenting\VariableComment - add multiple checks to ensure type declaration is consistent with type provided in PHPDoc (@var tag). In case type declaration is provided and PHPDoc does not contain any additional information, @var tag can be omitted.
  • #62 adds support for Iterator type in Functions\Param and Functions\ReturnType sniffs

  • #62 adds check for return type of function with yield. Generators may only declare a return type of Generator, Iterator, Traversable or iterable.

  • #63 adds ability to align array arrows when in new line. To use it, there is an example configuration:

    // configuration of double arrow alignment
    WebimpressCodingStandard.Arrays.DoubleArrow.maxPadding = 50
    WebimpressCodingStandard.Arrays.DoubleArrow.ignoreNewLineArrayArrow = false
    
    // ignore indent or double arrow when at the beginning of the line
    WebimpressCodingStandard.WhiteSpace.ScopeIndent.ignoreNewLineArrayArrow = true
    
    // ignore spacing before double arrow (so we can have more than one space)
    WebimpressCodingStandard.WhiteSpace.OperatorAndKeywordSpacing.ignoreSpacingBeforeAssignments = true
    
  • #67 adds support for PHP 7.4 arrow functions.

Changed

  • #42 changes NamingConventions\ValidVariableName to require variable names be in strict camelCase. It means two capital letters next to each other are not allowed.

  • #44 changes PSR1.Methods.CamelCapsMethodName with Generic.NamingConventions.CamelCapsFunctionName so from now method names must be in strict camelCas. It means two capital letters next to each other are not allowed.

  • #37 updates the squizlabs/php_codesniffer dependency to ^3.5.2

  • #61 replaces Squiz.WhiteSpace.OperatorSpacing with WebimpressCodingStandard.WhiteSpace.OperatorAndKeywordSpacing sniff.
    This sniff still extends Squiz.WhiteSpace.OperatorSpacing but check additional tokens: as and insteadof and Logical Operators.
    It also disallows mor then one empty line before operators, and for as, insteadof, and instanceof requires single space before and after.

Deprecated

  • Nothing.

Removed

  • #42 excludes PSR2.Classes.PropertyDeclaration.Underscore check, as it is now covered by NamingConventions\ValidVariableName sniff

Fixed

  • #51 fixes multiple cases when empty line before comment in array was not allowed

  • #53 reworks implementation of Namespaces\UnusedUseStatement sniff which solves numerous issues with detecting if class/function/constant is used within the file

coding-standard 1.0.6

13 Nov 22:31
1.0.6
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #43 fixes WhiteSpace\ScopeIndent sniff - case with object calls within ternary operator

  • #40 fixes PHP\RedundantSemicolon sniff to remove redundant semicolon after colon and goto label

  • #55 fixes Namespaces\AlphabeticallySortedUses sniff to work with files without namespaces

  • #56 fixes Annotations sniffs for specific cases:

    • Commenting\ClassAnnotation sniff - final classes.
    • Commenting\MethodAnnotation sniff - final methods.
    • Commenting\PropertyAnnotation sniff - properties defined with var.
  • #57 fixes parsing content of @param and @var tags with multiple spaces before variable name. Affects the following sniffs:

    • Commenting\TagWithType,
    • Functions\Param.

coding-standard 1.0.5

06 Oct 20:50
1.0.5
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #34 fixes removing unused imports in files without namespaces

coding-standard 1.0.4

11 Jul 07:17
1.0.4
Compare
Choose a tag to compare

Added

  • Nothing.

Changed

  • Nothing.

Deprecated

  • Nothing.

Removed

  • Nothing.

Fixed

  • #30 Functions\Param - fixes duplicated error and fixer conflict

  • #31 WhiteSpace\BraceBlankLine - fixes fixer conflict with empty structures

  • #33 fixes sorting issue of imported class and traits usage. Fixes the following sniffs:

    • Classes\AlphabeticallySortedTraits
    • Namespaces\AlphabeticallySortedUses