Xdebug Update: February 2020
Another month, another monthly update where 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. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.
In February, I worked on Xdebug for just over 75 hours, on the following things:
PHP 8 Compatibility
Although PHP 8 is no where near being released, I am keeping Xdebug's master branch in line with PHP's master branch. A few features have been added to PHP 8 that ended up breaking some code and tests, and some additions to the PHP DOM extension required work on upgrading test cases. When PHP 8 comes out, I am intending to have Xdebug ready to go with it. Hopefully, that will be Xdebug 3.0.
dbgpClient and dbgpProxy
I have now finished work on early-release versions of a DBGp Client (dbgpClient) and DBGp Proxy (dbgpProxy). These tools are written in Go, and binaries can be downloaded from the download page. Source code is not yet available, but I am intending to open that at some point in the near future.
For Xdebug Cloud I can no longer have the debugging protocol going over the network unencrypted. I am therefore working at including SSL support in Xdebug, as well as in the dbgpClient and dbgpProxy tools. The tools already have support as it was easy to add that in Go, but Xdebug does not yet. I've done research and selected BearSSL to provide this.
Asynchronous Debugging Support
Robert Lu has been working on asynchronous support in Xdebug's debugging protocol for a while, the #1016: Support for pause-execution issue. After extensive testing, review, and reworking of the patch by Robert and I, this patch finally landed in Xdebug. The asynchronous support allows you to pause scripts while they are running without a breakpoint to have been hit. This feature needs support in a debugging client, which actively needs to opt into this behaviour. The new dbgpClient from the previous section supports this.
I will be working with purveyors of IDE to also include "pause-exection" in their feature set.
Business Supporter Scheme and Funding
In February, a few new supporters signed up. They are:
Supermetrics, Private Packagist, and CHECK24.
Thanks!
If you, or your company, would also like to support Xdebug, head over to the support page!
Besides business support, I also maintain a Patreon page and a profile on GitHub sponsors.
Podcast
The PHP Internals News continues its second season. 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. In the first episode I spoke with Nikita Popov about Preloading and WeakMaps.
Life Line
Updated a restaurant
Updated a restaurant
On the lookout.
A Common Reed Warbler perched on a reed branch.
@beasts Is your ns1 doing OK? I am getting warning from monitoring that it is timing out and having different results than ns2.
Updated a restaurant
I walked 8.5km in 1h50m50s
I consider myself a decent photographer, but then you find out about the likes of Angel Fux (https://www.angelfux.com/portfolio), and I would like to crawl into a hole.
Better alignment from multiple GPS tracks for QE II Garden (and removed duplicated node)
After two busy days doing elections stuff, I spent yesterday looking at birds, in a nature reserve to relax and recharge.
I saw some cracking birds, with these being my favourite shots.
#BirdPhotography #photography #BirdsOfMastodon #Nature #London
I walked 8.0km in 1h26m01s
Updated a restaurant
Updated 3 bird_hides; Confirmed 2 informations and a toilet
I walked 7.0km in 3h10m47s
This map was mostly red yesterday.
I'm glad we managed to win all the wards we've targeted.
However, no overall control, and two parties with the same amount of seats in second place.
I walked 2.2km in 41m46s
I walked 1.9km in 19m17s
I've spend most of my time outside polling telling today, taking down poll card numbers so we don't need to chase people up to go vote.
I have made several observations:
Updated a restaurant
I walked 12.1km in 2h3m04s
I walked 1.1km in 9m46s
I walked 1.2km in 10m31s
Updated a waste_basket
Created 11 benches, 2 life_rings, and 3 other objects; Updated 8 benches and a waste_basket; Deleted a bench and a log; Confirmed a cafe
I walked 7.8km in 1h52m27s
Tomorrow we have elections in the UK!
Lots of local authorities, all London Councils, the Welsh Senedd, and the Scottish Parliament.
Don't forget to vote if you have the right.
I get to vote for myself again 😎.




Shortlink
This article has a short URL available: https://drck.me/xdebug-20feb-fio