Xdebug Update: July 2025
In this monthly update I explain what happened with Xdebug development.
GitHub and Pro/Business supporters will get it earlier, around the first of each month.
In the last month, I spend around 14 hours on Xdebug, with 23 hours funded. I went on a holiday!
Xdebug 3.4
In the first half of the month, I finished fixing the complicated issue with fibers and path coverage that I wrote about last month. This resulted in the release of Xdebug 3.4.5. This release also addresses an issue where Xdebug called the code backing a property, resulting in the hooked property's value to change.
PHP 8.5
In the remained of the month, I looked at how best to support PHP 8.5's new pipes. These allow you to chain method calls together. Due to this, there is no intermediate value that you can look at in the debugger.
I have created a patch for PHP which introduces intermediate steps which Xdebug can use with a patch to then visualise the values being send to the next pipe stage.
Right now, this only works for non-closure-wrapped pipeline stages, and more work is necessary to make this work all nicely. There is some time before PHP 8.5 comes out though.
Native Path Mapping
I have started to implement that lines, files, and directories can be mapped as "skip" — i.e., consider there to be just no code at this location, and hence don't initiate a breakpoint then. I ran into trouble here, as the data-structures that I keep to remember mappings can not handle this. It was only possible to skip single lines with this, but not files (or directories) — which is what I was testing it with. Stay tuned!
Xdebug Videos
I have created no new videos in the last months, but I did add some to the Xdebug documentation as related content for function tracing, to demo flamegraphs.
All Xdebug videos can be watched on my channel.
If you have any suggestions, feel free to reach out to me on Mastodon or via email.
Business Supporter Scheme and Funding
On GitHub sponsors, I am currently 42% towards my $2,500 per month goal, which is set to allow continued maintenance of Xdebug.
If you are leading a team or company, then it is also possible to support Xdebug through a subscription.
In the last month, no new business supporters signed up.
Besides business support, I also maintain a Patreon page, a profile on GitHub sponsors, as well as an OpenCollective organisation.
If you want to contribute to specific projects, you can find those on the Projects page.
Xdebug Cloud
Xdebug Cloud is the Proxy As A Service platform to allow for debugging in more scenarios, where it is hard, or impossible, to have Xdebug make a connection to the IDE. It is continuing to operate as Beta release.
Packages start at £49/month, and I have recently introduced a package for larger companies. This has a larger initial set of tokens, and discounted extra tokens.
If you want to be kept up to date with Xdebug Cloud, please sign up to the mailing list, which I will use to send out an update not more than once a month.
Likes
Life Line
Created a bench and a crossing
Created 2 benches and a crossing; Updated 5 cushions, a post_box, and a crossing
Created a crossing; Updated a cushion
If you were wondering whether the www.php.net & downloads.php.net services weren't responding very well in the last 6 hours — thousands of requests/sec to https://www.php.net/ 's root.
The server's load was 720, didn't die, but CDN connections to it timed out.
Now there is a caching strategy in place for a selected set of resources.
Updated a bench
Created 3 benches; Updated 10 benches
Updated a bench
Updated a bus_stop
Created a bench and a waste_basket; Updated 6 bus_stops and a crossing
Created 2 waste_baskets and a recycling; Updated 2 bicycle_parkings and a recycling
Updated a fast_food, a funeral_directors shop, and 2 other objects; Confirmed a fast_food and a hairdresser shop
Created an information; Updated 3 benches and 2 waste_baskets
Updated 2 benches and a waste_basket
Updated a bench
Created a waste_basket and an information
Created a waste_basket
I hiked 18.0km in 4h1m52s
I walked 1.4km in 17m19s
I walked 4.5km in 1h21m49s
I just made and ate, a bowl full of bacon fried Brussels Sprouts. Not under duress, and out of my own free will.
Added new residential building
Created a hairdresser shop; Confirmed a convenience shop and a dry_cleaning shop
Created a building_materials shop, a vacant shop, and 4 other objects; Confirmed a hairdresser shop, a cafe, and 2 other objects
I walked 8.3km in 1h33m44s



Shortlink
This article has a short URL available: https://drck.me/xdebug-25jul-jjg