branch: elpa/jabber
commit aade6a9e3584b4eccd7a4893e1b5881c3ac1356c
Author: Thanos Apollo <[email protected]>
Commit: Thanos Apollo <[email protected]>
Release 0.10.0
---
CHANGELOG.org | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++---
doap.xml | 58 +++++++++++++++++++++++++++++-----------------------------
lisp/jabber.el | 2 +-
3 files changed, 81 insertions(+), 33 deletions(-)
diff --git a/CHANGELOG.org b/CHANGELOG.org
index a2df78c792..33d4815463 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -3,9 +3,57 @@ All notable changes to this project will be documented in this
file.
The format is based on [[https://keepachangelog.com/en/1.0.0/][Keep a
Changelog]].
-* New features in jabber.el latest git
-:PROPERTIES:
-:CUSTOM_ID: new-features-jabberel-latest-git
+* [0.10.0]
+#+date: 2026-04-02
+
+** 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)
+
+** 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
+
+** 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
+
+** Security
+- [[https://www.cvedetails.com/cve/CVE-2017-5589/][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
+
+* [0.9.0]
+:PROPERTIES:
+:CUSTOM_ID: v0.9.0
:END:
** Enable carbons by default
:PROPERTIES:
diff --git a/doap.xml b/doap.xml
index e731c71e7b..7580175340 100644
--- a/doap.xml
+++ b/doap.xml
@@ -93,7 +93,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0012.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>2.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -101,7 +101,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0020.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.6.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -117,7 +117,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0027.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.4</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -175,7 +175,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0059.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>1.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Used internally by MAM pagination, not exposed as a
standalone API.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -184,7 +184,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0060.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>1.26.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Publish, retrieve, subscribe, and delete. Used for
bookmarks (XEP-0402) and OpenPGP key distribution.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -331,7 +331,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0184.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.4.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -339,7 +339,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0191.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.3</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -347,7 +347,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0198.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.6.3</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -362,7 +362,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0202.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>2.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -386,7 +386,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0249.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.2</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -394,7 +394,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0280.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.0.1</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -409,7 +409,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0313.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>1.1.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Query and paginated retrieval. No preferences or metadata
support.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -418,7 +418,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0333.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.4.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Received and displayed markers. No acknowledged marker
support.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -427,7 +427,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0334.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.4.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Element builders only, used by other modules to annotate
outgoing stanzas.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -436,7 +436,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0352.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.1.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -444,7 +444,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0359.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.7.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Origin-id generation on send, stanza-id parsing for MAM
deduplication.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -461,7 +461,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0373.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.6.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>1:1 signcrypt and MUC encrypt-only. No signature
verification on receive, no key fetch command.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -470,7 +470,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0380.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.4.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -478,7 +478,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0393.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.1.2</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -486,7 +486,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0384.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.2</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Implements OMEMO 0.3 (legacy eu.siacs.conversations.axolotl
namespace, XEP-0384 v0.2). 1:1 chat complete. MUC: send and receive in
non-anonymous rooms; no affiliation list fetch for offline members.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -495,14 +495,14 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0402.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>1.1.3</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0410.html"/>
<xmpp:status>complete</xmpp:status>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -510,7 +510,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0424.html"/>
<xmpp:status>partial</xmpp:status>
<xmpp:version>0.4.2</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>Received as part of XEP-0425 moderated retraction flow. No
standalone self-retraction.</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -519,14 +519,14 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0425.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.3.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
<xmpp:SupportedXep>
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0428.html"/>
<xmpp:status>complete</xmpp:status>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -534,7 +534,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0454.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.1.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -542,7 +542,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0461.html"/>
<xmpp:status>complete</xmpp:status>
<xmpp:version>0.2.0</xmpp:version>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
</xmpp:SupportedXep>
</implements>
<implements>
@@ -550,7 +550,7 @@
<xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0308.html"/>
<xmpp:version>1.2.0</xmpp:version>
<xmpp:status>complete</xmpp:status>
- <xmpp:since>NEXT</xmpp:since>
+ <xmpp:since>0.10.0</xmpp:since>
<xmpp:note>MUC rejoin presence-tracking check not implemented (spec
SHOULD).</xmpp:note>
</xmpp:SupportedXep>
</implements>
@@ -558,7 +558,7 @@
<release>
<Version>
<revision>0.10.0</revision>
- <created>NEXT</created>
+ <created>2026-04-02</created>
</Version>
</release>
<release>
diff --git a/lisp/jabber.el b/lisp/jabber.el
index 6e44dfbe7e..cb1370ecd2 100644
--- a/lisp/jabber.el
+++ b/lisp/jabber.el
@@ -5,7 +5,7 @@
;; Keywords: comm
;; Homepage: https://git.thanosapollo.org/emacs-jabber
;; Package-Requires: ((emacs "29.1") (fsm "0.2.0"))
-;; Version: 0.10.0-alpha
+;; Version: 0.10.0
;; Copyright (C) 2003, 2004, 2007, 2008 - Magnus Henoch - [email protected]
;; Copyright (C) 2002, 2003, 2004 - Tom Berger - [email protected]