Gary "grim" Kramlich

@grimmy
780 Followers
233 Following
2.8K Posts

Pidgin Lead Developer/Maintainer, Democratic Socialist, Premature Internet Activist, Twitch Affiliate. My opinions are my own. 🐄🐦🐧

I'm not burnt out, I went supernova, but quantum entanglement has kept me functioning.

Bio and Contact Infohttps://reaperworld.com
Pidginhttps://pidgin.im
Pidgin on Mastodon@pidgin
Twitchhttps://twitch.tv/rw_grim/

On last night's stream a YouTube viewer asked why I didn't use AI. I gave the standard response of "I actually like to write code..." among others.

And then today I see this story... 🤣

https://www.theregister.com/2026/02/03/github_kill_switch_pull_requests_ai/

#AI #SLOP #sloperator

GitHub ponders kill switch for pull requests to stop AI slop

: Code community site begins to see that AI could drive people away

The Register

Hi all, a woman in my feed pointed out digital harassment and asked people to stand up against it, and there are a bunch of replies that are just ... not that. Explaining how blocking works, saying it's not that bad, _repeating the crime,_ etc.

What if we just didn't? What if we actually called people out, and stood up against harassment, instead?

Greetings Programs!! We're back at it working on @pidgin 3.0 Experimental 6! Come on by!!

https://twitch.tv/rw_grim
https://youtube.com/@rw_grim

#Pidgin #Chat #Messaging

Twitch

Twitch is the world's leading video platform and community for gamers.

Twitch

RE: https://hachyderm.io/@marga/115999802623557360

Great talk and covers a lot of the things contributing to my current bout of burn out...

Just wasted an hour or more debugging a flatpak extension problem because I was building the extension on a different machine 🤦 clearly sleep is necessary, but it works now 😜

#pidgin #opensource #debugging

State of the Bird January 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.

Retrospective

Our last State of the Bird was January 15th 2026 and can be found here.

Numbers in general were about the same as last month. My (Gary) burn out has slowly been getting better, I'm still pushing but things are moving slower than they used to which is apparent in the metrics and everything else.

I'm aiming for Experimental 6 (due 2026-03-31) to become Alpha 1. We're getting very close to finalizing most of the protocols APIs which is what we've been waiting on before moving from experimental to alpha releases.

I've started streaming again sporadically, but regardless I'm still trying to work on Pidgin as much as I normally would.

All that said we can always use help, especially with code reviews which is a great way to start learning how things work and come together!

---

Metrics

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

Contributors

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

If you're interested in contributing you can find some documentation here including ways that don't require knowing how to program.

