PHP_Depend 0.11.0
-----------------

This release closes a critical bug that let PHP_Depend die with a E_FATAL when
the used PHP version was 5.4 or greater.

- Fixed #18976391: PHP_Depend's file cache implementation does not work with
  PHP 5.4. Fixed with commit #06ce51a.

PHP_Depend 0.10.6
-----------------

This release closes a critical bug in PHP_Depend's parser that produced
false positiv error messages for classes named like 'True', 'False' or 
'Null'

- Fixed #5ac3e55: Unexpected token: True, line: 348, col: 49, file:...

PHP_Depend 0.10.5
-----------------

This release closes two minor bugs in PHP_Depend. One incompatibility
with PHP 5.2.x versions and one bug related to PHP_Depend's log
behavior when PHP_Depend analyzes unstructured source code. This release
was published on May the 20th 2011.

- Fixed #13255437: PHP 5.2 Compatibility Issues. Fixed with commit
  #8d4a095.
- Fixed #13405179: PHP Depend report is not generated if all files do
  not contain a class nor a function. Fixed with commit #554ade1.

PHP_Depend 0.10.4
-----------------

This release contains an improvement in PHP_Depend's memory consumption.
We have optimized the internal data structures in such a way that the
memory footprint was reduced by ~30%. These values were measured for
currently popular frameworks with a medium to large sized code base. The
tests were run under ubuntu with PHP 5.2.17 and PHP 5.3.6.

PHP_Depend 0.10.3
-----------------

This release closes a critial bug in PHP_Depend's analyzer locator code
that prevents PHP_Depend from running on windows. This release was
published on March the 02th 2011.

- Fixed #10659085: Analyzer locator code does not work on windows. Fixed
  with commit #0101798.

PHP_Depend 0.10.2
-----------------

This release of PHP_Depend closes two bugs. One related to the start and
end line properties of object property nodes in the syntax tree. The
second fix closes a bug in PHP_Depend's implementation of the WMCi metric.
Beside these two fixes this release implements three minor features, one
design issue in the syntax tree api and the other two other features are
related to the new metrics CE, CA, CBO and NPM.

Additionally we have restructured PHP_Depend's directory structure from a
custom, freestyle format to a directory layout that is similar to maven's
convention. With this change we have fixed several issues and workarounds
in PHP_Depend's build process.

- Fixed #9936901: WMCi calculation is incorrect for overwritten methods.
  Fixed with commit #69d079a.
- Fixed #8927377: Invalid Start/End Line/Column for object property access.
  Fixed with commit #fc57264.
- Implemented #9069393: Replace optional NULL argument of setPackage()
  with separate method. Implemented with commit #1282cdb.
- Implemented #9069871: Implement efferent- and afferent-coupling for
  classes. Implemented with commit #07537c2.
- Implemented #9997915: Implement Number of Public Methods metric.
  Implemented with commit #2dd3ebf.

PHP_Depend 0.10.1
-----------------

- Fixed #9634613: Notice: Undefined property $___temp___. Fixed with
  commit #5fb6900.

PHP_Depend 0.10.0
-----------------

- Fixed #113: PHP fatal error when an unserialized object graph
  none NodeI instances. Fixed with commit #c0f4384.
- Implemented #130: Simplify PHP_Depend's ASTCompoundVariable and skip
  nested ASTCompoundExpression node instance. Implemented in svn revision
  number #1344.
- Implemented #131: Add new method isThis() to PHP_Depend's ASTVariable
  class. Implemented in svn revision #1291.
- Implemented #132: Housekeeping: Cleanup the PHP_Depend_Input package test
  code. Done in svn revision #1366.
- Implemented #139: Implement Post-/Pre- Increment/Decrement. Implemented
  in svn revision #1317.
- Implemented #143: Support PHP's alternative control structure syntax.
  Done in svn revision #1375.
- Implemented #146: Implement PHP's declare-statement. Done in subversion
  revision #1375.
- Implemented #148: Implement cast expressions. Implemented in svn
  revision #1283.
- Fixed #163: Alternative syntax end tokens can terminate with closing
  PHP-tag. Fixed in svn revision #1527.
