Xdebug Update: June 2020
Another monthly update where I explain what happened with Xdebug development in this past month. These 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 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 June, I worked on Xdebug for about 100 hours, with funding being around 70 hours. I worked mostly on the following things:
Xdebug 3
I spent most of my time this month on Xdebug 3. In the first week I made a few changes around the way how you enable specific features. In Xdebug 2, each feature can be turned on at the same time (such as through xdebug.remote_enable, and xdebug.profiler_enable). In Xdebug 3 this has now changed to a single setting xdebug.mode which for step debugging and profiling would have the values debug and profile respectively.
I am also in the process of renaming things to have a more logical meaning. For example I renamed the filter constants XDEBUG_NAMESPACE_BLACKLIST with XDEBUG_NAMESPACE_EXCLUDE. I will continue to rename things on the way towards Xdebug 3, with things such as the xdebug.remote_host likely to become something like xdebug.ide_hostname. I am also hoping to reduce the amount of settings in general.
By separating out the modes and being able to turn them on with one setting, it becomes clearer that it is best not to have all the functionality turned on by default. During the rest of the month I've split out Xdebug's internals so that it is much easier to enable specific information gathering only when it is actually necessary. This should improve performance drastically.
Because Xdebug has lots of old code in it, some of it is still optimised for PHP 5. A new, and more performant, way of handling strings was introduced in PHP 7, but Xdebug has not yet switched over to that new data type. This is what I am currently trying to finalise. Once that is done, I hope to see a performance boost already. Stay tuned for some benchmarks on this.
The upgrade guide has more information about all the changes that are coming to Xdebug 3, but please be aware that these changes are preliminary, and could still change.
Xdebug Cloud
I worked on Xdebug Cloud only a little. I have also been in contact with JetBrains to evaluate how PhpStorm could connect to Xdebug Cloud without requiring a separate (local) proxy service. If you've signed up to the Xdebug Cloud mailinglist I'll let you know as soon as something can be tried-out.
Business Supporter Scheme and Funding
In June, no new supporters signed up.
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.
Life Line
I've finished reading Children of Memory, the third book in the series.
Another interesting take on forms of intelligent life.
A fourth one is going to get released later this year.
Updated a post_box, a beauty shop, and a restaurant; Confirmed 2 clothes shops, 2 pet shops, and a restaurant
I walked 5.9km in 1h40m39s
Updated a bicycle_parking
Updated 2 waste_baskets
I walked 7.9km in 1h37m12s
Created 3 waste_baskets; Updated 3 bus_stops, 2 benches, and 2 waste_baskets
I walked 8.1km in 1h25m53s
I walked 1.2km in 9m31s
I walked 9.4km in 1h39m05s
Merge branch 'xdebug_3_5'
Merged pull request #1071
Fixed issue #2411: Native Path Mapping is not applied to the initial …
Created 2 waste_baskets; Updated 3 waste_baskets, 2 benches, and 2 other objects; Deleted a waste_basket
I walked 7.9km in 1h45m36s
RE: https://phpc.social/@phpc_tv/116274041642323081
Now that phpc.tv and phpc.social are part of the same umbrella, I've upped my yearly contributions to their Open Collective: https://opencollective.com/phpcommunity/projects/phpc-social
Merge branch 'xdebug_3_5'
Merged pull request #1070
I walked 7.2km in 1h10m26s
Fixed issue #2405: Handle minimum path in .xdebug directory discovery
I've published a new blog post: "Human Creations", on the difference in content generation by LLMs, and the creation of text, art and code by humans.
You can find it at https://derickrethans.nl/human-creations.html or at @blog
I walked 7.8km in 1h38m32s
RE: https://phpc.social/@afilina/116274024588235234
It's good to see that more and more people are realising that the Web can be for-good, without all the enshittification.
That's why I'm happy to see endeavours like phpc.tv springing up, and helping out where I can.
Taking back the control of how the Web is for people, by people, without big tech making it all shit.
Created a waste_basket; Updated 5 crossings and a bicycle_parking
I walked 10.7km in 2h35m10s


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