• v2.1.4 7b964ee79d

    DinoX v2.1.4
    All checks were successful
    Build / Validate Manual Selection (push) Has been skipped
    Build / Release Static Preflight (push) Successful in 31s
    Build / Mirror AppImage Runtimes (push) Has been skipped
    Build / Core Build (push) Successful in 25m40s
    Build / Build AppImage (push) Successful in 22m27s
    Build / Build Flatpak (push) Successful in 28m42s
    Stable

    Ralf released this 2026-06-20 18:54:47 +02:00 | 245 commits to master since this release

    DinoX v2.1.4

    Modern XMPP client with extended features.

    What's New

    Added

    • OpenPGP secret key synchronization: Added XEP-0373 secret key backup publishing and fetch/restore support for OpenPGP-for-XMPP accounts, using the XEP-0373 backup-code encryption format for interoperable restore on other clients.
    • OpenPGP contact verification: Added manual trust state for XEP-0373/XEP-0374 contact keys so contact encryption details can show whether a published OpenPGP key is unverified, manually verified, or changed.

    Changed

    • OpenPGP key management modes: Separated XMPP OpenPGP publishing and selection from legacy XEP-0027/keyserver publishing, with clearer account-scoped actions for XEP-0373/XEP-0374 keys versus legacy keys.
    • OpenPGP account scope: Tightened per-account key visibility and selection so account keys, legacy keyserver state, and XMPP-published keys no longer bleed into each other.

    Fixed

    • OpenPGP server backup restore UI: Fixed double dialogs, click-through activation, cancel handling, wrong-backup-code handling, and duplicate import handling in the secret key sync flow.
    • OpenPGP already-present restore cases: Secret backups that match an already available local key now stop cleanly and tell the user that no import is needed.
    • OpenPGP unencrypted server keys: Fetching an unencrypted published XMPP OpenPGP key now handles the no-secret-backup case without an endless spinner.
    • OpenPGP contact signal cleanup: Guarded contact signal cleanup so stale UI callbacks no longer run after the contact details view is gone.
    • MUC join lifecycle: Hardened group chat join state so repeated joins, slow large rooms, and stale join continuations do not leave the join UI stuck.
    • Direct Jingle file transfers: Fixed stale direct Jingle transfer state after cancelled or outdated live transfer offers.
    • URL preview safety: Guarded URL preview message creation so invalid or incomplete preview state does not create broken messages.
    • AppImage runtime: Bundled libgeoclue-2 for AppImage builds to avoid missing runtime library failures.

    Installation

    Debian/Ubuntu

    sha256sum -c dinox_2.1.4_*.deb.sha256
    sudo apt install ./dinox_2.1.4_*.deb
    

    AppImage

    sha256sum -c DinoX-2.1.4-*.AppImage.sha256
    chmod +x DinoX-*.AppImage
    ./DinoX-*.AppImage
    

    Flatpak

    flatpak install flathub org.gnome.Platform//50
    sha256sum -c dinox-2.1.4-x86_64.flatpak.sha256
    flatpak install --user ./dinox-2.1.4-x86_64.flatpak
    flatpak run im.dinox.dinox
    

    Build from Source

    tar xf dinox-2.1.4.tar.gz
    cd dinox-2.1.4
    ./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/dinox
    
    Downloads