- Fixed #164: Faulty implementation of the --ignore path filter fixed.
  Now this filter only works on the local part of a file or directory
  name and not on the complete path. Fixed with commit #f75275e.
- Implemented #170: Rename FunctionNameParserImpl into
  FunctionNameParserAllVersions. Task scope changed and complete refactoring
  done. Parser moved into a version specific parser class. Done in subversion
  revision #.
- Fixed #176: Calculation of CIS metric is incorrect. Fixed with commit
  #1193f4a.
- Implemented #178: Provide configuration option for the cache directory.
  Implemented with git commit #00ed8ec.
- Fixed #181: No log generated when parsing Typo3 extension "t3extplorer"
  (Unexpected token ASCII 39). Indirectly fixed in this release.
- Fixed #182: Clone is a valid function, method and type name in older
  php versions. Fixed with git commit #b18bf37.
- Fixed #189: Invalid Start/End Line/Column for object method
  invocation. Fixed in commit #c6cc9dd.
- Fixed #191: New implementation of --ignore only accepts relative paths.
  Fixed in commit #38e6b52.
- Fixed #9623949: Also find analyzers in phar archives in the current
  include_path. Fixed in commit #f53dca9.

PHP_depend 0.9.20
-----------------

- Fixed #168: Node identifiers are case sensitive. Fixed in subversion
  revision #1529.
- Fixed #169: Null, True and False are valid class or interface names.
  Fixed in subversion revision #1538.

PHP_Depend 0.9.19
-----------------

- Fixed #162: Parser does not recognize $ string literal in string.
  Fixed in subversion revision #1379.

PHP_Depend 0.9.18
-----------------

- Fixed #161: Unexpected token: -> in foreach statement. Fixed in
  subversion revision #1347.

PHP_Depend 0.9.17
-----------------

- Fixed #156: Temp Folder /tmp/pdpend_storage-1000 grows very large.
  Fixed with Sebastian Marek's patch in svn revision #1335.

PHP_Depend 0.9.16
-----------------

- Fixed #153: Only count those classes and interfaces that are flagged
  as user defined types. Fixed in subversion revision #1327.
- Implemented #154: Make execution order of analyzers reproducable.
  Implemented in svn revision #1331.

PHP_Depend 0.9.15
-----------------

- Fixed #152: Endless loop bug for identical class and parent name.
  Fixed in svn revision #1296.

PHP_Depend 0.9.14
-----------------

- Fixed #149: Exception Message is empty. Fixed in svn revision #1277.
- Concurrency issue in PHP_Depend's file cache fixed.

PHP_Depend 0.9.13
-----------------

- Fixed #145: Incorrect require_once statement in ASTSwitchStatement
  source file. Fixed in svn revision #1262.
- Fixed #150: Invalid nowdoc substitution has produced broken code.
  Fixed in svn revision #1266.

PHP_Depend 0.9.12
-----------------

- Implemented #97: Replace current token approach in CCN- and NPath-Analyzer
  with AST-Nodes. Implemented in svn revision #1248.
- Implemented #125: PHP_Depend silently parses list statements. Fixed in
  svn revision #1223. Thanks to Joey Mazzarelli for providing this patch.
- Implemented #126: Generate reproducable node identifiers instead of
  random numbers. Implemented in svn revision #1244.
- Fixed #128: Variable variables in foreach statement cause an exception.
  Fixed in svn revision #1237.
- Fixed #133: Fatal error: Maximum function nesting level of '100' reached,
  aborting! in /usr/share/pear/PHP/Depend/Util/Log.php on line 109. Fixed
  in svn revision #1257.
- Fixed #134: ASTReturnStatement is not derived from ASTStatement. Fixed
  in svn revision #1250.
- Fixed #135: Several Statement classes do not inherit ASTStatement. Fixed
  in svn revision #1255.

PHP_Depend 0.9.11
-----------------

- Fixed #118: Calculation of the Number Of Overwritten Methods is
  wrong. Fixed in svn revision #1112.
- Implemented #121: Parse arguments of the ASTForeachStatement. Implemented
  in svn revision #1115.
