What's your favourite new feature in 2.2.0?
When I joined the project, back in 2001, we were just starting to talk about something we have called the core/UI split. The goal of this was to end up with something that we could connect to no matter where we are.
Though the precise details have changed, I see the current libpurple as the realization of that goal. Along with 2.0.0 we released finch, a new client, based on libpurple, but written in ncurses, a library for creating text mode interfaces, and not in GTK+. This means that finch can be run from inside of screen, and that I can connect to that screen session (and thus see finch) from any computer that I can ssh from.
In 2.1.1 we merged in Eric Polino's Summer of Code work introducing sound support for finch. This really, from my perspective, completed the set of things I need, from here on out it is candy and bug fixing.
In 2.2.0 we added the support to remember from instance to instance which conversations I had muted and which I did not. Pure candy, the ability does nothing that is absolutely necessary. But it is hands down my favourite change in 2.2.0, making the sound support introduced with 2.2.0 even easier to use.
Are you still working on a big backlog of bugs post-2.2.0 release, or is it starting to get under control?
Bugs are an ongoing problem. We closed a tremendous number for the 2.2.1 release, and yet more remain. This is largely a function of the fact that we are always moving forward, and that with any new feature comes new bugs.
It also comes from the fact that we run on so many different systems, and that many bug reports come without all the information we need to be able to track them down. Right now, out of 874 open bugs, 29 are marked "Pending," which means that we need more information, and that if the user does not provide that within 14 days of us marking the issue "Pending," it will be automatically closed. Every night tickets close for this reason. 306 of those nearly 900 tickets are enhancement requests. Many of these will never be closed, either because we disagree about how desirable something is (and we cannot accept every feature request, it would lead to Pidgin and Finch being absolutely MASSIVE programs that would be unusable for everyone), or because we do not have the time to work on that feature.
Patches are absolutely vital for any open source project. 37 of the open tickets represent patches. I would feel worse if these were to sit around and increase in number than about the 500 or so open bugs. Patches come in all types, from those we accept on the stop, to those we ask for changes to, from those that fix a bug to those that implement something like file transfer for AIM. When I, or another developer, suggests that someone write a patch, we are absolutely serious. We accept patches with every release. In some releases, the patches we have accepted make a larger impact than the things we have done ourselves.