State of the Bird June 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
doing 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 June 9th 2025 and can be found here.
Like last month, things have been a bit slower due to summer but because of some other stuff we’ll get into shortly.
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
- We’ve federated our Discourse server so all news and releases will automatically get posted via Activity Pub! Announcement
Pidgin 3
Retrospective
Not a whole lot happened with Pidgin 3 this month as we had our focus on other projects.
Updates
- Disabled the SIP protocol plugin by default as we determine how to proceed.
- Removed the old versioned API from the IRCv3 protocol.
- Removed some unused purple_markup API.
- Updated the flatpak to GNOME 48.
Releases
- 3.0.0 Experimental 3 (2.92.1) was released on 2025-06-30 Release Announcement
We did originally rlease 2.92.0 but I noticed immediately when I went to update the flatpak that I forgot to update the version in the metadata file so we had to cut 2.92.1 right away to address that.
Future Plans
- Finish up the conversation persistence that we were trying to get into Experimental 3.
- Determine how to proceed with the SIP protocol plugin. We’re probably going to create yet another library to handle it.
- After conversation persistence is done, we need to add persistence to the contact list as well.
- Get Hiya to a usable state.
As always, you can view the burn down chart here.
Pidgin 2
We have decided that we’re going to do a 2.15.0 release. The decision and announcement can be found here.
Retrospective
- Added support to display protocols, loaders, and other “hidden” plugins in the plugins list but made them not unloadable.
- Fixed log viewing for protocols that are no longer loadable.
- Removed the “retro” protocols plugins. The ones that still existed have been moved to the new retro-prpl project.
Releases
None yet, we’re trying to finalize some things before releasing 2.15.0.
Future Plans
We’re still working on updating the versions of GLib and GTK for the windows build as well as creating an official pre-built development bundle/SDK.
GPlugin
GPlugin is our GObject based plugin library that is used in Pidgin 3.
Retrospective
No notable changes
Releases
None
Future Plans
GPlugin is pretty stable at the moment but there’s quite a lot of maintenance stuff to get too, but it’s not as high of a priority as the other stuff at the moment.
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.
Retrospective
- We fixed our error domains which were not implemented in a way that would work in language bindings.
Releases
None
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.
Retrospective
No notable changes
Releases
None
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.
Retrospective
No notable changes
Releases
None
Future Plans
Continue working through the open issues and watching new IRCv3 specifications for things we should be including.
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.
Retrospective
- Added aliases for columns.
- Added support for binding objects.
- Added support for retrieving columns from objects.
- Added support for creating statements from resources.
- Added API for date times, enums, and flags.
- Fixed a bug were non prefixed parameters would match even though a prefix was specified.
Releases
- 0.4.0 was released on 2025-06-24 Release Announcement
- 0.5.0 was released on 2025-06-27 Release Announcement
Future Plans
We have a few features to fill out yet and a few ideas that need a bit more time in the oven.
More specific details can be found in our open issues.
Traversity
Traversity is a new library for traversing NATs. There are many different ways to traverse a NAT and the goal of Traversity is to hide that from developers who just need to traverse a NAT.
It is still early in development and has not yet had an official release.
retro-prpl
retro-prpl is a new repository we’ve created on GitHub. This repository contains all of the abandoned protocols that have ever lived in our code base and is meant to make them easier to study and for people to use with services like Retro AIM Server and NINA.
Retrospective
We’ve wrapped up just about all the development here and are just waiting for Pidgin 2.15.0 before releasing.
Releases
None
Future Plans
Right now we didn’t add any support for protocol specific emojis because we completely forgot about them. Anyways we’re looking at creating a custom emoji theme that will include everything for these retro protocols.
Closing
We hope you all are enjoying the new format and if you have any questions of comments please leave them below!