- Fixed #119: Three test cases fail for PHP lower 5.3. Fixed in svn
  revision #1114.
- Critical issue in PHP_Depend's temporary data cache fixed. This bug
  only occured when running several instances of PHP_Depend in
  parallel. In this setup the used cache key spl_object_hash() has
  caused a corrupted cache, because different php process instances
  have written different data to the same cache file.

PHP_Depend 0.9.10
-----------------

- Implemented #72: Add NOAM, NOOM and NOCC metrics. Implemented in svn
  revision #1084.
- Implemented #74: Make CRAP-index available. Implemented in svn revision
  #1063.
- Implemented #105: Support for deep search implement. Implemented in svn
  revision #1078.
- Fixed #106: Filter algorithm is broken for namespaced internal classes.
  Fixed in svn revision #1039.
- Fixed #110: Duplicate "coupling" directory in test code. Fixed in svn
  revision #1032.
- Fixed #111: Dynamic Strings are treated as literal strings. Fixed in svn
  revision #1037.
- Fixed #114: Parsing error caused by complex string expressions fixed.
  Fixed in svn revision #1068.
- Fixed #115: Summary and PHPUnit Report lists unknown classes. Fixed in
  svn revision #1101.
- Fixed #116: Returns reference results in parsing error. Fixed in svn
  revision #1090.
- Performance intensive calculation result cached.
- Test code restructured and improved.
- Concurrency issue for parallel running pdepend instances fixed.

PHP_Depend 0.9.9
----------------

- Fixed #108: Parser doesn't set start/end line/column on variables, fixed in
  svn revision #1015.
- Implemented #104: Add isStatic() method on ASTMemberPrimaryPrefix node,
  implemented in svn revision #1013.

PHP_Depend 0.9.8
----------------

- Implemented #93: Implement an assignment expression, Implemented in svn
  revision #992.
- Fixed #94: Parser throws exception for closures that return by reference,
  fixed in svn revision #962.
- Fixed #98: Functions with an invalid signature result in an inconsistent
  object graph, fixed in svn revision #986.
- Fixed #102: Namespace keyword in type-hint is broken, fixed in svn revision
  #1010.
- Fixed #103: The parser does not handle all strings as parameter default value
  correct, fixed in svn revision #1009.

PHP_Depend 0.9.7
----------------

- Fixed #95: NPath complexity bug fixed, fixed in svn revision #958.

PHP_Depend 0.9.6
----------------

- Closed #57: Display caption for abbreviations in overview pyramid, implemented
  in svn revision #947.
- Closed #80: Store default value for class properties.
- Fixed #81: PHP_Depend does not support comma separated property declarations,
  fixed in svn revision #916.
- Fixed #82: PHP_Depend does not support comma separated constant definitions,
  fixed in svn revision #931.
- Closed #83: Make ClassOrInterfaceReference an ASTNode, implemented in svn
  revision #917.
- Closed #85: Use soundex to detect typos in type annotations, implemented in
  svn revision #937.
- Fixed #87: The parent keyword is not accepted as parameter type hint, fixed in
  svn revision #925.
- Fixed #89: Coupling analyzer reports wrong results, fixed in svn revision #939
- Fixed #90: Coupling analyzer does not handle PHP 5.3 function chains, fixed in
  svn revision #943.
- Fixed #91: Parser throws an exception when __CLASS__ as default value of an
  array property, fixed in svn revision #944.
- Closes #92: Use class constants as analyzer identifiers, implemented in svn
  revision #950.

PHP_Depend 0.9.5
----------------

- Closed #2: Support PHP 5.3 namespace syntax, implemented since svn
  revision #789.
- Closed #61: Catch parser errors and continue processing, implemented
  in svn revision #880.
- Closed #63: Make ResultPrinter a configurable option, implemented in
  svn revision #668.
- Fixed #64: The single cache directory causes permission denied on
  UNIX systems, fixed in svn revision #667.
- Fixed #65: Endless loop for class and interface declarations without
  body, fixed in svn revision #672.
