-
DinoX v2.2.6
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Preflight (push) Successful in 52sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 46m10sBuild / Build AppImage (push) Successful in 1h7m33sBuild / Build Flatpak (push) Successful in 15m37sreleased this
2026-08-10 09:54:38 +02:00 | 7 commits to master since this releaseDinoX v2.2.6
Modern XMPP client with extended features.
What's New
Fixed
- Unicode-safe local bot integrations: Botmother API responses, bot message and update JSON, AI-provider requests, Telegram payloads, ejabberd requests, and related error text now preserve Cyrillic, umlauts, CJK, and emoji. Invalid UTF-8 is sanitized, and text limits no longer split multibyte characters.
- Bot API JSON input hardening: Requests containing raw or decoded NUL characters are rejected before persistence, while a literal
\\u0000string remains valid. - OpenPGP VKS Unicode requests: keys.openpgp.org upload and verification JSON now preserves non-ASCII key text, verification data, and internationalized addresses while retaining RFC 8259 escaping.
Installation
Ubuntu 24.04 / Linux Mint 22 (.deb)
sha256sum -c dinox_2.2.6_*.deb.sha256 sudo apt install ./dinox_2.2.6_*.debAppImage
sha256sum -c DinoX-2.2.6-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageThe matching
.AppImage.sources.tar.xzfile is a separate compliance download.
It is not required to install or run DinoX.Flatpak
sha256sum -c dinox-2.2.6-x86_64.flatpak.sha256 # Required runtimes are resolved automatically from the bundle metadata. flatpak install --user ./dinox-2.2.6-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
( set -e tar xf dinox-2.2.6.tar.gz cd dinox-2.2.6 # Install the normal distribution development packages from docs/internal/BUILD.md. test "$(uname -m)" = x86_64 bash scripts/prepare-linux-source-build-deps.sh export DINOX_LIBWEBRTC_RUNTIME_ROOT=$PWD/.vendor-deps/libwebrtc-m150-linux-x86_64-runtime export DINOX_LOCAL_LIBOMEMO_C_ROOT=$PWD/.vendor-deps/linux-source-deps export PKG_CONFIG_PATH=$DINOX_LOCAL_LIBOMEMO_C_ROOT/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} ./scripts/check-libwebrtc-linux-runtime.sh "$DINOX_LIBWEBRTC_RUNTIME_ROOT" meson setup --wipe --prefix=/usr build -Dlocal-libomemo-c-root="$DINOX_LOCAL_LIBOMEMO_C_ROOT" -Dplugin-mqtt=enabled -Dplugin-rtp=disabled -Dplugin-google-webrtc=enabled -Dgoogle-libwebrtc-wrapper=enabled -Dgoogle-libwebrtc-runtime-root="$DINOX_LIBWEBRTC_RUNTIME_ROOT" -Dgoogle-libwebrtc-test-oracle=false -Dlocation-sharing=enabled -Dplugin-http-files=enabled -Dplugin-ice=enabled -Dplugin-omemo=enabled -Dplugin-openpgp=enabled -Dplugin-notification-sound=enabled ./scripts/build.sh ./build/main/dinox --version DINOX_TOR_ALLOW_SYSTEM_FALLBACK=1 ./build/main/dinox )Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
20 downloads
-
DinoX v2.2.5
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Preflight (push) Successful in 58sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 47m36sBuild / Build AppImage (push) Successful in 1h17m33sBuild / Build Flatpak (push) Successful in 16m30sreleased this
2026-08-10 02:45:53 +02:00 | 11 commits to master since this releaseDinoX v2.2.5
Modern XMPP client with extended features.
What's New
Fixed
- Windows Unicode paths: Portable builds now run reliably from profiles and install paths containing Cyrillic and other non-ASCII characters. The mandatory distribution checker covers translations, TLS certificates, encrypted backup and restore, Tor, OpenSSL, and deferred reset/wipe operations under Unicode paths.
Installation
Ubuntu 24.04 / Linux Mint 22 (.deb)
sha256sum -c dinox_2.2.5_*.deb.sha256 sudo apt install ./dinox_2.2.5_*.debAppImage
sha256sum -c DinoX-2.2.5-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageThe matching
.AppImage.sources.tar.xzfile is a separate compliance download.
It is not required to install or run DinoX.Flatpak
sha256sum -c dinox-2.2.5-x86_64.flatpak.sha256 # Required runtimes are resolved automatically from the bundle metadata. flatpak install --user ./dinox-2.2.5-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
( set -e tar xf dinox-2.2.5.tar.gz cd dinox-2.2.5 # Install the normal distribution development packages from docs/internal/BUILD.md. test "$(uname -m)" = x86_64 bash scripts/prepare-linux-source-build-deps.sh export DINOX_LIBWEBRTC_RUNTIME_ROOT=$PWD/.vendor-deps/libwebrtc-m150-linux-x86_64-runtime export DINOX_LOCAL_LIBOMEMO_C_ROOT=$PWD/.vendor-deps/linux-source-deps export PKG_CONFIG_PATH=$DINOX_LOCAL_LIBOMEMO_C_ROOT/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} ./scripts/check-libwebrtc-linux-runtime.sh "$DINOX_LIBWEBRTC_RUNTIME_ROOT" meson setup --wipe --prefix=/usr build -Dlocal-libomemo-c-root="$DINOX_LOCAL_LIBOMEMO_C_ROOT" -Dplugin-mqtt=enabled -Dplugin-rtp=disabled -Dplugin-google-webrtc=enabled -Dgoogle-libwebrtc-wrapper=enabled -Dgoogle-libwebrtc-runtime-root="$DINOX_LIBWEBRTC_RUNTIME_ROOT" -Dgoogle-libwebrtc-test-oracle=false -Dlocation-sharing=enabled -Dplugin-http-files=enabled -Dplugin-ice=enabled -Dplugin-omemo=enabled -Dplugin-openpgp=enabled -Dplugin-notification-sound=enabled ./scripts/build.sh ./build/main/dinox --version DINOX_TOR_ALLOW_SYSTEM_FALLBACK=1 ./build/main/dinox )Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
3 downloads
-
DinoX v2.2.4
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Preflight (push) Successful in 3m30sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 44m17sBuild / Build AppImage (push) Successful in 1h6m53sBuild / Build Flatpak (push) Successful in 1h24m31sreleased this
2026-08-09 20:48:20 +02:00 | 13 commits to master since this releaseDinoX v2.2.4
Modern XMPP client with extended features.
What's New
Highlights
- First opt-in video-call effect and an extensible effects foundation: One-to-one video calls now offer an optional grayscale effect backed by a capability-driven, worker-isolated effects pipeline. Effects remain off by default. This release establishes the UI, lifecycle, native ABI and IPC foundation for more effects; background blur, replacement and face accessories are not part of 2.2.4 yet.
- More efficient and responsive video calls: Bounded latest-frame-wins delivery, coalesced worker wakeups, a one-frame effect mailbox, reusable frame buffers and bounded teardown prevent stale video work from accumulating, reduce avoidable CPU and memory pressure, and keep calls responsive while effects are switched.
- Durable legacy OMEMO sessions across restarts: Ratchet sessions, pre-keys and device identities now use checked, fail-closed persistence and transactional recovery. Tested clean restarts and abrupt process termination no longer require sending a message first before new encrypted messages can be decrypted.
Added
- Video-effect controls and diagnostics: The call window exposes supported outgoing-camera effects and keeps the local preview aligned with the processed frame sent to the peer. Revision-bound state and bounded diagnostics make later effect implementations possible without moving frame processing into GTK or the main DinoX process.
- OMEMO device-key review: When a known device presents a changed identity key, DinoX keeps it blocked and offers a direct, factual review action instead of silently accepting the replacement.
Changed
- Isolated video-effect processing: Effect work runs inside the external Google/libwebrtc worker on a dedicated bounded executor. The normal effects-off path does not start an effect thread or allocate effect-owned frame buffers.
- Pinned media runtimes: Linux and Windows package paths now require the immutable Google/libwebrtc ABI 36 / IPC 6 runtime used by the effects pipeline, and the Windows builder accepts the canonical vendor archive layout.
- Pinned legacy OMEMO dependency: Normal Linux source builds, Flatpak and Windows builds use the verified libomemo-c 0.5.1 baseline while OMEMO 2 remains disabled in stable builds.
Fixed
- Audio after a previous video call: Reinitializing the shared Google/libwebrtc audio device now installs the new VoiceEngine transport correctly, so a later call no longer starts with zero captured or decoded audio after an earlier video session was closed.
- Video-frame backlog and post-toggle stutter: Preview and received-video shared-memory delivery now replaces unread real-time frames and reuses an already pending wakeup instead of accumulating stale frame events.
- Video-effect lifecycle cleanup: Rapid effect changes, call teardown, worker failure and slow optional processing now have bounded cancellation, generation fencing and resource cleanup without blocking the GTK main thread.
- OMEMO database consistency: Session, pre-key and signed-pre-key callbacks now propagate database failures to libomemo; authenticated identity and session transitions roll back to the previous valid state on failure, and acknowledged ratchet updates use full SQLite durability.
- OMEMO reconnect and archive safety: Account connections and MAM catch-up wait for a ready encrypted store, abort safely if readiness is lost, and no longer advance archive state through an unavailable OMEMO store.
- OMEMO identity-change safety: Malformed or unauthenticated pre-key messages and invalid bundles can no longer replace a working session or identity before cryptographic validation; account removal also clears persisted and in-memory OMEMO state consistently.
- Windows libwebrtc rebuilds: Corrected runtime rebuild gates and archive normalization so the documented clean Windows distribution build consumes the same effects-capable runtime layout as Linux packaging.
Installation
Ubuntu 24.04 / Linux Mint 22 (.deb)
sha256sum -c dinox_2.2.4_*.deb.sha256 sudo apt install ./dinox_2.2.4_*.debAppImage
sha256sum -c DinoX-2.2.4-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageThe matching
.AppImage.sources.tar.xzfile is a separate compliance download.
It is not required to install or run DinoX.Flatpak
sha256sum -c dinox-2.2.4-x86_64.flatpak.sha256 # Required runtimes are resolved automatically from the bundle metadata. flatpak install --user ./dinox-2.2.4-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
( set -e tar xf dinox-2.2.4.tar.gz cd dinox-2.2.4 # Install the normal distribution development packages from docs/internal/BUILD.md. test "$(uname -m)" = x86_64 bash scripts/prepare-linux-source-build-deps.sh export DINOX_LIBWEBRTC_RUNTIME_ROOT=$PWD/.vendor-deps/libwebrtc-m150-linux-x86_64-runtime export DINOX_LOCAL_LIBOMEMO_C_ROOT=$PWD/.vendor-deps/linux-source-deps export PKG_CONFIG_PATH=$DINOX_LOCAL_LIBOMEMO_C_ROOT/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} ./scripts/check-libwebrtc-linux-runtime.sh "$DINOX_LIBWEBRTC_RUNTIME_ROOT" meson setup --wipe --prefix=/usr build -Dlocal-libomemo-c-root="$DINOX_LOCAL_LIBOMEMO_C_ROOT" -Dplugin-mqtt=enabled -Dplugin-rtp=disabled -Dplugin-google-webrtc=enabled -Dgoogle-libwebrtc-wrapper=enabled -Dgoogle-libwebrtc-runtime-root="$DINOX_LIBWEBRTC_RUNTIME_ROOT" -Dgoogle-libwebrtc-test-oracle=false -Dlocation-sharing=enabled -Dplugin-http-files=enabled -Dplugin-ice=enabled -Dplugin-omemo=enabled -Dplugin-openpgp=enabled -Dplugin-notification-sound=enabled ./scripts/build.sh ./build/main/dinox --version DINOX_TOR_ALLOW_SYSTEM_FALLBACK=1 ./build/main/dinox )Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
DinoX v2.2.3
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Preflight (push) Successful in 54sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 44m56sBuild / Build AppImage (push) Successful in 1h9m43sBuild / Build Flatpak (push) Successful in 35m51sreleased this
2026-08-01 13:31:53 +02:00 | 26 commits to master since this releaseDinoX v2.2.3
Modern XMPP client with extended features.
What's New
Highlights
- Proxy-first SOCKS5 and I2P account setup: Custom XMPP endpoints and per-account SOCKS5 proxies, including an I2P router's SOCKS5 endpoint, can now be configured before the first connection, removing the previous bootstrap workaround for services reachable only through a proxy.
- Configurable chat typography: Users can select an installed chat font and scale message, quote, and composer text from 100% to 200% on Linux and Windows without enlarging the complete application interface.
Added
- Call duration display: Active audio and video calls now show their elapsed duration directly in the call window, including calls longer than one hour.
Changed
- Proxy-aware initial connections: The sign-in flow validates and stores the complete proxy configuration per account, including optional proxy credentials, before attempting the XMPP connection.
Fixed
- New group-chat creation: MUC joins now publish the complete available own affiliation, role, identity, and occupant state before completing, preventing newly created rooms from racing room configuration and appearing only temporarily.
- HTTP upload cancellation: Cancelling a transfer while DinoX waits for an XEP-0363 upload slot now ends the pending request immediately; stream disconnects also stop the request instead of leaving an endless spinner.
Installation
Ubuntu 24.04 / Linux Mint 22 (.deb)
sha256sum -c dinox_2.2.3_*.deb.sha256 sudo apt install ./dinox_2.2.3_*.debAppImage
sha256sum -c DinoX-2.2.3-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageThe matching
.AppImage.sources.tar.xzfile is a separate compliance download.
It is not required to install or run DinoX.Flatpak
sha256sum -c dinox-2.2.3-x86_64.flatpak.sha256 # Required runtimes are resolved automatically from the bundle metadata. flatpak install --user ./dinox-2.2.3-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
( set -e tar xf dinox-2.2.3.tar.gz cd dinox-2.2.3 # Install the normal distribution development packages from docs/internal/BUILD.md. test "$(uname -m)" = x86_64 mkdir -p .vendor-deps curl --proto '=https' --tlsv1.2 --fail --location --show-error https://git.dinox.im/dinoxim/dinox/releases/download/vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz -o .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz printf '%s %s\n' de6241a78b33d9b324d9315e874bc6dc484d2d8726f899b9f5011eceb32af9e6 .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz | sha256sum -c - rm -rf .vendor-deps/libwebrtc-m150-linux-x86_64-runtime tar -xzf .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz -C .vendor-deps export DINOX_LIBWEBRTC_RUNTIME_ROOT=$PWD/.vendor-deps/libwebrtc-m150-linux-x86_64-runtime ./scripts/check-libwebrtc-linux-runtime.sh "$DINOX_LIBWEBRTC_RUNTIME_ROOT" meson setup --wipe --prefix=/usr build -Dplugin-mqtt=enabled -Dplugin-rtp=disabled -Dplugin-google-webrtc=enabled -Dgoogle-libwebrtc-wrapper=enabled -Dgoogle-libwebrtc-runtime-root="$DINOX_LIBWEBRTC_RUNTIME_ROOT" -Dgoogle-libwebrtc-test-oracle=false -Dlocation-sharing=enabled -Dplugin-http-files=enabled -Dplugin-ice=enabled -Dplugin-omemo=enabled -Dplugin-openpgp=enabled -Dplugin-notification-sound=enabled ./scripts/build.sh ./build/main/dinox --version DINOX_TOR_ALLOW_SYSTEM_FALLBACK=1 ./build/main/dinox )Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
2 downloads
-
DinoX v2.2.2
StableSome checks failedBuild / Validate Manual Selection (push) Has been skippedBuild / Release Preflight (push) Successful in 58sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 44m54sBuild / Build AppImage (push) Failing after 1h10m53sBuild / Build Flatpak (push) Has been skippedreleased this
2026-07-30 12:38:59 +02:00 | 33 commits to master since this releaseDinoX v2.2.2
Modern XMPP client with extended features.
What's New
Highlights
- Google/libwebrtc media engine: DinoX now uses an isolated Google/libwebrtc M150 worker for Jingle/JMI audio and video calls on Linux and Windows. Native device handling, mute and camera controls, VP8 video, ICE/STUN/TURN, and call teardown no longer depend on the former GStreamer RTP/WebRTC call backend.
- Voice and video messages on the new capture stack: Microphone and camera capture now run through the same isolated libwebrtc engine. Linux uses FFmpeg and Windows uses Media Foundation for encoding and muxing, while GStreamer remains responsible for media-file demuxing, decoding, playback, previews, and metadata.
- Major MUC administration and member-state overhaul: Room configuration, affiliations, roles, moderation, kicks, bans, Hats, JID visibility, mediated invitations, moderated-room voice requests, avatars, and live member grouping now share one lifecycle-aware server-backed state path.
- Production-ready release packaging: Debian, AppImage, Flatpak, and the canonical portable Windows build now validate the complete plugin, Google/libwebrtc, helper-program, translation, runtime, and license closure before an artifact is accepted.
Added
- Google/libwebrtc device controls and diagnostics: Audio/video settings can enumerate and test libwebrtc microphones, cameras, and speakers and expose separate call and media-message device choices.
- Moderated-room voice-request chat flow: Visitors can request permission to speak directly from the chat input, while moderators receive a persistent in-chat approval or rejection action instead of relying on a short-lived desktop notification.
- MUC occupant reducer and worker: Immutable, account- and room-scoped occupant snapshots now reconcile presence, affiliations, roles, Hats, real-JID visibility, and avatar state before the member list is updated.
- Canonical Windows build, validation, and ZIP tools: The documented Windows flow now creates a fresh portable
dist/, verifies every packaged plugin and runtime dependency, inventories bundled licenses, and produces a checked ZIP plus SHA-256 file.
Changed
- Large-room and roster responsiveness: Virtualized contact and roster models, batched occupant commits, bounded member presentation, prioritized visible-room autojoin, and background cache-only avatar loading keep large rooms and contact lists responsive.
- MUC close, leave, and bookmark semantics: Closing a room, leaving it temporarily, and leaving permanently now update the conversation, live room state, and bookmark consistently without stale rejoin continuations.
- Reconnect and MUC recovery: Reconnect, MAM catch-up, server-administration discovery, presence snapshots, room configuration, and member-list activation are fenced to the current stream and recover without requiring a DinoX restart.
- Portable Windows runtime: Windows packages now support non-ASCII checkout and runtime paths, use a frozen validated dependency baseline, and include all required GnuPG, Tor, Lyrebird, Google/libwebrtc, GStreamer, font, icon, schema, and translation data.
- Linux package production profile: Deb, AppImage, and Flatpak builds use the pinned Google/libwebrtc runtime, keep the legacy RTP call plugin disabled, separate small binary artifacts from source-compliance sidecars, and fail closed on incomplete media or license inventories.
Fixed
- OMEMO sessions during archive replay: Old undecryptable MAM pre-key messages no longer replace current device identities or destroy working OMEMO sessions, preventing later live messages from requiring an outgoing message before decryption resumes.
- MQTT topic bridges: Bridge subscriptions are reconciled immediately after rule changes, MQTT wildcards follow protocol semantics, and retained-message deduplication no longer suppresses explicit bridge delivery.
- Concurrent file transfers: HTTP, Jingle, sticker, and account-scoped transfer traffic no longer share cancellable request state that could let one transfer close or cancel another.
- Conversation-switch memory growth: Repeated switching between large chats no longer retains obsolete media rows, message widgets, signal owners, and deferred UI work indefinitely.
- MUC role and visitor grouping: Muted occupants move into the visitor section immediately and return to their assigned role after voice is restored; live role, affiliation, Hat, and visibility changes now refresh the correct member-list section.
- MUC invitations: Room invitation controls now follow the server's mediated-invitation and
occupants_may_invitepolicy instead of presenting a misleading client-only restriction. - Packaged media lifecycle: Audio/video calls and media-message recording shut down their libwebrtc worker sessions cleanly in Deb, AppImage, Flatpak, and Windows package layouts.
- Windows OpenPGP key lookup: The portable package includes
dirmngr.exe, starts and reaches it through an isolated GnuPG home, requests helper shutdown throughgpgconf, and fails the distribution build if GnuPG helpers or dependencies are incomplete. - UI lifecycle warnings and stale callbacks: Contact dialogs, MUC member popovers, conversation details, message rows, media widgets, and preference pages now disconnect account- and widget-scoped callbacks before their owners disappear.
- Provider-directory refresh: Provider data refreshes in the background without delaying the add-account dialog.
Installation
Ubuntu 24.04 / Linux Mint 22 (.deb)
sha256sum -c dinox_2.2.2_*.deb.sha256 sudo apt install ./dinox_2.2.2_*.debAppImage
sha256sum -c DinoX-2.2.2-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageThe matching
.AppImage.sources.tar.xzfile is a separate compliance download.
It is not required to install or run DinoX.Flatpak
sha256sum -c dinox-2.2.2-x86_64.flatpak.sha256 # Required runtimes are resolved automatically from the bundle metadata. flatpak install --user ./dinox-2.2.2-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
( set -e tar xf dinox-2.2.2.tar.gz cd dinox-2.2.2 # Install the normal distribution development packages from docs/internal/BUILD.md. test "$(uname -m)" = x86_64 mkdir -p .vendor-deps curl --proto '=https' --tlsv1.2 --fail --location --show-error https://git.dinox.im/dinoxim/dinox/releases/download/vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz -o .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz printf '%s %s\n' de6241a78b33d9b324d9315e874bc6dc484d2d8726f899b9f5011eceb32af9e6 .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz | sha256sum -c - rm -rf .vendor-deps/libwebrtc-m150-linux-x86_64-runtime tar -xzf .vendor-deps/libwebrtc-m150-linux-x86_64-runtime.tar.gz -C .vendor-deps export DINOX_LIBWEBRTC_RUNTIME_ROOT=$PWD/.vendor-deps/libwebrtc-m150-linux-x86_64-runtime ./scripts/check-libwebrtc-linux-runtime.sh "$DINOX_LIBWEBRTC_RUNTIME_ROOT" meson setup --wipe --prefix=/usr build -Dplugin-mqtt=enabled -Dplugin-rtp=disabled -Dplugin-google-webrtc=enabled -Dgoogle-libwebrtc-wrapper=enabled -Dgoogle-libwebrtc-runtime-root="$DINOX_LIBWEBRTC_RUNTIME_ROOT" -Dgoogle-libwebrtc-test-oracle=false -Dlocation-sharing=enabled -Dplugin-http-files=enabled -Dplugin-ice=enabled -Dplugin-omemo=enabled -Dplugin-openpgp=enabled -Dplugin-notification-sound=enabled ./scripts/build.sh ./build/main/dinox --version DINOX_TOR_ALLOW_SYSTEM_FALLBACK=1 ./build/main/dinox )Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
2 downloads
-
DinoX 2.2.2 Windows prerelease Pre-release
released this
2026-07-27 18:01:20 +02:00 | 50 commits to master since this releaseWindows-only prerelease for testing. Linux packages are intentionally not part of this prerelease. The Windows ZIP and SHA256 checksum will be uploaded manually.
At the moment, the version number is still 2.2.1 – a bit confusing, but that doesn’t matter for the pre-release version being tested; it just needs to be tested properly so that the actual release, 2.2.2, can be released without any major bugs. Thanks New at 17:20 Europe/Berlindeb pre can load at: https://git.dinox.im/dinoxim/dinox/actions/runs/228/jobs/0/attempt/1
appimage pre can load at: https://git.dinox.im/dinoxim/dinox/actions/runs/227/jobs/0/attempt/1
Flatpak pre can load at: https://git.dinox.im/dinoxim/dinox/actions/runs/229/jobs/0/attempt/1Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
-
Source code (ZIP)
-
DinoX v2.2.1
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Static Preflight (push) Successful in 26sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 18m54sBuild / Build AppImage (push) Successful in 18m16sBuild / Build Flatpak (push) Successful in 31m28sreleased this
2026-07-06 19:13:12 +02:00 | 195 commits to master since this releaseDinoX v2.2.1
Modern XMPP client with extended features.
What's New
Fixed
- Add-account provider dialog lifecycle: The account-creation dialog now reuses a single active instance, opens without duplicate dialogs or stale close callbacks, and keeps the provider list layout responsive while the directory refresh runs asynchronously.
- OMEMO PubSub requests for domains: DinoX no longer requests legacy OMEMO device lists from server or MUC room domains, preventing repeated
service-unavailablePubSub warnings when joining, leaving, or syncing group chats.
Installation
Debian/Ubuntu
sha256sum -c dinox_2.2.1_*.deb.sha256 sudo apt install ./dinox_2.2.1_*.debAppImage
sha256sum -c DinoX-2.2.1-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageFlatpak
flatpak install flathub org.gnome.Platform//50 sha256sum -c dinox-2.2.1-x86_64.flatpak.sha256 flatpak install --user ./dinox-2.2.1-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
tar xf dinox-2.2.1.tar.gz cd dinox-2.2.1 ./scripts/ci-build-deps.sh meson setup build -Dplugin-mqtt=enabled -Dplugin-rtp=enabled -Dlocation-sharing=enabled -Dplugin-rtp-vaapi=enabled ./scripts/build.sh --strict ./build/main/dinoxDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
30 downloads
-
DinoX v2.2.0
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Static Preflight (push) Successful in 37sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 19m37sBuild / Build AppImage (push) Successful in 18m28sBuild / Build Flatpak (push) Successful in 27m48sreleased this
2026-07-06 16:48:23 +02:00 | 198 commits to master since this releaseDinoX v2.2.0
Modern XMPP client with extended features.
What's New
Added
- XMPP provider directory for account creation: Account creation now uses the validated XMPP Providers category-B directory through the DinoX mirror at
https://dinox.im/data/providers/v2/providers-B.json, keeps a bundled offline snapshot, refreshes a local cache asynchronously, and routes providers either to in-app XEP-0077 registration or to their HTTPS registration website while preserving manual server entry.
Changed
- Provider selection UX: External provider rows now keep provider website links visible as normal links below the provider details while the row activation remains dedicated to direct account registration.
Fixed
- OMEMO after local history deletion: Clearing a local chat history no longer deletes OMEMO Signal sessions, device knowledge, or trust state, so incoming encrypted messages after restart can keep using the existing encrypted session.
- External registration window handling: Opening provider registration or website links no longer depends on focus timing that could trigger GTK/GDK surface warnings.
- Provider directory build warnings: Cleaned provider-cache loading and localized URL selection so the Windows MSYS2 build no longer emits the provider/add-account warnings seen during the release follow-up.
- OMEMO PubSub regression stability: OMEMO test PubSub mocks now answer owner-configuration probes so delayed
0060_pubsubIQ timeouts cannot spill into later file-transfer checks.
Installation
Debian/Ubuntu
sha256sum -c dinox_2.2.0_*.deb.sha256 sudo apt install ./dinox_2.2.0_*.debAppImage
sha256sum -c DinoX-2.2.0-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageFlatpak
flatpak install flathub org.gnome.Platform//50 sha256sum -c dinox-2.2.0-x86_64.flatpak.sha256 flatpak install --user ./dinox-2.2.0-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
tar xf dinox-2.2.0.tar.gz cd dinox-2.2.0 ./scripts/ci-build-deps.sh meson setup build -Dplugin-mqtt=enabled -Dplugin-rtp=enabled -Dlocation-sharing=enabled -Dplugin-rtp-vaapi=enabled ./scripts/build.sh --strict ./build/main/dinoxDownloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
- XMPP provider directory for account creation: Account creation now uses the validated XMPP Providers category-B directory through the DinoX mirror at
-
DinoX v2.1.9
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Static Preflight (push) Successful in 30sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 18m55sBuild / Build AppImage (push) Successful in 18m15sBuild / Build Flatpak (push) Successful in 27m1sreleased this
2026-07-05 19:49:03 +02:00 | 208 commits to master since this releaseDinoX v2.1.9
Modern XMPP client with extended features.
What's New
Added
- Capability-driven server administration: Administrator accounts now discover the XEP-0050 commands advertised by their XMPP server and expose supported account, roster, and MUC operations in a dedicated administration dialog with dynamic and multi-step data forms.
Fixed
- Ad-hoc command discovery: Corrected service-discovery node handling so command lists are requested from the XEP-0050 node and advertised server commands are detected and executed reliably.
- MUC participant avatar refresh: Cache-only participant rows now update when background avatar loading completes, including deferred refreshes after reopening a suspended participant popover.
- Local account removal lifecycle: Removing a disabled or server-deleted account no longer leaves stale settings callbacks that can crash DinoX when another account is selected or added. Local deletion remains scoped to the selected account, and the reusable removal button is restored after every attempt.
Installation
Debian/Ubuntu
sha256sum -c dinox_2.1.9_*.deb.sha256 sudo apt install ./dinox_2.1.9_*.debAppImage
sha256sum -c DinoX-2.1.9-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageFlatpak
flatpak install flathub org.gnome.Platform//50 sha256sum -c dinox-2.1.9-x86_64.flatpak.sha256 flatpak install --user ./dinox-2.1.9-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
tar xf dinox-2.1.9.tar.gz cd dinox-2.1.9 ./scripts/ci-build-deps.sh meson setup build -Dplugin-mqtt=enabled -Dplugin-rtp=enabled -Dlocation-sharing=enabled -Dplugin-rtp-vaapi=enabled ./scripts/build.sh --strict ./build/main/dinoxDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
DinoX v2.1.8
StableAll checks were successfulBuild / Validate Manual Selection (push) Has been skippedBuild / Release Static Preflight (push) Successful in 3m0sBuild / Mirror AppImage Runtimes (push) Has been skippedBuild / Core Build (push) Successful in 18m2sBuild / Build AppImage (push) Successful in 18m40sBuild / Build Flatpak (push) Successful in 26m40sreleased this
2026-07-04 04:26:04 +02:00 | 214 commits to master since this releaseDinoX v2.1.8
Modern XMPP client with extended features.
What's New
Fixed
- OMEMO v1 multi-device delivery: Direct encrypted messages now refresh legacy device lists, wait for every active recipient and same-account device, retry newly advertised or temporarily unavailable bundles, and rebuild stale Signal sessions before sending. Identity-key changes reset the old session and application trust in the correct order, while private MUCs retain their separate partial-delivery policy and OMEMO 2 remains disabled for stable builds.
- New-account sign-in flow: New JIDs can now enter JID and password together, the sign-in action follows valid credential and busy state, and TLS certificate failures preserve the entered credentials for a clean retry.
- Fresh-account PubSub state: Missing bookmark, OMEMO device-list, bundle, and obsolete bundle-item nodes are handled as expected empty state during initial synchronization instead of producing misleading warnings or blocking setup.
- Fail-closed server account deletion: Server deletion must succeed before related data and the local account are removed. Failures keep the account configured locally with a clear error, while managed Botmother bot deletion remains an explicit server-neutral option.
Installation
Debian/Ubuntu
sha256sum -c dinox_2.1.8_*.deb.sha256 sudo apt install ./dinox_2.1.8_*.debAppImage
sha256sum -c DinoX-2.1.8-*.AppImage.sha256 chmod +x DinoX-*.AppImage ./DinoX-*.AppImageFlatpak
flatpak install flathub org.gnome.Platform//50 sha256sum -c dinox-2.1.8-x86_64.flatpak.sha256 flatpak install --user ./dinox-2.1.8-x86_64.flatpak flatpak run im.dinox.dinoxBuild from Source
tar xf dinox-2.1.8.tar.gz cd dinox-2.1.8 ./scripts/ci-build-deps.sh meson setup build -Dplugin-mqtt=enabled -Dplugin-rtp=enabled -Dlocation-sharing=enabled -Dplugin-rtp-vaapi=enabled ./scripts/build.sh --strict ./build/main/dinoxDownloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
2 downloads