jabber 
- Description
- XMPP/Jabber client
- Latest
- jabber-0.10.2.0.20260404.74206.tar (.sig), 2026-Apr-04, 1.06 MiB
- Maintainer
- Thanos Apollo <public@thanosapollo.org>
- Website
- https://git.thanosapollo.org/emacs-jabber
- Browse ELPA's repository
- CGit or Gitweb
- All Dependencies
- fsm (.tar)
- Badge
To install this package from Emacs, use package-install or list-packages.
Full description
1. About
2. Requirements
- Emacs 29.1 or later, compiled with dynamic module support
2.1. OMEMO encryption (optional)
OMEMO end-to-end encryption requires building a native C module. You
need a C compiler, pkg-config, and libmbedtls (the development
headers). On first load, Emacs will prompt to build the module
automatically.
3. Installation
jabber.el is available via NonGNU ELPA.
You can install it via M-x package-install RET jabber
3.1. package-vc (Emacs 30+)
(use-package jabber
:ensure nil
:vc (:url "https://git.thanosapollo.org/emacs-jabber/"
:branch "master"
:rev :newest
:lisp-dir "lisp")
:custom
(jabber-account-list '(("user@example.org")))
:config
(jabber-modeline-mode 1)
:bind-keymap (("C-x C-j" . jabber-global-keymap))
:hook (kill-emacs . jabber-disconnect))
3.2. From source
git clone https://git.thanosapollo.org/emacs-jabber/ cd emacs-jabber make module # optional, for OMEMO support
Then add to your init file:
(add-to-list 'load-path "/path/to/emacs-jabber/lisp") (require 'jabber)
4. Configuration
Accounts are configured via jabber-account-list. The simplest form
uses auth-source ~/.authinfo.gpg for passwords:
(setq jabber-account-list '(("user@example.org")
("second@account.org")))
With pass (password-store):
(setq jabber-account-list
`(("user@example.org"
(:password . ,(auth-source-pass-get 'secret "xmpp/example.org/user")))))
5. Basic commands
| Key | Command |
|---|---|
M-x jabber-connect |
Connect (prompts for account) |
C-x C-j C-c |
Connect all accounts |
C-x C-j C-d |
Disconnect |
C-x C-j C-r |
Open roster buffer |
C-x C-j C-j |
Start or switch to a chat |
C-x C-j C-m |
Join/switch to a MUC (groupchat) |
C-x C-j C-b |
Switch to a chat buffer |
Old versions
| jabber-0.10.1.0.20260403.105946.tar.lz | 2026-Apr-03 | 183 KiB |
| jabber-0.10.1alpha0.20260403.74741.tar.lz | 2026-Apr-03 | 183 KiB |
| jabber-0.10.0.0.20260402.173841.tar.lz | 2026-Apr-02 | 180 KiB |
News
1. [0.10.2]
1.1. Fixes
- OMEMO module now optional: graceful degradation when native module is absent
- D-Bus notifications guard for Windows: no longer kills alert chain
- Roster refresh crash with multiple windows
- OMEMO trust commands guard without native module
2. [0.10.1]
2.1. New XEP implementations
- XEP-0163 Personal Eventing Protocol
- XEP-0368 SRV Records for XMPP over TLS (Direct TLS)
2.2. Features
- Idle time support for Windows
- Deduplicated JID completion with annotated candidates
2.3. Fixes
- PubSub node handler duplicate registration on repeated loads
- OpenPGP key refetch skipped when key already in local keyring
2.4. Compliance
- Achieves Advanced Core compliance (XEP-0479 Compliance Suites 2023)
3. [0.10.0]
3.1. Breaking changes
- Minimum Emacs version raised to 29.1
- Flat-file message history replaced with SQLite (
jabber-db.el) - Many obsolete modules removed (see commit history for full list)
3.2. New XEP implementations
- XEP-0060 Publish-Subscribe
- XEP-0184 Delivery Receipts and XEP-0333 Chat Markers
- XEP-0191 Blocking Command
- XEP-0198 Stream Management with resume
- XEP-0249 Direct MUC Invitations
- XEP-0280 Message Carbons
- XEP-0308 Last Message Correction
- XEP-0313 Message Archive Management
- XEP-0352 Client State Indication
- XEP-0373 OpenPGP for XMPP
- XEP-0384 OMEMO 0.3 encryption (requires native module build)
- XEP-0393 Message Styling
- XEP-0402 PEP Native Bookmarks
- XEP-0410 MUC Self-Ping
- XEP-0424/0425 Message Retraction and Moderation
- XEP-0454 OMEMO Media Sharing
- XEP-0461 Message Replies
3.3. Features
- SQLite message storage with full-text search
- Inline image display and encrypted media (aesgcm://)
- Typing indicators, delivery receipts, and read markers in chat buffers
- Encryption indicator in header line (OMEMO, OpenPGP, plaintext)
- Message correction, reply, retraction
- Stream Management with automatic resume on reconnect
- Disco-prioritized MUC autojoin (smallest rooms first)
- Room preservation and self-ping across reconnect
- MUC notification filtering (
all,mentions,nil) - OMEMO trust management UI and device management
- Modernized roster display
- Unified modeline with activity tracking
- Auto-reconnect enabled by default
3.4. Security
- CVE-2017-5589: Message Carbons validates sender JID to prevent spoofed carbon copies
- Receipt handling guards against MAM replay
- OMEMO trust filtering at encrypt time
4. [0.9.0]
4.1. Enable carbons by default
Enable support for XEP-0280 (message carbons) by default.
4.2. Support for reading passwords from netrc/authinfo files
Use "machine example.com login username password s3cret port xmpp".
4.3. Provide MUC presence announcement formatting
Provide customization to limit, highlight, or deemphasize MUC presence announcements. See the manual for details (info "(jabber) Presence announcements").
4.4. Support for roster's groups roll state saving
4.5. Full support for XEP-0012
Response of idle time.
4.6. Support for XEP-0202
Entity Time for request/response time as main method.
4.7. Support for automatic MUC nicks colorization
See "Customizing the chat buffer" in the manual.
4.8. XML Console
Log all received/sending XML stanzas into special buffer. Also can be used to send custom XML stanzas manually.
4.9. Autoaway
Support for list of autoaway methods. Support for Xa. See section "Autoaway" in manual. … …