- Closed #66: Dependency wiring should be done at the end of the
  parsing process, implemented in svn revision #855.
- Fixed #69: Parser does not handle PHP 5.3 class names in function
  and method bodies, fixed in svn revision #688.
- Fixed #70: Parser throws an unexpected token exception for closure,
  fixed in svn revision #726.
- Fixed #71: Parser throws an unexpected token exception for signed
  default values, fixed in svn revision #740.
- Fixed #73: Inconsistent state when an interface and a class with the
  same name exists, fixed in svn revision #776.
- Fixed #76: Tokenizer keyword detection is broken, fixed in svn
  revision #871.


PHP_Depend 0.9.4
----------------

- #40 + Cli debug flag added. PHP_Depend will print additional debug information
  to STDERR when this cli switch is set. (Closed)
- #87 + Support for type definitions within comments implemented. (Closed)
- #88 + Tokens provide information about the start and end column. (Closed)
- #90 + Support for single file parsing/analyzing implemented (Closed)
- #92 + Handling of types within instanceof-operator fixed. (Fixed)
- The ProjectAwareI and NodeAwareI interfaces extend the AnalyzerI interface,
  which makes analyzer mocking easier.
- Switch from PHP_Depend specific constants for public, protected, private
  methods&properties to modifiers compatible with PHP's reflection-extension.
- Support for static modifier for properties&methods and final for methods
  added.
- Support for class final modifier added.
- Support for chained types like "false|Iterator" or "array(false|Iterator)" in
  doc comments added.

PHP_Depend 0.9.3
----------------

- #89 + Source file is never set for methods, properties and constants.
- #83 + Storage layer for node tokens added, reduces memory consumption.
- #85 + TextUI displays the execution time and the memory usage(linux only).
- #82 + Tokenizer cache added, reduces runtime up to 25%.
- Code restructured, input filters and iterator moved to package "Input".
- Test suite restructured to reflect the actual project structure.

PHP_Depend 0.9.2
----------------

- #84 + Critical bug, a backslash could kill PHP_Depend with all PHP Versions lower 5.3.0alpha3

PHP_Depend 0.9.1
----------------

- Performance improvements
- #21 + Support for the NPath Complexity metric.
- #78 + Parser fails for comment in function signature.
- #79 + Token objects instead of arrays.

PHP_Depend 0.9.0
----------------

- PHP_Depend works with PHP 5.2.0
- #19 + Implement a phpunit compatible xml logger.
- #20 + Add support for class constants.
- #30 + Improve Lines Of Code.

PHP_Depend 0.8.0
----------------

- No more features or bug fixes, beta4 seems to be stable.

PHP_Depend 0.8.0beta4
---------------------

- #29 + Tooltip for the Overview Pyramid.
- #34 + Support for pattern based package filter.
- #37 + Remove Logger - XML Config dependency.
- #38 + The Logger interface should not force a default ctor-signature.

PHP_Depend 0.8.0beta3
---------------------

- #25 + PHP_Depend should print an error if no @package information is available.
- #26 + Handle class and interface names case insensitive.
- #27 + Handle internal classes and interfaces.
- #28 + Add option --bad-documentation.

PHP_Depend 0.8.0beta2
---------------------

- #18 + Introduce a CodeAware interface for loggers.
- #23 + Use an SVG-Template for the jdepend chart.
- #24 + There is an endless loop for inline html.

PHP_Depend 0.8.0beta1
---------------------

- New metrics implemented
  - ClassLevel (wmc, vars, dit, csz, ...)
  - CodeRank (cr, rcr - PageRank adaption for classes and packages)
  - Coupling (Fanout, calls)
  - CyclomaticComplexity (CCN, CCN2)
  - Dependency (ac, cc, ce, ca, d, a, i)
  - Hierarchy (clsa, clsc, roots, leafs, maxDIT)
  - Inheritance (andc, ahh)
  - NodeCount (nop, noc, nof, noi, nom)
  - NodeLoc (loc, cloc, ncloc)
- Pluggable logger architecture.
- Pluggable metric analyzer architecture.


PHP_Depend 0.1.0
----------------

- Initial proof-of-concept release.
