If you find Xdebug useful, please consider supporting the project.

2020-11-16

Xdebug 3.0.0RC1 is out!

This is a BETA release, and not ready for production environments.

Compared to Xdebug 3.0.0beta1, this release improve performance when a time source is not needed, and fixes various crash bugs. Although no more feature have been removed, the changelog of this release does document some features that were removed in 3.0.0beta1. The pause-execution support that was introduced in 3.0.0beta1 has been backed out.

In general, Xdebug 3 includes major changes in functionality compared to Xdebug 2. The primary way how you turn on functionality is through the new xdebug.mode PHP configuration setting. This made it possible to massively increase performance in many of Xdebug's sub systems as Xdebug is now much more conservative in which hooks are enabled.

Configuration changes, massive performance improvements, and PHP 8 support are the primary features in Xdebug 3, but there is much more. The upgrade guide lists the changes in great detail, and the there is (temporary) special sub-domain that hosts the Xdebug 3 documentation.

Please test Xdebug 3 for functionality. If you find a bug, please file a report at Xdebug's Issue Tracker — especially if it considers PHP 8 support.

I'm also interested to see what the performance optimisations have done for your specific situation. Please let me know on Twitter by tagging #xdebug3!

The full list of changes can be found on the updates page.

The source code can be found on the downloads page, and as usual, Xdebug is installable through PECL. Windows binaries can (shortly) be found on the PECL page.

This release also contains contributions by: Christoph Becker and Jakub Zalas — Thanks!