# ProcessOne > Scalable, powerful and versatile multiprotocol messaging platforms Public Ghost content for AI and LLM tooling. Use `/llms-full.txt` for consolidated page and post context. Append `.md` to any post or page URL to get the content in Markdown (for example, `/example-post.md`). ## Pages - [Advanced Messaging Infrastructure & Services](https://www.process-one.net/advanced-messaging.md) - We specialize in high-performance messaging software. - [Pioneering the Future of Messaging](https://www.process-one.net/company.md) - What is ProcessOne? ProcessOne is the enterprise messaging infrastructure company behind ejabberd, the battle-tested platform that powered WhatsApp's growth to billions of users. We provide scalable, multi-protocol messaging solutions for businesses needing reliable real-time communication at any s… - [Specification & Reference Sheets](https://www.process-one.net/ejabberd-features.md) - ejabberd offers one of the most comprehensive feature sets of any instant messaging servers. - [Hardened Messaging](https://www.process-one.net/hardened-messaging.md) - Built for High Availability, Security, and Resilience - [Messaging Use Cases](https://www.process-one.net/use-cases.md) - Messages, data flow, events, signals — all are different words for different use cases of messaging. - [What is XMPP?](https://www.process-one.net/xmpp.md) - XMPP stands for eXtensible Messaging and Presence Protocol. ## Posts - [ejabberd 26.07](https://www.process-one.net/blog/ejabberd-26-07.md) - We are publishing this security release ejabberd 26.07, which includes several security fixes, some improvements and other minor bugfixes. It is strongly encouraged that you update ejabberd as soon as possible. - [Fluux Messenger 0.17.2: gapless history, faster transfers, and emoji autocomplete](https://www.process-one.net/blog/fluux-messenger-0-17-2-gapless-history-faster-transfers-and-emoji-autocomplete.md) - Version 0.17.2 lands a week after 0.17.1. It is another focused follow-up: close the gaps that could still appear in conversation history, make file transfers on the desktop substantially faster, and add the composer conveniences that were missing. - [Fluux Messenger 0.17.1: improved read sync, a Pure theme, and Aurora refinements](https://www.process-one.net/blog/fluux-messenger-0-17-1-improved-read-sync-a-pure-theme-and-aurora-refinements.md) - Version 0.17.1 lands one week after Aurora. It is a focused follow-up: fix what real-world use surfaced in 0.17.0, starting with cross-device read synchronization, and keep polishing the new look. - [Fluux Messenger 0.17.0: Aurora, a new visual identity and conversation-first navigation](https://www.process-one.net/blog/fluux-messenger-0-17-0-aurora-a-new-visual-identity-and-conversation-first-navigation.md) - Version 0.17.0 is the largest release of Fluux Messenger so far. It ships a complete visual refresh we call Aurora, rethinks how you move around the app, and removes the last hard limit on conversation history. - [Fluux Messenger 0.16.1: fixes and refinements from real-world use](https://www.process-one.net/blog/fluux-messenger-0-16-1-fixes-and-refinements-from-real-world-use.md) - We released Fluux Messenger 0.16.0 with its new end-to-end encryption only a few days ago, and feedback from people putting it to use in the field has already started coming in. - [Fluux Messenger 0.16.0: End-to-End Encryption](https://www.process-one.net/blog/fluux-messenger-0-16-0-end-to-end-encryption.md) - Version 0.16.0 is a milestone release. After months of groundwork, Fluux Messenger now supports end-to-end encryption for one-to-one conversations. - [Fluux Messenger 0.15.2: RTL Support, Faster Reconnection, and a Pile of Reliability Fixes](https://www.process-one.net/blog/fluux-messenger-0-15-2-rtl-support-faster-reconnection-and-a-pile-of-reliability-fixes.md) - This is a maintenance release with a few notable additions: RTL language support, faster reconnection after stream-management resume, and a handful of reliability fixes scattered across reconnect edge cases. RTL layout support (Arabic and Hebrew) and User interface tweaks Fluux Messenger now render… - [ejabberd 26.04](https://www.process-one.net/blog/ejabberd-26-04.md) - We are publishing this security release ejabberd 26.04, which includes options to limit XML parser, and other minor bugfixes. It is strongly encouraged that you update ejabberd as soon as possible. - [Fluux Messenger 0.15: Search, Themes, Polls, and a Whole Lot More](https://www.process-one.net/blog/fluux-messenger-0-15.md) - Fluux Messenger includes major features that should make the tools even more usable on a day to day basis. - [ejabberd 26.03](https://www.process-one.net/blog/ejabberd-26-03.md) - We are pleased to announce another bugfix release: ejabberd 26.03. This brings support for roster pre-approval, and more than 100 commits with bugfixes all around, many of them dedicated to the new mod_invites, including also many security fixes. - [Fluux Messenger 0.14.0 - Full Room Control & Richer Contact Profiles](https://www.process-one.net/blog/fluux-messenger-0-14-0.md) - Room moderation, MUC management, vCard support, and a wave of UX polish headline this release. - [Fluux Messenger 0.13.0 - Native TCP Connection & Complete EU Language Coverage](https://www.process-one.net/blog/fluux-messenger-0-13.md) - Native TCP connection, 26 EU languages and clipboard image paste headline this release. - [🚀 ejabberd 26.02](https://www.process-one.net/blog/ejabberd-26-02.md) - We are pleased to announce the bugfix release ejabberd 26.02. - [Introducing Fluux Messenger: A Modern XMPP Client Born from a Holiday Coding Session](https://www.process-one.net/blog/introducing-fluux-messenger-a-modern-xmpp-client-born-from-a-holiday-coding-session.md) - Open source is about scratching your own itch. - [🚀 ejabberd 26.01](https://www.process-one.net/blog/ejabberd-26-01.md) - We are pleased to announce ejabberd 26.01. This release addresses real operational pain points: export your data from one database backend and import it into another, and let your users invite others without opening the gates to spam. - [XMPP integration with n8n](https://www.process-one.net/blog/xmpp-integration-with-n8n.md) - How to interface an n8n workflow with an XMPP network - [Enabling Fluux.io WebPush on a PWA on iOS](https://www.process-one.net/blog/enabling-fluux-io-webpush-on-a-pwa-on-ios.md) - WebPush on iOS requires few additional steps - [Stop Telling Us XMPP Should Use JSON](https://www.process-one.net/blog/stop-telling-us-xmpp-should-use-json.md) - XML vs. JSON: Stop Worrying About the Wrong Layer - [On Signal Protocol and Post-Quantum Ratchets](https://www.process-one.net/blog/on-signal-protocol-and-post-quantum-ratchets.md) - A quick look at Signal's new end-to-end encryption protocol. - [Europe’s Decentralized Messaging Survives “Chat Control” Threat](https://www.process-one.net/blog/decentralized-messaging-survives-chat-control-threat.md) - Good news for anyone building messaging infrastructure in Europe: Denmark's Council presidency is abandoning mandatory detection orders in the Child Sexual Abuse Material (CSAM) proposal for now. The proposal was nicknamed "Chat Control" because it was invasive, requiring platforms to scan all mess… - [AI Bots Can't Use WhatsApp Anymore. So... Who Are They Going to Talk To?](https://www.process-one.net/blog/ai-bots-cant-use-whatsapp-anymore.md) - Meta just banned third-party AI chatbots from WhatsApp. Discord raised its capacity to welcome them. Two platforms, two strategies, and a choice that will determine whether AI agents can talk across platforms for the next two decades. - [🚀 ejabberd 25.10](https://www.process-one.net/blog/ejabberd-25-10.md) - We are pleased to announce a new ejabberd release: ejabberd 25.10, two months after the previous one, including several bugfixes, and many improvements for administrators and developers. - [Europe's Digital Sovereignty Paradox - "Chat Control" update](https://www.process-one.net/blog/chat-control-update-oct-2025.md) - Can you build tech independence while breaking encryption? - [Why Europe's 'Chat Control' Proposal Will Cripple European Communication Industry While Failing to Protect Children](https://www.process-one.net/blog/chat-control-2025.md) - On October 14th, the European Concil will vote on a regulation that could effectively dismantle Europe's emerging decentralized messaging ecosystem, and shake the broader European communication industry while failing to protect the children it claims to defend. Driven by Denmark's fierce advocacy d… - [Spotify’s Direct Messaging Gambit](https://www.process-one.net/blog/spotifys-direct-messaging-gambit.md) - Let's analyse why is Spotify launching its new messaging feature and why now? - [🚀 ejabberd 25.08](https://www.process-one.net/blog/ejabberd-25-08.md) - We are pleased to announce a new ejabberd release: ejabberd 25.08, just a month since the previous one, with support for Matrix Hydra rooms, a few improvements and bugfixes. - [XMPP: When a 25-Year-Old Protocol Becomes Strategic Again](https://www.process-one.net/blog/xmpp-when-a-25-year-old-protocol-becomes-strategic-again.md) - As new initiatives try to reinvent open messaging, too often starting from scratch, XMPP quietly reasserts itself as a reference protocol for open messaging. - [ejabberd 25.07](https://www.process-one.net/blog/ejabberd-25-07.md) - We are pleased to announce a new ejabberd release: ejabberd 25.07, with three months of work and more than 110 commits to bring new modules, new features, improvements and bugfixes. - [ejabberd 25.04](https://www.process-one.net/blog/ejabberd-25-04.md) - Just a few weeks after previous release, ejabberd 25.04 is published with an important security fix, several bug fixes and a new API command. - [Hello from the other side: Matrix ↔ XMPP via ejabberd 25.03](https://www.process-one.net/blog/hello-from-the-other-side-matrix-xmpp-via-ejabberd-25-03.md) - In this guide, you'll learn how to send direct messages between Matrix and XMPP users, and even join public Matrix rooms using your favorite XMPP client. - [ejabberd 25.03](https://www.process-one.net/blog/ejabberd-25-03.md) - We are pleased to announce ejabberd 25.03, a big release with new features and many improvements, as it comes three months and 180 commits after ejabberd 24.12. - [Supporting XMPP Standard Foundation's open letter to Meta for true interop](https://www.process-one.net/blog/supporting-xmpp-standard-foundations-open-letter-to-meta-for-true-interop.md) - As a free and open standard for building and deploying instant messaging systems, XMPP represents the ideal foundation for true messaging interoperability. - [Join our community: Free Memberships now available](https://www.process-one.net/blog/join-our-community-free-memberships-now-available.md) - Join our community on our website! Stay updated, engage with our content, and connect directly with our team: sign up for free or follow us via RSS: no strings attached! - [How Big Tech Pulled Off the Billion-User Heist](https://www.process-one.net/blog/how-big-tech-pulled-off-the-billion-user-heist.md) - How large messaging and social platforms hijacked the international phone numbering system—a common good—to build proprietary communication networks that stifle competition. - [Fluux multiple Subscriptions/Services](https://www.process-one.net/blog/fluux-multiple-subscriptions-services.md) - Fluux users can now subscribe multiple plans and services - [ejabberd 24.12](https://www.process-one.net/blog/ejabberd-24-12.md) - 🚀 ejabberd 24.12: The "evacuate_kindly" release - [Docker: Keep ejabberd automagically updated with Watchtower](https://www.process-one.net/blog/docker-ejabberd-watchtower.md) - Learn how to set up ejabberd with Docker, automate updates with Watchtower, and maintain control of updates for a secure and stable server setup. - [Thoughts on Improving Messaging Protocols — Part 2, Matrix](https://www.process-one.net/blog/thoughts-on-improving-messaging-protocols-part-2-matrix.md) - A Proposal to Simplify and Speed Up Matrix Merge Operations - [ejabberd 24.10](https://www.process-one.net/blog/ejabberd-24-10.md) - 🚀 ejabberd 24.10: The "Bidi" Stream Release - [ProcessOne Unveils New Website](https://www.process-one.net/blog/processone-unveils-new-website.md) - Say hello to the new ProcessOne website ! - [Easily Monitor Push Notifications with Fluux ejabberd Managed Service](https://www.process-one.net/blog/check-your-push-logs-on-fluux-io.md) - Good news! You can now monitor your push notifications directly through your fluux.io console, offering better visibility into the status and delivery of messages to your users. How to Access Push Logs To start, navigate to the Push Apps list in your Fluux.io dashboard (see WebPush support for inst… - [Matrix and XMPP: Thoughts on Improving Messaging Protocols – Part 1](https://www.process-one.net/blog/matrix-and-xmpp-thoughts-on-improving-messaging-protocols-part-1.md) - For over two decades, ProcessOne has been developing large-scale messaging platforms, powering some of the largest services in the world. Our mission is to build the best messaging back-ends imaginable–an exciting yet complex challenge. - [ejabberd 24.07](https://www.process-one.net/blog/ejabberd-24-07.md) - Introducing ejabberd 24.07: Bugfix Release This ejabberd 24.07 is mostly a bugfix release for the recent 24.06, and also includes a few improvements. - [Breaking Down the Costs of Large Messaging Services](https://www.process-one.net/blog/breaking-down-the-costs-of-large-messaging-services.md) - I will comment on an interesting article from Meredith Whittaker and Joshua Lund breaking down the cost of running a large-scale messaging platform. - [ejabberd 24.06](https://www.process-one.net/blog/ejabberd-24-06.md) - Introducing ejabberd 24.06: Deep Work Release! - [Understanding messaging protocols: XMPP and Matrix](https://www.process-one.net/blog/xmpp-matrix.md) - In the world of real-time communication, two prominent protocols often come into discussion: XMPP and Matrix. Both protocols aim to provide robust and secure messaging solutions, but they differ in architecture, features, and community adoption. This article delves into the key differences and simi… - [Saying Goodbye to ICQ !](https://www.process-one.net/blog/saying-goodbye-to-icq.md) - With ICQ shutting down on June 26, 2024, I can’t help but feel nostalgic. Remember your old ICQ UIN? I tried to find mine but no luck. How about you? Do you remember yours? - [After Texts.com, Automattic acquires Beeper](https://www.process-one.net/blog/after-texts-com-automattic-acquires-beeper.md) - Will we see a new messaging era? - [ejabberd Docs now using MkDocs](https://www.process-one.net/blog/ejabberd-docs-now-using-mkdocs.md) - The ejabberd Docs website did just get a major rework: new content management system, reorganized navigation, improved markdown, and several improvements! - [Matrix gateway setup with ejabberd](https://www.process-one.net/blog/matrix-gateway-setup-with-ejabberd.md) - As of version 24.02, ejabberd is shipped with a Matrix gateway and can participate in the Matrix federation. This means that an XMPP client can exchange messages with Matrix users or rooms. Let’s see how to configure your ejabberd to enable this gateway. - [ejabberd 24.02](https://www.process-one.net/blog/ejabberd-24-02.md) - Introducing ejabberd 24.02: A Huge Release! - [WebPush support on your fluux.io instance](https://www.process-one.net/blog/webpush-support-on-your-fluux-io-instance.md) - We’re excited to announce the latest enhancement to Fluux.io services – the integration of WebPush support. This significant update extends our services beyond - [Happy New Year: Celebrating 21 Years of Innovation with ejabberd](https://www.process-one.net/blog/happy-new-year-celebrating-21-years-of-innovation-with-ejabberd.md) - Time flies, and it’s hard to believe that ejabberd, our beloved open-source project, celebrated its 21st anniversary last November 16th! It’s a milestone that we’ve proudly highlighted over the years – remember the 4th, 10th, 18th, and 20th anniversaries? Well, 21 is just as significant, marking ov… - [Instant Messaging: Protocols are “Commons”, Let’s Take Them Seriously](https://www.process-one.net/blog/instant-messaging-protocols-are-commons-lets-take-them-seriously.md) - TLDR; Thirty years after the advent of the first instant messaging services, we still haven’t reached the stage where instant messaging platforms can freely communicate with each other, as is the case with email. In 1999, the Jabber/XMPP protocol was created and standardized for this purpose by the… - [Automatic schema update in ejabberd](https://www.process-one.net/blog/automatic-schema-update-in-ejabberd.md) - ejabberd 23.10 has a new feature that is currently in beta testing: Automatic relational schema creation and update. - [ejabberd 23.10](https://www.process-one.net/blog/ejabberd-23-10.md) - A new ejabberd release, ejabberd 23.10, is now published with more than 150 commits since the previous 23.04. It includes many new features and improvements, and also many more bugfixes. Support for XEP-0402: PEP Native Bookmarks Support for XEP-0421: Occupant Id Many new options and features - [ejabberd 23.04](https://www.process-one.net/blog/ejabberd-23-04.md) - This new ejabberd 23.04 release includes many improvements and bug fixes, as well as some new features. - [ejabberd 23.01](https://www.process-one.net/blog/ejabberd-23-01.md) - Almost three months after the previous release, ejabberd 23.01 includes many bug fixes, several improvements and some new features. A new module, mod_mqtt_bridge, can be used to replicate changes to MQTT topics between local and remote servers. - [Federate the world — Best wishes from ProcessOne](https://www.process-one.net/blog/federate-the-world-best-wishes-from-processone.md) - This is Mickaël Rémond, Founder of ProcessOne, maker of ejabberd. I would like to wish you, customers, users, contributors, a great year 2023, for you and your family. I wish you happiness and success in your projects. I wish you serenity in the turmoil of our connected world. - [Hello Fediverse !](https://www.process-one.net/blog/hello-fediverse.md) - Just a quick note to let you know that we have suspended our activity on Twitter. It has been in the past a good place to gather with similarly minded technical people. We feel this is not the case anymore. So, we moved our social network presence in the Fediverse ! You can follow ProcessOne on our… - [ejabberd turns 20](https://www.process-one.net/blog/ejabberd-turns-20.md) - ejabberd is a piece of software that was born 20 years ago. - [ejabberd 22.10](https://www.process-one.net/blog/ejabberd-22-10.md) - This ejabberd 22.10 release includes six months of work, over 140 commits, including relevant improvements in MIX, MUC, SQL, and installers, and bug fixes as usual. - [Matrix protocol added to ejabberd](https://www.process-one.net/blog/matrix-protocol-added-to-ejabberd.md) - ejabberd is already the most versatile and scalable messaging server. In this post, we are giving a sneak peak at what is coming next. ejabberd just get new ace in it sleeve – you can now use ejabberd to talk with other Matrix servers, a protocol sometimes used for small corporate server messaging.… - [Announcing ejabberd DEB and RPM Repositories](https://www.process-one.net/blog/announcing-ejabberd-deb-and-rpm-repositories.md) - Today, we are happy to announce our official Linux packages repository: a source of .deb and .rpm packages for ejabberd Community Server. This repository provides a new way for the community to install and upgrade ejabberd. - [ejabberd 22.05](https://www.process-one.net/blog/ejabberd-22-05.md) - A new ejabberd release is finally here! ejabberd 22.05 includes five months of work, 200 commits, including many improvements (MQTT, MUC, PubSub, …) and bug fixes. - [ejabberd 21.12](https://www.process-one.net/blog/ejabberd-21-12.md) - This new ejabberd 21.12 release comes after five months of work, contains more than one hundred changes, many of them are major improvements or features, and several bug fixes. - [ejabberd 21.07](https://www.process-one.net/blog/ejabberd-21-07.md) - This new ejabberd 21.07 release includes many improvements and bugfixes in more than 130 commits. - [Install ejabberd on Windows 7 using Docker Toolbox](https://www.process-one.net/blog/install-ejabberd-on-windows-7-using-docker-toolbox.md) - Did you read our previous tutorial how to install ejabberd on Windows 10 using Docker Desktop? Do you have a Microsoft system older than Windows 10? Don’t worry, instead of Docker Desktop you can use Docker Toolbox, and this tutorial guides you over the process. This tutorial explains how to get an… - [ejabberd 21.04](https://www.process-one.net/blog/ejabberd-21-04.md) - The new ejabberd 21.04 release includes many bugfixes and a few improvements. This release includes minor improvements to fully support Erlang/OTP 24 and Rebar3. At the same time, it maintains support back to the old Erlang/OTP 19.3 and Rebar2. - [Install ejabberd on Windows 10 using Docker Desktop](https://www.process-one.net/blog/install-ejabberd-on-windows-10-using-docker-desktop.md) - Do you want to install ejabberd on your Windows 10 machine? Do you miss the binary installers for Windows? Don’t worry, you can install ejabberd on Windows 10 using Docker Desktop, and this tutorial guides you through the process. - [Publish-Subscribe pattern and PubSub in ejabberd](https://www.process-one.net/blog/publish-subscribe-pattern-and-pubsub-in-ejabberd.md) - Publish–Subscribe is a messaging pattern where senders of messages, called publishers, do not send the messages directly to specific receivers, called subscribers. Instead, publishers categorize messages into channels without knowledge of which subscribers, if any, there may be. Similarly, subscrib… - [Install and configure MariaDB with ejabberd](https://www.process-one.net/blog/install-and-configure-mariadb-with-ejabberd.md) - By default, ejabberd uses the Mnesia internal database. It is great for home and small office environments, but in larger companies, as the amount of chat logs and users grows, we need more scalability. Today, I will show you how to install MariaDB, a MySQL-compatible database, migrate your data an… - [ejabberd 21.01](https://www.process-one.net/blog/ejabberd-21-01.md) - Six weeks after previous release, ejabberd 21.01 contains as usual several improvements and bugfixes. There are no changes required in the API, configuration or databases. Fixed sqlite3 dependency version erlang-sqlite3 versions got messed up, causing ejabberd build to regress to 1.1.6 from Jan 201… - [ejabberd 20.12](https://www.process-one.net/blog/ejabberd-20-12.md) - We are pleased to announce ejabberd 20.12. This release, just in time for the New Year’s, includes several new features and many improvements & bugfixes. Most notably, ejabberd now works with the Microsoft ODBC Driver for the SQL Server support. With a new config option, sql_odbc_driver, you can ex… - [Jamler XMPP server, an OCaml experiment based on ejabberd 2.1.8](https://www.process-one.net/blog/jamler-xmpp-server-an-ocaml-experiment-based-on-ejabberd-2-1-8.md) - During the interview with Alexey Shchepin we had last week, the author of ejabberd mentioned Jamler. Did you notice? Jamler is an experimental XMPP server, developed mainly in 2011 as an attempt to rewrite ejabberd in OCaml. The goal was to see how static typing would affect ejabberd and its code o… - [Interview with Alexey Shchepin, creator of ejabberd](https://www.process-one.net/blog/interview-with-alexey-shchepin-creator-of-ejabberd.md) - This month, ejabberd is 18 years old. On this occasion we talked with Alexey Shchepin, who created ejabberd in November 2002. Today, ejabberd is one of the most popular XMPP servers in the world, used by millions of people, devices and many big companies like Facebook, WhatsApp, or CCP Games (famou… - [Happy 18th Birthday, ejabberd!](https://www.process-one.net/blog/happy-18th-birthday-ejabberd.md) - This month marks 18 years of ejabberd development. Alexey Shchepin started ejabberd in November 2002. Since then it has grown to a super-scalable and rock-solid real-time communication server. Universal ejabberd ejabberd supports XMPP, MQTT and SIP protocols. It has many built-in features like a ST… - [Real-time Radar Issue #40: ProcessOne on Telegram, Fog Computing with XMPP and more](https://www.process-one.net/blog/real-time-radar-issue-40-processone-on-telegram-fog-computing-with-xmpp-and-more.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #40. - [Getting started with WebSocket API in ejabberd](https://www.process-one.net/blog/getting-started-with-websocket-api-in-ejabberd.md) - The WebSocket API, as neatly explained by the MDN, is a technology that makes it possible to open a two-way interactive communication session between the user’s browser and a server. With WebSocket API, you can send messages to a server and receive event-driven responses without having to poll the… - [ejabberd 20.07](https://www.process-one.net/blog/ejabberd-20-07.md) - We are pleased to announce ejabberd 20.07. In addition to the usual fixes, this version adds support for Unix domain socket (aka IPC socket) which can be used to replace IP socket for any listener. As it’s more efficient than a network socket, this is the recommended endpoint to use if you have a p… - [Starting with MQTT protocol and ejabberd MQTT broker](https://www.process-one.net/blog/starting-with-mqtt-protocol-and-ejabberd-mqtt-broker.md) - Update January 2022: This tutorial is slightly out of date. In case of problems, please consult the corresponding section in the ejabberd documentation: MQTT Support. MQTT stands for Message Queuing Telemetry Transport. It is a simple and lightweight publish/subscribe messaging protocol: MQTT broke… - [eturnal v1.0.0: say hello to a new STUN/TURN server](https://www.process-one.net/blog/eturnal-v1-0-0-say-hello-to-a-new-stun-turn-server.md) - This is a guest post by Holger Weiß, the author of eturnal. Holger works as a professional server administrator at Freie Universität Berlin and operates the Conversations.im service (together with Daniel Gultsch). He’s a regular contributor to ejabberd and various other Open Source projects. Today,… - [Check ejabberd XMPP server useful configuration steps](https://www.process-one.net/blog/ejabberd-xmpp-server-useful-configuration-steps.md) - In this article I will share some configuration steps that I made while I was preparing my previous ejabberd XMPP server tutorials. I assume the starting ejabberd configuration from my article on setting up your ejabberd real time IM server and configuring ejabberd video & voice calling, as well as… - [How to configure ejabberd to get 100% in XMPP compliance test](https://www.process-one.net/blog/how-to-configure-ejabberd-to-get-100-in-xmpp-compliance-test.md) - Your ejabberd XMPP server is a powerful piece of software. But configuring everything requires several steps. Your best place to start is this hands-on ejabberd installation tutorial and this ejabberd STUN/TURN tutorial. If you have specific questions, first be sure to consult the official ejabberd… - [How to set up ejabberd video & voice calling](https://www.process-one.net/blog/how-to-set-up-ejabberd-video-voice-calling.md) - Last time, I described how to set up ejabberd real time IM server and migrate your office to XMPP chat. In this tutorial I will explain how to configure ejabberd video & voice calling. I assume the ejabberd 20.03 configuration from that previous tutorial as a start. It turns out, if you try ejabber… - [ejabberd 20.04](https://www.process-one.net/blog/ejabberd-20-04.md) - We are pleased to announce ejabberd 20.04. In addition to various bugfixes and improvements, this release massively improves audio and video calls support. ejabberd 20.04 now implements XEP-0215: External Service Discovery, via the new mod_stun_disco module, which allows XMPP clients to discover ST… - [How to move the office to real time IM on ejabberd](https://www.process-one.net/blog/how-to-move-the-office-to-real-time-im-on-ejabberd.md) - During a pandemic, businesses around the world face the same fundamental problem: how to quickly move office staff to work remotely from home? You need an instant messaging (IM) platform like the ejabberd real time IM server. Of course, you can choose other cloud services, but they come with a comm… - [ejabberd 20.03](https://www.process-one.net/blog/ejabberd-20-03.md) - We are pleased to announce ejabberd version 20.03. This release adds a mix of features, optimizations and bugfixes: TLS support to connect to MySQL, initial cockroachdb support or fix of webadmin related issues. See Changelog below for a complete list. - [ProcessOne services continue as usual through COVID-19 outbreak](https://www.process-one.net/blog/processone-services-continue-as-usual-through-covid-19-outbreak.md) - In case you were wondering, all ProcessOne services and operations are continuing as usual throughout COVID-19 outbreak. For more than a decade ProcessOne has been providing realtime messaging & communication services while its team was working 100% remotely, from various global locations. We conti… - [go-xmpp v0.5.0](https://www.process-one.net/blog/go-xmpp-v0-5-0.md) - A new version of the go-xmpp library, which can be used to write XMPP clients or components in Go, has been released. It’s available on GitHub. You can find the full changelog here : CHANGELOG This version essentially adds support for Stream Management (XEP-0198), and post-connect/post-reconnect ho… - [xmpp-notifer v1.0.0](https://www.process-one.net/blog/xmpp-notifer-v1-0-0.md) - We just released a new GitHub Action called xmpp-notifier! It allows sending notifications to XMPP, and uses our go-xmpp library under the hood. Let’s go through an example showing how to use it. Small example Say we want to get notifications when tests fail on a pull-request for our Go project. In… - [Suggestions for assessing our carbon footprint](https://www.process-one.net/blog/suggestions-for-assessing-our-carbon-footprint.md) - Every one of our consumer actions has an impact on the environment and contributes to carbon emissions into the atmosphere. We all agree that global warming is not yet under control and that we must act to reduce our own emissions. However, our first tendency is frequently to hide our face as well.… - [ejabberd 20.02](https://www.process-one.net/blog/ejabberd-20-02.md) - We are pleased to announce ejabberd version 20.02. After a big release last month, this version is mostly a bugfix release. - [Install ejabberd on macOS using Homebrew package manager](https://www.process-one.net/blog/ejabberd-on-macos-with-homebrew-package-manager.md) - Homebrew is now the de facto package manager for open source software on macOS. Thus, we have discontinued our macOS binary installer to focus on improving further ejabberd experience on macOS by polishing Homebrew ejabberd package. We recently updated ejabberd on Homebrew and we will keep it in sy… - [Your Development Infrastructure Needs Green & Lean Computing](https://www.process-one.net/blog/your-development-infrastructure-needs-green-lean-computing.md) - Software energy consumption is on the rise. The Internet and its online services now account for more than 7% of the planet’s electric consumption. Usage continues to grow extremely rapidly while energy consumption increases almost linearly with usage. It’s time to consider green & lean computing. - [ejabberd 20.01](https://www.process-one.net/blog/ejabberd-20-01.md) - We are pleased to announce ejabberd version 20.01. This release focuses on OAUTH support, logging performances improvement and configuration helper, as well as the usual various bug fixes. - [go-xmpp v0.4.0](https://www.process-one.net/blog/go-xmpp-v0-4-0.md) - A new version of the go-xmpp library, which can be used to write XMPP clients or components in Go, has been released. It’s available on GitHub. You can find the full changelog here: CHANGELOG Some noteworthy features are the support of three new extensions: — XEP-0060: Publish-Subscribe — XEP-0050:… - [Towards Lean Computing: Integrating Energy Consumption in Application Design](https://www.process-one.net/blog/towards-lean-computing-integrating-energy-consumption-in-application-design.md) - In the quest for better energy efficiency, the applications themselves are often overlooked. Our industry likes to pretend that all technologies are equivalent and has forgotten that the choice of programming languages, frameworks and architecture have a major impact on energy consumption. - [ProcessOne: What to expect in 2020?](https://www.process-one.net/blog/processone-what-to-expect-in-2020.md) - As this is the end of the year, I’d like to take the opportunity to share with you how ProcessOne has changed over time and how it is approaching the next decade. ProcessOne was created to simplify the implementation of large-scale, real-time messaging services. In 2005, the most advanced tool was… - [SwiftNIO Workshop in Paris at dotSwift Conference](https://www.process-one.net/blog/swiftnio-workshop-in-paris-at-dotswift-conference.md) - I have partnered with the good folks at dotConferences to put together some contents for a SwiftNIO workshop. The workshop will take place in Paris on February the 4th, the day after the dotSwift conference. If you are coming to Paris for the dotSwift conference, you can make the best of your trip… - [go-xmpp 0.3.0](https://www.process-one.net/blog/go-xmpp-0-3-0.md) - A new version of the go-xmpp library, which can be used to write XMPP clients or components in Go, as been released. It’s available on GitHub. Upon new features, it adds a websocket transport. For this reason, the minimum go version to use it is now 1.13. It also adds a SendIQ method, to send iq st… - [Building Realtime Streaming Architectures](https://www.process-one.net/blog/building-realtime-streaming-architectures.md) - Real time is not only about client interactions. We have been using XMPP & MQTT since a long time to connect people and things together. However, there is another use case for real time that is a little less known: real time streaming architectures. This is a design pattern that you can use to make… - [Real-time Radar #27](https://www.process-one.net/blog/real-time-radar-27.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #27. To receive this newsletter straight to your inbox on the day it is published, subscribe here. » Do you wa… - [Real-time Radar #26](https://www.process-one.net/blog/real-time-radar-26.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #26. To receive this newsletter straight to your inbox on the day it is published, subscribe here. » Do you wa… - [Swift Server-Side Conference 2019 Highlights: Day 2](https://www.process-one.net/blog/swift-server-side-conference-2019-highlights-day-2.md) - The second day of the Swift Server-Side conference was as packed with great talk as the first day. You can read my previous post on workshop and day 1. Building the next version of the Smoke Framework (Simon Pilkington) Simon Pilkinson introduced his rework on the Smoke framework, developed as a vi… - [Swift Server-Side Conference 2019 Highlights: Workshop & Day 1](https://www.process-one.net/blog/swift-server-side-conference-2019-highlights-workshop-day-1.md) - Swift is mostly known nowadays as the main programming language you can use to develop on Apple devices. However Swift, being Open Source, has a small community of dedicated people that have started to work on building an ecosystem to make Swift development on the server-side a viable option. Swift… - [SwiftNIO: Introduction to Channels, ChannelHandlers and Pipelines](https://www.process-one.net/blog/swiftnio-introduction-to-channels-channelhandlers-and-pipelines.md) - Let’s keep on exploring the concepts behind SwiftNIO by playing with Channels, ChannelHandlers and ChannelPipelines. This article was originally published in Mastering SwiftNIO, a new book exploring practical implementations of SwiftNIO. If you are new to SwiftNIO, you may want to first checkout my… - [ejabberd 19.09.1](https://www.process-one.net/blog/ejabberd-19-09-1.md) - We are announcing a supplemental bugfix release of ejabberd version 19.09.1. The main focus has been to fix the issue with webadmin returning 404 Not Found when Host header doesn’t match anything in configured hosts. Bugfixes Some people have reported still having issues when connecting to the web… - [Understanding ejabberd OAuth Support & Roadmap](https://www.process-one.net/blog/understanding-ejabberd-oauth-support-roadmap.md) - Note: For up-to-date documentation on OAuth configuration and usage in recent ejabberd versions, check the corresponding page in the ejabberd Docs site: OAuth Support. Login and password authentication is still the most commonly used auth mechanism on XMPP services. However, it is causing security… - [FrenchKit Conference: Day 2 Highlights](https://www.process-one.net/blog/frenchkit-conference-day-2-highlights.md) - Yesterday, I shared my highlights on FrenchKit Conference 2019, Day 1. Today, I will talk about FrenchKit Day 2. Swift Superpowers Swift Superpowers were three lightning talks presented by David Bonnet, mostly focused on server-side Swift, and spread out during the day. He covered the following top… - [FrenchKit Conference: Day 1 Highlights](https://www.process-one.net/blog/frenchkit-conference-day-1-highlights.md) - FrenchKit is an iOS and macOS developer conference held in Paris. The fourth edition took place on October 7-8, 2019. I was attending this conference for the first time and really enjoyed the gathering. The conference is well organised, with a lot of excellent speakers. There is a true good vibe co… - [SwiftNIO: Understanding Futures and Promises](https://www.process-one.net/blog/swiftnio-futures-and-promises.md) - SwiftNIO is Apple non-blocking networking library. It can be used to write either client libraries or server frameworks and works on macOS, iOS and Linux. It is built by some of the Netty team members. It is a port of Netty, a high performance networking framework written in Java and adapted in Swi… - [The concepts behind SwiftUI: What is the keyword “some” doing?](https://www.process-one.net/blog/the-concepts-behind-swiftui-what-is-the-keyword-some-doing.md) - When you want to start learning SwiftUI, you create a project and get a basic example view with just a Text field. That default view is pretty simple, but already introduces many new concepts. Let’s focus in this article on the some keyword. Note: If you are new to SwiftUI, you may want to read the… - [Writing a Custom Scroll View with SwiftUI in a chat application](https://www.process-one.net/blog/writing-a-custom-scroll-view-with-swiftui-in-a-chat-application.md) - When you are writing a chat application, you need to be able to have some control on the chat view. The chat view typically starts aligned at the end of the conversation, which is the bottom of the screen. When you have received more messages and they cannot fit on one screen anymore, you can scrol… - [ejabberd 19.09](https://www.process-one.net/blog/ejabberd-19-09.md) - We are pleased to announce ejabberd version 19.09. The main focus has been to improve automatic certificate management stack (Let’s Encrypt). We also fixed bugs that had been introduced during previous big refactoring of the configuration management file, as well as the usual various bug fixes. New… - [Using a local development trusted CA on MacOS](https://www.process-one.net/blog/using-a-local-development-trusted-ca-on-macos.md) - TLS certificates are so ubiquitous that you now very often need them even during the development phase. Developers are thus used to create “self-signed” certificates and configure their client requiring TLS support to accept self-signed certificates. This can be fine for development: As both the cl… - [We are not an Erlang company](https://www.process-one.net/blog/we-are-not-an-erlang-company.md) - ProcessOne has made a mark on Erlang history, developing reference software in Erlang, providing strong Erlang expertise and helping grow the its ecosystem. Still, ProcessOne is much more than our Erlang fame. We are technology agnostic. We are great at selecting the right tool for the job to build… - [The concepts behind Swift UI: Introduction](https://www.process-one.net/blog/the-concepts-behind-swift-ui-introduction.md) - SwiftUI is a new application framework from Apple that complements UIKit and AppKit. It is expected to be the future of UI definition on Apple platform, unifying GUI application writing using the same framework on all Apple platforms, from Apple Watch to iOS and MacOS. We can help you build your ne… - [Fluux and ejabberd BE support iOS 13 Apple Push Notification System from day one](https://www.process-one.net/blog/fluux-and-ejabberd-be-support-ios-13-apple-push-notification-system-from-day-one.md) - Yesterday, Apple unveiled the new iPhones and set September 19 as the date for the release of iOS 13. This new operating system brings lots of new features and changes, but among them there’s one easy-to-miss update that’s very significant for messaging server operators: an update to APNS requests… - [Real-time Stack #25](https://www.process-one.net/blog/real-time-stack-25.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #25. To receive this newsletter straight to your inbox on the day it is published, subscribe here. » Do you wa… - [Real-time Enterprise #24](https://www.process-one.net/blog/real-time-enterprise-24.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #24. To receive this newsletter straight to your inbox on the day it is published, subscribe here. Do you want… - [Real-time Stack #24](https://www.process-one.net/blog/real-time-stack-24.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #24. To receive this newsletter straight to your inbox on the day it is published, subscribe here. » Do you wa… - [Real-time Enterprise #23](https://www.process-one.net/blog/real-time-enterprise-23.md) - ProcessOne curates the Real-time Radar – a newsletter focusing on articles about technology and business aspects of real-time solutions. Here are the articles we found interesting in Issue #23. To receive this newsletter straight to your inbox on the day it is published, subscribe here. » Do you wa… - [ejabberd 19.08](https://www.process-one.net/blog/ejabberd-19-08.md) - We are pleased to announce ejabberd version 19.08. The main focus has been to further improve ease of use, consistency, performance, but also to start cleaning up our code base. As usual, we have kept on improving server performance and fixed several issues. - [GopherCon 2019 Highlights](https://www.process-one.net/blog/gophercon-2019-highlights.md) - I had the chance to attend once more the big main annual Go conference: GopherCon 2019. For the first time this year, location changed from Denver to San Diego. Ocean, mild climate and extraordinary venue for the party (on the USS Midway) contributed to a relax and friendly atmosphere. GopherCon is… - [Uniting global football fans with an XMPP geocluster](https://www.process-one.net/blog/uniting-global-football-fans-with-an-xmpp-geocluster.md) - When you are running one of the top sport brands, launching a new innovative app always means it comes with great expectations from your fans. That’s why highly recognised brands turn to ProcessOne. They need to be sure that the project will launch in time, will perform well and will not collapse u… - [Breaking 25 trillion notifications for the BBC](https://www.process-one.net/blog/breaking-25-trillion-notifications-for-the-bbc.md) - In 2012, BBC needed to add a push notification service to its portfolio of mobile applications, with main focus on BBC News and BBC Sports. At the scale of the BBC, there was several key requirements that made it difficult to use an off-the-shelf application: 1. A large number of deployed applicati… - [Thoughts on Code Style in Library Design](https://www.process-one.net/blog/thoughts-on-code-style-in-library-design.md) - Designing the API for an XMPP client I have been recently working on our Fluux XMPP library, a library that can be used to implement clients and server components in Go. XMPP protocol is flexible and contains many extensions. It can be daunting to get into XMPP so it’s very tempting to add new tool… - [Real-time Stack Issue #23](https://www.process-one.net/blog/real-time-stack-issue-23.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning tech aspects of real-time development we found interesting in Issue #23. To receive this newsletter straight in your inbox on the day it’s published,… - [Real-time Enterprise Issue #22](https://www.process-one.net/blog/real-time-enterprise-issue-22.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning business aspects of real-time development we found interesting in Issue #22. To receive this newsletter straight in your inbox on the day it’s publis… - [ejabberd & Nintendo Switch NPNS](https://www.process-one.net/blog/ejabberd-nintendo-switch-npns.md) - Last week, Taiyo Watanabe from Nintendo shared some insights about Nintendo Switch Push Notification infrastructure (NPNS) implementation. Here are some details from his presentation at ElixirFest conference. The Nintendo Switch NPNS is a large-scale realtime messaging service based on ejabberd. Th… - [Real-time Stack Issue #22](https://www.process-one.net/blog/real-time-stack-issue-22.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning tech aspects of real-time development we found interesting in Issue #22. To receive this newsletter straight in your inbox on the day it’s published,… - [ejabberd 19.05](https://www.process-one.net/blog/ejabberd-19-05.md) - We are pleased to announce ejabberd version 19.05. The main focus of this release has been to expand our MQTT stack with Websocket support, to power web based IoT platforms. We also have improved existing features, improved server performance and fixed several issues. New Features and improvements… - [Real-time Enterprise Issue #21](https://www.process-one.net/blog/real-time-enterprise-issue-21.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning business aspects of real-time development we found interesting in Issue #21. To receive this newsletter straight in your inbox on the day it’s publis… - [Qu’est-ce que MQTT ? Définition de MQTT](https://www.process-one.net/blog/quest-ce-que-mqtt-definition-de-mqtt.md) - MQTT (Message Queuing Telemetry Transport) est un protocole réseau léger de publication-abonnement qui transporte les messages entre les appareils. Le protocole s’exécute généralement sur TCP / IP; cependant, tout protocole réseau qui fournit des connexions ordonnées, sans perte et bidirectionnelle… - [Qu’est-ce que l’Internet des Objets ? IdO, IoT](https://www.process-one.net/blog/quest-ce-que-linternet-des-objets-ido-iot.md) - L’Internet des objets, ou IdO (en anglais (the) Internet of Things, ou IoT) est l’interconnexion entre l’Internet et des objets, des lieux et des environnements physiques. - [What is Off-the-Record Messaging (OTR)?](https://www.process-one.net/blog/what-is-off-the-record-messaging-otr.md) - OTR, or Off-the-Record Messaging is a protocol used in encryption of Instant Messaging (IM) conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentic… - [Real-time Stack Issue #21](https://www.process-one.net/blog/real-time-stack-issue-21.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning tech aspects of real-time development we found interesting in Issue #21. To receive this newsletter straight in your inbox on the day it’s published,… - [How we protect visitors privacy](https://www.process-one.net/blog/how-we-protect-visitors-privacy.md) - We recently announced our intention to become a Facebook-free business. We are happy to report that all our Facebook Pages have now been permanently deleted, and all Facebook widgets and buttons have been removed from our websites. But it wasn’t our first step towards minimising corporate surveilla… - [Real-time Enterprise Issue #20](https://www.process-one.net/blog/real-time-enterprise-issue-20.md) - ProcessOne curates two monthly newsletters – tech-focused Real-time Stack and business-focused Real-time Enterprise. Here are the articles concerning business aspects of real-time development we found interesting in Issue #20. To receive this newsletter straight in your inbox on the day it’s publis… - [30th Anniversary of the Web: Understanding its Core Values](https://www.process-one.net/blog/30th-anniversary-of-the-web-understanding-its-core-values.md) - The Web was born 30 years ago. We all know that it has changed the world, even more deeply than smartphones. ## Optional - [RSS Feed](https://www.process-one.net/blog/rss/) - [Sitemap](https://www.process-one.net/sitemap.xml) - [Full content of pages and posts](https://www.process-one.net/llms-full.txt)