Gary "grim" Kramlich

@grimmy
727 Followers
206 Following
2.3K Posts
Pidgin Lead Developer/Maintainer, Democratic Socialist, Premature Internet Activist, Twitch Affiliate. My opinions are my own. 🐥🐦🐧 #OpenSource #Linux #Chat #Messaging #fedi22
Bio and Contact Infohttps://reaperworld.com
Pidginhttps://pidgin.im
Pidgin on Mastodon@pidgin
Twitchhttps://twitch.tv/rw_grim/
It’s release day for Debian 13 “trixie”! Across the world, the release, publicity, images, and FTP teams are making their final preparations for the new stable release. #debian #debian13 #trixie #ReleasingDebianTrixie
The Debian publicity team will provide live coverage of the #ReleasingDebianTrixie process; follow us via Debian Micronews or your favorite social network! #debian #debian13 #trixie

Greetings Programs!!

We're back at it tonight working towards @pidgin 3.0 Experimental 4!! We've got a bunch of random stuff to get to tonight and maybe I'll even start writing some docs...?

Either way, come on by!!

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

#Pidgin #Chat #Messaging #C #GTK

Twitch

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

Twitch

"Embrace AI or get out"

Welcome to the out club.

I haven't had a day/24 hours this bad in awhile. If I've blew up on you. I'm sorry, I'm trying my best but it's hard.
The countdown is on! Debian teams are gearing up for the release of Debian 13 "trixie" this weekend! Stay tuned to https://micronews.debian.org for the latest updates as we welcome the next stable release. #debian #debian13 #trixie #debianstable #linux
Debian micronews

Greetings Programs!!

We're back at it tonight working on @pidgin 3.0 Experimental 4 and we've got some #retro prpl stuff to do too!

Come on by!!

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

#Pidgin #Messaging #Chat #C # GTK

Twitch

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

Twitch

State of the Bird July 2025

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

You can find the previous posts via the #state-of-the-bird tag.

Before that, we used to do these quarterly as an interactive live stream and you can find the playlist with all of those videos at YouTube.

Retrospective

Our last State of the Bird was July 10th 2025 and can be found here.

Things have picked up a bit since last month, but are still a bit low due to the summer in the northern hemisphere.

Metrics

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

Contibutors

Our number of contributors has dropped a bit this month. But nothing to get worried about yet.

If you're interested in contributing you can find some documentation here including no coding ways to contribute.

[chart type="bar" backgroundColors="#db3a83,#e76a2a,#4cdc8b" title="Contibutors" xAxisTitle="Time Frame" ]2025-02 | 2025-03 | 2025-04 | 2025-05 | 2025-06 | 2025-07Developers | 2 | 1 | 2 | 2 | 2 | 2Crazy Patch Writers | 1 | 1 | 0 | 1 | 0 | 0Casual | 0 | 0 | 0 | 1 | 1 | 0[/chart]

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.

We've started to develop a bit of a backlog here, so if you're interested please take a look! Any reviews are appreciated and looking at them is a great way to learn the code base as well.

