Become a Patron!

My Amazon wishlist can be found here.

Life Line

Xdebug Update: November 2022

In this monthly update I explain what happened with Xdebug development in this past month. These are normally published on the first Tuesday on or after the 5th of each month.

Patreon and GitHub supporters will get it earlier, around the first of each month.

You can become a patron or support me through GitHub Sponsors. I am currently 45% towards my $2,500 per month goal. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

In the last month, I spend 30 hours on Xdebug, with 24 hours funded. Sponsorships are declining, which makes it harder for me to dedicate time for maintenance and development.

Xdebug 3.2

I spend most of November fixing outstanding bugs for Xdebug 3.2, so that it is ready to be released when PHP 8.2.0 comes out at the start of December.

I also a fair amount of time triaging a crash bug with a segfault when code coverage in use, which is likely related to generators, but I haven't managed to fully check out yet. I did also find a use-after-free error that I have now fixed.

As part of this, I have released Xdebug 3.1.6 to address a compressed file writing bug on Windows, and Xdebug 3.2.0RC2 so that you are able to test Xdebug 3.2 with PHP 8.2 with all the outstanding bugs addressed.

Once Xdebug 3.2 gets released next week, support for PHP 7 and Xdebug 3.1 (and lower) will no longer be available. This of course does not mean that older versions of Xdebug are no longer available for download to use with legacy PHP versions.

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.

Previously Xdebug Cloud was only supported by PhpStorm, but the PHP Debug Adaptor for Visual Studio Code now also supports it.

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 mailinglist, which I will use to send out an update not more than once a month.

Xdebug Videos

I have published one new videos:

I have continued writing scripts for videos about Xdebug 3.2's features, and am also intending to make a video about "Running Xdebug in Production".

You can find all previous videos on my YouTube channel.

Business Supporter Scheme and Funding

In November, no new business 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, a profile on GitHub sponsors, as well as an OpenCollective organisation.

Shortlink

This article has a short URL available: https://drck.me/xdebug-22nov-hcs

Comments

No comments yet

Xdebug Update: August, September, and October 2022

In this monthly update I explain what happened with Xdebug development in this past month. These are normally published on the first Tuesday on or after the 5th of each month.

Patreon and GitHub supporters will get it earlier, around the first of each month.

You can become a patron or support me through GitHub Sponsors. I am currently 45% towards my $2,500 per month goal. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

I did not find the time to write this report in the last two months, sorry for that. So today I present you with a report for the last quarter.

In the last three months, I spend 63 hours on Xdebug, with 77 hours funded.

Xdebug 3.2

In the preceding months I worked on a few more specific PHP 8.2 issues, and generic bugs.

PHP 8.2 now presents __debugInfo() for closures, which means that Xdebug now no longer needs to emulate those itself. This does result in minor changes in the output that IDEs present for closures, but not with less information.

I also fixed nearly a dozen bugs. Some were related to the new return value debugging feature, or specific PHP 8.2 support.

A few more bugs are outstanding, and I intend to release Xdebug 3.2 when PHP 8.2.0 comes out at the end of November. I will also create one more Xdebug 3.1 release (3.1.6), to address a specific crash bug. Xdebug 3.2 will only support PHP 8.0 and later.

PhpStorm's latest 2022.3 EAP #5 release now has support for Xdebug 3.2's return value debugging, as well as a bunch of other new features to make it easier to set up Xdebug.

I have also decided to no longer actively test on 32-bit platforms on CI, which also means I will no longer be providing 32-bit DLLs of Xdebug on Windows.

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.

Previously Xdebug Cloud was only supported by PhpStorm, but the PHP Debug Adaptor for Visual Studio Code now also supports it.

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 mailinglist, which I will use to send out an update not more than once a month.

Xdebug Videos

I have published two new videos:

I have started writing scripts for videos about Xdebug 3.2's features, and am also intending to make videos about "Running Xdebug in Production" and "Debugging Worker Tasks with xdebug_connect_to_client()".

You can find all previous videos on my YouTube channel.

Business Supporter Scheme and Funding

In August, September, and October, no new business 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, a profile on GitHub sponsors, as well as an OpenCollective organisation.

Shortlink

This article has a short URL available: https://drck.me/xdebug-22oct-hbo

Comments

No comments yet

Xdebug Update: July 2022

In this monthly update I explain what happened with Xdebug development in this past month. These are normally published on the first Tuesday on or after the 5th of each month.

Patreon and GitHub supporters will get it earlier, around the first of each month.

You can become a patron or support me through GitHub Sponsors. I am currently 46% towards my $2,500 per month goal. If you are leading a team or company, then it is also possible to support Xdebug through a subscription.

In July, I spend 18 hours on Xdebug, with 32 hours funded. I have been on holiday, so was not be able to dedicate as much time as I wanted to.

Xdebug 3.2

Most of the work that I did on Xdebug was related to release the first two alpha releases of Xdebug 3.2, which add support for PHP 8.2, and drops support for PHP 7.2, PHP 7.3, and PHP 7.4. I do not enjoy dropping support for older PHP versions, but the additional time it costs to maintain older versions, and have their configurations run on CI, is not really worth my time. Of course, users of PHP 7.2 through PHP 7.4 can continue to use Xdebug 3.1. The guidelines of which PHP versions Xdebug supports is outlined in the documentation.

Now that PHP 8.2 itself has approached beta state, it was time to release the first alphas of Xdebug 3.2 as well. In the near future, when PHP 8.2 comes into their Release Candidates cycle, I will release beta versions of Xdebug 3.2 as well, with a stable release when PHP 8.2.0 comes out.

These alphas and betas are an excellent opportunity to try out Xdebug 3.2, as well as PHP 8.2, to see whether your projects support the latest PHP version, and how Xdebug 3.2 interacts with that.

The main new features in Xdebug 3.2 can now also be tested. And these include:

  • Support for PHP 8.2.

  • The step debugger now introduces an extra step when returning from a function, so that you can inspect the return value. This is supported in the PHP Debug Adapter for Visual Studio Code, but not yet in PhpStorm, although there is a ticket.

  • You can now configure a list of headers to scan for through the xdebug.client_discovery_header setting, instead of only being able to set one. The documentation for this is yet to follow.

  • The step debugger now supports the pseudo hosts xdebug://gateway and xdebug://nameserver as values to the xdebug.client_host setting. These pseudo-hosts instruct Xdebug to try to make a debugging connection to the default gateway and name server (as configured on Linux through /etc/resolv.conf and friends) respectively. The documentation for this is yet to follow too.

I am intending to create a video for each of these new features for my YouTube channel.

Course

The first lesson is now nearly fully edited, with just the "tech talk" section to finish. Beyond that, I will need to work on create a web site to publish this course too, so that you can take it. The course will consist of many chapters, with some of them being free.

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.

If you want to be kept up to date with Xdebug Cloud, please sign up to the mailinglist, which I will use to send out an update not more than once a month.

Xdebug Videos

I have published no new videos this month, but you can find all previous videos on my YouTube channel.

Business Supporter Scheme and Funding

In July, no new business 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, a profile on GitHub sponsors, as well as an OpenCollective organisation.

Shortlink

This article has a short URL available: https://drck.me/xdebug-22jul-h82

Comments

No comments yet