> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# ejabberd 15.10: HTTP upload, metrics and performance
- URL: https://www.process-one.net/blog/ejabberd-15-10-http-upload-metrics-and-performance/
- Published: 2015-10-28T23:00:00.000Z
- Updated: 2024-09-19T15:29:53.000Z
- Description: This month’s ejabberd release contains brand new features, performance optimisations, bugfixes and many other improvements.
- Author: Jérôme Sautret

This release includes a brand new module to help with file transfer. In XMPP transferring files between users required users to be online at the same time. It all changed with XEP-0363 and it is now possible to share file using HTTP protocol while doing the signaling over XMPP. Thanks to Holger and Evgeny, we are now pleases to include this feature in ejabberd core, with mod\_http\_upload.

ejabberd now also include a module to export metrics information about ejabberd behaviour to [Grapherl](https://github.com/processone/grapherl?ref=process-one.net), a tool that was developed during the Google Summer of Code by Vanshdeep Singh. This is only the beginning, as we are planning to both increase the number of metrics and available backends in upcoming releases. As a start, you can now track the traffic (both from clients and between servers), the offline messages and the user registration and account deletion.

We improved the overall performance of ejabberd, thanks to optimisation in the XML parser.

We also improved the documentation to help you set up mod\_xmlrpc with OAuth for those who were already using it prior to 15.09 release.

Finally, as usual, we fixed bugs and improved many features across the whole server.

Here is the full list of changes.

## Changes

### Core

- c2s: Let stop/1 close XEP-0198 sessions
- c2s: Close socket when waiting for resume
- s2s: Don’t crash on certificates without extensions
- xml: Optimizations in memory allocator
- OAuth: Fix cyrsasl\_oauth:mech\_new call

### Modules

- mod\_http\_upload: New HTTP File Upload module (XEP-0363)
- mod\_http\_upload\_quota: New module to support user quotas
- mod\_metrics: New simple metrics module for use with grapherl
- mod\_mam: Advertise XEP-0313 v0.4 support in room disco
- mod\_mam: Avoid MAM dups when routing to multiple resources

### Compilation

- Make: Pass {C,CPP,LD}FLAGS used in main ./configure to deps
- Use OTP directory structure for ‘make install’
- mix.lock should be commited to ensure consistent builds
- Code cosmetic cleanup

### Commands

- Let modules\_update\_specs report failures
- Fix problem with –auth
- Fix unauthenticated calls to commands with policy=user
- Improve access\_commands option backward compatibility

### Configuration

- ejabberdctl.cfg: New CONTRIB\_MODULES\_CONF\_DIR
- Be able to merge old style configs with {listen,…}
- Fix support for macros
- mod\_ping: New option ping\_ack\_timeout

## Feedback

As usual, the release is tagged in the Git source code repository on [Github](https://github.com/processone/ejabberd.git?ref=process-one.net).

The source package and binary installers are available at [ProcessOne](https://www.process-one.net/en/ejabberd/downloads/).

If you suspect that you’ve found a bug, please search or fill a bug report on [Github](https://github.com/processone/ejabberd/issues?ref=process-one.net).