# State of the Bird February 2026

**URL:** <https://discourse.imfreedom.org/t/state-of-the-bird-february-2026/364>\
**Category:** Pidgin\
**Tags:** state-of-the-bird, news\
**Created:** [March 2, 2026, 5:13am UTC](https://discourse.imfreedom.org/t/state-of-the-bird-february-2026/364 "2026-03-02T05:13:05Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![grim](https://yyz1.discourse-cdn.com/flex007/user_avatar/discourse.imfreedom.org/grim/32/4_2.png) [@grim](https://discourse.imfreedom.org/u/grim)\
**Post date:** [March 2, 2026, 5:13am UTC](https://discourse.imfreedom.org/t/state-of-the-bird-february-2026/364/1 "2026-03-02T05:13:06Z")

</div>

# State of the Bird February 2026

The State of the Bird is a recap of what has been happening in the project and related projects.

You can find the previous posts via the #state-of-the-bird tag or via [RSS](http://imfreedom.discourse.group/tag/state-of-the-bird.rss).

## Retrospective

Our last State of the Bird was February 1st 2026 and can be found [here](http://imfreedom.discourse.group/t/state-of-the-bird-january-2026/).

Activity is up as my (Gary) burnout has been getting better.

We finished up the major blockers for renaming Experimental 6 as Alpha 1, so the March 31st release will be Pidgin 3.0.0 Alpha 1 (2.95.0).

Streams have been a bit more regular, but chat has been sub only to try and keep the riff-raff out. In March we’re going to relax that and see how it goes.

In response to Discord announcing that they were going to start [requiring age verification](https://discord.com/press-releases/discord-launches-teen-by-default-settings-globally), we stood up a [Zulip](https://zulip.com) server which is available at [imfreedom.zulipchat.com](https://imfreedom.zulipchat.com) and decided to add an in-tree protocol plugin for it! Discord has since [reversed that decision](https://discord.com/blog/getting-global-age-assurance-right-what-we-got-wrong-and-whats-changing), but we’re still going to go forward with the wind down and move to Zulip. You can read more about that decision [here](http://imfreedom.discourse.group/t/new-zulip-server/).

All that said we can always use [help](https://pidgin.im/development/contributing/), in lots of ways, many which require zero coding ability!

* * *

## Metrics

We have a number of metrics we keep an eye on which you can see below.

### Code Contributors

The number of code contributors continues to fluctuate a bit, but that’s expected for a volunteer project.

[chart type=“bar” backgroundColors=“#db3a83,#e76a2a,#4cdc8b” title=“Contibutors” xAxisTitle=“Time Frame”]  
2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01 | 2026-02  
Developers | 2 | 1 | 1 | 1 | 1 | 1 |  
Crazy Patch Writers | 1 | 0 | 0 | 0 | 0 | 1 |  
Casual | 0 | 0 | 0 | 0 | 0 |  
[/chart]

### Review Requests

Review requests are what we call our code reviews and is the way that all code is accepted into our code bases. This is a look at how many were open and closed each month.

[chart type=“bar” backgroundColors=“#db3a83,#e76a2a” title=“Review Requests” xAxisTitle=“Time Frame”]  
2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01 | 2026-02  
Open | 48 | 47 | 30 | 20 | 40 | 51 |  
Closed | 56 | 45 | 21 | 13 | 33 | 61 |  
[/chart]

### 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. We don’t create issues for everything we do, but this is still good to look at as it will include bugs and other issues users have brought to our attention.

I went on a closing spree in January and closed a bunch of stuff that hasn’t been touched in a very long time and realistically we weren’t going to fix. But we still have more than 1000 open issues that need to be reviewed at some point.

[chart type=“bar” backgroundColors=“#db3a83,#e76a2a” title=“Issues” xAxisTitle=“Time Frame”]  
2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01 | 2026-02  
Open | 6 | 7 | 2 | 4 | 6 | 14 |  
Closed | 7 | 19 | 4 | 2 | 761 | 7 |  
[/chart]

### 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.

[chart type=“bar” backgroundColors=“#ed207b,#9eb83b,#e5bb13,#0088cc,#b3b5b4,#8c6238,#231f20,#f1592a,#ffea61,#bf1e2e,#0088cc,#57e389,#7f007f” title=“Commits” xAxisTitle=“Time Frame”]  
2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01 | 2026-02  
Pidgin 3 | 46 | 33 | 7 | 23 | 23 | 45 |  
Pidgin 2 | 0 | 0 | 2 | 0 | 0 | 1 |  
Gaim 3 | 0 | 0 | 0 | 4 | 0 | 0 |  
GPlugin | 1 | 1 | 0 | 2 | 0 | 0 |  
HASL | 0 | 1 | 1 | 0 | 3 | 0 |  
Birb | 7 | 4 | 3 | 14 | 0 | 1 |  
Xeme | 0 | 2 | 5 | 0 | 0 | 0 |  
Ibis | 2 | 1 | 2 | 3 | 1 | 2 |  
Hiya | 0 | 1 | 1 | 0 | 0 | 0 |  
Myna | 0 | 1 | 1 | 0 | 0 | 0 |  
Seagull | 1 | 3 | 6 | 0 | 7 | 3 |  
Traversity | 0 | 1 | 1 | 0 | 0 | 0 |  
retro-prpl | 0 | 1 | 0 | 3 | 0 | 2 |  
[/chart]

* * *

## Infrastructure

We have a new Zulip server, hosted and sponsored by Zulip at [imfreedom.zulipchat.com](https://imfreedom.zulipchat.com).

* * *

## #pidgin3

Pidgin 3 is our next generation universal chat client whose goal is to give you the best experience possible when using modern chat networks.

### Retrospective

We didn’t get everything done this month that I hoped, but we did get quite a lot done. The account settings API has been full merged, everything has been ported to it, and we have a default backend saving to a SQLite database now.

We also decided to add a new protocol, [Zulip](https://zulip.com/) which I had hoped to have basic messaging working, but unfortunately, we just didn’t get there this month.

We have a brand new account editor thanks to the new account settings API. The common settings have been removed for now, and advanced settings are shown inline based on a toggle and disabled with the `warning` color.

 ![The new account editor for a demo account](https://canada1.discourse-cdn.com/flex007/uploads/imfreedom/original/1X/83b9333ce816e9304d52849af42813235e50e03f.png)  
 ![The new account editor for an irc account with the advanced settings visible](https://canada1.discourse-cdn.com/flex007/uploads/imfreedom/original/1X/fd84a6329faea537f6fb49e9c156e27677029dd2.png)

### Highlights

- Purple: Step 1 of the Seagull Contact Manager Backend (RR 4334) (PIDGIN-17687) (Gary Kramlich)
- Purple: Create Account.delete as a replacement for purple\_accounts\_delete (RR 4355) (Gary Kramlich)
- Purple: Add Protocol.delete\_account (RR 4356) (Gary Kramlich)
- Purple: Make the credential manager use account names instead of usernames (RR 4364) (Gary Kramlich)
- Purple: Update the AccountManager to handle notifications for accounts (RR 4389) (Gary Kramlich)
- Purple: An account manager backend using Seagull (RR 4392) (Gary Kramlich)
- Purple: Clean up CredentialProvider and add API to handling locking (RR 4397) (PIDGIN-18153) (Gary Kramlich)
- Purple: Add an accounts-loaded signal to Purple.AccounManager (RR 4399) (Gary Kramlich)
- Purple: Make start up deterministic (RR 4402) (Gary Kramlich)
- Pidgin: Rework the account editor to use account settings (RR 4359) (Gary Kramlich)
- Pidgin: Use the Purple.AccountManager::accounts-loaded signal to show the account window (RR 4400) (Gary Kramlich)
- Flatpak: Fix the extension points so they actually work (RR 4353) (Gary Kramlich)
- Zulip: Create the skeleton plugin and protocol (RR 4374) (Gary Kramilch)

### Releases

None

### Future Plans

The following items are still in the works from previous state of the birds.

- Add persistence to the scheduler.
- Add persistence to the contact manager. Contacts are done, we need to finish people.
- Add persistent to presences.
- Get the Zulip protocol working.

As always, you can view the burn down chart for our next release [here](https://issues.imfreedom.org/reports/burndown/165-5).

* * *

## #pidgin2

Pidgin 2 is our stable “production” release of a universal chat client. Meaning that you can use it as a single interface to many chat networks!

### Retrospective

We’re still planning on doing a 2.15.0 release, but we haven’t finished it yet. We did create [pidgin-ansible](https://github.com/pidgin/ansible) which will be used to build our `runtime`, `source`, and `win32-dev` directory for Windows. Right now everything but the `win32-dev` directory is complete but should be done in the near future.

### Highlights

No Updates

### Releases

None

### Future Plans

We still need to finish up the build environment packages so we can upgrade GTK on Windows and get that all into the installer. We also need to remember to update the spell checking dictionaries as we haven’t done that in awhile.

* * *

## #Applications > Gaim 3

As announced in the last State of the Bird, we’ve started an additional user interface to keep the look and feel of Pidgin 2 and Gaim before it in GTK4 and we’ve chosen to name it Gaim.

### Retrospective

No work this month

### Highlights

None

### Releases

None

### Future Plans

Now that the account setting API is complete we can build the account editor and get going again.

* * *

## #gplugin

GPlugin is our GObject based plugin library that is used in Pidgin 3.

### Retrospective

No work this month

### Highlights

None

### Releases

None

### Future Plans

We’re going to continue moving forward with the GLib.List → Gio.ListModel changes and eventually have GPlugin.Manager implement Gio.ListModel.

* * *

## #hasl

HASL is the Hassle-free Authentication and Security Layer library. It implements [SASL](https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer) in a modern and easy use way compared to the existing libraries.

### Retrospective

No work this month

### Highlights

None

### Releases

None

### Future Plans

We have been in the progress of implementing the [SCRAM Mechanisms](https://en.wikipedia.org/wiki/Salted_Challenge_Response_Authentication_Mechanism) which will be included in a future release.

* * *

## #Libraries > Birb

Birb is a library of GLib utilities that we use across all of our projects.

### Retrospective

Some additional API was added for helping with `GTimeZone`.

### Highlights

- Add birb\_time\_zone functions (BIRB-23) (RR 4381) (Markus Fischer)

### Releases

None

### Future Plans

We need to create some basic HTML and Markdown formatters.

* * *

## #Libraries > 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.

### Retrospective

No work this month.

### Highlights

None

### Releases

None

### Future Plans

The next steps here are going to be creating unit tests with `Birb.ResponseStream` to do initial connection and feature negotiation.

* * *

## #ircv3-library

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

Nothing too big here, just some maintenance.

### Highlights

- Add tests to verify that the license headers are consistent (RR 4386) (Gary Kramlich)
- Add a Client::stopped signal (RR 4387) (Gary Kramlich)

### Releases

None

### Future Plans

Continue working through the open issues and watching new IRCv3 specifications for things we should be including.

Add outgoing formatting support.

Figure out the issues with not recognizing disconnections. The `client::stopped` signal was the first piece of that.

* * *

## #hiya

Hiya is a new client abstraction library for [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS). 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](https://matrix.org/). It is still extremely early in development.

* * *

## #sqlite3-helper-library

Seagull is a new library we created to make working with [SQLite](https://sqlite.org/) feel more like a GLIB/GNOME library and force usage of prepared statements with named parameters and other similar things.

### Retrospective

No changes this month other than the release.

### Highlights

None

### Releases

- 0.7.0 was released on 2026-02-01 ([Release Announcement](http://imfreedom.discourse.group/t/seagull-0-7-0-has-been-released/))

### 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](https://issues.imfreedom.org/issues/SEAGULL?u=1).

* * *

## #Libraries > 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 > retro-prpl

retro-prpl 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](https://github.com/mk6i/retro-aim-server) and [escargot](https://escargot.chat/).

### Retrospective

Some minor work this month. But the package did get added to the [AUR](https://aur.archlinux.org/packages/retro-prpl-git) and it was also added to the [Pidgin 2 Flatpak](https://github.com/flathub/im.pidgin.Pidgin/pull/74) which is available on [Flathub](https://flathub.org/en/apps/im.pidgin.Pidgin).

### Highlights

- Added some build instructions (Gary Kramlich)
- Add a special thanks section and add Marius to it for the AUR package (Gary Kramlich)

### Releases

None

### Future Plans

We have a bunch of open [issues](https://github.com/pidgin/retro-prpl/issues) that we could use some help testing with. If you’re interested in helping please don’t hesitate to jump in!

* * *

## Closing

We finished up the account setting API which means that we are on track for Experimental 6 to be released as Alpha 1. Which is very exciting news! Look for a post here on Discourse in the near future for more details about the roadmap.

We hope you all are enjoying the new format and if you have any questions of comments please leave them below!

## One Last Thing

Also I’d like to give a special shout out to everyone that helps the project move forward especially @QuLogic and @ivanhoe. I know I haven’t been the easiest to deal with as I work through this burnout, but you two continue to help regardless, and that means a lot to me!

---

<div class="post-metadata">

**Author:** ![Robbie](https://yyz1.discourse-cdn.com/flex007/user_avatar/discourse.imfreedom.org/robbie/32/184_2.png) [@Robbie](https://discourse.imfreedom.org/u/Robbie)\
**Post date:** [March 2, 2026, 10:44am UTC](https://discourse.imfreedom.org/t/state-of-the-bird-february-2026/364/2 "2026-03-02T10:44:16Z")

</div>

Title should say “February”?

---

<div class="post-metadata">

**Author:** ![grim](https://yyz1.discourse-cdn.com/flex007/user_avatar/discourse.imfreedom.org/grim/32/4_2.png) [@grim](https://discourse.imfreedom.org/u/grim)\
**Post date:** [March 2, 2026, 3:08pm UTC](https://discourse.imfreedom.org/t/state-of-the-bird-february-2026/364/3 "2026-03-02T15:08:52Z")

</div>

Not sure how I missing that 😅 Thanks!!
