call_end

    • chevron_right

      Ignite Realtime Blog: Smack 4.5.0 Release

      news.movim.eu / PlanetJabber • 27 September 2026

    The Ignite Realtime community is proud to announce that Smack 4.5.0 has been released.

    This is a new major release after 4.4 nearly two years ago, with many bug fixes and improvements. Smack’s modular connection architecture is now deemed stable and users of the legacy XMPPTCPConnection should switch over to a modern architecture. The modular connection architecture abstracts the underlying connection mechanism, for example TCP, BOSH, and WebSockets, transporting the raw bytes of the XMPP stream, from the higher level XML layer. This allows, among other things, for a connection to transparently switch between TCP and WebSocket connections.

    As always, this new Smack release is available on Maven Central.

    1 post - 1 participant

    Read full topic

    • chevron_right

      Mathieu Pasquet: slixmpp v1.15.0

      news.movim.eu / PlanetJabber • 1 May 2026

    Here is a new version for slixmpp, the python XMPP library.

    Thanks to everyone involved for this release!

    Features

    • New plugin: XEP-0513 (Explicit Mentions)
    • In XEP-0424 , the message sent for the retraction is now returned after being sent.

    Fixes

    • The XEP-0045 plugin will now raise exceptions if the wrong parameters are provided (e.g. specifying a "pfrom" when not running as a component).
    • Passing the iterator parameter to get_items() in XEP-0030 was broken.

    Build

    • The rust build is now optional , which means platforms that are not supported by codeberg CI (like windows or mac OS) can install the package from pypi without setting up a rust toolchain, at the cost of some performance. Packagers should beware that the jid module is properly built.

    Links

    You can find the new release on codeberg , pypi , or the distributions that package it in a short while.

    Previous version: 1.14.1 .

    • chevron_right

      Prosodical Thoughts: Prosody 0.12.6 released

      news.movim.eu / PlanetJabber • 1 May 2026 • 1 minute

    We are pleased to announce a new minor release from our stable branch.

    This is a security release for the Prosody 0.12.x old stable series. It addresses multiple security issues, some memory leaks and some smaller bugs which have been fixed since the previous release.

    Full details about the security vulnerabilities can be found in our security advisory . We encourage all Prosody operators on 0.12.5 or earlier to upgrade to 0.12.6 or 13.0.5 as soon as possible, or to review the advisory and implement appropriate mitigations.

    Note: Support for the 0.12.x series ends in June 2026. This means it will no longer receive any fixes or updates, even for security issues. It is likely that 0.12.6 will be the last release from this series. Check our guide on upgrading Prosody and the release notes for 13.0.0 before you upgrade to the 13.0.x series.

    A summary of changes in this release:

    Security

    • mod_proxy65: Consistently apply authorization checks
    • mod_proxy65: Don’t proxy data until after bytestream activation
    • mod_c2s, mod_s2s: Introduce new pre-authentication stanza size limit
    • Add limit for stanza max child elements
    • mod_c2s: Remove timers immediately on disconnection
    • net.server_epoll: Clean up timers after disconnection

    Fixes and improvements

    • Fix memory leak in module API

    Minor changes

    • util.prosodyctl.check: Improve error handling of UDP socket setup (for #1803 )

    Download

    As usual, download instructions for many platforms can be found on our download page

    If you have any questions, comments or other issues with this release, let us know!

    • chevron_right

      JMP: Google Wants to Control Your Device

      news.movim.eu / PlanetJabber • 24 February 2026 • 4 minutes

    Today we join with other organizations in signing the open letter to Google about their plans to require all Android app developers to register centrally with Google in order to distribute applications outside the Google Play Store.  You should go read the letter, it is quite well done. We want to talk a little bit additionally about why sideloading (aka installing apps on your own device, or “directly installing” as the letter puts it) is important to us

    In early fall of 2024 Google Play decided to remove and ban the Cheogram app from their store.  Worse, since it had been listed by Play as “malware” Google’s Play Protect system began warning existing users that they should uninstall the existing app from their devices.  This was, as you might imagine, very bad for us.  No new customers could get the app and existing customers were contacting support unsure how to get back into their account after being tricked into removing it.

    After a single submission to Google Play appealing this decision, they came back very quickly affirming “yes, this app seems to be malware.” No indication of why they thought that, just a decision. At this point the box we could use to submit new appeals also went away.  With no appeals process available and requests to what little support Google has going totally ignored, it was not clear if we were ever going to be able to distribute our app in the Play Store again.  After months of being delisted we finally got a lucky break.  In talking with some of our contacts at the Software Freedom Conservancy , they offered to write to some of their contacts deep inside Google and ask if there was anything that could be done. When their contact pushed internally at Google to get more information, suddenly the app was re-activated in the Play Store

    I want to be clear here. We did not change the app. We did not upload a new build. This app Google had been so very, very sure was “malware” was fully reinstated and available to customers again the moment a human being bothered to actually look at it. It was of course obvious to any human looking at the app that it is not malware and so they restored it to the store immediately. They never replied to that final request, and no details about what happened were ever made available. From that point on Google has essentially pretended that this never happened and the app was always great and in the Play Store. If we had not been able to get in contact with a human and really push them to take a look, however, we would never have been reinstated.

    Despite our good fortune, we still lost months of potential business over this. Of course you’ve heard stories like this before. Stories of Play Store abuse are a dime a dozen and most of them don’t have the “happy” ending ours does. What does this have to do with “sideloading” and the open letter? Well, despite all the months of lost business, and despite all the existing customers being told to uninstall their app if they had got it from Play Store, we lost no more than 10% of our customers and continued to onboard new ones during the entire time.  How is this possible?  The main reason is direct installs (“sideloading”).  The majority of our customers get the app from our preferred sources on F-Droid and Itch . These customers were not told by Play Protect to remove their app. During the time we were delisted from Play Store we removed the link to Play Store from our website and new customers were instructed to use F-Droid. Of course we still lost some business here, some people were unable or unwilling to use F-Droid or other direct install options, but the damage was far, far less than it might have otherwise been.

    What Google is proposing would allow them to ban anyone from creating apps which may be directly installed without their approval. One of the reasons they say they need to do this is to protect people from malware! Yet even if this was the narrow purpose of a ban it would still routinely catch apps which are not nefarious in any way, just as ours wasn’t. Furthermore, with all apps and developers registered in their system, a ban under these new rules could result in everyone being told to uninstall the app by Play Protect, and not just those who got it from Play Store to begin with. This would leave app developers who are erroneously marked by Google as malware with no options, no recourse, no way to appeal, and praying there is a friend of a friend who knows someone deep in Google who can poke the right button. This is just not an acceptable future for the world’s largest mobile platform.

    • chevron_right

      ProcessOne: Fluux Messenger 0.13.0 - Native TCP Connection & Complete EU Language Coverage

      news.movim.eu / PlanetJabber • 12 February 2026 • 2 minutes

    Fluux Messenger 0.13.0 - Native TCP Connection & Complete EU Language Coverage

    We&aposre excited to announce Fluux Messenger 0.13.0, featuring native TCP connections, complete European language coverage, and significant performance improvements.

    Also, we recently passed the first 100 stars on GitHub. Thank you for your support and for believing in open, sovereign messaging !

    Fluux Messenger 0.13.0 - Native TCP Connection & Complete EU Language Coverage

    What&aposs New

    Native TCP Connection Support on Desktop

    Desktop users can now connect directly to XMPP servers via native TCP through our WebSocket proxy implementation. This means lower latency, better reliability, and native protocol handling. No more browser limitations.

    We believe that&aposs a nice milestone worth a blog post . Until now, desktop users needed their XMPP server to support WebSocket connections. With v0.13.0, you can connect to any standard XMPP server. We estimate this will enable 80% of users who couldn&apost connect before to finally use Fluux Messenger with their existing servers.

    Complete European Union Language Coverage

    Fluux Messenger now supports all 26 EU languages, making it truly pan-European. From Bulgarian to Swedish, Croatian to Maltese, we&aposve got you covered. Languages include:

    • Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Icelandic, Irish, Italian, Latvian, Lithuanian, Maltese, Norwegian, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish.

    Dynamic locale loading means faster initial startup while maintaining comprehensive language support.

    If you spot any translation issues, feel free to contribute on our GitHub repository .

    Clipboard Image Paste

    Paste images directly from your clipboard with Cmd+V (macOS) or Ctrl+V (Windows/Linux). Copy from anywhere, paste into Fluux. It (should) just work ;). Tested and confirmed with Safari&aposs "Copy Image" feature and system clipboard operations so far.

    Clear Local Data on Logout

    New privacy option to completely clear local data when logging out. Perfect for shared devices or when you need a fresh start.

    Performance & Reliability Improvements

    • Smarter Message History Loading - We&aposve completely redesigned our Message Archive Management (MAM) strategy. Message history now loads intelligently based on your scrolling behavior and available data, reducing unnecessary server requests.

    • Better Resource Management - Fixed duplicate avatar fetches when hashes haven&apost changed, reducing bandwidth usage and improving profile picture loading times.

    • Rock-Solid Scroll Behavior - Media loading no longer disrupts your scroll position. The scroll-to-bottom feature now works reliably, even when images and files are loading.

    • Better Windows Tray - Improved tray behavior on Windows for a more native experience.

    macOS Sleep Recovery - Fixed layout corruption that could occur after your Mac woke from sleep.

    UI & UX Polish

    • Consistent attachment styling across light and dark themes
    • Fixed sidebar switching with Cmd+U keyboard shortcut
    • Improved new message markers - position correctly maintained when switching conversations
    • Better context menus - always stay within viewport bounds, no more cut-off menus
    • Markdown preview accuracy - bold and strikethrough now properly shown in message previews

    Linux Packaging

    Improved Linux packaging using native distribution tools for better integration with your system package manager.

    Developer Experience

    Centralized notification state with viewport observer provides better performance and more reliable notification handling across the application.


    Get Fluux Messenger

    Download for Windows , macOS , or Linux in the latest Release page.

    Source code is available at : GitHub


    Your messages, your infrastructure : no vendor lock-in.
    Sovereign by design. Built in Europe, for everyone.

    • chevron_right

      ProcessOne: rocket ejabberd 26.02

      news.movim.eu / PlanetJabber • 11 February 2026 • 2 minutes

    🚀 ejabberd 26.02

    Contents:

    ChangeLog

    • Fixes issue with adding hats data in presences send by group chats ( #4516 )
    • Removes mod_muc_occupantid modules, and integrates its functionality directly into mod_muc ( #4521 )
    • Fixes issue with reset occupant-id values after restart of ejabberd ( #4521 )
    • Improves handling of mediated group chat invitations in mod_block_stranger ( #4523 )
    • Properly install mod_invites templates in make install call ( #4514 )
    • Better errors in mod_invites ( #4515 )
    • Accessibility improvements in mod_invites ( #4524 )
    • Improves handling of request with invalid url encoded values in request handled by ejabberd_http
    • Improves handling of invalid responses to disco queries in mod_pubsub_serverinfo
    • Fixes conversion of MUC room configs from ejabberd older than 21.12
    • Fixes to autologin in WebAdmin

    If you are upgrading from a previous version, there are no changes in SQL schemas, configuration, API commands or hooks.

    Notice that mod_muc now incorporates the feature from mod_muc_occupantid , and that module has been removed. You can remove mod_muc_occupantid in your configuration file as it is unnecessary now, and ejabberd simply ignores it.

    Check also the commit log: https://github.com/processone/ejabberd/compare/26.01...26.02

    Acknowledgments

    We would like to thank the contributions to the source code and translations provided by:

    And also to all the people contributing in the ejabberd chatroom, issue tracker...

    Improvements in ejabberd Business Edition

    Customers of the ejabberd Business Edition , in addition to all those improvements and bugfixes, also get the following change:

    • Change default_ram_db from mnesia to p1db when using p1db cluster_backend

    ejabberd 26.02 download & feedback

    As usual, the release is tagged in the Git source code repository on GitHub .

    The source package and installers are available in ejabberd Downloads page. To check the *.asc signature files, see How to verify ProcessOne downloads integrity .

    For convenience, there are alternative download locations like the ejabberd DEB/RPM Packages Repository and the GitHub Release / Tags .

    The ecs container image is available in docker.io/ejabberd/ecs and ghcr.io/processone/ecs . The alternative ejabberd container image is available in ghcr.io/processone/ejabberd .

    If you consider that you&aposve found a bug, please search or fill a bug report on GitHub Issues .

    • chevron_right

      Mathieu Pasquet: slixmpp v1.13.2 (and .1)

      news.movim.eu / PlanetJabber • 8 February 2026

    Version 1.13.0 has shipped with a packaging bug that affects people trying to build wheels using setuptools. 1.13.1 is an attempt to fix that (made packaging from git work somehow), and 1.13.2 is the correct fix thanks to one single additional character.

    There are no other changes, and pypi wheels are not affected because they are built in CI with uv .

    Links

    You can find the new release on codeberg , pypi , or the distributions that package it in a short while.

    Previous version: 1.13.0 .

    • chevron_right

      JMP: Newsletter: Referral Event!

      news.movim.eu / PlanetJabber • 3 February 2026 • 2 minutes

    Hi everyone

    Welcome to the latest edition of your pseudo-monthly JMP update!

    In case it’s been a while since you checked out JMP, here’s a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client.  Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one number with multiple people.

    This month begins JMP’s 2026 referral event! From now until June 1st, everyone you refer to JMP rewards you triple ! That’s three free months of service for every person who signs up and pays.

    For those who haven’t explored the referral system much, a short refresher on how it works. In your account settings there is a command Refer a friend for free credit . You will be presented with a message that reads like so:

    This code will provide credit equivalent to one month of service to anyone after they sign up and pay: CODE These remaining codes are single use and give the person using them a free month of JMP service. You will receive credit equivalent to one month of service after someone uses any of your codes and their payment clears.

    When someone uses this code during their signup process with JMP, they will sign up and pay as usual. But after they pay, they will get a free month deposited to their initial balance as well . Once their payment clears (about 90 days for a credit card transaction) your account will also get a month’s worth of credit deposited. Except for referrals which reward during this event, it will be three months! This code is appropriate for publishing publicly and can be used over and over again.

    Under this message in the command result is a list of invite codes. If you are out of invite codes, you can always ask JMP support for more as well. These codes are each single-use and give the one person who uses them a free month of JMP service right away. They don’t pay anything. Then, if they pay, and once their payment clears (about 90 days for a credit card transaction) your account will also get a month’s worth of credit deposited. Except for referrals which reward during this event, it will be three months! These codes are appropriate for giving to trusted friends or family members, and each code can only be used once.

    To learn what’s happening with JMP between newsletters, here are some ways you can find out:

    Thanks for reading and have a wonderful rest of your week!

    • chevron_right

      ProcessOne: Introducing Fluux Messenger: A Modern XMPP Client Born from a Holiday Coding Session

      news.movim.eu / PlanetJabber • 28 January 2026 • 4 minutes

    Introducing Fluux Messenger: A Modern XMPP Client Born from a Holiday Coding Session

    It was mid-December 2025, just before the Christmas break. My favorite XMPP client had broken on the main branch I was using. Frustrated, rather than waiting for a fix, I decided I wanted to give another try at working on a client. This time, I would be using the opportunity to explore a new set of tools I was curious about: TypeScript, React, and Tauri.

    What started as a weekend experiment quickly turned into something more. Using AI tools to accelerate the initial setup, I found myself totally absorbed in the work. Days blurred together as features took shape. By early January, what had been a personal scratch project had become a surprisingly capable desktop client.

    When I demonstrated it to my coworkers at ProcessOne, their reaction was unanimous: this was worth pursuing seriously. We decided to put the entire company behind the effort. Today, we&aposre sharing the first public release of Fluux Messenger .

    More Than Just Another Chat Client

    At ProcessOne, we&aposve spent over two decades building messaging infrastructure. Our XMPP server, ejabberd, has powered some of the world&aposs largest messaging deployments. But we&aposve always approached messaging from the server side. Fluux Messenger represents something new for us, bringing that same engineering philosophy to the client.

    The key innovation isn&apost in the UI (though we&aposre proud of it). It&aposs in what lies beneath: the Fluux SDK .

    The Fluux SDK: Bridging Two Worlds

    Anyone who has built an XMPP client knows the challenge. XMPP is event-driven, signal-based, asynchronous. Modern UI frameworks expect reactive state, typed data, and predictable updates. There&aposs an impedance mismatch between these two worlds.

    The Fluux SDK is our answer. It provides a high-level TypeScript API that handles all XMPP complexity internally. Developers work with clean types and reactive state, not XML stanzas. The SDK maintains local cache, manages reconnection, and handles synchronization intelligently. It&aposs not a passive pipe between server and UI; it&aposs an active participant that makes the client easier to develop and more resilient.

    As an example, the client is not telling the SDK which presence it wants to publish when stepping away from the computer, but it will signal to the SDK that it is inactive. The SDK is responsible for doing the right thing.

    This three-tiered architecture, Server -> Headless client (SDK) -> UI, lets us apply the same design principles that made ejabberd scalable to the client side. Distributed logic, local-first responsiveness, server-side efficiency.

    What Fluux Messenger Offers Today

    The current release (v0.11.1) already includes substantial functionality:

    • Reliable connection and message management
    • Cross-platform desktop app for Windows, macOS, and Linux, built on Tauri for a lightweight native experience
    • Web version : It works great on the Web as well.
    • 40+ XMPP extensions (XEPs) implemented, including message archive management, multi-user chat, HTTP file upload, message carbons, and reactions
    • MUC support with @mentions notification and bookmarks
    • Local message cache storage using IndexedDB with automatic sync on reconnect
    • Built-in XMPP console for developers and power users who want to see what&aposs happening under the hood
    • Preliminary admin capabilities letting you manage your ejabberd server directly from the client (But this is still mostly a work in progress).
    • 8 languages supported out of the box
    • Light and dark modes with theme system to come
    Introducing Fluux Messenger: A Modern XMPP Client Born from a Holiday Coding Session

    What I envision for Fluux Messenger is to follow the steps of major projects like Obsidian or VSCode . In my wildest dreams, I expect Fluux Messenger to become as configurable and versatile as those tools.

    The Road Ahead

    This is an ambitious project. The roadmap stretches far into the future, and we&aposre just getting started. Our plans include mobile support through PWA and eventually native apps, expansion to other frameworks (Vue, Svelte), and Kotlin Multiplatform for Android and iOS.

    But ambitious doesn&apost mean closed. Fluux Messenger is open source under AGPL-3.0. We believe that modern, privacy-respecting messaging shouldn&apost require vendor lock-in. Connect to any XMPP server. Host it yourself.

    I used AI to bootstrap this project and accelerate my learning phase. Many developers do now. But we are crafters at ProcessOne, and we want to own the responsibility for great code. Those who know me will tell you I&aposll be relentless until I master React and TypeScript, and they know I will. Fast.

    A Continuation of ejabberd&aposs Vision

    Fluux Messenger represents the client-side continuation of what we started with ejabberd over twenty years ago. The same principles, scalability, reliability, clean architecture, now flow from server to client. If you&aposve trusted ejabberd to power your messaging infrastructure, we hope you&aposll trust Fluux Messenger to be the interface your users deserve.

    This is the beginning of an exciting journey. We hope you&aposll join us.


    Get started

    If you share our vision for clean, reactive messaging APIs, we&aposd love to collaborate. Reach out and let&aposs grow the Fluux community together.