Thoughts on Code Style in Library Design

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 tools […]

ejabberd & Nintendo Switch NPNS

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. The game consoles are constantly connected to the infrastructure, listening for push notifications. So far, […]

ejabberd 19.05

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 MQTT over Websocket ejabberd supports the Internet of […]

ejabberd 19.02: the MQTT Edition

This new ejabberd 19.02 release includes new major features, but also several improvements and bug fixes. The biggest news is the introduction of MQTT support. Contributions Several changes in this release were authored by our community contributors, and we would like to extend a big thank you for the contributions to: Holger Weiss, Christoph Scholz, […]

Proxy protocol in ejabberd

This article describes how to configure HAProxy and ejabberd together. If you are using a proxy in front of ejabberd, the support for proxy protocol is a new feature allowing the XMPP server to know the real IP addresses of the connecting client instead of seeing just the IP used by the proxy server. The […]

ejabberd 18.12

This new ejabberd 18.12 release includes new major features, but also several improvements and bug fixes. New features XML Compression in message archive storage Message Archive Management is a very nice features of XMPP. It allows your users to store their message history directly on the XMPP server. It is pretty handy, but as the […]

ejabberd 18.09

The summer holidays season is often a time of great inspiration. This year we used that opportunity to focus on important groundwork on ejabberd codebase. However, we also decided to work on making ejabberd more accessible to newcomers. For all these reasons, ejabberd is equally important for our growing community of users, for our customers, […]

Announcing RTB, an open source real-time protocols benchmark tool

ProcessOne is excited today to announce the first release of RTB (Real-Time Benchmark), an open source benchmarking tool to stress-test real-time protocols. The aim of this project is to define an easy benchmark for XMPP and MQTT servers, with minimal configuration overhead. » Do you want to enhance your business with real time systems? « […]

ejabberd 18.06

This ejabberd 18.06 release includes, after two months of development, a lot of bug-fixes and many improvements. There are also a few changes, so please read carefully the release notes. Noticeable changes Stop ejabberd initialization on invalid/unknown options Since some time now, we are warning ejabberd admins in log file about incorrect configuration options. We […]

ejabberd 18.04

This ejabberd 18.04 release includes bugfixes, and a few improvements. New configuration options New ‘access_register’ option for mod_muc This option specifies who is allowed to register nickname within the Multi-User Chat service. The default is all for backward compatibility, which means that any user is allowed to register any free nick. New ‘include_sender’ and ‘include_body’ […]

ejabberd 18.03

After two months of active development, we’re happy to announce the release of ejabberd 18.03 which includes many improvements, new options, and bugfixes. New configuration options New ‘negotiation_timeout’ option The option can be used to specify a period (in seconds) for a stream negotiation to complete. If the timer fires, the stream is considered as […]

Challenges in Building Real Time Applications

Real time is everywhere. Users are now expecting that applications can update and display pieces of information in real time. Whether you are building a chat application, a website, a mobile app, or a business application, users want to be notified, receive pushes (properly targeted), be able to react instantly and have the user interface […]

Eve Online chat is moving to ejabberd

I am player at heart. I do not have time to play much, but since my young years, I have always been fascinated by gameplay mechanisms, to the point I am more interested in understanding the game design than by the act of playing the game. Even if I do not have much time to […]

ejabberd 18.01

ejabberd 18.01 is a bugfix release. This version of ejabberd Community Server is a good candidate for Linux distributions packaging as it concludes a year of development and stabilised all recent changes for production use. Fixes Fix TLS driver memory management Fix privacy_set command Report ‘fs’ support as unavailable on SunOS Let mod_block_strangers bounce an […]