[chart type="bar" backgroundColors="#db3a83,#e76a2a" title="Review Requests" xAxisTitle="Time Frame" ]2025-02 | 2025-03 | 2025-04 | 2025-05 | 2025-06 | 2025-07Open | 72 | 78 | 44 | 26 | 20 | 42Closed | 72 | 82 | 43 | 22 | 25 | 39[/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.

[chart type="bar" backgroundColors="#db3a83,#e76a2a" title="Issues" xAxisTitle="Time Frame" ]2025-02 | 2025-03 | 2025-04 | 2025-05 | 2025-06 | 2025-07Open | 30 | 41 | 16 | 6 | 11 | 11Closed | 18 | 18 | 6 | 5 | 10 | 3[/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,#0088cc,#b3b5b4,#8c6238,#231f20,#f1592a,#ffea61,#bf1e2e,#0088cc,#57e389,#7f007f" title="Commits" xAxisTitle="Time Frame" ]2025-02 | 2025-03 | 2025-04 | 2025-05 | 2025-06 | 2025-07Pidgin 3 | 22 | 27 | 28 | 15 | 10 | 25 |Pidgin 2 | 0 | 0 | 0 | 0 | 4 | 0 |GPlugin | 1 | 1 | 0 | 2 | 0 | 4 |HASL | 5 | 1 | 0 | 1 | 4 | 2 |Birb | 1 | 6 | 0 | 5 | 0 | 1 |Xeme | 5 | 7 | 0 | 0 | 0 | 1 |Ibis | 10 | 27 | 11 | 0 | 0 | 0 |Hiya | 0 | 15 | 2 | 0 | 0 | 0 |Myna | 0 | 0 | 0 | 0 | 0 | 2 |Seagull | 23 | 8 | 0 | 0 | 13 | 3 |Traversity | 8 | 0 | 0 | 0 | 0 | 0 |retro-purple | 0 | 0 | 0 | 38 | 48 | 0 |[/chart]

Infrastructure

Not much new here, but we're looking at serving our static sites out of our S3 compatible storage which should free up a bunch of resources in our Kubernetes cluster.

Pidgin 3

Retrospective

Not a whole lot happened with Pidgin 3 this month as we had our focus on other projects.

Updates

  • Updated to ibis-0.14.0
  • Re-enabled links .in Pidgin.Message
  • Added a test to make sure the Flatpak dependencies have been updated
  • Added support to automatically restore conversations when the application is started
  • Replaced the Purple.Plugin data type with GPlugin.Plugin
  • Added Purple.ConversationManager.get_all_for_account
  • Removed a bunch of unused and unnecessary preferences code
  • Delete conversations from the database when the user leaves them
  • Implement the /me command in IRCv3
  • Move the input widget from Gtk.TextView to GtkSource.View
  • Added Purple.ScheduledTask and Purple.Scheduler
  • Told g-ir-scanner to skip some symbols that need to be replaced
  • Deleted the Purple.GdkPixbuf APi
  • Removed Purple.ProtocolContacts.search_async and Purple.ProtocolContacts.search_finish
  • Use the presence message of a contact as the subtitle for direct messages
  • Removed Purple.CircularBuffer

Releases

None

Future Plans

  • 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.
  • Gary has started an out of tree protocol plugin to help figure out how the voice and video API will work.

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

Pidgin 2

We're still planning on doing a 2.15.0 release, but we haven't moved forward on this at all this month.

Retrospective

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

Releases

None

Future Plans

Just the same as what was mentioned above.

GPlugin

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

Retrospective

Some maintenance was done, including work on moving from using GList to GListModel.

  • Fixed some Since tags
  • Removed the clang-format config file
  • Added GPlugin.Manager.find_plugins_with_id

Releases

None

Future Plans

We're going to continue moving forward with the GlibList -> 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

  • Fixed the GIR generation on Windows
  • Added some missing Since tags

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

  • Added some missing Since tags

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.

Retrospective

  • Make sure our enumerations are being exposed

Releases

None

Future Plans

Everything! Seriously though, we're looking to get back to this in the near future.

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 helpers for handling booleans
  • Added Statemnt.column_date_time

Releases

None

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!



Discuss this on our forum.
State of the Bird

YouTube

Wow it's been awhile since I've gotten one of these..

My solving #rubikscube presentation is publicly available on google drive for the past ~15 years.

However, many school's decide that their students shouldn't be able to access anything not in the school's google drive. So Google sends me these requests that I can't do anything about on the drive side.

To combat this, I made a PDF available directly from my site https://reaperworld.com/rubiks.pdf but today's request says otherwise.

#rubik #puzzles

Greetings Programs!! We're back at it tonight working on all things @pidgin releated! Come on by!!

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

#Pidgin #OpenSource #Chat #Messaging

Twitch

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

Twitch