# I am the Watcher. I am your guide through this vast new twtiverse.
#
# Usage:
# https://watcher.sour.is/api/plain/users View list of users and latest twt date.
# https://watcher.sour.is/api/plain/twt View all twts.
# https://watcher.sour.is/api/plain/mentions?uri=:uri View all mentions for uri.
# https://watcher.sour.is/api/plain/conv/:hash View all twts for a conversation subject.
#
# Options:
# uri Filter to show a specific users twts.
# offset Start index for quey.
# limit Count of items to return (going back in time).
#
# twt range = 1 892
# self = https://watcher.sour.is?uri=https://feeds.twtxt.net/Planet_Jabber_XMPP/twtxt.txt&offset=492
# next = https://watcher.sour.is?uri=https://feeds.twtxt.net/Planet_Jabber_XMPP/twtxt.txt&offset=592
# prev = https://watcher.sour.is?uri=https://feeds.twtxt.net/Planet_Jabber_XMPP/twtxt.txt&offset=392
Erlang Solutions: 5 Key Tech Priorities for Fintech Leaders in 2023
The fintech industry is a major disruptor. Each year, it impacts how consumers interact with financial companies and brings new and innovative means to meet ever-growing customer expectations and occupy market space.
As a business owner or executive in this space, you have no choice but to stay on top of your game to increase efficiency.
In simpler terms, if your business doesn’t scale, it could fail.
That mig ... ⌘ Read more
Erlang Solutions: Cómo depurar tu RabbitMQ
Descubre las herramientas y métodos adecuados para la depuración de RabbitMQ.
Lo que aprenderás en este blog.
Nuestros clientes de consultoría de RabbitMQ provienen de una amplia gama de industrias. Como resultado, hemos visto casi todos los comportamientos inesperados que puede presentar. RabbitMQ es un software complejo que emplea concurrencia y cómputo distribuido (a través de Erlang), por lo que depurarlo no siempre es sencillo. Para llegar a la causa ... ⌘ Read more
Erlang Solutions: Here’s Why You Should Build Scalable and Concurrent Applications with Elixir
In today’s world, when dealing with high levels of system requests, you need applications that can handle them without slowing down. Here’s where Elixir comes in. Elixir is a programming language that is designed to create highly scalable and concurrent applications. Built on Erlang’s virtual machine (BEAM), it has been used for decades to build highly reliable ... ⌘ Read more
Alexander Gnauck: XmppDotNet announcement
I want to announce the availability of the XmppDotNet XMPP library.
XmppDotNet is the new name and next generation of our MatriX vNext XMPP library.
Why changing the name?**
It was never intended to keep vNext in the name forever. And there is a lot of confusion between MatriX and MatriX vNext at some of our existing customers. Most of them expect both libraries to be fully API compati ... ⌘ Read more
Alexander Gnauck: XmppDotNet announcement
I want to announce the availability of the XmppDotNet XMPP library.
XmppDotNet is the new name and next generation of our MatriX vNext XMPP library.
Why changing the name?**
It was never intended to keep vNext in the name forever. And there is a lot of confusion between MatriX and MatriX vNext at some of our existing customers. Most of them expect both libraries to be fully API compati ... ⌘ Read more
Ignite Realtime Blog: Release v1.1.0 of the MUC Real-Time Block List plugin for Openfire
We are happy to announce the immediate availability of a new version of the MUC Real-Time Block List plugin for Openfire, our cross-platform real-time collaboration server based on the XMPP protocol! This plugin can help you moderate your chat rooms, especially when your service is part of a larger network of federate ... ⌘ Read more
Erlang Solutions: Here’s Why You Should Build Scalable Systems with Erlang
Building systems in the earlier days of the internet used to be pretty simple.
While the system was admittedly pretty limited, the demand to scale past one or two servers wasn’t particularly high. But upon entering the 21st century, we saw large companies (think Amazon, Starbucks, Yahoo) and many more find the need to scale not just a few servers, but thousands. Even tens of thousands. Suddenly, the ... ⌘ Read more
Ignite Realtime Blog: Developing Openfire Efficient XML Interchange (EXI) functionality
We am excited to announce that a new plugin for the Openfire real time collaboration server is in the works! This plugin implements [Efficient XML Interchange (EXI)](https://www.w3.org/TR/exi/) functionality and provides an XMPP implementation of EXI as defined in XEP-0322.
Ef ... ⌘ Read more
Erlang Solutions: Presentamos el soporte de transmisión en RabbitMQ
¿Quiere saber más sobre el soporte de transmisión en RabbitMQ? Arnaud Cogoluègnes, ingeniero de personal de VMware, desglosa todo lo que hay que saber en la Cumbre RabbitMQ de 2021.
En julio de 2021, se introdujeron streams a RabbitMQ, utilizando un nuevo protocolo extremadamente rápido que se puede utilizar junto con AMQP 0.9.1. Los [streams](https://www.erlang-solutions.com/blog/rabbitmq-quorum-queues-explaine ... ⌘ Read more
Ignite Realtime Blog: Botz version 1.2.0 release
We have just released version 1.2.0 of the Botz framework for Openfire!
The Botz library adds to the already rich and extensible Openfire with the ability to create internal user bots.
In this release, a bug that prevented client sessions for bots from being created was fixed. Hat-tip to
Kris Iyer for working with us on a fix!
Download the latest version of the Botz framework from [its project page](https://www.igniterealtime.org/projects/botz/ ... ⌘ Read more
Erlang Solutions: Creating a simple weather application with Phoenix LiveView
## Introduction
In this article we will discuss our experience building an online weather application in Elixir using Phoenix LiveView. We created a real-time weather application that allows users to see the past, current, and forecast temperature and precipitation data for any UK postcode. The goals of building this app were:
- to further familiarise ourselves with[Phoenix LiveView](https:/ ... ⌘ [Read more](https://www.erlang-solutions.com/blog/creating-a-simple-weather-application-with-phoenix-liveview/)
Isode: M-Guard 1.4 New Capabilities
M-Guard 1.4 is a platform support update release for M-Guard Console and M-Guard Appliance. M-Guard Appliance has been updated to use UEFI instead of BIOS for key system services.
# Platform Support
The M-Guard Appliance now supports running on Netgate 6100 and 6100 MAX appliance systems.
M-Guard Appliance on Hyper-V now uses Generation 2 virtual machines.
M-Guard Appliance on VirtualBox now uses EFI.
Use of BIOS for booting is deprecated in favor of UEF ... ⌘ Read more
Erlang Solutions: Se explican las colas de Quorum de RabbitMQ: lo que necesita saber.
Este tipo de cola es importante cuando RabbitMQ se usa en una instalación de clúster. Descubre más en este blog.
Introducción a las Colas de Quorum
En RabbitMQ 3.8.0, una de las nuevas características más significativas fue la introducción de las Colas de Quorum. La Cola de Quorum es un nuevo tipo de cola que se espera que reemplace ... ⌘ Read more
Ignite Realtime Blog: HTTP File Upload v1.2.2 released!
We’ve just released version 1.2.2 of the HTTP File Upload plugin for Openfire. This release includes Ukrainian language support, thanks to Yurii Savchuk (svais) and his son Vladislav Savchuk (Bruhmozavr), as well as a few updated translations for Portuguese, Russian and English.
Grab it from the plugins page in your Openfire Admin Console, or download manually from the HTTP File Upload archive page, [here](https://www.igniterealtime.o ... ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter February 2023
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of February 2023.
Many thanks to all our readers and all contributors!
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Rea ... ⌘ Read more
Erlang Solutions: Getting started with RabbitMQ: A beginner’s guide for your business
RabbitMQ is one of the world’s most popular open-source message brokers. With its tens of thousands of users (and growing), its lightweight and easy-to-deploy nature makes it a worldwide success across small startups and large enterprises across the globe.
But how do you know if it’s best for your business?
Read on and get the rundown on the reliable messaging software that del ... ⌘ Read more
JMP: Cheogram Android: Stickers
One feature people ask about from time to time is stickers. Now, “stickers” isn’t really a feature, nor is it even universally agreed what it means, but we’ve been working on some improvements to Cheogram Android (and the Cheogram service) to make some sticker workflows better, released today in 2.12.1-3. This post will mostly talk about those changes and the technical implications; if you just want to see a demo of som ... ⌘ Read more
Debian XMPP Team: XMPP What's new in Debian 12 bookworm
On Tue 13 July 2021 there was a
blog post
of new XMPP related software releases which have been uploaded to Debian 11 (bullseye).
Today, we will inform you about updates for the upcoming Debian release bookworm.
A lot of new releases have been provided by the upstream projects. There were lot of changes
to the XMPP clients like Dino, Gajim, ... ⌘ Read more
The XMPP Standards Foundation: XMPP at Google Summer of Code 2023
XSF and Google Summer of Code 2023
XSF and Google Summer of Code 2023
The XSF has been accepted again as hosting organisation at the Google Summer of Code 2023!
Now both students and open-source newcomers are invited to consider and review a participation and
prepare for the application phase. We would like to invite you to review XMPP ... ⌘ Read more
Ignite Realtime Blog: inVerse Openfire plugin 10.1.2-1 released!
Earlier today, version 10.1.2 release 1 of the Openfire inVerse plugin was released. This plugin allows you to easily deploy the third-party Converse client in Openfire. In this release, the version of the client that is bundled in the plugin is updated to 10.1.2!
The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alte ... ⌘ Read more
Ignite Realtime Blog: New: Openfire MUC Real-Time Block List plugin!
A new plugin has been made available for Openfire, our cross-platform real-time collaboration server based on the XMPP protocol. We have named this new plugin the MUC Real-Time Block List plugin.
This plugin can help you moderate your chat rooms, especially when your service is part of a larger network of federated XMPP domains. From experience, the XMPP community has learned that bad actors tend to spam a wid ... ⌘ Read more
Erlang Solutions: Can’t Live with
It, Can’t Live with
out It
I’d like to share some thoughts about Elixir’s with
keyword. with
is a wonderful tool, but in my experience it is a bit overused. To use it best, we must understand how it behaves in all cases. So, let’s briefly cover the basics, starting with pipes in Elixir.
## Pipes are a wonderful abstraction
But like all tools, you should think about when it is best used…
Pipes are at their best when you expect your function ... ⌘ Read more
Profanity: New Profanity Old System
Occasionally people visit our MUC asking how to run the latest profanity release on years old systems.
For some distributions people maintain a backports project, so you can get it from there if available.
Here we want to describe another methods, using containers, more specifically distrobox.
# What’s Distrobox?
It’s basically a tool that let’s you run another distribution on your system. It uses docker/podman to create containers that ... ⌘ Read more
Prosodical Thoughts: Prosody 0.12.3 released
We are pleased to announce a new minor release from our stable branch.
This is a bugfix release for our stable 0.12 series. Most notably, it fixes a
regression for SQL users introduced in 0.12.2, and a separate long-standing
compatibility issue with archive stores on certain MySQL/MariaDB versions.
It also fixes an issue with websockets discovered by the Jitsi team, some
issues with our internal HTTP client API, and we’ve improved the accuracy of
‘prosodyctl check dns’ in ... ⌘ Read more
JMP: SMS Account Verification
Some apps and services (but not JMP!) require an SMS verification code in order to create a new account. (Note that this is different from using SMS for authentication; which is a bad idea since SMS can be easily intercepted, are not encrypted in transit, and are v ... ⌘ Read more
JMP: Newsletter: JMP is 6! Leaving beta this year! And FOSSY 🙂️**
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 ... ⌘ Read more
Isode: Cobalt 1.3 Release Features
Cobalt 1.3 depends on M-Vault 19.0 or subsequent versions
## M-Vault Management Supporties
- M-Vault Bootstrap. Enables operation in conjunction with M-Vault 19.0 to support headless bootstrap.
- Managing users in M-Vault groups, such as Directory Server Administrators and Messaging Configuration Read/Write. This enables Cobalt to control user and operator rights to access M-Vault.
- AD/LDAP passthrough support
- Allow users (per domain) to support mand ... ⌘ Read more
Erlang Solutions: Elixir, 7 steps to start your journey
Read this post in Spanish.
Let’s talk about Elixir!
Elixir is a functional programming language created by José Valim to build concurrent and scalable systems. It is defined as:
> _“a dynamic, functional language for building scalable and maintainable applications”._**
>
> https://elixir-lang.org/
Its first version was released in 2012. Since then, n ... ⌘ Read more_
Erlang Solutions: Elixir, 7 pasos para iniciar tu viaje
¡Hablemos de Elixir!
Elixir es un lenguaje de programación funcional creado por José Valim para construi sistemas concurrentes y escalables.
> _“a dynamic, functional language for building scalable and maintainable applications”._**
>
> https://elixir-lang.org/
Su primera versión fue liberada en 2012. Desde entonces, se le han agregado nuevas funcionalidades y mejoras hasta llegar a su [versión actual](https://elixir-lang.org/blog/2 ... ⌘ Read more_
Dino: Dino 0.4 Release
_Dino is a secure and open-source messaging application.
It uses the XMPP (Jabber) protocol for decentralized communication.
We aim to provide an intuitive and enjoyable user interface._
The 0.4 release adds support for message reactions and replies. We also switched from GTK3 to GTK4 and make use of libadwaita now.
## Reactions and Replies

Reactions give you a quick and light-weight way to respond to a message with an emoji.
They ... ⌘ Read more
Gajim: Gajim 1.7.0
Gajim 1.7.0 is mostly a bug fixing release. Due to fundamental changes in the build system, we decided to jump from 1.6.x to 1.7 directly. Thank you for all your contributions!
## What’s New
Gajim’s build system had significant changes, which makes it necessary for package maintainers to change some things, as documented in the readme file.
## More Changes
- Account creation: Don’t allow to add account twice
- File previews: Y ... ⌘ Read more
Isode: Icon-5066 3.0 – New Capabilities
We are thrilled to announce the latest update to our STANAG 5066 server, Icon-5066. With this new release, we’ve incorporated a host of exciting features and enhancements, designed to not only add new functionality to your deployment but also increase the performance of your HF Radio Network.
The below is a list of the changes, and updates that can be found within Icon-5066 v3.0.
## ALE Management
This major new feature enables management of ALE conf ... ⌘ Read more
Sam Whited: Smyrna Parks: Rose Garden and Jonquil
## Introduction
I live in a suburb of Atlanta called Smyrna 1.
Though Smyrna has been ranked favorably compared to other towns in the U.S.2, it
suffers from many of the same problems as other suburbs:
wide, fast, roads that aren’t very pedestrian or bicycle (or even car) friendly
and a lack of public transit make it [hard to get a ... ⌘ [Read more](https://blog.samwhited.com/2023/01/smyrna-parks-rose-garden-and-jonquil/)
JMP: Threads, Thumbnails, XMR, ETH
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; Shar ... ⌘ Read more
ProcessOne: ejabberd 23.01

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.
A more detailed explanation of those topics and other features:
## Erlang/OTP 19.3 discouraged
Remember that support for Erlang/OTP 19.3 is discouraged, and will b ... ⌘ Read more
ProcessOne: ejabberd 23.01

Two 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.
A more detailed explanation of those topics and other features:
## Erlang/OTP 19.3 discouraged
Remember that support for Erlang/OTP 19.3 is discouraged, and will be removed ... ⌘ Read more
ProcessOne: ejabberd 23.01

Two 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.
A more detailed explanation of those topics and other features:
## Erlang/OTP 19.3 discouraged
Remember that support for Erlang/OTP 19.3 is discouraged, and will be removed ... ⌘ Read more
Gajim: Gajim 1.6.1
Gajim 1.6.1 is mostly a bug fixing release, but it also brings some important improvements and adds more convenience. Thank you for all your contributions!
## What’s New
After we ported Gajim and python-nbxmpp to libsoup3
, you might have noticed issues with file transfers. Now, python-nbxmpp 4.0.1 has been released, and it fixes an error which prevented transfers of files containing spaces in their file name.
Gajim s ... ⌘ Read more
Paul Schaub: Use Any SOP Binary With SOP-Java and External-SOP
The Stateless OpenPGP Protocol specification describes a shared, standardized command line interface for OpenPGP applications. There is a bunch of such binaries available already, among them PGPainless’ pgpainless-cli, Sequoia-PGP’s sqop, as well as ProtonMails [gosop](https://github.com/ProtonMa ... ⌘ Read more
Erlang Solutions: Building a Remote Control Car from Scratch Using Elixir
## Introduction
Elixir is undoubtedly one of the most comprehensive full stack languages available, offering battle-tested reliability and fault-tolerance on the backend. This is thanks to its origins in Erlang, the BEAM VM and OTP, powerful and agile frontend development thanks to LiveView and the ability to write to hardware with Nerves (not to mention the exciting developments happening in the mac ... ⌘ Read more
Gajim: Gajim 1.6.0
For Gajim 1.6.0 we ported Gajim’s and python-nbxmpp’s underlying HTTP library to libsoup3. Also, audio previews now look nicer and allow for more control (playback speed, jumping). We fixed emoji rendering on MacOS and we implemented many fixes under the hood. Thank you for all your contributions!
## What’s New
For all HTTP requests (e.g. file downloads, update checks, websocket connection, …) both Gajim and python-nbxmpp rely on libsoup. With Gajim 1.6.0, we ported to libsoup3. You shou ... ⌘ Read more
Ignite Realtime Blog: Help us translate Spark and Openfire!
We have started to experiment with an online tool that facilitates the process of translating Spark and Openfire. Both already have a bunch of translations, but none are complete.
I’m looking for people wanting to test the tool and/or provide translations. The aim is to make providing translations become so easy that little technological know-how is required.
If you’re interested, please sign up to [Ignite Realtime localizati ... ⌘ [Read more](https://discourse.igniterealtime.org/t/help-us-translate-spark-and-openfire/92399)
JMP: Newsletter: Busy Year in 2022
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; Sha ... ⌘ Read more
JMP: Newsletter: Busy Year in 2022
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; Sha ... ⌘ Read more
Erlang Solutions: GraphQL interfaces in MongooseIM 6.0
MongooseIM is a robust, scalable and highly extensible instant messaging server. Recent releases have improved its configurability and opened new use cases, and the latest version 6.0 continues that trend. By introducing the brand new GraphQL API, we made MongooseIM much easier to integrate with external web services. The entry barrier is also lower than ever because of the automatically generated API documentation, interactive web UI, an ... ⌘ Read more
Prosodical Thoughts: Prosody 0.12.2 released
We are pleased to announce a new minor release from our stable branch.
This is a regularly delayed release containing a number of fixes for
issues that we have come across since the last release of the 0.12
series.
A summary of changes in this release:
## Fixes and improvements
- util.stanza: Allow U+7F when constructing stazas
- net.unbound: Preserve built-in defaults and Prosodys settings for luaunbound (fixes#1763: luaunbound not read ... ⌘ Read more
Erlang Solutions: Change data capture with Postgres & Elixir
CDC is the process of identifying and capturing data changes from the database.
With CDC, changes to data can be tracked in near real-time, and that information can be used to support a variety of use cases, including auditing, replication, and synchronisation.
A good example of a use case for CDC is to consider an application which inserts a record into the database and pushes an event to a message queue after the record has ... ⌘ Read more
Snikket: F-Droid security update
Last week, Snikket Android users who installed the Snikket app via F-Droid
started receiving a warning that it contained a
security vulnerability. This wasn’t entirely accurate, as the problem wasn’t
with the Snikket app itself but specifically F-Droid’s own build of the app
that was using an outdated version of the WebRTC library.
Like many communication apps, Snikket uses WebRTC for audio and video calls.
We’ve been working on finding a ... ⌘ Read more
Snikket: Notes on the F-Droid security warning
Snikket Android users who installed the app via F-Droid may receive a warning
from F-Droid telling them that the app has a vulnerability and that they
“recommend uninstalling immediately”. First of all - don’t panic! This is a
over-simplified generic warning that is scary, but the actual situation is
not quite so scary and has an explanation. Here goes…
# How F-Droid works
When an app is developed and ready for release, it must be compiled and built,
to produce the fina ... ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter November 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of November 2022. This is the final release for this year and we will have a well-deserved winter break until the 5th of February 2023! Many thanks to all readers and all contributors!
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may ... ⌘ Read more
Ignite Realtime Blog: Denial of Service Vulnerability in Smack 4.4 if XMPPTCPConnection is used with StAX
The fantastic folks behind Jitsi have discovered a Denial of Service (DoS) vulnerability in Smack ( JSA-2022-0002, [JSA-2022-0003](https://github.com/jitsi/security-advisories/blob/master/advisories/JSA-2022-00 ... ⌘ Read more
Gajim: Gajim 1.5.4
Gajim 1.5.4 comes with a reworked file transfer interface, better URL detection, message selection improvements, and many fixes under the hood. Thank you for all your contributions!
## What’s New
Gajim’s interface for sending files has been reworked, and should be much easier to use now. For each file you’re about to send, Gajim will generate a preview. This way, you can avoid sending the wrong file to somebody. Regardless of how you start a file transfer, be it drag and drop, pasting a ... ⌘ Read more
Erlang Solutions: Advent of Code 2022 – Every Puzzle Solved in Erlang
# Day 1
Christmas is getting closer and with that, the annual Advent of Code begins. For those who do not know, Advent of Code is a fun and inclusive event which provides a new programming puzzle every day. The fun is that these puzzles can be solved in any programming language and are accessible for varying levels of coding experience and skills. The real test is in your problem-solving. This year, we’ll be solving each of the problems in ... ⌘ Read more
Erlang Solutions: RabbitMQ – An Amazing Message Broker
In cloud architectures (or microservices), applications are broken down into smaller independent blocks that can be quickly developed, deployed, and maintained. Imagine you have a cloud architecture that has many services and many requests per second, you have to make sure that no requests are lost and your web service is always ready to receive new requests instead of locked by processing the previous request and must ensure that the servi ... ⌘ Read more
JMP: Writing a Chat Client from Scratch
There are a lot of things that go into building a chat system, such as client, server, and protocol. Even for only making a client there are lots of areas of focus, such as user experience, features, and performance. To keep this post a manageable size, we will just be building a client and will use an existing server and protocol (accessing Jabber network services using the XMPP protocol). We’ll make a practical GUI so we can test things, but not spend too much time on p ... ⌘ Read more
Ignite Realtime Blog: HTTP File Upload plugin 1.2.0 released
We have now released version 1.2.0 of the HTTP File Upload plugin!
This plugin adds functionality to Openfire that allows clients to share files, as defined in the XEP-0363 ‘HTTP File Upload’ specification.
This release primarily enhances functionality when running in an Openfire cluster. All changes can be reviewed in [the changelog for this release](https://www.igniterealtime. ... ⌘ Read more
Prosodical Thoughts: Bringing FASTer authentication to Prosody and XMPP
As our work continues on modernizing XMPP authentication,
we have some more new milestones to share with you. Until now our work has
mostly been focused on internal Prosody improvements, such as the new roles\
and permissions framework. Now we are starting to extend our
work to the actual client-to-server protocol in XMPP.
Prosody and [Snikket](https://snik ... ⌘ Read more
Prosodical Thoughts: Bringing FASTer authentication to Prosody and XMPP
As our work continues on modernizing XMPP authentication,
we have some more new milestones to share with you. Until now our work has
mostly been focused on internal Prosody improvements, such as the new roles\\
and permissions framework. Now we are starting to extend our
work to the actual client-to-server protocol in XMPP.
Prosody and [Snikket](https://snik ... ⌘ Read more
Jérôme Poisson: Libervia progress note 2022-W45
Hello, it's time for a long overdue progress note.
I'll talk here about the work made on ActivityPub (AP) gateway and on end-to-end encryption around pubsub.
Oh, and if everything goes well, this blog post should be accessible from XMPP and ActivityPub (and HTTP and ATOM feed), using the same identifier goffi@goffi.org
.
## Forewords
The work made on the AP gateway has been possible thanks to a NLnet/NGI0 grant (w ... ⌘ Read more
Ignite Realtime Blog: Openfire Monitoring Service plugin 2.4.0 release
Earlier today, we have released version 2.4.0 of the Openfire Monitoring Service plugin. This plugin adds both statistics, as well as message archiving functionality to Openfire.
In this release, compatibility with future versions of Openfire is added. A bug that affects MSSQL users has been fixed, and the dreaded “Unable to save XML properties” error message has been resolved. A few other minor tweaks h ... ⌘ Read more
ProcessOne: ejabberd turns 20
ejabberd is a piece of software that was born 20 years ago. This is a long time, even at the scale of Internet. And yet, what ejabberd represents has not always been obvious. It took us a long time to realize what was so important about ejabberd. Why have we been developing it for 20 years? Why are we pushing it further even today? What makes it so special?

ejabberd is a scalable messaging server. That sum ... ⌘ Read more
ProcessOne: ejabberd turns 20
ejabberd is a piece of software that was born 20 years ago. This is a long time, even at the scale of Internet. And yet, what ejabberd represents has not always been obvious. It took us a long time to realize what was so important about ejabberd. Why have we been developing it for 20 years? Why are we pushing it further even today? What makes it so special?
ejabberd is a scalable messaging server. That sums it all and that does not do justice to this critical piece of the Internet infr ... ⌘ Read more
Ignite Realtime Blog: Spark 3.0.0 Released
The Ignite Realtime community is happy to announce the release of Spark 3.0.0 version.
We decided to increase major version to 3.x to coincide with a complete UI refresh of Spark which was contributed by Amos. Now Spark uses only FlatLaf Look and Feel. We are very much grateful for his incredible work. Along that Pade Meetings plugin was added by [Dele](https://discourse.igniterealtime. ... ⌘ Read more
Dino: Stateless File Sharing: Source Attachment and Wrap-Up
## Recap
Stateless file sharing (sfs) is a generic file sharing message which, alongside metadata, sends a list of sources where the file can be retrieved from.
It is generic in the sense, that sources can be from different kinds of file transfer methods.
HTTP, Jingle and any other file transfers can be encapsulated with it.
The big idea is that functionality can be implemented for all file transfer methods at once, thanks to ... ⌘ Read more
Ignite Realtime Blog: Openfire 4.7.4 release
The Ignite Realtime Community is happy to announce the 4.7.4
release of Openfire. This release fixes a number of bugs and represents our effort to provide a stable 4.7.x
series while work continues on the next feature release of Openfire.
Notable fixes include enhancements to cluster-specific implementation of Multi-User Chat functionality, improved websocket handling and improv ... ⌘ Read more
Ignite Realtime Blog: Hazelcast plugin version 2.6.1 released!
The Ignite Realtime community is happy to announce the immediate availability of version 2.6.1 of the Hazelcast plugin for Openfire! The Hazelcast plugin is what allows you to deploy Openfire as a clustered solution.
This release includes only one improvement, but that one can bring a significant performance improvement as compared to older versions ... ⌘ Read more
Ignite Realtime Blog: REST API Openfire plugin 1.10.1 released!
We are happy to announce the immediate availability of version 1.10.1 of the REST API plugin for Openfire!
This is a bugfix release, that will improve the endpoints that make modifications to MUC rooms.
The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alternatively, you can download the plugin directly, from [the plugin’s archive page](https:// ... ⌘ Read more
ProcessOne: Matrix protocol added to ejabberd
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.
Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.
The second ma ... ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter October 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of October 2022.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read more at t ... ⌘ Read more
JMP: Newsletter: New Cheogram Android Release, Chatwoot Instance
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 ... ⌘ Read more
Gajim: Gajim 1.5.3
Gajim 1.5.3 brings back a feature many of you missed: selecting and copying multiple messages. Emoji shortcodes have been improved and cover even more emojis now. Gajim also lets you mark workspaces as read, so you don’t have to go through all conversations. Thank you for all your contributions!
## What’s New
Since we changed the way Gajim displays messages in Gajim 1.4, selecting multiple messages to copy them was not possible anymore. With Gajim 1.5.3 you can now select multiple messag ... ⌘ Read more
JMP: SMS Account Verification
Some apps and services (but not JMP!) require an SMS verification code in order to create a new account. (Note that this is different from using SMS for authentication; which is a bad idea since SMS can be easily intercepted, are not encrypted in transit, and are v ... ⌘ Read more
ProcessOne: ejabberd 22.10
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.
jabberd 22.10 released
This version brings support for latest MIX protocol version, and significantly improves detection and recovery of SQL connection issues.
There are no breaking changes in SQL schem ... ⌘ Read more
ProcessOne: ejabberd 22.10
This ejabberd 22.10 release includes five months of work, over 120 commits, including relevant improvements in MIX, MUC, SQL, and installers, and bug fixes as usual.
jabberd 22.10 released
This version bring support for latest MIX protocol version, and significantly improves detection and recovery of SQL connection issues.
There are no breaking changes in SQL schem ... ⌘ Read more
Paul Schaub: Implementing Packet Sequence Validation using Pushdown Automata
This is part 2 of a small series on verifying the validity of packet sequences using tools from theoretical computer science. Read part 1 here.
In the previous blog post I discussed how a formal grammar can be transformed into a pushdown automaton in order to check if a sequence of packets or token ... ⌘ Read more
ProcessOne: Matrix protocol added to ejabberd
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.
Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.
The second ma ... ⌘ Read more
Erlang Solutions: Learning functional and concurrent programming concepts with Elixir
If you are early in the process of learning Elixir or considering learning it in the future, you may have wondered a few things. What is the experience like? How easy is it to pick up functional and concurrent programming concepts when coming from a background in languages which lack those features? Which aspects of the ... ⌘ Read more
ProcessOne: Matrix protocol added to ejabberd
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.
Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.
The second ma ... ⌘ Read more
Erlang Solutions: Everything you need to know about Phoenix Framework 1.7
It is an exciting time for the Elixir community. As you may have seen at ElixirConf or ElixirConf EU, we are celebrating the 10th anniversary of Elixir. Despite now being 10 years old, there is no slowdown in the number of exciting new features, frameworks, and improvements being made to the language.
One of the most exciting ... ⌘ Read more
Prosodical Thoughts: Mutation Testing in Prosody
This is a post about a new automated testing technique we have recently
adopted to help us during our daily development work on Prosody. It’s probably
most interesting to developers, but anyone technically-inclined should be able
to follow along!
If you’re unfamiliar with our project, it’s an open-source real-time messaging
server, built around the XMPP protocol. It’s used by many organizations and
self-hosting hobbyists, and also powers applications such as [Snikke ... ⌘ [Read more](https://blog.prosody.im/mutation-testing-in-prosody/)
ProcessOne: Matrix protocol added to ejabberd
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.
Of course, you all know ejabberd supports the XMPP instant messaging protocol with hundreds of XMPP extensions, this is what it is famous for.
The second ma ... ⌘ Read more
JMP: SMS Account Verification
Some apps and services (but not JMP!) require an SMS verification code in order to create a new account. (Note that this is different from using SMS for authentication; which is a bad idea since SMS can be easily intercepted, are not encrypted in transit, and are v ... ⌘ Read more
Gajim: Gajim 1.5.2
Gajim 1.5.2 brings another performance boost, better emojis, improvements for group chat moderators, and many bug fixes. Thank you for all your contributions!
## What’s New
Generating performance profiles) for Gajim revealed some bottlenecks in Gajim’s code. After fixing these, switching chats should now feel snappier than before.
Did you know that you can use shortcodes for typing emojis? Typing :+1
for example will ope ... ⌘ Read more
Erlang Solutions: Pair Programming
As a junior software developer, finding the right tools and techniques to help you learn a new language or technology can make a huge difference. While spending the last few months learning Erlang and Elixir, one of the techniques that I have found really helpful is pair programming.
I will be breaking down the concept of pair programming and my experiences with it so far, including the benefits and different ways of utilizing this programming style.
### What is pair progra ... ⌘ Read more
The XMPP Standards Foundation: The XMPP Newsletter September 2022
Welcome to the XMPP Newsletter, great to have you here again! This issue covers the month of September 2022.
Like this newsletter, many projects and their efforts in the XMPP community are a result of people’s voluntary work. If you are happy with the services and software you may be using, especially throughout the current situation, please consider saying thanks or help these projects! Interested in supporting the Newsletter team? Read mor ... ⌘ Read more
Ignite Realtime Blog: REST API Openfire plugin 1.10.0 released!
We are happy to announce the immediate availability of version 1.10.0 of the REST API plugin for Openfire!
This release will see the performance on lookups of MUC rooms based on case-insensitive room names, or non-existing rooms. This will be particularly notable in systems that hold many chat rooms.
Another feature that is added is that basic statistics on REST endpoint usage are now exposed. These can be viewed thro ... ⌘ Read more
JMP: Newsletter: Voicemail Changes, Opt-in Jabber ID Discoverability
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 number ... ⌘ Read more
Tigase Blog: Tigase XMPP Client Apps
### Our XMPP Chat Apps philosophy
Web based, JavaScript, React and so on app are great… for developers.
We do care about users and we understand that the only way to provide users with great experience is through native apps.
Therefore we have put a lot of effort and dedication to develop native client for each platform separately. Each of our
apps is tailored for the best experience and native feeling. Plus they are optimized for each platform, so they are
lightweight but also powerful and take ... ⌘ Read more
Tigase Blog: Tigase XMPP Server
### Tigase XMPP Server is Java based software
Tigase XMPP Server is a standalone application written in Java. It is not a “web server” system. It runs independently
from any other software. In most cases all it needs to run is Java Virtual Machine (JVM). For extended functionality
it may require a few external libraries for the most part it is all in-house developed software.
### Java based but still very efficient
Java is known and infamous for it’s high resource requirements and slowness. This unfor ... ⌘ Read more
Tigase Blog: Tigase XMPP Libraries
### Our software philosophy
Actually nothing new and nothing surprising here. We want to have as much of a reusable code as possible. And this
reusable code should have a simple but powerful API to be useful for quickly creating software.
That’s it.
And this is how we design and develop our XMPP libraries. Check them out.
Documentation to all our projects is available online and sample codes? Take a look at our XMPP Chat apps which are
open source too. ⌘ Read more
Tigase Blog: Tigase Instant Communication, Presence and Messaging
### What is “Instant Communication”
First things first. What is this all about?
We say this is “Instant communication” or “Near real-time communication” and indeed, this is about communicating,
talking, sending messages, sending other information, documents. Instant or real-time means, whatever you send, is sent
right away, it is also delivered right away.
Would the receiving person get it right away too? Well, it depends, if the person is online, it ... ⌘ Read more
JMP: Privacy and Threat Modelling
One often hears people ask if a product or service is “good for privacy” or if some practice they intend to incorporate is “good enough” for their privacy needs. The problem with most such questions is that they often lack the necessary context, called a threat model, in order to even begin to understand how to answer them. Understanding your own threat model (and making any implicit model you carry more explicit to yourself) is one of the most important steps you can take to im ... ⌘ Read more
JMP: Privacy and Threat Modelling
One often hears people ask if a product or service is “good for privacy” or if some practice they intend to incorporate is “good enough” for their privacy needs. The problem with most such questions is that they often lack the necessary context, called a threat model, in order to even begin to understand how to answer them. Understanding your own threat model (and making any implicit model you carry more explicit to yourself) is one of the most important steps you can take to im ... ⌘ Read more
Ignite Realtime Blog: New Openfire plugin: Push Server!
The Ignite Realtime Community is pleased to announce the 1.0.0 release of the Push Server plugin for Openfire. This plugin is developed by the company Busoft Teknoloji A.Ş. It is inspired by Conversations Push Proxy and developed for Openfire.
Your instance of Openfire should automatically display the availability of the new plugin in the next few hours. Alternatively, you ... ⌘ Read more
Paul Schaub: Using Pushdown Automata to verify Packet Sequences
As a software developer, most of my work day is spent working practically by coding and hacking away. Recently though I stumbled across an interesting problem which required another, more theoretical approach;
An OpenPGP message contains of a sequence of packets. There are signatures, encrypted data packets and their accompanying encrypted session keys, compressed data and literal data, the latter being the packet ... ⌘ Read more