phpmd

PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD. PHPMD can be seen as an user friendly frontend application for the raw metrics stream measured by PHP Depend.

BSD-3-CLAUSE License

Downloads
82.7M
Stars
2.3K
Committers
152

Bot releases are hidden (Show)

phpmd - PHPMD 2.15.0 Latest Release

Published by kylekatarnls 10 months ago

Added

Fixed

Documented

Contributors to this release

  • @kylekatarnls
  • @ravage84
  • @tvbeek

Full Changelog: https://github.com/phpmd/phpmd/compare/2.14.1...2.15.0

phpmd - PHPMD 2.14.1

Published by kylekatarnls about 1 year ago

Fixed

  • Require pdepend/pdepend 2.15.1
    • Fixed #1039 Re-allow empty compilation unit.
  • Fixed #1037: Cache result also if there are no composer or baseline files.

Contributors to this release

  • @frankdekker
  • @kylekatarnls

Full Changelog: https://github.com/phpmd/phpmd/compare/2.14.0...2.14.1

phpmd - PHPMD 2.14.0

Published by tvbeek about 1 year ago

Added

  • Added #997: Add a follow on mastodon link to the footer on the website.
  • Added #999: Add dev as keyword to the composer.json file.
  • Added #1014: Add phar signing.
  • Added #1011: Add support for cache results.
  • Added internal #1017: Run PHPStan in CI.
  • Added #1015: Add debug information to cache results.
  • Added #1022: Add --verbose and --color options to text renderer.
  • Added #1025: Support file globbing, and STDIN.
  • Added #1023: Add trace of the error when debug verbosity.
  • Added #1029: Added the option to the command line to set the number of extra lines in code snippets.

Fixed

  • Fixed #924 in #983: Add exceptions and ignorepattern properties to BooleanArgumentFlag rule.
  • Fixed #986: PHP 8.1 deprecation message when rendering html reports.
  • Fixed #996: Global import from an array value.
  • Fixed #1000: Correct url by removing leading slash.
  • Fixed #1021: Fix typos
  • Fixed #467 in #1026: Dedupe violation for CamelCaseVariableName.
  • Fixed #1031: Fix call to undefined getParent() method.
  • Fixed #989 in #990: Documentation about coma-separated syntax for multiple paths.

Changed

  • Changed internal: #987 Decrease BooleanArgumentFlag complexity
  • Changed internal: #972 Update phpunit_coverage.yml
  • Changed documentation #989 in #990: Update documentation about filename/directory in CLI.
  • Changed #1004 #1032: Update PDepend to version 2.15.0.
  • Changed internal: #1012: Update GitHub Actions form v2 to v3.
  • Changed #1005 and #1018: Update authors.
  • Changed #1024: Run PHPCS 3 on GitHub Actions.

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

  • @AJenbo
  • @andrey-tech
  • @DannyvdSluijs
  • @frankdekker
  • @JoshuaBehrens
  • @JustMisha
  • @kylekatarnls
  • @mRoca
  • @pieterocp
  • @ravage84
  • @szepeviktor
  • @tvbeek

New Contributors

Full Changelog: https://github.com/phpmd/phpmd/compare/2.13.0...2.14.0

phpmd - PHPMD 2.13.0

Published by kylekatarnls about 2 years ago

Added

  • Require pdepend/pdepend 2.12
  • Added #943 Static access add ignore pattern for methods
  • Added #958 Add missing ruleset error message on baseline
  • Added #955 Add Gitlab renderer for Gitlab CI

Fixed

  • Fixed #4 Typo on Superglobals rule
  • Fixed #976 Avoid deprecated exceptions
  • Fixed #977 Add missing github & gitlab reportfile options
  • Improved #954 npath complexity documentation with example
  • Improved #946 Highlight readme code examples

Changed

  • #969 Update codecov intergration
  • #970 Remove Travis badge
  • #976 Avoid deprecated exceptions
  • #968 Optimize parseRuleNode steps order

New Contributors

  • @jvipez made their first contribution in #946
  • @modess made their first contribution in #954
  • @metalmini made their first contribution in #957
  • @koenhendriks made their first contribution in #978

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @AJenbo
  • @frankdekker
  • @jlmobbex
  • @jvipez
  • @koenhendriks
  • @kylekatarnls
  • @modess
  • @metalmini
  • @tvbeek
phpmd - PHPMD 2.12.0