[chart type="bar" backgroundColors="#db3a83,#e76a2a,#4cdc8b" title="Contibutors" xAxisTitle="Time Frame" ]2025-08 | 2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01Developers | 1 | 2 | 1 | 1 | 1 | 1 |Crazy Patch Writers | 1 | 1 | 0 | 0 | 0 | 0 |Casual | 1 | 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-08 | 2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01Open | 61 | 48 | 47 | 30 | 20 | 40 |Closed | 57 | 56 | 45 | 21 | 13 | 33 |[/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, this is still good to look at as it will include bugs and other issues users have brought to our attention.

This month I went on a closing spree and closed a bunch of stuff that hasn't been touched a 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-08 | 2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01Open | 16 | 6 | 7 | 2 | 4 | 6 |Closed | 11 | 7 | 19 | 4 | 2 | 761[/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-08 | 2025-09 | 2025-10 | 2025-11 | 2025-12 | 2026-01Pidgin 3 | 51 | 46 | 33 | 7 | 23 | 23 |Pidgin 2 | 2 | 0 | 0 | 2 | 0 | 0 |Gaim 3 | 0 | 0 | 0 | 0 | 4 | 0 |GPlugin | 0 | 1 | 1 | 0 | 2 | 0 |HASL | 0 | 0 | 1 | 1 | 0 | 3 |Birb | 0 | 7 | 4 | 3 | 14 | 0 |Xeme | 0 | 0 | 2 | 5 | 0 | 0 |Ibis | 0 | 2 | 1 | 2 | 3 | 1 |Hiya | 0 | 0 | 1 | 1 | 0 | 0 |Myna | 0 | 0 | 1 | 1 | 0 | 0 |Seagull | 0 | 1 | 3 | 6 | 0 | 7 |Traversity | 0 | 0 | 1 | 1 | 0 | 0 |retro-prpl | 3 | 0 | 1 | 0 | 3 | 0 |[/chart]

---

Infrastructure

Not a whole lot of changes here but we did finally make some updates to pidgin.im which we had fallen very behind on. There is some random breakage and stuff there, but if you see something, feel free to open a ticket or better yet a review request.

---

#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

A lot of work went into additional properties for messages which was driven by the development of purple-spasm. Not all of it has been used in the user interface yet, but it's available now.

Also the new account settings stuff is nearly done. The main blockers yet are the account editor and account serialization. Both of those are in progress but have not yet been completed.

Highlights

  • Finally add purple_conversation_new (RR 4314)
  • Add Purple.ConversationManager.find (RR 4317)
  • Add a replying-to property to Purple.Message (RR 4318)
  • Add a sid property to Purple.Conversation (RR 4319)
  • Add properties to highlight and color messages (RR 4320)
  • Add a color property to Purple.Conversation (RR 4321)
  • Add icon and title properties to Purple.Message (RR 4322)
  • Add some basic high level architecture documentation (RR 4333)
  • Update Purple.Account to use Purple.AccountSettings (RR 4158)
  • Make Purple.ContactManager use a Purple.ContactManagerBackend (RR 4323)
  • Remove Account:presence as it was redundant (RR 4342)
  • Add a developer-mode property to AccountSetting (RR 4339)

Releases

None

Future Plans

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

  • The account options API is in the process of being replaced by a new AccountSetting API.
  • Add persistence to the scheduler.
  • Add persistence to the contact manager, this needs to be done so we can fix some issues with direct messages being restored correctly.
  • Add persistent to presences.

As always, you can view the burn down chart for our next release here.

---

#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 moved forward on this at all this month.

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.

---

#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 wrapping up this things are going to start moving pretty quickly here.

---

#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 in a modern and easy use way compared to the existing libraries.

Retrospective

While we didn't do any new work this month, we did release 0.5.0 which had a ton of stuff queued up that we just hadn't released yet.

Highlights

None

Releases

We released 0.5.0 on 2026-01-16 (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.

Retrospective

No work this month.

Highlights

None

Releases

None

Future Plans

We need to create some basic HTML and Markdown formatters.

---

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

---

Ibis

#ircv3-library 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 by updating the Birb dependency.

Highlights

  • Depend on Birb 0.6.1 and migrate to some of its new APIs (RR 4311)

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.

---

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

---

#sqlite3-helper-library

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

No changes this month.

Highlights

  • Allow passing NULL to Seagull.Statement.bind_time_zone (RR 4325)
  • Add support for int64s (SEAGULL-19) (RR 4331)
  • Add support for GError (SEAGULL-9) (RR 4332)

Releases

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, escargot, and NINA.

Retrospective

No work this month

Highlights

None

Releases

None

Future Plans

We have a bunch of open issues that we could use some help testing with. If you're interested in helping please don't hesitate to jump in!

---

Closing

As mentioned earlier, we're wrapping up the account setting API which is our main blocker for moving from experimental to alpha releases. The distinction is whether not not we think the protocol specific APIs are stable enough for third party protocol developers.

The spasm protocol plugin support continues to improve and is now integrated into my stream to show chat on the stream.

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!



Discuss this on our forum.
State of the Bird December 2025

State of the Bird December 2025 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 <span class="hashtag-icon-placeholder"></span>state-of-the-bird</span> tag. Retrospective Our last State of the Bird was December 30th 2025 and can be found here. Numbers in general were quite low this month. My (Gary) burn out has still been pretty bad. I’m still pushing but much slower that usual which is apparently in the metrics and everything else. We were hoping for the E...

Instant Messaging Freedom's Discourse

We are pleased to announce that version 0.7.0 of Seagull has been released!

Seagull is our SQLite helper library to help it integrate more with GLib and GObject based applications.

Downloads are available on SourceForge

ChangeLog

  • Add support for int64s (SEAGULL-19) (RR 4331) (Gary Kramlich)
  • Add support for GError (SEAGULL-9) (RR 4332) (Gary Kramlich)


Discuss this on our forum.
Pidgin IM - Browse /seagull/0.7.0 at SourceForge.net

A universal instant messaging (IM) program

Still some work to do, but what do you all think of the new account editor I'm working on?

#Pidgin #UX #UI #askfedi

Greetings programs!! Two streams in a week, wow you all must have been very well behaved!! 🤣

Seriously though we're back at it tonight working on @pidgin 3.0 Experimental 6 trying real hard to make it Alpha 1!! Come on by!

https://twitch.tv/rw_grim
https://youtube.com/@rw_grim

#Pidgin #OpenSource #LiveCoding

Twitch

Twitch is the world's leading video platform and community for gamers.

Twitch