Tuesday, February 23. 2010
I have just released the bug fix version 0.9.10 of PHP_Depend. This
release contains several bug fixes and improvements for PHP_Depend.
- 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.
As always, you can get the latest PHP_Depend version from its PEAR channel: pear.pdepend.org:
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear install pdepend/PHP_Depend-beta
Or you can fetch the sources from the subversion reposition:
mapi@arwen ~ $ svn co http://svn.pdepend.org/branches/0.9.0/
And additionally you can find a repository mirror on github:
mapi@arwen ~ $ git clone git://github.com/manuelpichler/pdepend.git
Saturday, January 2. 2010
Today I have released version 0.1.4 of the staticReflection component. This release contains two critical bug fixes.
- Fixed #5: Filenames not normalized from relative to absolute paths. Fixed in svn revision #259.
- Fixed #6: Queries do not hold references to previous parsed classes and interfaces. Fixed in svn revision #269.
You can get the latest stable version of the staticReflection component through its PHP_Depend's PEAR channel:
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear install pdepend/staticReflection-alpha
or you can download the latest version from the staticReflection svn respository:
mapi@arwen ~ $ svn co http://svn.reflection.pdepend.org/trunk \
staticReflection
Friday, August 7. 2009
The NPath complexity calculation was broken in PHP_Depend 0.9.6. This bug was fixed in PHP_Depend 0.9.7.
Sunday, August 2. 2009
Today I released PHP_Depend 0.9.6, which contains many bug fixes and improvements, but the main feature of this release is behind the scene, I have started to migrate PHP_Depend's internal system from plain Token object to an Abstract Syntax Tree.
- 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.
- 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.
You can get the latest PHP_Depend version from its PEAR channel: pear.pdepend.org
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear install pdepend/PHP_Depend-beta
Thursday, July 23. 2009
While working on PHP_Depend's parser I realized one major reason Why I love PHP, it's the flexibility of language. Even if you think you now know all ways to solve a problem, there is always one more way to solve it.
class f { function bar() { echo __METHOD__, '()', PHP_EOL; } function __toString() { return 'v'; } } class v { function __toString() { return 'c'; } } class m { function __toString() { return 'bar'; } } $c = 'f'; $${'v'} = new ${(string) new ${$v = 'v'}()}(); $$$$$$v->{(string) new m()}();
But to be serious, don't be worried, if you don't get it.
Monday, May 18. 2009
Today I released PHP_Depend 0.9.5, which contains many bug fixes and improvements. The main features of this release are PHP 5.3 namespace support and a more robust parser that ignores most kinds of syntax errors,
-
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 *NIX 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.
You can get the latest PHP_Depend version from its PEAR channel: pear.pdepend.org
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear install pdepend/PHP_Depend-beta
Saturday, February 21. 2009
Today I released PHP_Depend 0.9.4, which contains many bug fixes and improvements.
-
Fixed #92: Handling of types within instanceof-operator fixed.
-
Closed #90: Support for single file parsing/analyzing implemented.
-
Closed #88: Tokens provide information about the start and end column.
-
Closed #87: Support for type definitions within comments implemented.
-
Closed #40: Cli debug flag added. PHP_Depend will print additional debug information to STDERR when this cli switch is set.
-
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.
You can get the latest PHP_Depend version from its PEAR channel: pear.pdepend.org
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear install pdepend/PHP_Depend
Monday, January 19. 2009
Just now I released PHP_Depend 0.9.3, the primary goal for this release was focused on less memory consumption. A run of PHP_Depend 0.9.2 against eZ Publish took up to 1GB and PHP_Depend 0.9.3 analyzes the same source with a memory limit of 160Mb.
-
Fixed #89: The source file is never set for methods, properties and constants.
-
Closed #82: Tokenizer cache added, reduces runtime up to 25%.
-
Closed #83: Storage layer for node tokens added, reduces memory consumption. .
-
Closed #85: TextUI displays the execution time and the memory usage(linux only).
-
Code restructured, input filters and iterator moved to package "Input".
-
Test suite restructured to reflect the actual project structure.
From now on you will get the latest PHP_Depend version through the new pear channel pear.pdepend.org, for a few weeks I will keep the old pear channel. Enter the following pear commands to upgrade PHP_Depend's channel.
mapi@arwen ~ $ pear channel-discover pear.pdepend.org
mapi@arwen ~ $ pear uninstall xplib/PHP_Depend
mapi@arwen ~ $ pear install pdepend/PHP_Depend
Or checkout version 0.9.3 from the PHP_Depend subversion repository.
mapi@arwen ~ $ svn co http://svn.pdepend.org/tags/0.9.3
Friday, January 2. 2009
This is a bug fix release of PHP_Depend. Version 0.9.2 fixes bug #84, which could result in a failure for all PHP versions lower than 5.3.0alpha2.
You can get the latest PHP_Depend version through its PEAR channel pear.xplib.de or as a subversion checkout of the 0.9.2 tag.
Please do not checkout "trunk", it is totally unstable at the moment and I will not provide any support for it.
mapi@arwen ~ $ svn co http://svn.pdepend.org/tags/0.9.2
Wednesday, December 31. 2008
Just now I released PHP_Depend 0.9.1, the major feature in this new version is an implementation of the NPath Complexity metric, beside that feature the main focus for this release was on performance improvements of the current implementation.
-
Closed #21: Support for the NPath Complexity metric.
-
Fixed #78: Parser fails for comment in function signature.
-
Closed #79: Token objects instead of arrays.
An additional test concept was introduced with the 0.9.* branch of PHP_Depend. Nightly builds test PHP_Depend against a series of open source projects to detect deadlocks like endless loop or similar issues. This procedure is also used to test each release candidate of PHP_Depend. The tested project are:
You can get the latest PHP_Depend version through its PEAR channel pear.xplib.de or as a subversion checkout of the 0.9.1 tag.
Please do not checkout "trunk", it is totally unstable at the moment and I will not provide any support for it.
mapi@arwen ~ $ svn co http://svn.pdepend.org/tags/0.9.1
Monday, December 15. 2008
Today I released version 0.9.0 of PHP_Depend. Beside bugfixes this release contains new features like a PHPUnit compatible xml-log.
-
Closed #43: An image file name "jdepend" now results in "jdepend.svg" instead of ".svg".
-
Closed #42: Print a warning when the analyzed directory does not contain source files.
-
Closed #35: Support for custom svg font-family and font-size added.
-
Closed #32: Support for function and method parameters added.
-
Fixed #30: Approximated Lines Of Code improved.
-
Closed #20: Support for class constants implemented.
-
Closed #19: PHPUnit compatible logger added.
-
Fixed #17: Detect class names in catch statements.
-
Fixed #16: Detect class names in instanceof expressions.
-
Fixed #46: Default package is broken.
You can get the latest PHP_Depend version through its PEAR channel
mapi@arwen ~ $ pear channel-discover pear.xplib.de
mapi@arwen ~ $ pear install xplib/php_depend
or as a subversion checkout of the 0.9.0 branch or tag. Please do not checkout "trunk", it is totally unstable at the moment and I will not provide any support for it.
mapi@arwen ~ $ svn co http://svn.pdepend.org/branches/0.9.0
mapi@arwen ~ $ svn co http://svn.pdepend.org/tags/0.9.0
Feel free to report issues, bugs or just leave a comment here.
Friday, December 12. 2008
Are you also tired of all those monotonous and boring source code you read or write every day? No new challenges, always the same constructs and expression, must that really be so?
Fortunately do you use a programming language that comes with a wide range of opportunities to solve identical tasks in various ways. And here is a simple tip how you can bring variety in your source code with a single expression. Just use the whole range of valid new-expressions and donate your colleagues, customers and other persons with that varied and exciting christmas source code. A simple new MyClass () recognizes and understands finally everyone on the first glance
<?php new self; new static; new clazz; new self::$class; new static::$class; new self::${'class'}; new static::${'class'}; new self::$$class; new static::$$class new self::$${'class'}; new static::$${'class'}; new $class; new $$class; new ${'class'}; new $${'class'}; new $obj->class; new $obj->${'name'}; new $obj->$${'name'}; new $obj->{'class'}; new $obj->$$class; new php_ast_Parser; new php\ast\Clazz; new \php\ast\Clazz; ?>
You should also vary the embedded expression which increases the number of possible solutions
In this sense, a lot of fun and a nice weekend...
Wednesday, September 10. 2008
I recently released a bugfix version of phpUnderControl. Beside some minor view errors like the odd/even rows problem, the 0.4.4 release of phpUnderControl fixes a bug in the new merged phpunit logs feature, which doesn't cause CruiseControl to fail for such builds.
Sunday, June 22. 2008
If you like commit mails as I do, you can subscribe to the commit mailing list. Simply send an email to commits-join@pdepend.org or register thru the online interface.
If you have any PHP_Depend related questions, tips or suggestions, subscribe to the PHP_Depend user mailing list by mail users-join@pdepend.org or use the online interface.
Enjoy PHP_Depend!
Manuel
Monday, April 14. 2008
I just arrived from my job and I found this shiny, new Zend PHP5 Certificate in the mailbox.
|