Published by tvbeek over 2 years ago

Added

  • Added composer/xdebug-handler 3 support #930
  • Added GitHub action config for PHP 8.1 #918 #942

Fixed

  • Fixed #276 in #833: Disallow capital letter at the beginning in CamelCasePropertyName rule.
  • Fixed typo in exclude-pattern.xml #944

New Contributors

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @emretepedev
  • @franmomu
  • @martzd
  • @kylekatarnls
  • @tvbeek
phpmd - PHPMD 2.11.1

Published by kylekatarnls almost 3 years ago

Fixed

  • Fixed #925 #926 #928: PHP 8.1 deprecation notices

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @villfa
  • @YAhiru
phpmd - PHPMD 2.11.0

Published by kylekatarnls almost 3 years ago

Added

  • Added #815 in #817: Rule name in text output

Fixed

  • Fixed #884 in #905: Avoid unused parameters on PHP 8: Constructor property
  • Fixed #870 in #906: False-positive message "Avoid using undefined variables" on a static variable
  • Fixed #714 in #781: static:: and self:: properties access

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @kylekatarnls
  • @ravage84
  • @ricfio
  • @Sylry
  • @tvbeek
  • @YAhiru
phpmd - PHPMD 2.10.2

Published by tvbeek about 3 years ago

Added

  • Added #898 in #902: Added newline for better ANSI output

Changed

  • Changed #901 in #903: Improve baseline basepath calculation

Fixed

  • Fixed #894: Fixed typo in DuplicatedArrayKey title incl. link
  • Update PHP Depend to the latest version, this fixed different PHP 8 options: #889 #893 #896

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @dmetzler1988
  • @frankdekker
  • @himanshu007-creator
phpmd - PHPMD 2.10.1

Published by MarkVaughn over 3 years ago

Implemented

  • Implemented #885: Allowing 2.0 version of the composer/xdebug-handler

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @pOmelchenko
phpmd - PHPMD 2.10.0

Published by tvbeek over 3 years ago

Added

  • Added #879: Documentation for Junit export with third party
  • Added #836: Provide option to allow reference to a class in the root namespace without an import
  • Added #856: Adds checkstyle compatible renderer, suitable for cs2pr or reviewdog
  • Added #858 in #865: Add SARIF renderer.
  • Added #873 and #876: Added option to baseline existing violations
  • Added #861: Docs for GitHub renderer
  • Added #868 In #869: Option to ignore globally-namespaced classes from MissingImport
  • Added #834 : Add "tool" property to main "pmd" tag in XML report

Changed

  • Changed #786: Add convenience method AbstractNode::findChildrenOfTypeVariable()
  • Changed documentation: #874 #849 #724
  • Changed #514 in #872: Change exit code on processing errors
  • Changed: Internal code improvement #839 #875 #838 #862 #788 #830
  • Changed #848 #864: Use GitHub actions

Fixed

  • Fixed #673 in #782: Ignore dynamic class name from missing imports
  • Fixed #577 in #844: Recognize compact variables with double quotes
  • Fixed #818 in #822: Fix passing-by-reference detection
  • Fixed #826 in #827: Consider foreach exception only for direct children
  • Fixed #851 in #852: Fix multiple underscores in method name when allow-underscore-test is allowed
  • Fixed #846 in #847: Catch DevelopmentCodeFragment with fully qualified functions
  • Fixed #829 in #835: Fatal error while analyzing anonymous class
  • Fixed #816 in #818: Fixed undefined index referring

Deprecated

  • Deprecated: getIgnorePattern and setIgnorePattern on PHPMD\PHPMD see #772

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @a-menshchikov
  • @babanesma
  • @ComiR
  • @danepowell
  • @ffflabs
  • @frankdekker
  • @kamioftea
  • @kdebisschop
  • @kylekatarnls
  • @lukasbestle
  • @martzd
  • @ravage84
  • @SanderSander
  • @tvbeek

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.9.1

Published by kylekatarnls about 4 years ago

Fixed

  • Fixed #714: Improved static member detection
  • Fixed #816: Fixed undefined index referring

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @a-menshchikov
  • @kylekatarnls

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.9.0

Published by tvbeek about 4 years ago

