Poezio 0.18 – Console XMPP client

neustradamus1 pts0 comments

Poezio 0.18

I develop stuff and have opinions on things -

About me/Contact

Articles:

05/2026 Poezio 0.18

05/2026 Winding do...

05/2026 Typing som...

05/2026 My first m...

05/2026 slixmpp v1.15.0

04/2026 Poezio 0.17

04/2026 Poezio 0.16.1

03/2026 Poezio 0.16

03/2026 slixmpp v1.14.1

by mathieui

on Mon 25 May 2026

Tags: xmpp-en xmpp poezio

Poezio is a terminal-based XMPP client which aims to replicate the<br>feeling of terminal-based IRC clients such as irssi or weechat; to<br>this end, poezio originally only supported multi-user chats and anonymous<br>authentication.

This new release has mostly internal improvements, but a few improvements and<br>fixes as well.

Thanks to all contributors and users!

Features

Implementation of Message Retraction (XEP-0424) as the sending side.

Various improvements to the react plugin, notably a way to convert :emoji:<br>aliases to real emojis.

Overhaul of the hide_exit_join option (more in the next section).

Updates to hide_exit_join

The hide_exit_join option is meant to avoid displaying all join/part presences<br>since the MUC (XEP-0045) behaviour is heavily presence-based for now.

It is an integer, which can be -1 (display all exit/joins), 0 (display none),<br>and a positive value n (display anything inactive for more than n seconds).

How this worked previously is that poezio did not even add join/exit messages if<br>they matched the criteria, making its a bit difficult if you both did not want<br>to clutter your screen with mostly irrelevant information, while at the same time<br>being able to view them – e.g. if you are moderating the room –.

Now the positive value’s quirky behavior stays the same, but in the case of<br>-1 or 0, the join/exit messages will be kept in the buffer at all times,<br>but not displayed when the value is 0. This option can be set at runtime,<br>and the effects are instantaneous.

Since this is a special kind of value and not a boolean, /toggle will not<br>work on it, therefore two new "aliased keys" have been added for users who want<br>to bind keypresses to this toggling:

_toggle_presences_local to show or hide presences in the current MUC.

_toggle_presences_global to show or hide presences globally.

Fixes

The API used internally for message retraction or moderation is no longer<br>limited to the last 100 messagess.

Fixed the config file handling on Guix or related distributions where the config<br>file could actually be a symlink (in which case it produced undesired behavior).

Custom plugin and theme load should keep working on python 3.15, which removes<br>a number of deprecated APIs in python’s importlib.

The /xhtml command had been broken for a while.

Some coroutines in the admin or irc plugin were not awaited, which<br>broke functionality and produced unwanted errors in the output.

Fixed a traceback when receiving reactions from an unopened conversation.

Fixed a display bug in semi-anonymous rooms showing the room jid<br>(room@server/nick) for users when joining/leaving, which is useless.

Fixed a case where self-ping would be disabled when the room disconnects us,<br>instead of trying to rejoin later.

Packaging

Link Mauve updated both the flatpak and the sticker-picker plugin.

Goran updated the guix package.

Docs

Missing plugins documentation has been added.

Internal

As hinted in my previous post, a large effort was made towards better<br>typing and linting. This means there were a huge number of changes:

% git diff --stat v0.17...v0.18<br>157 files changed, 5366 insertions(+), 3158 deletions(-)

Which is risky, but at the same time since most of those changes added<br>stricter type checking, there are few possible regressions (and a few were<br>caught already, thanks to the kind people running the main branch).

Links

download

poezio documentation

If you have remarks or suggestions concerning this article, please by all means contact me.

poezio xmpp plugin display value room

Related Articles