Release history
MongooseIM releases
Mobile messaging platform with a focus on performance and scalability.
All releases
4 shown
6.6.0
Breaking risk
Breaking changes
- Removed deprecated REST API (replaced by GraphQL)
- Removed support for MS SQL database
Notable features
- `mod_external_filter` module to filter messages via external GraphQL queries
- `mod_blocklist` module allowing admins to block/unblock users
- New GraphQL queries exposing host types, modules, services configuration and `allDomains`/`listUsers` pagination
Full changelog
Highlights
mod_external_filterallows MongooseIM to filter messages by sending GraphQL queries to an external service.mod_blocklistallows administrators to block and unblock selected users.- New GraphQL queries provide insight into host types, modules, and services configuration.
- Added support for XEP-0359, XEP-0431, and XEP-0440.
- Refreshed audio-video capabilities.
- Improved event pushing to external services like RabbitMQ and Redis.
- Removed the deprecated REST API and support for the MS SQL database.
Added
- GraphQL:
allDomainsquery,listUserspagination, host types with their configuration, all-stanzas subscription (#4597, #4606, #4607, #4618, #4656) - Prometheus support in anonymized Google Analytics (#4609)
- Event pushing: auto-unarchive broadcast and dynamic domains support in
mod_event_pusher(#4610, #4629) - Official support for full-text search (XEP-0431) (#4627)
- SASL Channel-Binding Type Capability (XEP-0440) (#4631)
- Stable stanza IDs (XEP-0359) (#4633)
- SSLKEYLOGFILE support (#4634)
- Blocklist administration module and API expansion (#4645, #4669)
- External filter module for message delivery checks (#4651, #4658, #4661)
- Additional validation of database configuration (#4659, #4667)
- TURN REST API auth support (#4671)
Changed
- RabbitMQ worker reconnection/refactor and outgoing pool queue limits (#4591, #4594, #4599)
- TLS keyfile validation (#4595)
- Redis connection username support (#4616)
- Docker image improvements (#4617, #4632)
- Reworked configuration for BOSH and WebSocket (#4623)
- Enforced user agent for
mod_fast_auth_token(#4628) - Audio/video capability refresh (#4640, #4650)
- Deprecated
mod_jingle_sip(#4660)
Fixed
- Privacy blocking IQ should not stop stanzas sent by the server (#4600)
- GraphQL API fixes for
cetsandroster(#4614, #4624) - Avoided
noprocerror inmongoose_epmd(#4637) - Fixed mongoose certificates (#4647)
- Fixed global RabbitMQ pool crash (#4648)
Removed
- MS SQL backend (#4603, #4604)
- Deprecated REST API (already replaced by GraphQL) (#4635, #4664)
Other
- CI/test reliability and coverage improvements (#4593, #4598, #4601, #4602, #4605, #4612, #4615, #4620, #4621, #4622, #4625, #4630, #4646, #4652, #4654, #4655, #4662, #4663, #4670, #4675)
- Documentation updates for
mod_muc, certificate reloading, and general cleanup (#4596, #4619, #4636, #4653) - Added
.elp.tomlfor easier ELP usage (#4641) - Refactor (#4643, #4673)
Commits, merged PRs and closed issues
Special thanks to our contributors
- @niecore for adding
cetsto GraphQL allowed categories (#4614)
6.5.0
Breaking risk
Breaking changes
- Dropped support for Erlang 26 (#4549)
- Minimum Erlang version raised to 28
Notable features
- XEP-0402 PEP Native Bookmarks
- User blocking in groupchat
- TLS enabled for Redis connections
Full changelog
Highlights
- Enhanced and enriched implementation of
mod_event_pusher_rabbit - Enabled TLS support for Redis and RabbitMQ connections
- Support for XEP-0402 PEP Native Bookmarks
- Support for Erlang 28 and dropped support for Erlang 26
- Various enhancements and bug fixes
- Refactoring and improvements of tests
Added
- XEP-0402 PEP Native Bookmarks (#4545)
- Implement support for blocking a user for any groupchat (#4548)
- Support Erlang 28 (#4549)
- Enable selected rabbit exchanges (#4576)
- Enable TLS connections to Redis (#4579)
- Support common name prefix/suffix for SASL External (#4580)
- Support durable exchanges in
mod_event_pusher_rabbit(#4582) - Support TLS in RabbitMQ connection pools (#4583)
- Support RabbitMQ virtual hosts (#4585)
Changed
- Use cached affiliations in MUC Light API (#4552)
- Refactor logging to use
c2s_dataconsistently in log messages (#4561) - Separate certfile and keyfile (#4566)
- Deprecate MSSQL backend (#4574)
- Skip all messages without body in
mod_event_pusher_rabbit(#4577) - Use a hook with handlers in
mod_event_pusher(#4578)
Fixed
- Fix and update GraphiQL (#4543)
- Strip Acc when it is buffered to save memory (#4544)
- Fix missing presence unavailable notifications in Stream Management (#4557)
- Fix missing stream tag for connection-timeout errors (#4559)
- Fix TLS error logs (#4565)
- Fix component IsValidFromJid returning non boolean (#4572)
- Fix colon escaping in Redis session backend (#4584)
- Fix race condition in mod_mam create_user_archive (#4592)
Removed
- Drop support for Erlang 26 (#4549)
Other
- Update Debian release and minor OTP versions (#4555)
- Rework tests for invalid stream opening tag/element (#4556)
- Fix documentation of mod_blocking (#4560)
- Use the PGDATA directory in docker-setup-postgres (#4563)
- Fix heading levels in mod_inbox doc (#4570)
- Fix the test runner script (#4573)
- Refactor mod_muc_api:create_instant_room/3 (#4575)
- Refactor sasl_external_SUITE (#4581)
- Enable "Rerun Failed Tests" for Small Tests (#4586)
Commits, merged PRs and closed issues
6.4.0
Breaking risk
Breaking changes
- Removed dead `max_fsm_queue` option (#4521)
- Removed last mention of unused `EJABBERD_DIR` variable (#4533)
Notable features
- Added TLS 1.3 `tls-exporter` channel binding
- Added 0‑RTT and channel binding in FAST authentication (mod_fast_auth_token)
- Support dynamic domains for components
Full changelog
Highlights
- Reworked S2S and component listeners
- Added TLS 1.3
tls-exporterchannel binding - Added 0-RTT, and channel binding in FAST authentication
- Unified connection and TLS handling
- Improved XMPP traffic shaper configuration with validation and clearer defaults
- Cleanup of legacy modules and updated dependencies
- Reworked application startup order (start applications only when needed)
- Use system CA certificates if not provided in a file
- Various enhancements and bug fixes
Added
- Support dynamic domains for components (#4450)
- TLS listeners for components (#4453)
- TLS 0-RTT to
mod_fast_auth_token(#4478) - Channel binding in FAST authentication (#4494)
- Option to clear inbox after destroying MUC Light room (#4522)
Changed
- Reworked listeners and TLS (#4452, #4509)
- Reworked component connection handling (#4442)
- Changed component listener naming scheme to match XMPP specification (#4451)
- Reworked S2S listeners (#4455)
- Unified listener TLS configuration via
fast_tlsremoval and channel binding (#4458) - Unified listener handling (#4460)
- Reworked adding dynamic domains to components (#4461)
- Improved consistency of
just_tlsfilters (#4467) - Reworked S2S incoming connections (#4470, #4513)
- Reworked S2S outgoing connections (#4479)
- System certificates are used if CA certs are not provided in a file (#4493)
- Reorganized S2S configuration options (#4515)
- Improved instrumentation consistency (#4517)
- Simplified and unified XMPP metrics (#4520)
- Minor optimizations and cleanups (#4480, #4512, #4514, #4516)
- Increased rate for the default
normalshaper (#4540) - Reworked application startup order and FIPS config (#4524, #4528, #4542)
Fixed
- XMPP traffic shapers configuration and validation (#4527)
max_file_sizeoption inmod_http_upload(#4531)- Fixed incorrect
xmlnsin presences sent bymod_muc(#4539)
Removed
- Dead
max_fsm_queueoption (#4521) - Last mention of unused
EJABBERD_DIRvariable (#4533)
Other
- Upgraded dependencies (#4500, #4519)
- Updated
exometer_labelsconverter function (#4507) - Changed base docker image to
ubuntu-noble(#4537) - Documentation improvements (#4504, #4506, #4525)
- Testing and CI improvements/fixes (#4523, #4529, #4532, #4534)
- Replaced the
ubuntu-oracularpackage withubuntu-plucky(#4536)