In my last post I explained how to build a development version of a pecl extension. Now we will go through the bug lifecycle in the pecl/memcache extension. Besides writing the actual C code to fix the bug, it is considered a best practice to write a test that verifies the bug has been fixed. I will use PECL bug #16442 - memcache_set fail with integer value as an example, even though it is already been fixed.
I sometimes help update the PHP documentation. I have not done it in a while since I started maintaining pecl/memcache. However, there was a recent bug submission where I felt the documentation for pecl/memcache should be updated. A lot of work has been done to the documentation tools since I last updated documentation. I went to http://doc.php.net for a quick primer on how to generate some new documentation output so I could test my changes and found the documentation for generating documentation a little hard to follow.
I just released memcache versions 2.2.6 and 3.0.5 in PECL. The 3.0.5 release fixed the delete weight bug that prevented people from upgrading to the latest version of the memcached daemon. I know this was a major issue for many shops and I hope it will allow people to continue to use the 3.0.x branch as we try to finish the non-blocking i/o changes.
These two releases are my first releases as part of the development team working on PECL memcache and the first releases in almost 20 months. I took over, along with Pierre-Alain Joye, when Antony Dovgal and Mikael Johansson went inactive back in March 2010. As luck would have it, I suddenly became busy myself. Inheriting a project, especially one that is half-done, takes quite a bit of time to get comfortable with. The 7 months since I have started have flown by and I wish I had gotten more done. Now that some critical bug fixes are out of the way, I hope to focus more on the non-blocking i/o branch development.
Pierre and I are working on a roadmap that focuses on getting much of the 3.0.x code into a stable state. The 2.2.x branch will probably not see any new development, but will continue to be maintained with bug fixes.