Xdebug Update: June 2019
This is another of the monthly update reports in which I explain what happened with Xdebug development in this past month. It will be published on the first Tuesday after the 5th of each month. Patreon supporters will get it earlier, on the first of each month. You can become a patron here to support my work on Xdebug. More supporters, means that I can dedicate more of my time to improving Xdebug.
In June, I worked on Xdebug for 20 hours, a little bit less than normal as I spend some time on holidays and conferences. I worked on the following things:
2.8.0alpha1 Release
I made the 2.8.0alpha1 release just when the month was running out.
This alpha release adds preliminary support for PHP 7.4, but also addresses some other issues. It also includes a major overhaul on how I do SKIPIF sections in the phpt tests that I used to test Xdebug.
Instead of having complicated sections such as:
<?php if (!version_compare(phpversion(), "7.0.12", '>')) echo "skip > PHP 7.0.12, < PHP 7.1 needed\n"; ?>
<?php if (!version_compare(phpversion(), "7.1", '<')) echo "skip > PHP 7.0.12, < PHP 7.1 needed\n"; ?>
<?php if (!extension_loaded('zend opcache')) echo "skip opcache required\n"; ?>
I now have:
check_reqs('PHP > 7.0.12,< 7.1; opcache');
This makes it a lot easier to maintain Xdebug's tests among multiple PHP versions. After all, I still support PHP versions since PHP 7.0—although I am considering dropping support for PHP 7.0 and only support PHP 7.1 and up.
This release also features the Resolving Breakpoints feature, which the folks at Jetbrains have sponsored. After their last review, I made a few modifications to run the resolver for newly set breakpoints as well. I am intending to create a separate blog post on what this new feature solves.
I also found an already existing bug with return breakpoints, where a return breakpoint would not cause a break immediately. A fix for this is also in the alpha1 release.
32-bit Support
I am considering to stop creating Windows binaries for 32-bit installations of PHP. It duplicates the amount of time that it takes to create Windows binaries, slowing down, testing on CI, and the creation of releases as it takes ~2 hours to build them all on AppVeyor.
The reasoning behind this is that very few people still use 32-bit Windows installations, and I am not sure it's still worth spending time on it. I ran a little Twitter poll about this.
Although even if I would drop 32-bit binary creations, users that still need these binaries can get them on the PECL website. PECL builds extensions for all the supported PHP versions, such as here for Xdebug 2.8.0alpha1
Podcast
I have been continuing with the PHP Internals News podcast. In this weekly podcast, I discuss in 15-30 minutes, proposed new features to the PHP language with fellow PHP internals developers. It is available on Spotify and iTunes, and through an RSS Feed. Let me know if you are a listener!
Life Line
Add the new Queen Elizabeth II garden.
Updated a bench and a crossing; Deleted 2 kerbs
Created 3 gates and a waste_basket
Created 6 benches
Created a bench; Updated 4 benches
Created 2 benches and a bicycle_parking; Updated a telephone and a waste_basket
Updated 2 restaurants and an address; Confirmed a restaurant and a fitness_centre
Updated a restaurant
Merged pull request #1077
PHP 8.6: Add new PHP version to Linux jobs for GitHub Actions
PHP 8.6: Switch INI_STR macros to zend_ini_string_literal
I walked 7.1km in 1h28m55s
Added the new Carlton Dene building (nearing completion)
Updated a fast_food
Created a bakery shop; Updated a cafe
Created a bicycle_parking; Updated 2 waste_baskets, 2 bicycle_parkings, and 2 humps
I walked 4.0km in 48m56s
I walked 1.1km in 10m42s
Created a bench and a waste_basket; Updated a bus_stop
Created 4 house buildings, an entrance, and an alternative; Updated a restaurant and a cafe; Deleted a waste_basket
I walked 7.1km in 1h30m54s
Updated a pub
I walked 7.1km in 1h31m14s
Fix gates
Created 2 gates

Shortlink
This article has a short URL available: https://drck.me/xdebug-19jun-evm