<?xml version="1.0" encoding="UTF-8"?>
<document
        xmlns="http://maven.apache.org/changes/1.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">

    <properties>
        <title>PHPMD</title>
        <author email="github@phpmd.org">PHPMD maintainer team</author>
    </properties>

    <body>
        <release version="2.7.0"
                 date="2019/07/30"
                 description="This is the first minor release of the new PHPMD maintainer team.
                 It contains all the new features, improvements and fixes from two and a half years since 2.6.0.
                 Please take note of a backwards incompatible property renaming in the CouplingBetweenObjects rule.">
            <action date="716ecf5" dev="eeree" type="add" system="github" issue="472">
                Added rule for assignment within conditional (IfStatementAssignment)
            </action>
            <action date="0e30d82" dev="eeree" type="add" system="github" issue="490">
                Added rule for count in loop (CountInLoop)
            </action>
            <action date="a295850" dev="eeree" due-to="rafalwrzeszcz" type="add" system="github" issue="484">
                Added rule for duplicated array key (DuplicatedArrayKey)
            </action>
            <action date="4bc19bd" dev="eeree" type="add" system="github" issue="476">
                Added rule for empty catch block (EmptyCatchBlock)
            </action>
            <action date="3a82eab" dev="DmitryNaum" due-to="mindplay-dk" type="add" system="github" issue="636">
                Added rule for missing import (MissingImport)
            </action>
            <action date="c7009d5" dev="john-whitley" type="add" system="github" issue="443">
                Added support for compound variables in UnusedLocalVariable rule
            </action>
            <action date="55ca654" dev="JulienPalard" type="add" system="github" issue="329">
                Added support to whitelist variables in the UnusedLocalVariable rule
            </action>
            <action date="91c4ca8" dev="ravage84" due-to="KOLANICH" type="add" system="github" issue="478">
                Implemented renderer auto-discovery
            </action>
            <action date="7552089" dev="exploitfate" type="add" system="github" issue="405">
                Added JSON output format
            </action>
            <action date="71b52be" dev="RyDroid" type="add" system="github" issue="525">
                Added new options to CLI (min-priority, minimum-priority, report-file, input-file, not-strict)
            </action>
            <action date="45de3be" dev="tominventisbe" type="add" system="github" issue="579">
                Added support for setting the maximum execution priority through CLI (max-priority, maximum-priority, maximumpriority)
            </action>
            <action date="63047d9" dev="eeree" due-to="schinkel" type="add" system="github" issue="489">
                Added new predefined variables to AbstractLocalVariable rule
            </action>
            <action date="609c6bb" dev="dxops" type="update" system="github" issue="382">
                Changed TooManyMethods rule to ignore isser-, hasser-, wither-methods
            </action>
            <action date="43d4ed0" dev="ravage84" type="update" system="github" issue="625">
                Fixed DuplicatedArrayKey rule to check only arrays with keys
            </action>
            <action date="9210116" dev="ravage84" due-to="jhoff" type="fix" system="github" issue="482">
                Renamed minimum property to maximum in CouplingBetweenObjects rule (backwards incompatible)
            </action>
            <action date="5305f5b" dev="ravage84" type="fix" system="github" issue="626">
                Fixed special characters escaping in violation description for XML output
            </action>
            <action date="67bd7c6" dev="jaymoulin" type="fix" system="github" issue="378">
                Fixed warning/error when trying to export to a non-existing path
            </action>
            <action date="8790cbb" dev="avmnu-sng" due-to="EvgenyOrekhov" type="fix" system="github" issue="575">
                Fixed UnusedFormalParameter false positive in string compound variable
            </action>
            <action date="3e2e058" dev="eeree" type="fix" system="github" issue="480">
                Fixed "Start tag expected, '&lt;' not found" error
            </action>
            <action date="99f3ba9" dev="eeree" due-to="1ma" type="fix" system="github" issue="494">
                Fixed UnusedPrivateField false positive
            </action>
            <action date="42bf8ad" dev="HappyHippyHippo" due-to="duncancumming" type="fix" system="github" issue="583">
                Changed LongNaming rule to apply on private fields too
            </action>
            <action date="cc06bfd" dev="vt-iwamoto" type="fix" system="github" issue="598">
                Fixed a bug in the renderer auto-discovery
            </action>
            <action date="bb2cfe9" dev="choult" type="fix" system="github" issue="572">
                Added support for both @SuppressWarnings and @suppressWarnings annotation cases
            </action>
            <action date="0a69edf" dev="liviascapin" type="update" system="github" issue="528">
                Fixed Travis-CI build by temporarily removing PHP 5.3
            </action>
            <action date="4a8a567" dev="kylekatarnls" type="update" system="github" issue="643">
                Fixed Travis-CI build to run PHP 5.3 and fixed 5.3 compatibility
            </action>
            <action date="d5c1372" dev="eeree" type="update" system="github" issue="475">
                Added tests that show support for chained methods (fluent interfaces) for UnusedPrivateMethod rule
            </action>
            <action date="b1c15f8" dev="eeree" type="update" system="github" issue="495">
                Added test for SuppressWarnings for ExcessivePublicCount
            </action>
            <action date="2dbae11" dev="jaymoulin" type="update" system="github" issue="381">
                Added annotations to allow IDEs to reference correct classes
            </action>
            <action date="858c9fd" dev="JeroenDeDauw" type="update" system="github" issue="639">
                Fixed arrays types to use standard type syntax
            </action>
            <action date="d68e511" dev="kylekatarnls" type="add" system="github" issue="640">
                Added type hint annotations
            </action>
            <action date="08a38d4" dev="ravage84" type="update" system="github" issue="481">
                Cleaned boc block comments
            </action>
            <action date="16e4eda" dev="ravage84" type="fix" system="github">
                Fixed invalid "array of strings" type hints
            </action>
            <action date="dcdd61a" dev="ravage84" type="update" system="github" issue="491">
                Cleaned whitespaces
            </action>
            <action date="3c6b69b" dev="ravage84" type="update" system="github" issue="477">
                Fixed code formatting
            </action>
            <action date="f1c145e" dev="emirb" type="update" system="github" issue="548">
                Updated PDepend to 2.5.2
            </action>
            <action date="9f7b4d2" dev="ravage84" type="update" system="github" issue="474">
                Dropped HHVM support
            </action>
            <action date="f2ae09f" dev="ravage84" type="update" system="github" issue="458">
                Updated PHPCS dev dependency from 2.3.4 to 2.8.1
            </action>
            <action date="24ff5a9" dev="ravage84" type="update" system="github" issue="458">
                Updated PHPCS &amp; added Composer scripts
            </action>
            <action date="9962dae" dev="eeree" type="update" system="github" issue="469">
                Updated Coding Standard command
            </action>
            <action date="0ca4eff" dev="kylekatarnls" type="fix" system="github" issue="599">
                Fixed Composer package type
            </action>
            <action date="981c78f" dev="kylekatarnls" type="update" system="github" issue="627">
                Removed composer.lock
            </action>
            <action date="f66247f" dev="tvbeek" type="fix" system="github" issue="604">
                Renamed mikey179/vfsStream to mikey179/vfsstream to prevent Composer error
            </action>
            <action date="a2c64bf" dev="kylekatarnls" type="update" system="github" issue="623">
                Extended test matrix &amp; do only one job per build on Travis-CI
            </action>
            <action date="e1a4cd7" dev="ravage84" type="update" system="github" issue="617">
                Replaced Travis-CI build notification from IRC to the new Gitter core channel
            </action>
            <action date="f1c05bf" dev="ravage84" type="add" system="github" issue="620">
                Added PHPMD Gitter Community Channel notifications for Travis-CI
            </action>
            <action date="d106330" dev="ravage84" type="add" system="github" issue="459">
                Integrated Stickler CI
            </action>
            <action date="9b18153" dev="ravage84" type="update" system="github" issue="492">
                Adjusted Stickler-CI config for ignoring test resource files
            </action>
            <action date="dfaa509" dev="kylekatarnls" type="fix" system="github" issue="632">
                Changed Scrutinizer CI settings to use local PHPUnit
            </action>
            <action date="4514235" dev="ravage84" type="add" system="github" issue="460">
                Added ApiGen config file
            </action>
            <action date="2b55442" dev="eeree" type="update" system="github" issue="471">
                Modified default PHP installation directory to match Chocolatey package in AppVeyor CI config
            </action>
            <action date="252b178" dev="OndraM" type="update" system="github" issue="552">
                Updated PHP in AppVeyor CI builds to 7.1
            </action>
            <action date="40189f3" dev="kylekatarnls" type="fix" system="github" issue="633">
                Fixed AppVeyor CI build
            </action>
            <action date="6f56a8f" dev="kylekatarnls" due-to="edhgoose" type="add" system="github" issue="605">
                Added a pure PHP build script to generate the website as static files
            </action>
            <action date="6cf7a2d" dev="kylekatarnls" type="update" system="github" issue="608">
                Updated the website build script to handle anchor links and to use direct links whenever possible
            </action>
            <action date="f3b68be" dev="kylekatarnls" type="fix" system="github" issue="609">
                Fixed main logo link in website build script
            </action>
            <action date="eeea9ee" dev="ravage84" due-to="mermshaus" type="update" system="github" issue="483">
                Removed broken link to Web Content Viewer from website
            </action>
            <action date="671760a" dev="ravage84" due-to="manuelpichler" type="update" system="github" issue="611">
                Removed section about commercial support from website
            </action>
            <action date="3e94d6b" dev="ravage84" type="update" system="github" issue="612">
                Removed IRC, add Gitter &amp; reword Support &amp; Contact section from/on website
            </action>
            <action date="3c5b534" dev="DmitryNaum" type="fix" system="github" issue="631">
                Fixed URL to "How to create a custom rule set" documentation page on website
            </action>
            <action date="67cdab2" dev="RyDroid" type="fix" system="github" issue="449">
                Improved code style
            </action>
            <action date="3ef4ba8" dev="RyDroid" type="fix" system="github" issue="447">
                Improved code style
            </action>
            <action date="9525da7" dev="RyDroid" type="fix" system="github" issue="450">
                Improved code style
            </action>
            <action date="fff046c" dev="ravage84" type="update" system="github" issue="479">
                Replaced all file header doc blocks with uniform one
            </action>
            <action date="1ca30d0" dev="eeree" type="update" system="github" issue="470">
                Changed HTTP to HTTPS in some files
            </action>
            <action date="51eb887" dev="RyDroid" type="update" system="github" issue="448">
                Switched from HTTP to HTTPS in some files
            </action>
            <action date="409b276" dev="RyDroid" type="update" system="github" issue="524">
                Switched from HTTP to HTTPS in resource file
            </action>
            <action date="f1c1426" dev="RyDroid" type="update" system="github" issue="454">
                Switched from HTTP to HTTPS for test files
            </action>
            <action date="9a77c48" dev="RyDroid" type="update" system="github" issue="451">
                Switched from HTTP to HTTPS for main files
            </action>
            <action date="b073ad2" dev="RyDroid" type="update" system="github" issue="455">
                Switched from HTTP to HTTPS for resource files
            </action>
            <action date="e12e59c" dev="Marius786" type="add" system="github" issue="566">
                Added CLI usage example
            </action>
            <action date="c116054" dev="ravage84" type="update" system="github" issue="621">
                Updated wording about PHPMD
            </action>
            <action date="e850660" dev="kylekatarnls" type="update" system="github" issue="606">
                Updated license according to BSD 3-clause template
            </action>
            <action date="63ff5bf" dev="eeree" type="update" system="github" issue="469">
                Improved contributing guide for Linux / OS X users
            </action>
            <action date="6f02406" dev="ravage84" due-to="richvigorito" type="update" system="github" issue="383">
                Improved the ElseExpression description
            </action>
            <action date="85e48ad" dev="BenjaminPaap" type="fix" system="github" issue="582">
                Fixed a typo in Clean Code Rules documentation
            </action>
            <action date="175b08f" dev="fbertolotti" type="fix" system="github" issue="567">
                Fixed a typo in Clean Code Rules documentation
            </action>
            <action date="59551fc" dev="gbirke" type="add" system="github" issue="565">
                Added example for modifying properties in a rule set
            </action>
            <action date="7c8d9bc" dev="ravage84" type="update" system="github" issue="614">
                Removed API docs that do not exist anymore
            </action>
            <action date="8e1e9e8" dev="MarkVaughn" type="add" system="github" issue="615">
                Added Gitter badge
            </action>
            <action date="1e86639" dev="tvbeek" type="add" system="github" issue="618">
                Added badges for the monthly and total downloads
            </action>
        </release>
        <release version="2.6.1"
                 date="2019/07/06"
                 description="This is the first release of the new maintainer team of PHPMD. It is a re-tag of 2.6.0 but with PHAR build on Travis-CI and deployment to GitHub releases.">
            <action date="135327d" dev="jakzal" type="update" system="github" issue="616">
                Build the PHAR file on Travis-CI and publish it to GitHub releases
            </action>
        </release>
        <release version="2.6.0"
                 date="2017/01/20"
                 description="This release incorporates several pending PRs. Beside that we have rebased PHPMD on PDepend 2.5 which should complete support for PHP 7 language features.">
            <action date="1c0afd4" dev="manuelpichler" due-to="chrisyue" type="fix" system="github" issue="345">
                Development Code Fragment feature is not working
            </action>
            <action date="902da6c" dev="jaymoulin" type="update" system="github" issue="379">
                Code cleaning.
            </action>
            <action date="1c0afd4" dev="manuelpichler" due-to="maerten" type="fix" system="github" issue="384">
                use-statement for functions returns in: UnexpectedTokenException
            </action>
            <action date="147beb1" dev="juliangut" type="fix" system="github" issue="409">
                Test for PHPMD or PMD on SuppressWarnings
            </action>
            <action date="7fe3d6b" dev="ravage84" type="add" system="github" issue="412">
                Add .mailmap file to fix git shortlog
            </action>
            <action date="d2b58b3" dev="jyggen" type="update" system="github" issue="416">
                Test against lowest possible dependencies
            </action>
            <action date="eccacb0" dev="pocke" type="fix" system="github" issue="418">
                Add missing link to TooManyPublicMethods rule in the rules document
            </action>
            <action date="3c9ef0b" dev="pocke" type="fix" system="github" issue="419">
                Fix a link to github help because the link is broken
            </action>
            <action date="4bd2516" dev="Arcanemagus" type="fix" system="github" issue="426">
                Enable Windows Update service on AppVeyor
            </action>
            <action date="0aecd07" dev="WhiteEagle88" type="fix" system="github" issue="429">
                Added ext-xml to require in composer.json file
            </action>
            <action date="f686673" dev="manuelpichler" due-to="roukmoute" type="fix" system="github" issue="433">
                Mistake in documentation of CCN
            </action>
        </release>
        <release version="2.5.0"
                 date="2016/11/23"
                 description="This release closes several minor/major issues in PHPMD itself and it bundles a new version of PDepend that also provides fixes for several bugs.">
            <action date="ca59154" dev="nicwortel" type="update" system="github" issue="365">
                Remove the leading blank line from the TextRenderer
            </action>
            <action date="9f71d98" dev="jaymoulin" type="add" system="github" issue="380">
                add --ignore-exit-violations CLI flag to allow exit code 0 event if violation is found (will allow successful build for CI)
            </action>
            <action date="2a31103" dev="Tristian" type="fix" system="github" issue="386">
                English language fixes
            </action>
            <action date="540d61c" dev="ravage84" type="update" system="github">
                Bump PHP dependency to 5.3.9
            </action>
            <action date="f6aa5be" dev="suzuken" type="fix" system="github" issue="395">
                Fix typo in rulesets/cleancode
            </action>
            <action date="c51ea72" dev="ravage84" type="fix" system="github">
                Fix copy &amp;amp; paste error
            </action>
            <action dev="manuelpichler" type="fix" system="github" issue="411">
                Unexpected token: list
            </action>
            <action dev="manuelpichler" type="fix" system="github" issue="389">
                Unexpected token: EMPTY
            </action>
        </release>
        <release version="2.4.4"
                 date="2016/11/22"
                 description="Maintenance release with new PDepend version bundled">
            <action date="8e80aaa" dev="k-jackson" type="fix" issue="347" system="github">
                Fixed UnexpectedTokenException on null coalesce operator.
            </action>
        </release>

        <release version="2.4.2"
                 date="2016/03/10"
                 description="">
            <action date="319b398" dev="ravage84" type="fix" issue="261" system="github">
                Prove Issue 261 and added tests for CamelCaseVariableName
            </action>
            <action date="2fd479b" dev="manuelpichler" type="fix" issue="328" due-to="radmen" system="github">
                Cannot create new nodes, when internal state is frozen.
            </action>
            <action date="3121c58" dev="Gisleburt" type="add" issue="343" system="github">
                Trim exceptions for StaticAccess
            </action>
            <action date="6a121ea" dev="lanfisis" type="fix" issue="354" system="github">
                Replace plus by a dot as concat operator in filename creation.
            </action>
        </release>
        <release version="2.4.1"
                 date="2016/03/08"
                 description="This release fixes a method naming issue, that was introduced with 2.4.0.">
        </release>
        <release version="2.4.0"
                 date="2016/03/08"
                 description="This release adds a new helper method to access the full qualified name of an analyzed node.">
            <action date="e46a099" dev="manuelpichler" type="add" system="github">
                Helper method added, so that we can access the full qualified name of a class, method, interface or function.
            </action>
            <action date="59a6e8a" dev="dereckson" type="fix" issue="335" system="github">
                Typo in clean code rule description fixed.
            </action>
            <action date="f8b017a" dev="darkain" type="add" issue="334" system="github">
                Added __debugInfo to list of ignored methods.
            </action>
        </release>
        <release version="2.3.3"
                 date="2016/03/08"
                 description="Some minor issues fixed" />
        <release version="2.3.2"
                 date="2015/09/24"
                 description="With this release we make the Symfony dependency superfluous.">
            <action date="1da75aa" dev="ravage84" type="update" issue="312" system="github">
                No more hard Symfony dependency.
            </action>
        </release>

        <release version="2.3.1"
                 date="2015/09/22"
                 description="Bugfix release for issue #311 introduced with the 2.3.0 release.">
            <action date="0db4a3e" dev="manuelpichler" due-to="igdr" type="fix" issue="311" system="github">
                Property "allow-underscore-test" does not exist.
            </action>
        </release>

        <release version="2.3.0"
                 date="2015/09/22"
                 description="This new release contains several contributed bugfixes and additions to PHPMD. Beside that we now have better support for language constructs in the upcoming PHP 7.">
            <action date="180848f" dev="addiks" type="add" issue="232" system="github">
                Three new features about references, includes and include-paths
            </action>
            <action date="7e02f38" dev="sas05" type="update" issue="241" system="github">
                Fix of UnusedPrivateMethod chained method calls.
            </action>
            <action date="3cbe76d" dev="JeroenDeDauw" type="update" issue="257" system="github">
                Add option to allow having an undercore in test methods.
            </action>
            <action date="dfa6872" dev="manuelpichler" due-to="snapshotpl" type="add" issue="265" system="github">
                Search for development code
            </action>
            <action date="724bf76" dev="JeroenDeDauw" type="fix" issue="272" system="github">
                Improve type hint.
            </action>
            <action date="b862f1f" dev="JeroenDeDauw" type="add" issue="273" system="github">
                Add TooManyPublicMethods rule.
            </action>
            <action date="586ccfc" dev="ravage84" type="update" issue="291" system="github">
                Define the version constraints of deps in Composer using the caret operator.
            </action>
            <action date="9b806f6" dev="RadekDvorak" type="fix" issue="293" system="github">
                Declared missing method in abstract class
            </action>
            <action date="227d469" dev="michaelhogg" type="fix" issue="297" system="github">
                Complete fix for timezone warning.
            </action>
            <action date="4bc4eeb" dev="aboks" type="fix" issue="301" system="github">
                Fix mixed up links in documentation.
            </action>
            <action date="3376c73" dev="mi-schi" type="fix" issue="304" system="github">
                Fix #303, change if condition order.
            </action>
            <action date="cd1308e" dev="BernardoSilva" type="update" issue="306" system="github">
                Use new Travis infrastructure.
            </action>
        </release>

        <release version="2.2.3"
                 date="2015/05/27"
                 description="Bugfix release that closes issues and adds some improvements to phpmd.">
            <action date="5e94a65" dev="OlivierBarbier" issue="281" system="github" type="update">
                Code cleanup
            </action>
            <action date="df6280f" dev="ryancookdev" issue="285" system="github" type="fix">
                Corrected HTML TR closing tag
            </action>
            <action date="20a0142" dev="ravage84" type="fix">
                Fixed link to rules documentation
            </action>
            <action date="f4ddb8a" dev="manuelpichler" type="update">
                Underlying PDepend version bumped.
            </action>
        </release>

        <release version="2.2.2"
                 date="2015/03/26"
                 description="Bugfix release that closes some issues in phpmd's core and in the project documentation.">
            <action date="b73dd32" dev="JeroenDeDauw" issue="271" system="github" type="fix">
                Fix cp error in doc
            </action>
            <action date="0d4bed1" dev="tvking" issue="270" system="github" type="fix">
                Fixing namespace issue for OutOfBoundsException
            </action>
            <action date="0d4bed1" dev="tvking" issue="80" system="github" type="fix" due-to="DannyvdSluijs">
                Out of the box usage in combination with composer of all rules fails throws error Property $exceptions does not exist.
            </action>
        </release>
        <release version="2.2.1"
                 date="2015/03/01"
                 description="This release integration several pull requests and closes and handful of issues.">
            <action date="22a73a7" dev="ravage84" issue="210" system="github" type="add">
                Added editorconfig
            </action>
            <action date="441398d" dev="ravage84" issue="211" system="github" type="add">
                Added phpcs as development dependency
            </action>
            <action date="55b799b" dev="ravage84" issue="214" system="github" type="add">
                Short method name exceptions
            </action>
            <action date="c12fffa" dev="grogy" issue="225" system="github" type="update">
                Refactor - remove right side whitespaces
            </action>
            <action date="49f19d8" dev="bolmstedt" issue="237" system="github" type="fix">
                Display type correctly for constructors
            </action>
            <action date="829d110" dev="ravage84" issue="238" system="github" type="fix">
                Fix link to rulesets
            </action>
            <action date="966ce38" dev="JeroenDeDauw" issue="242" system="github" type="update">
                Unused "use" statement removed from RuleViolation class
            </action>
            <action date="121d43b" dev="JeroenDeDauw" issue="243" system="github" type="update">
                Unused private property removed.
            </action>
            <action date="b5a04ce" dev="JeroenDeDauw" issue="244" system="github" type="fix">
                Fix typos in type hints
            </action>
            <action date="6cd03ce" dev="JeroenDeDauw" issue="245" system="github" type="fix">
                Fix CamelCase vs camelCase issue in the docs
            </action>
            <action date="b1e9be9" dev="JeroenDeDauw" issue="246" system="github" type="update">
                Improve WMC documentation
            </action>
            <action date="a9bd6cb" dev="JeroenDeDauw" issue="249" system="github" type="update">
                Remove redundant line
            </action>
        </release>
        <release version="2.2.0"
                 date="2015/01/25"
                 description="Closes an issue with recent symfony versions">
            <action date="efa1dcd" dev="jyggen" issue="226" system="github" type="fix">
                Fixed error message for StaticAccess
            </action>
            <action date="b248315" dev="gooh" issue="221" system="github" type="add">
                 Ignore php4 style ctor in interfaces and namespaces
            </action>
            <action date="b248315" dev="gooh" issue="220" system="github" type="add">
                 Skip check for ConstructorWithNameAsEnclosingClass when in an interface or namespace
            </action>
            <action date="4d3b154" dev="aztech-dev" issue="219" system="github" type="update">
                 Do not trigger UnusedFormalParameter with some magic methods.
            </action>
            <action date="6317043" dev="rjkip" issue="218" system="github" type="update">
                 Allow any future minor version of Symfony2 2.5 components.
            </action>
            <action date="422345e" dev="grogy" issue="216" system="github" type="fix">
                Refactor - removed right side spaces
            </action>
            <action date="6da3358" dev="ravage84" issue="215" system="github" type="update">
                 Improved composer.json
            </action>
            <action date="6317043" dev="rjkip" issue="196" system="github" type="update">
                 Composer Compatible for symfony &gt;= 2.5 and &lt; master/dev.
            </action>
            <action date="05210b6" dev="ravage84" issue="208" system="github" type="add">
                Appveyor CI for Windows
            </action>
            <action date="d6de6a5" dev="ravage84" issue="207" system="github" type="add">
                Added a contribution guide
            </action>
            <action date="5b1fcef" dev="ravage84" issue="205" system="github" type="remove">
                Removed all @version annotations
            </action>
            <action date="c36897b" dev="ravage84" issue="204" system="github" type="remove">
                Removed all traces of "PHP Version 5" in the file header DocBlock
            </action>
            <action date="cc354ed" dev="ravage84" issue="203" system="github" type="update">
                Some improvements to the README
            </action>
            <action date="ead3368" dev="ravage84" issue="201" system="github" type="add">
                Added the missing cleancode section to the website.
            </action>
            <action date="b428516" dev="ravage84" issue="200" system="github" type="add">
                StaticAccess - ability to add exceptions for specific class names
            </action>
            <action date="0dad28d" dev="ravage84" issue="199" system="github" type="update">
                Changed the OutOfBounds exceptions when getting a property
            </action>
            <action date="98bed5a" dev="ravage84" issue="198" system="github" type="update">
                Allow unused foreach variables
            </action>
            <action date="6eb7dcd" dev="ravage84" issue="197" system="github" type="update">
                Allow underscore camelcase property name
            </action>
            <action date="e59053c" dev="sebbrandt87" issue="152" system="github" type="add">
                Update DepthOfInheritance.php: Using the right condition and naming of property.
            </action>
            <action date="7593f17" dev="clubduece" issue="97" system="github" type="add">
                Fixed typo in rule ElseExpression CDATA
            </action>
        </release>

        <release version="2.1.3"
                 date="2014/09/25"
                 description="Bug fix release.">
            <action date="7b8d13f" dev="manuelpichler" issue="195" system="github" type="fix">
                Missing version number in composer.json file replaced with build.properties version number.
            </action>
        </release>
        <release version="2.1.2"
                 date="2014/09/25"
                 description="This release closes several minor issues and integrates some outstanding pull requests.">
            <action date="84f2d8a" dev="ravage84" issue="164" system="github" type="fix">
                Fixed IRC link
            </action>
            <action date="74b9f84" dev="ravage84" issue="165" system="github" type="fix">
                 Removed lie regarding PEAR
            </action>
            <action date="9271fc6" dev="rodrigm" issue="182" system="github" type="add">
                 Tweak with CamelCase matching inheritDoc 
            </action>
            <action date="f954dcf" dev="andrewwatson" issue="85" system="github" type="fix">
                 Documentation changes, fixed typo in PHPMD's online documentation.
            </action>
            <action date="450f91c" dev="manuelpichler" issue="189" system="github" type="add">
                Missing composer install documentation
            </action>
            <action date="45c55d8" dev="gena01" issue="190" system="github" type="fix">
                 Updating composer.json
            </action>
            <action date="b18ffbb" dev="manuelpichler" issue="191" system="github" type="fix">
                Superglobals are not named in CamelCase
            </action>
            <action date="1eb321d" dev="gabeguz" issue="192" system="github" type="fix">
                Fix a typo. These are the 'design rules' not the 'code size rules
            </action>
        </release>
        <release version="2.1.1"
                 date="2014/09/09"
                 description="">
            <action dev="manuelpichler" issue="181" system="github" type="fix">
                404 error on your website release area
            </action>
            <action date="3f56c37" due-to="piotr-cz" dev="manuelpichler" issue="168" system="github" type="fix">
                --version argument doesn't return version
            </action>
            <action date="5f9e8a2" due-to="till" dev="manuelpichler" issue="183" system="github" type="add">
                exceptions for CamelCaseVariableName and UnusedLocalVariable
            </action>
        </release>
        <release version="2.1.0"
                 date="2014/09/08"
                 description="This integrates several outstanding pull requests.">
            <action date="ffab9fc" dev="radmen" issue="150" system="github" type="add">
                Fix for unused variables rules when handling namespace compact()
            </action>
            <action date="b5cdc74" dev="Nyholm" issue="154" system="github" type="add">
                Added PHP 5.6 and HHVM to travis.yml
            </action>
            <action date="f93be40" dev="Gasillo" issue="118" system="github" type="fix">
                Fix [Naming]: Trait can have method same as trait's name
            </action>
            <action date="d0779c2" dev="ravage84" issue="159" system="github" type="add">
                Allow a single underscore at the beginning
            </action>
            <action date="6257a83" dev="ptlis" issue="100" system="github" type="add">
                Quick change to add support for exclude-pattern in a ruleset
            </action>
            <action date="6257a83" dev="ptlis" issue="117" system="github" type="add" due-to="andrewwatson">
                --exclude not working
            </action>
            <action date="e081088" dev="mikaeljorhult" issue="177" system="github" type="fix" due-to="">
                Get XML contents before parsing
            </action>
        </release>

        <release version="2.0.0"
                 date="2014/05/21"
                 description="This is major release of PHPMD which utilizes 2.0 engine of PDepend.">
            <action date="e16c38c" dev="mapi" issue="40" system="github" type="add">
                Allow multiple report files

                Now it is possible to render multiple report files during a single
                PHPMD run, just add:

                --reportfile-xml report.xml
                --reportfile-html report.html
                --reportfile-text report.txt

                to the PHP command line call.
            </action>
            <action date="a1dc403" dev="svscorp" issue="61" system="github" type="add">
                UnusedLocalVariable fix for compact handling in Symfony2
            </action>
            <action date="cdfbb8f" dev="mapi" issue="111" system="github" type="fix" due-to="magicsunday">
                Changelog with old releases and invalid dates removed.
            </action>
            <action date="8c3ebe1" dev="beberlei" issue="119" system="github" type="add">
                PDepend 2.0 support
            </action>
            <action date="19c4da8" dev="adambrett" issue="122" system="github" type="add">
                Add: New parameter 'ignore-whitespace' to LongClass and LongMethod rules
            </action>
        </release>
        <release version="1.5.0"
                 date="2013/07/26"
                 description="This release closes some PHP 5.4 related issues.">
            <action date="1484e22" dev="kirillsablin" issue="66" system="github" type="add">
                Added support for short variable name exceptions
            </action>
            <action date="86560ce" dev="andy128k" issue="73" system="github" type="add">
                Show available formats and rulesets
            </action>
            <action date="9ab3b6d" dev="timporter" issue="87" system="github" type="fix">
                Fix: PHP Fatal error: Call to a member function isInstanceOf() on a non-object
            </action>
            <action date="a473345" dev="kirillsablin" issue="81" system="github" type="fix">
                Fix error when using entire ruleset "Naming"
            </action>
            <action date="2a3d304" dev="rwos" issue="91" system="github" type="fix">
                (tiny) documentation typo fix
            </action>
        </release>

        <release version="1.4.1"
                 date="2012/12/14"
                 description="This release integrates several pull requests.">

            <action date="e478912" dev="jrbasso" issue="10" system="github" type="add">
                Fix UnusedLocalVariable to recognize compact function.
            </action>
            <action date="158e1f5" dev="amllano" issue="58" system="github" type="add">
                Skip "unused formal parameter" checking when method signature has been annotated as inherited using @inheritdoc.
            </action>
            <action date="575fe7b" dev="mapi" issue="56" system="github" type="fix" due-to="cweiske">
                package.xml date invalid: 2011/02/12.
            </action>
        </release>

        <release version="1.4.0"
                 date="2012/09/07"
                 description="This release integrates some longer pending pull
                              requests and smaller bugfixes. One major addition
                              is support for Composer as distribution channel.">
            <action date="b7d659f" dev="Nimlhug" issue="11" system="github" type="add">
                Add getStringProperty($name) to AbstractRule.php.
            </action>
            <action date="458d566" dev="willemstuursma" issue="12" system="github" type="update" due-to="Willem Stuursma">
                Update README.rst on cmd line arguments.
            </action>
            <action date="22b523c" dev="bahulneel" issue="51" system="github" type="fix">
                Fixed handling of traits.
            </action>
            <action date="bc795b6" dev="palbertini" issue="53" system="github" type="add">
                Added getStringProperty and rule-setting to change TooManyMethods ignore Regexp.
            </action>
            <action date="3622bb8" dev="3622bb8" issue="10" system="github" type="add">
                Provide PHPMD as composer dependency on packagist.org.
            </action>
        </release>

        <release version="1.3.3"
                 date="2012/02/29"
                 description="This release closes an issue introduced with the
                              last release. It closes one more regression related
                              to PHP's memory_limit and the Suhosin patch.">
            <action date="e8b546d" dev="mapi" type="fix" due-to="Guido van Biemen">
                Fixed fatal error due to bug in memory_limit modification code.
            </action>
        </release>
        <release version="1.3.2"
                 date="2012/02/25"
                 description="This release closes a minor issue in PHP_PMD's
                              memory handling when it is run in a PHP environment
                              that uses the Suhosin patch and the suhosin.memory_limit
                              setting.">
            <action date="19e4fc5" dev="mapi" issue="25450811" system="pivotaltracker" type="fix" due-to="Gordon Franke">
                Alert disable memory_limit
            </action>
        </release>
        <release version="1.3.1"
                 date="2012/02/16"
                 description="The 1.3.1 release of PHPMD closes one critical bug
                              in PHPMD, that causes a fatal error due to the xdebug
                              max_nesting_level setting for very deep self calls on
                              methods.">

            <action date="f6550df" dev="mapi" issue="24975295" system="pivotaltracker" due-to="Akram" type="fix">
                Fatal: Maximum function nesting level reached in ASTNode.php:425
            </action>
        </release>

        <release version="1.3.0"
                 date="2012/02/04"
                 description="Version 1.3.0 now depends on PHP_Depend 1.0.0 which
                              has support for all the new language constructs
                              introduced with PHP 5.4. Additionally this release
                              contains some minor fixes for PHPMD's rule violation
                              messages.">

        </release>
        <release version="1.2.1"
                 date="2011/10/04"
				 description="The 1.2.1 release of PHPMD closes several minor
                              issues and bugs. Beside that we have added a
							  contribution by Francis Besset with additions
							  rules for PHPMD. Finally we have updated the
							  utilized PHP_Depend version to a newer release.">

            <action date="183fbd5" dev="mapi" issue="14990109" system="pivotaltracker" due-to="tdxtik" type="fix">
                False detection of unused variable
            </action>

            <action date="d162b21" dev="mapi" issue="23278127" system="pivotaltracker" due-to="Hugo Hamon" due-to-email="hugo.hamon@sensio.com" type="fix">
                PHPMD should exclude unused parameters from inherited methods
            </action>

            <action date="7bcddde" dev="mapi" issue="11055167" system="pivotaltracker" type="update">
                Move PHPUnit annotations from method doc block to class doc block
            </action>
            <action date="d3d553f" dev="mapi" issue="9355859" system="pivotaltracker" type="fix">
                PHP_Depend exceptions are silently ignored
			</action>
			<action date="7176e74" dev="mapi" due-to="Francis Besset" due-to-email="francis.besset@gmail.com" type="add">
				Added Superglobals rule in Controversial
			</action>
			<action date="1c3c260" dev="mapi" due-to="Francis Besset" due-to-email="francis.besset@gmail.com" type="add">
				Added rules to check CamelCase
			</action>
         </release>

        <release version="1.2.0"
                 date="2011/09/27"
                 description="Version 1.2.0 is a small feature release of PHPMD
                              that introduces the new command line option --strict.
                              This options forces PHPMD to apply all rules, even
                              if a source node contains the @SuppressWarnings
                              annotation.">
            <action date="0e60fb9" dev="francisbesset" system="pivotaltracker" due-to="francisbesset" due-to-email="francis.besset@gmail.com" type="add">
                Controversial PHPMD rule that checks if the project under
                test does not utilize PHP's super globals.
            </action>
            <action type="add" issue="18462127" dev="mapi" date="b066b44">
                PHPMD needs a *strict* mode.
            </action>
        </release>

        <release version="1.1.1"
                 date="2011/06/30"
                 description="Version 1.1.1 of PHPMD is a pure Bugfix release
                              that fixes an issue in PHPMD's package manifest.
                              This bug prevents Pyrus the PEAR2 installer from
                              installing PHPMD.">

            <action type="fix" issue="10096717" dev="mapi" date="f063bc9">
                Bug in PHPMD's package manifest file.
            </action>
        </release>

        <release version="1.1.0"
                 date="2011/03/20"
                 description="Version 1.1.0 of PHPMD was released on March the
                              20th 2011. The key features for this release were
                              two new rules. The first one utilizes the Coupling
                              Between Objects (CBO) metric to detect strongly
                              coupled classes. The second one detects the usage
                              of PHP's questionable 'goto' statement. Beside
                              that we have closed a minor bug in the
                              LongVariable rule, where also private properties
                              with descriptive names were reported. And finally
                              we have replaced deprecated PHPUnit features in
                              the PHPMD's test suite, so that PHPMD's tests
                              should now work with PHPUnit 3.4.x and 3.5.x
                              without deprecated warnings.">
            
            <action type="add" issue="10474873" dev="mapi" date="2745a20">
                Add rule for PHP's goto statement.
            </action>
            <action type="add" issue="10474987" dev="mapi" date="14277b4">
                Implement rule for CBO metric.
            </action>
            <action type="add" issue="11012465" dev="mapi" date="4adb88d">
                Replace deprecated PHPUnit features in test suite.
            </action>
            <action type="fix" issue="10096717" dev="mapi" date="f063bc9">
                LongVariable rule should not apply on private properties.
            </action>
        </release>

        <release version="1.0.1" date="2011/02/12">
            <action type="fix" issue="9930643" dev="mapi" date="531be78">
                The include_path does not match with PHP_Depend's new directory
                layout.
            </action>
            <action type="fix" issue="9626017" dev="mapi" date="b385f15">
                Clear temporary resources after a test has finished.
            </action>
        </release>

        <release version="1.0.0" date="2011/02/05">
            <action type="update">
                New source layout that follows maven's conventions for the
                directory structure of a product.
            </action>
            <action type="update">
                Switched to PHPUnit 3.5.x as testing framework
            </action>
            <action type="fix" issue="9626017" date="b385f15">
                Clear temporary resources after a test has finished.
            </action>
        </release>

        <release version="0.2.8" date="2010/11/25">
            <action type="update" due-to="Volker Dusch">
                Improved help text for the PHPMD command line. Thanks to Volker
                Dusch for this contribution. https://github.com/edorian/phpmd
            </action>
            <action type="update">
                PHPMD is now compatible with next PHP_Depend release 0.10.0
            </action>
        </release>

        <release version="0.2.7" date="2010/09/01">
            <action type="fix" issue="36" date="284">
                @SuppressWarnings annotation does not work for
                UnusedPrivateMethod rule.
            </action>
            <action type="fix" issue="35" date="286">
                Stream Writer closes STDOUT.
            </action>
            <action type="fix" issue="33" date="264">
                PEAR package.xml does not @php_bin@ and @bin_dir@ on phpmd.bat.
            </action>
        </release>

        <release version="0.2.6" date="2010/07/03">
            <action type="add" issue="24" date="253">
                Implement Depth Of Inheritance Rule.
            </action>
            <action type="add" issue="25" date="252">
                Implement Number of Children Rule.
            </action>
            <action type="add" issue="26" date="251">
                Implement Rule that detects the usage of PHP's eval() function.
            </action>
            <action type="add" issue="27" date="250">
                Implement Rule that detects the usage of PHP's exit()
                expression.
            </action>
            <action type="add" issue="30" date="246">
                New option --version added to PHPMD's command line interface.
            </action>
            <action type="update">
                Names of several command line options unified with PHPUnit and
                PHPCPD. The --ignore option is now --exclude and --extensions
                is now --suffixes.
            </action>
            <action type="fix" issue="28" date="245">
                Unused local variable and unused parameter rule produces false
                positives.
            </action>
        </release>

        <release version="0.2.5" date="2010/04/03">
            <action type="add" issue="12" date="228">
                Add rule for the Weighted Methods Per Class Metric.
            </action>
            <action type="add" issue="16" date="220">
                Alternative syntax for properties in rule set files implemented.
            </action>
            <action type="fix" issue="17" date="226">
                Do not return success exit code when PHPMD detects rule
                violations in analyzed source code.
            </action>
            <action type="fix" issue="19" date="218">
                Super globals were detected as unused variables.
            </action>
            <action type="fix" issue="20" date="219">
                Local static variables were treated as unused variables.
            </action>
        </release>

        <release version="0.2.4" date="2010/03/08">
            <action type="fix">
                E_NOTICE bug fix in naming rule.
            </action>
        </release>

        <release version="0.2.3" date="2010/03/04">
            <action type="add" issue="9" date="200">
                Add support for "Suppress warnings" annotations.
            </action>
            <action type="add" issue="10" date="189">
                Support for exclude element in rule-set files added.
            </action>
            <action type="add" issue="13">
                Implement naming rules, e.g. short variables, parameter etc.
            </action>
            <action type="fix" issue="6">
                PHP Tokenizer required but no error when installing.
            </action>
            <action type="fix" issue="7" date="187">
                UnusedLocalVariable ruleset incorrectly flags variables as
                unused when used inside double quoted string.
            </action>
            <action type="fix" issue="14" date="203">
                ExcessivePublicCount rule should utilize PHP_Depend's cis
                metric.
            </action>
            <action type="fix" issue="15" date="202">
                ExcessivePublicCount rule is never used.
            </action>
        </release>

        <release version="0.2.2" date="2010/01/20">
            <action type="fix">
                Small change to the command line interface, which did not return
                an exit code != 0 when an exception occurred.
            </action>
        </release>

        <release version="0.2.1" date="2010/01/05">
            <action type="add" issue="5" date="158">
                Allow multiple input files/directories.
            </action>
            <action type="add">
                Additional unit tests for multiple components added.
            </action>
        </release>

        <release version="0.2.0" date="2009/12/30">
            <action type="add" issue="2" date="134">
                Support for unused code fules completed.
            </action>
            <action type="add" issue="3">
                Text renderer implemented.
            </action>
            <action type="add" issue="4" date="139">
                Implement a html renderer.
            </action>
            <action type="update">
                Several performance improvements.
            </action>
        </release>

        <release version="0.1.0" date="2009/12/20" description="Initial release" />
    </body>
</document>
