<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/doap/xmpp-style.xsl" type="text/xsl"?>
<rdf:RDF xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns#'
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/"
         xmlns:xmpp="https://linkmauve.fr/ns/xmpp-doap#"
         xmlns:schema="https://schema.org/">
  <Project xml:lang='en'>
    <!-- Zerta — high-performance XMPP server, fork of ortuman/jackal -->
    <name>Zerta</name>
    <created>2026-08-24</created>
    <homepage rdf:resource="https://zerta.im" />
    <download-page rdf:resource="https://git.uuxo.net/UUXO/zerta/releases" />
    <bug-database rdf:resource="https://git.uuxo.net/UUXO/zerta/issues" />
    <shortdesc xml:lang="en">High-performance XMPP server written in Go</shortdesc>
    <description xml:lang="en">Zerta is a production-grade XMPP server forked from ortuman/jackal. It supports SASL2, Bind2, FAST, MAM, MUC, HTTP File Upload, Push Notifications and clustering; the supported extensions are listed below.</description>

    <!-- Graphics -->
    <schema:logo rdf:resource="https://zerta.im/zerta-logo.png" />

    <!-- Maintainer -->
    <maintainer>
      <foaf:Person>
        <foaf:name>Alexander Renz</foaf:name>
        <foaf:homepage rdf:resource="https://uuxo.net" />
      </foaf:Person>
    </maintainer>

    <!-- Repository -->
    <programming-language>Go</programming-language>
    <license rdf:resource="https://git.uuxo.net/UUXO/zerta/raw/branch/main/LICENSE" />
    <license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
    <repository>
      <GitRepository>
        <browse rdf:resource="https://git.uuxo.net/UUXO/zerta" />
        <location rdf:resource="https://git.uuxo.net/UUXO/zerta.git" />
      </GitRepository>
    </repository>
    <os>Linux</os>

    <release>
      <Version>
        <revision>0.7.0</revision>
        <created>2026-09-22</created>
        <file-release rdf:resource="https://git.uuxo.net/UUXO/zerta/releases/tag/v0.7.0" />
      </Version>
    </release>

    <category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-xmpp" />
    <category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-server" />

    <!-- Core RFCs -->
    <implements rdf:resource="https://xmpp.org/rfcs/rfc6120.html" />
    <implements rdf:resource="https://xmpp.org/rfcs/rfc6121.html" />
    <implements rdf:resource="https://xmpp.org/rfcs/rfc7395.html" />
    <implements rdf:resource="https://xmpp.org/rfcs/rfc7590.html" />

    <!-- XEPs — curated: only XEPs with verifiable code, honest version and status -->
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0004.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.13.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0012.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0016.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.7</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0030.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.5.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0045.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.35.5</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0048.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0049.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0050.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.3.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0054.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.3.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0055.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.3</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0059.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0060.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.30.0</xmpp:version>
        <xmpp:note xml:lang="en">Core node lifecycle (create, delete, configure), subscribe/unsubscribe, publish, retract, items retrieval, pubsub#owner purge and affiliations management are all implemented. Primary use is PEP (XEP-0163) and MUC/Push backends.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0065.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.8.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0077.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.4</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0084.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.5</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0085.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0092.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0114.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.6</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0115.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.6.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0133.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>1.3.1</xmpp:version>
        <xmpp:note xml:lang="en">Four of the XEP-0133 admin commands are implemented: get-registered-users-num, get-online-users-num, get-registered-users-list, and delete-user.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0153.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0156.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.4.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0157.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0158.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>1.0.1</xmpp:version>
        <xmpp:note xml:lang="en">CAPTCHA data-form challenge (XEP-0158) is used for in-band registration (XEP-0077) only, with an image OCR challenge; disabled by default (ibr.captcha.enabled).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0160.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.1</xmpp:version>
        <xmpp:note xml:lang="en">Offline storage of type='normal' (and untyped) messages and body-carrying type='chat' messages, stamped with delayed delivery and delivered on available presence; honours XEP-0334 no-store/no-copy/store, advertises msgoffline, and does not store headline, groupchat or error messages (XEP-0160 §3).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0163.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>1.2.2</xmpp:version>
        <xmpp:note xml:lang="en">PEP is served by the embedded PubSub implementation: notifications are fanned out to roster contacts whose subscription is from or both, the last published item is delivered on login and on available presence, and node options (access model, persistence, item count) are set through publish-options. Contacts outside the owner's roster receive PEP events only after an explicit subscription.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0178.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0184.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.4.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0191.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.3</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0198.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.6.3</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0199.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.0.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0202.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>2.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0215.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
        <xmpp:note xml:lang="en">Advertises operator-configured STUN/TURN services and generates time-limited HMAC credentials from a shared secret. XEP-0215 is discovery-only — the spec does not require the XMPP server to operate its own TURN/STUN server.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0220.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.1</xmpp:version>
        <xmpp:note xml:lang="en">Inbound and outbound db:result/db:verify flow for s2s, including dialback error packets (db:result/db:verify type='error' carrying stanza error conditions, advertised via &lt;errors/&gt;) and sender multiplexing (several sender domains per stream).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0223.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.1</xmpp:version>
        <xmpp:note xml:lang="en">PEP nodes support access_model=whitelist, persist_items and max_items=1 via publish-options (XEP-0060 config).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0231.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1</xmpp:version>
        <xmpp:note xml:lang="en">Inlines the IBR CAPTCHA image as a &lt;data/&gt; element and serves cached data back over IQ-get (advertises urn:xmpp:bob; unknown cid yields item-not-found).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0249.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0279.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0280.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0292.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.12.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0308.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0313.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.3</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0328.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.1</xmpp:version>
        <xmpp:note xml:lang="en">Preparation follows RFC 7622 literally, including allowing '@' in the resourcepart (§3.4).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0333.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0352.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0353.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.8.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0357.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.4.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0359.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.7.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0363.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.2.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0368.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.0</xmpp:version>
        <xmpp:note xml:lang="en">Direct TLS listeners for c2s and s2s (direct_tls) with ALPN negotiation (xmpp-client/xmpp-server); the _xmpps-client endpoint is also advertised via XEP-0156 host-meta.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0369.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>0.14.6</xmpp:version>
        <xmpp:note xml:lang="en">Deliberately partial: channel core exists for the SQL backends only (pgsql, mysql) and the BoltDB backend returns not-implemented for all ten MIX operations; channel history is stored but not wired into the join flow; XEP-0405 (MIX-PAM) is not implemented, so urn:xmpp:mix:pam:2 is not advertised; and MUC (XEP-0045) is the supported group chat path, not MIX.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0377.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>0.4.1</xmpp:version>
        <xmpp:note xml:lang="en">Spam reports are persisted (Postgres/MySQL/BoltDB) and survive restarts; each report fires a SpamReportReceived hook. At 3 distinct reporters the reported JID is automatically added to the antispam blocklist. No report-forwarding/moderation queue yet.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0380.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.4.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0386.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.0</xmpp:version>
        <xmpp:note xml:lang="en">Resource binding happens inline inside SASL2 (XEP-0388) and accepts both the final namespace urn:xmpp:bind:2 and the draft urn:xmpp:bind:0 still used by older clients; the client-supplied tag is applied to the resource. Stream Management and Message Carbons can be enabled inline within the bind element. Clients that do not use SASL2 are bound through the classic bind feature, which is outside the scope of Bind2.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0388.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.4</xmpp:version>
        <xmpp:note xml:lang="en">SASL2 is offered on the client stream with SCRAM-SHA-256 and SCRAM-SHA-512 including their channel-binding variants, inline Bind2 (XEP-0386) with Stream Management and Carbons, FAST (XEP-0484) and SCRAM upgrade tasks (XEP-0480), and the user-agent element. Non-standard X-* mechanisms remain available through SASL1 only and are therefore not usable through SASL2.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0392.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0394.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.3.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0397.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0398.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0401.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.6.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0402.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>1.2.0</xmpp:version>
        <xmpp:note xml:lang="en">The PEP bookmarks node urn:xmpp:bookmarks:1 is served and kept in sync with the legacy storage:bookmarks view for conference bookmarks, so legacy and modern clients see the same conference list. URL bookmarks are not converted: XEP-0402 dropped URL storage as out of scope (§1), so the native node holds only &lt;conference&gt; items and legacy XEP-0048 &lt;url&gt; bookmarks are not bridged.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0410.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0411.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0421.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0424.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.5.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0425.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.3.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0431.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.0</xmpp:version>
        <xmpp:note xml:lang="en">Case-insensitive substring match on PostgreSQL and BoltDB; word-based FULLTEXT match on MySQL/MariaDB (minimum token length and stopwords apply). On SQL backends, messages archived before the body column existed are not searchable.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0433.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0440.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0441.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.0</xmpp:version>
        <xmpp:note xml:lang="en">Extended MAM filter fields (before-id/after-id/ids), XEP-0431 full-text, and archive prefs IQ (default/always/never with JID rules) are implemented.</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0444.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0453.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.2</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0461.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.1</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0474.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.5.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0480.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.2.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0482.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0484.html" />
        <xmpp:status>partial</xmpp:status>
        <xmpp:version>0.2.0</xmpp:version>
        <xmpp:note xml:lang="en">FAST is offered inline inside SASL2 with the HT-SHA-256-NONE mechanism only (no channel-binding variants such as HT-SHA-256-ENDP/EXPR). The requested mechanism is validated against the advertised set. Issued tokens are stored per device identity in two rotation slots (current and new) with an expiry, and are encrypted at rest only when a key is configured. Supported on PostgreSQL, MySQL and BoltDB; bbolt's single-writer transaction provides the compare-and-swap semantics PromoteFastToken needs. Client-initiated token invalidation (the 'invalidate' attribute on &lt;fast/&gt;) deletes the authenticating device's token slots (XEP-0484 §3.6).</xmpp:note>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0485.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.0.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0486.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0488.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>0.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
    <implements>
      <xmpp:SupportedXep>
        <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0490.html" />
        <xmpp:status>complete</xmpp:status>
        <xmpp:version>1.1.0</xmpp:version>
      </xmpp:SupportedXep>
    </implements>
  </Project>
</rdf:RDF>
