Skip to content

MongooseIM history

2023: C2S

Moved the C2S implementation to state machine. Added Docker image for arm64.


2022: GraphQL

New GraphQL API allows to access MongooseIM using HTTP protocol to extract data and make changes in a flexible way. The command-line interface (CLI) has been reworked to match the GraphQL functionality. The configuration for the admin and the client API has been simplified.


2020-2021: Friendly, cloud-native and dynamic

With the new configuration format, improved logging, and many more changes, MongooseIM has become more friendly for DevOps than ever before. This goes hand in hand with the prioritisation of solutions that enable MongooseIM to be easily deployed to the cloud.

Whether in the cloud or on-premise, it is now possible to have a multi-tenant setup, powered by the new dynamic XMPP domains feature. It means thousands of domains can be simply set up, managed, and removed dynamically, without a noticeable performance overhead.


2018-2019: Global distribution ready

  • Focus on global scale architecture.
  • Chat bot integrations.
  • Optimizations for IoT clients.
  • GDPR compliance.
  • New XML parser exml.


2017: Platform expansion and strengthening

MongooseIM 2.1.0 in October 2017.

New components were added to the MongooseIM platform:

2016: Pivot to fullstack messaging platform

MongooseIM Platform was created, that included a list of components:

2012-2015: Fully independent project growing fast

  • Full OTP and rebar compliance.
  • Removal of obsolete and/or rarely used modules.
  • Reduction of the runtime memory consumption and functional test coverage.
  • Added Message Archive Management support (XEP-0313).


2011: Fork of ejabberd

This project began its life as a fork of ejabberd v.2.1.8.

Version 0.1.0 included:

  • Replaced strings with binaries to significantly reduce memory consumption.
  • Refactored directory structure of the project to be OTP complient.
  • Replaced autotools with the rebar build tool.
  • Removed obsolete and/or rarely used modules to reduce maintenance burden.
  • Added functional tests based on RFCs and XEPs.