Repository navigation
Releases: lonewolf-im/lonewolf
Release list
v0.2.0
Lonewolf v0.2.0 adds discovery, account profiles, and message synchronization for local XMPP clients. It remains a pre-1.0 server for accounts on the domains you host. Federation and full XMPP compliance remain on the roadmap.
Client features
- Service Discovery (XEP-0030) answers information and items queries for served domains and local accounts, with resource visibility based on authorization.
- vcard-temp (XEP-0054) stores account profiles across restarts. Owners replace their profiles; authenticated local users can retrieve them, including when the owner is offline. Account deletion also deletes its vCard.
- XMPP Ping (XEP-0199) answers eligible server and account pings. It does not send proactive heartbeats.
- Message Carbons (XEP-0280) lets clients enable sent and received message copies for each session. Stanza Forwarding (XEP-0297) supplies the copy envelopes. Clients must enable Carbons again after reconnecting.
The standards reference records the reviewed revisions, supported roles, limits, and verification evidence. Stanza Forwarding support is limited to Carbons copies; this release does not add message archives, stream resumption, or avatar synchronization.
Operations and tooling
- The server reports readiness and bound C2S and metrics addresses through
NOTIFY_SOCKETfor service managers. - Accepted C2S connections use
TCP_NODELAYto send small writes without Nagle delays. - The new lonewolf-bench tool measures idle connections, message delivery, and connection churn against local or remote servers. It records run artifacts and compares compatible runs.
- Stanza errors include explanatory text. A cancelled stanza flush preserves the stream-error reply path.
- Dependencies were updated. Tests use explicit synchronization, and nightly CI checks for flaky tests.
Build from source
Download and extract Source code (tar.gz) or Source code (zip) below, then run:
cargo build --release --locked -p lonewolf -p lonewolfctl -p lonewolf-benchBuild on Linux or macOS with a stable Rust toolchain, a system linker, and network access to fetch dependencies. The executables are target/release/lonewolf, target/release/lonewolfctl, and target/release/lonewolf-bench.
See the quick start for setup. Configuration, storage formats, and interfaces may change before 1.0.
Verification
Release revision: c5dce45cdd5977644c57d5a34fd518af31411fc3.
Post-merge CI checks Linux and macOS tests, release builds, documentation, dependencies, and workflows.
License: Apache-2.0.
v0.1.0
Included
- Client connections secured with STARTTLS; SCRAM authentication with channel binding and optional client-certificate authentication.
- Local messaging across hosted domains, multiple resources per account, contact lists, subscriptions, presence, and roster versioning.
- Persistent offline messages with delayed-delivery timestamps.
- Embedded redb storage and the
lonewolfctlaccount administration tool. - File-based TLS certificates or automatic Let's Encrypt certificates through ACME HTTP-01.
- Optional Prometheus metrics, structured logging, graceful shutdown, and configurable connection, stanza, rate, roster, and resource limits.
- The account-revocation and persistent roster-quota fixes tracked in #394.
- A structured startup warning when the server runs as root, delivered in #405.
Build from source
Download and extract Source code (tar.gz) or Source code (zip) below. From the extracted directory, run:
cargo build --release --locked -p lonewolf -p lonewolfctlThis requires Linux or macOS, a stable Rust toolchain, a system linker, and network access to fetch dependencies. The resulting executables are target/release/lonewolf and target/release/lonewolfctl.
Follow the quick start for local setup. Use the configuration reference for hosted domains, certificates, metrics, and limits.
Development status
This is pre-1.0 software. Configuration, storage formats, and interfaces may change before the first stable release.
The release provides the local client-to-server foundation described above. It does not establish full XMPP server compliance. Federation, group chat, HTTP file upload, message archives, Stream Management, and clustering remain on the roadmap.
License: Apache-2.0.