Added

  • Added #496: Add rule for PHP's @ operator
  • Added #737: Allowing custom exclusion for StaticAccess by extending the class
  • Added #749: Add allow-underscore option for CamelCaseParameterName & CamelCaseVariableName
  • Added #747: Long variable subtract suffix
  • Added #763 via #765: Added rules LongClassName and ShortClassName

Changed

  • Changed: #529 : Replaced HTML renderer with new "pretty HTML" renderer
  • Changed: #806 : Changed #44 Change private methods to protected in rules. Make rules extendable
  • Changed: Internal code improvement #750 #752 #756 #757 #758 #759 #768 #773 #775 #785 #787 #791 #792

Fixed

  • Fixed #743: Output for version
  • Fixed #754: Fixed #720 undefined variable in foreach when passed by reference
  • Fixed #764: Fixed #718 Handle anonymous class in "undefined variable" rule
  • Fixed #770: Fixed #769 Handle deconstruction assignation for undefined variable
  • Fixed #781: Fixed #714 static:: and self:: properties access
  • Fixed #784: Fixed #672 Handle passing-by-reference in native PHP functions
  • Fixed #793: Fixed #580 Raise UnusedFormalParameter instead UnusedLocalVariable for unused closure parameter
  • Fixed #794: Fixed #540 Detect unused variable declared multiple times
  • Fixed #805: Fixed #802 Prevent an error with nested arrays
  • Fixed #807: Fixed #790 Fix for short variables rule inside foreach statements
  • Fixed #809: Fixed #808 Ignore rule path for supression annotation
  • Updated different parts of the documentation. #717 #736 #748 #811

Deprecated

  • Deprecated all the PHPMD exceptions that aren't part of the PHPMD\Exceptions namespace. See #775

A potential BC change:

With the clean-up in #768 we have a potential BC break in an unsupported part that we want to give attention for.

The class aliases PHP_PMD_* used for PHPMD 1.x backwards PEAR compatibility were removed. If you happen to still depend on these, please adjust your code like so:

From PHP_PMD_[Component]_[Class]' to PHPMD\[Component]\[Class],
as in PHP_PMD_Renderer_HTMLRenderer' to PHPMD\Renderer\HTMLRenderer.
See #768

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @ale7714
  • @artem-prozorov
  • @eeree
  • @frankdekker
  • @kylekatarnls
  • @MarkVaughn
  • @ondrejfuhrer
  • @ravage84
  • @smuuf
  • @sveneld
  • @tuc0w
  • @tvbeek
  • @tuc0w

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.8.2

Published by tvbeek over 4 years ago

Fixed

  • Fixed #732: Added __serialize and __unserialize to list of ignored methods for camelCase rule.

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @kylekatarnls

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.8.1

Published by kylekatarnls almost 5 years ago

Fixed

  • Fixed PHP 7.4 unit tests compatibility
  • Improved documentation
  • Automated website generation and PHAR publishing

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @tvbeek
  • @kylekatarnls
  • @BackEndTea

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.8.0

Published by kylekatarnls almost 5 years ago

Added

  • Required at least pdepend/pdepend 2.6:
    • Added PHP 7.1 to 7.3 syntax support
    • Added Symfony 5 support
  • #571: Added ignore-namespaces property to DevelopmentCodeFragment rule
  • #595: Added a renderer which writes an ansi report string

Fixed

  • Improved performances by disabling XDebug if in use
  • #657 Fix IfStatementAssignment violation message
  • #667: Be sure the phar file use the latest possible versions of dependencies (like pdepend)
  • #661: Fix IfStatementAssignment thrown incorrectly
  • #676: Handle @SuppressWarnings on each method for CountInLoop
  • #659: Update RuleSetFactory to be PHP 7.4 compatible
  • Update different parts of the documentation. #595 #645 #646 #648 #652 #665 #679 #691

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @raa0121
  • @AJenbo
  • @DannyvdSluijs
  • @eeree
  • @Jir4
  • @poplary
  • @SailorMax
  • @tariq86
  • @PtrTn
  • @wirwolf
  • @tvbeek
  • @szepeviktor
  • @kylekatarnls
  • @ravage84

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.8.0-beta.2

Published by kylekatarnls almost 5 years ago

Added

  • Required at least pdepend/pdepend 2.6:
    • Added PHP 7.1 to 7.3 syntax support
    • Added Symfony 5 support
  • #571: Added ignore-namespaces property to DevelopmentCodeFragment rule
  • #595: Added a renderer which writes an ansi report string

