PHP-7 Syntax support

@jaapio jaapio released this May 22, 2016 · 17 commits to master since this release

Most important issue that was solved in this release is the upgrade of php-parser to be able to handle php-7 syntax. Phpdocumentor is now able to parse files using php 5.5+ syntax, but will not process any of the new key words to documentation.

Beside the mentioned parser update a number of small issues are solved in this release.

  • Pear install on windows should work from now.
  • Improved error reporting messages
  • Silent mode was restored. phpdocumentor will not produce any output when --quiet flag is used.
  • @See rendering is improved for clean template.
  • Resolved issues with @inheritDoc that was not working as expected for interfaces.


Bug fix release

@mvriel mvriel released this Jul 28, 2015 · 573 commits to develop since this release

In this release we have fixed a few minor yet oh so annoying bugs. The one that stands out is #1339, which will prevent misplaced errors from occurring that tell the user that only one @package tag is allowed.


Bug fixes

@mvriel mvriel released this Feb 22, 2015 · 580 commits to develop since this release

FIXED:     Self-update for PHAR files
FIXED:     Log now shows which elements do not have a summary
FIXED:     When omitting markers the code now automatically picks TODO and FIXME
FIXED:     Missing assets in new-black and abstract template
FIXED:     phpDocumentor will error if the iconv extension is missing.


Hotfix: Phar distribution show a fatal error

@mvriel mvriel released this Nov 11, 2014 · 613 commits to develop since this release

In version 2.8.0 we had tried to fix an issue where people with a custom vendor dir could not use the phar distribution by allowing phpDocumentor to scan the composer.json in the current working directory if no other sources could be found.

This introduced a fatal issue where if you tried to use the phar distribution of phpDocumentor from a folder with a composer.json that it used that composer.json to autoload its library files. This of course caused a fatal error.

This hotfix release is all about reverting the offending change; after this the fatal errors caused by this are history.

Our apologies for the inconvenience and have fun documenting!


In version 2.7 there were a few fatal errors that happened in specific situations (as usual with bugs) and some changes were done to make integration with composer easier.

The most significant addition would be a new command line option --cache-folder with which you can tell phpDocumentor to write the cache files to a specific location. This is awesome if you want to keep your cache and docs separate or when setting up a Continuous Integration environment.

The second most interesting is the self-update command for the Phar installation for phpDocumentor. With this we follow in the footsteps of composer by adding the means to easily update your phar file an exchange it for a newer version of phpDocumentor.

What's next

A few days ago Mike van Riel posted a blog post ( where he unveiled the changes that he is working on; combine that with the awesome contributions that we receive from the community means that interesting things are waiting on the horizon.

The changes that Mike is working on (which he lovingly dubbed Operation Blue Lightning) are meant to speed phpDocumentor up by a more than significant amount by refactoring some of the architecture of phpDocumentor. This will quite surely take more than the usual six weeks that we use per release and as such we will release version 2.9 as soon as Mike has finished his work on Blue Lightning.

Progress of this release can be tracked using a milestone that was created for this purpose: Lightning.

Happy hacking and until next time!

ADDED:     Argument "--cache-folder" to indicate where the cache is stored
ADDED:     `phpdoc self-update` command to the PHAR archive to update phpDocumentor with a single command
FIXED:     #423: Error report in responsive and responsive-twig template should hide empty results and update error counter next to the filename.
FIXED:     #573: Visibility filters in 'responsive' and 'responsive-twig' do not function properly
FIXED:     Several scrutinizer reported clean ups
FIXED:     If tmp was somewhere in path it would be incorrectly replaced
FIXED:     Several tests were added
FIXED:     It is now possible to install phpDocumentor using composer in a project using ZF 2.3 or higher
FIXED:     Fatal error: Call to a member function getParent() on a non-object in ConstantDescriptor.php
FIXED:     Fatal error: Call to a member function getParent() on a non-object in PropertyDescriptor.php
REMOVED:   Knp menu from composer.json because it was not used


Example tag, test coverage, bug fixes and improved Vagrant Setup

@mvriel mvriel released this Aug 20, 2014 · 778 commits to develop since this release

phpDocumentor version 2.7 is here. In this release we have fixed various issues that have been reported and thanks to an amazing Testfest in Amsterdam the Code Coverage has risen with at least 8%! A huge thanks to all who participated there.

In preparation for Testfest we have switched the provisioning of the development machines to use Ansible instead of puppet and made some parts optional (such as profiling and doc generation), making it a lot easier to use the virtual machine.

Something which is not reflected in the changelog below is that we have automated the deploys of the phpDocumentor website and the releases for phpDocumentor itself. In the past a release took several hours to prepare and execute, now we can do 75% of it within 15 minutes. I hope that we can automate the remaining bit as well but that is something for the future.

For a complete list of changes, see the changelog below and enjoy the new version!

ADDED:     A new writer that outputs a statistical extract from the collected data
ADDED:     Windows support for Ansible playbooks
ADDED:     8% to 10% Code Coverage thanks to #testfest 2014
ADDED:     #1347: Support for custom Vendor folders
ADDED:     Plugins can now be configured using parameters.
ADDED:     Complete support for @example
ADDED:     NamespacePrefix to LegacyNamespaceConverter plugin
FIXED:     Fatal error in MethodDescriptor when a parent was incorrectly called
FIXED:     Notice in '@see' handling
FIXED:     #1349: Configuration file was not found in working directory
FIXED:     Phing integration by re-instating the bootstrap class
FIXED:     Fixing type inference and variable length issues
FIXED:     Whether a method is inherited is shown again in XSL-based templates
FIXED:     Various minor bugs that became visible during the writing of tests
FIXED:     #1390: Source code paths were incorrect if the source was in folder
FIXED:     #1341: Icons in clean template were shown incorrectly
FIXED:     #1331: Not all validations were properly shown
FIXED:     #1077: Spaces in a path won't trip up libxml anymore
CHANGED:   Changed reference to deprecated Parsedown method parse() to text()
CHANGED:   Completely replaced Puppet with Ansible to provision contributor VMs
CHANGED:   Simpler provisioning for generic contributors; to do profiling
           another task is now needed
CHANGED:   Docs no longer refer to Short Description or Long Description but to
           Summary and Description per PSR-5


Hot-fix crashes

@mvriel mvriel released this Jul 9, 2014 · 972 commits to develop since this release

BREAKING: With 2.6.0 we inadvertently introduced crashes; here are the fixes!

FIXED:     #1330: Fix crash when assembling package tags
FIXED:     #1326: Fix crash while generating routes in Twig templates