NexaPipe 0.5.0
Release

NexaPipe 0.5.0

Nothing here opens a new front. Health finally decides which node the next request goes to, the backends that cannot answer GET /health are asked anyway, and the server and both clients count the bytes they carry. Alongside it: an image in the release, your own relay documented, and a desktop whose DNS no longer outlives the tunnel.

7 October 2026 · one tag ships the server archives, the desktop bundles, the Android APK and the container image.

Download for your platform

Pick a build below if the guess is wrong.

Downloads

Client app first, then the server. Nothing needs an account, and nothing is gated.

Desktop & mobile app — nexa

Operating system x86_64 arm64 / aarch64
Windows Installernexa-0.5.0-windows-x86_64-setup.exe Installernexa-0.5.0-windows-aarch64-setup.exe
macOS Disk image — Intelnexa-0.5.0-macos-x86_64.dmg Disk image — Apple siliconnexa-0.5.0-macos-aarch64.dmg
Linux Debian / Ubuntunexa-0.5.0-linux-x86_64.deb Fedora / RHELnexa-0.5.0-linux-x86_64.rpm AppImagenexa-0.5.0-linux-x86_64.AppImage Debian / Ubuntunexa-0.5.0-linux-aarch64.deb Fedora / RHELnexa-0.5.0-linux-aarch64.rpm AppImagenexa-0.5.0-linux-aarch64.AppImage
Android APK — emulatorsnexa-0.5.0-android-x86_64.apk APKnexa-0.5.0-android-arm64.apk

One APK per ABI: arm64-v8a for every phone, x86_64 for the emulator images a development machine can run. Desktop bundles are signed with the Tauri updater key; the in-app updater reads latest.json in the same release. iOS is not a supported platform — see the roadmap.

Checksums for every asset above: SHA256SUMS.txt.

Server & client library — nexapipe

Operating system x86_64 arm64 / aarch64
Linux (glibc) tar.gznexapipe-0.5.0-x86_64-unknown-linux-gnu.tar.gz tar.gznexapipe-0.5.0-aarch64-unknown-linux-gnu.tar.gz
Linux (musl, static) tar.gznexapipe-0.5.0-x86_64-unknown-linux-musl.tar.gz tar.gznexapipe-0.5.0-aarch64-unknown-linux-musl.tar.gz
macOS tar.gz — Intelnexapipe-0.5.0-x86_64-apple-darwin.tar.gz tar.gz — Apple siliconnexapipe-0.5.0-aarch64-apple-darwin.tar.gz
Windows zipnexapipe-0.5.0-x86_64-pc-windows-msvc.zip zipnexapipe-0.5.0-aarch64-pc-windows-msvc.zip

Each archive holds the nexapipe binary, the client cdylib for embedding, config.toml.2fa.example, the README and the licence. Checksums for every asset above: SHA256SUMS.txt.

Container image

New in this release: the image is published with everything else, as one multi-arch manifest for linux/amd64 and linux/arm64.

# This release exactly
docker pull ghcr.io/open-nexa/nexapipe:0.5.0

# The newest stable release (:latest never points at a pre-release)
docker pull ghcr.io/open-nexa/nexapipe:latest

docker-compose.yaml names the published image, so docker compose up pulls it rather than building — --build still builds locally under the same name.

Install from a terminal

No package manager yet — these are the release assets, straight from the tag.

# Linux x86_64, static binary
curl -LO https://github.com/open-nexa/nexapipe/releases/download/v0.5.0/nexapipe-0.5.0-x86_64-unknown-linux-musl.tar.gz
tar -xzf nexapipe-0.5.0-x86_64-unknown-linux-musl.tar.gz
cd nexapipe-0.5.0-x86_64-unknown-linux-musl && ./nexapipe --version
# macOS, Apple silicon
curl -LO https://github.com/open-nexa/nexapipe/releases/download/v0.5.0/nexapipe-0.5.0-aarch64-apple-darwin.tar.gz
tar -xzf nexapipe-0.5.0-aarch64-apple-darwin.tar.gz
cd nexapipe-0.5.0-aarch64-apple-darwin && ./nexapipe --version
# Linux — verify before extracting: the check looks for the archive beside
# SHA256SUMS.txt, so it has to run before the cd into the directory
curl -LO https://github.com/open-nexa/nexapipe/releases/download/v0.5.0/SHA256SUMS.txt
sha256sum -c --ignore-missing SHA256SUMS.txt
# macOS — the same check with shasum, which is what ships there. macOS 26
# added sha256sum, but every release older than that has only shasum, and not
# every version of it understands --ignore-missing, so grep narrows the list
# to the one archive you actually downloaded. Still before the cd.
curl -LO https://github.com/open-nexa/nexapipe/releases/download/v0.5.0/SHA256SUMS.txt
grep nexapipe-0.5.0-aarch64-apple-darwin.tar.gz SHA256SUMS.txt | shasum -a 256 -c -

All assets: SHA256SUMS.txt.

What's new

0.5.0 follows 0.4.0, released 30 September 2026. No configuration key changes, and nothing stopped working that used to — but a passthrough or tcp route whose backend refuses connections is now reported unhealthy where it previously looked fine.

Health decides which node gets the next request

The backends that cannot answer GET /health

What each node carried, and whether it answered

Desktop: the whole Config page stands behind the door

Desktop: the machine's DNS no longer outlives the tunnel

Distribution: an image, and your own relay

Two things in this release have not been watched running. The relay guide has been written from this tree and from upstream's iroh-relay, but not followed end to end on a machine that had nothing on it. The Android notification's rates are verified by unit tests and by compilation only. Everything else here has been compiled, tested and driven by hand on the platform it touches.

Also in this release

Changelog

Added

Changed

Fixed

Before upgrading