State of the Bird April 2025
The State of the Bird is a recap of what has been happening in the project.
We used to do these quarterly as an interactive live stream, but we’re now
aiming to do these as a monthly posts instead.
You can find the playlist with all of the old videos on YouTube.
Retrospective
Our last State of the Bird was February 15th 2024. So it’s been a bit since the
last one, but we’re hoping the new format will make these easier to put
together.
To help bring everyone up to speed we will be covering the past 6 months in this State of the Bird.
Metrics
We have a number of metrics we keep an eye on which you can see below.
Contibutors
Our number of contributors continues to average around 3 per month and we are still seeing some casual contributors popping up from time to time.
Review Requests
Review requests are what we call our code reviews and this is a look at how many were open and closed each month.
Issues
This is a look at the number of issues that were opened in our issue tracker as well as how many were closed by month.
Commits
This is a break down of commits to each project per month. In most cases a review request is just a single commit, but this chart helps to see what projects are being worked on.
Infrastructure
The biggest change in our infrastructure was that we’ve deployed Anubis in front of reviews.imfreedom.org and keep.imfreedom.org. This has finally solved the bot issues we’ve been dealing with for months.
We also started messing around with WebFinger protocol in the event that we want to move the Pidgin mastodon account. We’re looking at hosting a simple instance for it and breaking it up into separate accounts for general posts, announcements, and support. If you have any thoughts here, please comment below!
Aside from those things, we’ve just done our normal patching/updating for everything.
Pidgin 3
Development of Pidgin 3 has been progressing as it is our primary focus. We’ve created a few more libraries to help with things which we will discuss later.
Gary has been using Pidgin 3 for IRC since June which has helped find bugs and drive features, but we were hopping to have another usable protocol working by now, but that still hasn’t happened.
Releases
We’ve had 3 Pidgin 3 releases in the past 6 months.
We also declared that we would be doing quarterly releases moving forward. These releases will continue to be “Experimental” meaning that they’re meant for tinkerers and developers. If we need to do additional releases before the next experimental release because of bugs or what have you we will do them as micro releases.
- 3.0.0 Experimental 1 (2.90.0) was released on 2024-12-31 Release Announcement
- 2.90.1 was released on 2025-01-01 Release Announcement
- 3.0.0 Experimental 2 (2.91.0) was released on 2025-03-31 Release Announcement
We are also publishing a Flatpak on Flathub Beta. We announced that over here.
Future Plans
Experimental 3 is scheduled to be released 2025-06-30. We are currently working towards the following goals for it but they are subject to change:
- Implement Link Local Messaging (Bonjour)
- Implement Direct Messaging on XMPP
- Implement SIP/SIMPLE
We also have a burn down chart that you can view here.
Pidgin 2
Pidgin 2 is of course still in maintenance mode which means we’re not actively adding any features, but as always we’ll continue to do releases as long as there are critical bug fixes.
Releases
- Pidgin 2.14.14 on 2025-01-22 Release Announcement
GPlugin
GPlugin is our GObject based plugin library that is used in Pidgin 3.
There haven’t been any notable changes in GPlugin since the last update.
HASL
HASL is the Hassle-free Authentication and Security Layer library. It implements SASL in a modern and easy use way compared to the existing libraries.
Releases
- 0.4.0 was released on 2025-01-13 Release Announcement
Future Plans
We have been in the progress of implementing the SCRAM Mechanisms which will be included in the next release.
Birb
Birb is a library of GLib utilities that we use across all of our projects.
Releases
- 0.3.0 was released on 2025-01-15 Release Announcement
- 0.3.1 was released on 2025-01-16 Release Announcement
Xeme
Xeme is our XMPP integration library. It is the basis for both the Link Local Messaging (Bonjour) and XMPP protocols in Pidgin 3. It is still early in development and has not yet had a release.
Ibis
Ibis is our IRCv3 integration library. It has seen a lot of active development as it is used in the IRCv3 protocol plugin in Pidgin 3.
We are nearing known feature completion on it and expect to do a 1.0 release in the near future.
Releases
- 0.11.0 was released on 2025-01-17 (whoops forgot to announce this release)
- 0.11.1 was released on 2025-02-01 Release Announcement
- 0.11.2 was released on 2025-02-03 Release Announcement
- 0.12.0 was released on 2025-03-14 Release Announcement
- 0.13.0 was released on 2025-03-30 Release Announcement
- 0.13.1 was released on 2025-03-30 Release Announcement
- 0.14.0 was released on 2025-04-30 Release Announcement
Hiya
Hiya is a new client abstraction library for mDNS. It was created to help make implementation of the Link Local Messaging protocol easier as we would have to abstract out the different platform implementations and by putting it in a library that abstraction can be used by other projects.
Hiya has not yet had a release.
Myna
Myna is a new integration library for Matrix. It is still extremely early in development.
Seagull
Seagull is a new library we created to make working with SQLite feel more like a GLIB/GNOME library and force usage of prepared statements with named parameters and other similar things.
Releases
- 0.1.0 was released on 2025-02-06 Release Announcement
- 0.1.1 was released on 2025-02-06 Release Announcement
- 0.2.0 was released on 2025-02-10 Release Announcement
- 0.3.0 was released on 2025-03-22 Release Announcement
Future Plans
Our next features include being able to bind an object to a prepared statement as well as binding the results of a prepared statement back to an object.
Closing
We hope you all are enjoying the new format and if you have any questions of comments please leave them below!