Fixed

  • Improved performances by disabling XDebug if in use
  • #657 Fix IfStatementAssignment violation message
  • #667: Be sure the phar file use the latest possible versions of dependencies (like pdepend)
  • #661: Fix IfStatementAssignment thrown incorrectly
  • #676: Handle @SuppressWarnings on each method for CountInLoop
  • #659: Update RuleSetFactory to be PHP 7.4 compatible
  • Update different parts of the documentation. #595 #645 #646 #648 #652 #665 #679 #691

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @raa0121
  • @AJenbo
  • @DannyvdSluijs
  • @eeree
  • @Jir4
  • @poplary
  • @SailorMax
  • @tariq86
  • @PtrTn
  • @wirwolf
  • @tvbeek
  • @szepeviktor
  • @kylekatarnls
  • @ravage84

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.8.0-beta.1

Published by kylekatarnls almost 5 years ago

Added

  • #571: Added ignore-namespaces property to DevelopmentCodeFragment rule
  • #595: Added a renderer which writes an ansi report string

Fixed

  • Improved performances by disabling XDebug if in use
  • #657 Fix IfStatementAssignment violation message
  • #667: Be sure the phar file use the latest possible versions of dependencies (like pdepend)
  • #661: Fix IfStatementAssignment thrown incorrectly
  • #676: Handle @SuppressWarnings on each method for CountInLoop
  • #659: Update RuleSetFactory to be PHP 7.4 compatible
  • Update different parts of the documentation. #595 #645 #646 #648 #652 #665 #679 #691

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @raa0121
  • @AJenbo
  • @DannyvdSluijs
  • @eeree
  • @Jir4
  • @poplary
  • @SailorMax
  • @tariq86
  • @PtrTn
  • @wirwolf
  • @tvbeek
  • @szepeviktor
  • @kylekatarnls
  • @ravage84

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.7.0

Published by kylekatarnls about 5 years ago

The new maintainer team of PHPMD is pleased to announce its first minor release PHP Mess Detector version 2.7.0.

This contains all the new features, improvements and fixes from over 250 commits from two and a half years since 2.6.0.
Please, also take note of a backwards incompatible property renaming in the CouplingBetweenObjects rule.

Added

Fixed

  • #482: Renamed minimum property to maximum in CouplingBetweenObjects rule (backwards incompatible)
  • #626: Fixed special characters escaping in violation description for XML output
  • #378: Fixed warning/error when trying to export to a non-existing path
  • #575: Fixed UnusedFormalParameter false positive in string compound variable
  • #480: Fixed "Start tag expected, '<' not found" error
  • #494: Fixed UnusedPrivateField false positive
  • #583: Changed LongNaming rule to apply on private fields too
  • #572: Added support for both @SuppressWarnings and @suppressWarnings annotation cases

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @eeree
  • @DmitryNaum
  • @john-whitley
  • @JulienPalard
  • @ravage84
  • @exploitfate
  • @RyDroid
  • @tominventisbe
  • @dxops
  • @jaymoulin
  • @avmnu-sng
  • @HappyHippyHippo
  • @vt-iwamoto
  • @choult
  • @liviascapin
  • @kylekatarnls
  • @JeroenDeDauw
  • @emirb
  • @tvbeek
  • @OndraM
  • @Marius786
  • @BenjaminPaap
  • @fbertolotti
  • @gbirke
  • @MarkVaughn
  • @rafalwrzeszcz
  • @mindplay-dk
  • @KOLANICH
  • @schinkel
  • @jhoff
  • @EvgenyOrekhov
  • @1ma
  • @duncancumming
  • @edhgoose
  • @mermshaus
  • @manuelpichler
  • @richvigorito

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

phpmd - PHPMD 2.6.1 released

Published by ravage84 over 5 years ago

The new maintainer team of PHPMD is pleased to announce PHP Mess Detector version 2.6.1.
This is a patch release for the 2.6.x release branch.

Changes

You can expect the following changes in this release:.

  • Build the PHAR file on Travis-CI and publish it to GitHub releases #616

Consult the changelog for the full history of noteworthy changes or browse through the list of commits since the last release.

Contributors to this release

We would like to thank all the contributors that helped make this release possible:

  • @jakzal
  • @ravage84

Also, we are very grateful to contributors that opened issues, created pull requests or participated as our community.

Package Rankings
Top 0.12% on Packagist.org