Download Latest Version netbird_installer_0.78.1_windows_amd64.exe (20.6 MB)
Email in envelope

Get an email when there's a new version of NetBird

Home / v0.78.0
Name Modified Size InfoDownloads / Week
Parent folder
netbird_installer_0.78.0_windows_arm64.exe 2026-09-03 17.9 MB
netbird_installer_0.78.0_windows_arm64.msi 2026-09-03 21.2 MB
netbird_0.78.0_windows_arm64_signed.tar.gz 2026-09-03 22.6 MB
netbird_installer_0.78.0_windows_amd64.exe 2026-09-03 20.6 MB
netbird_installer_0.78.0_windows_amd64.msi 2026-09-03 23.5 MB
netbird_0.78.0_windows_amd64_signed.tar.gz 2026-09-03 25.1 MB
netbird_0.78.0_darwin.pkg 2026-09-03 47.7 MB
netbird-ui_0.78.0_darwin_all_signed.zip 2026-09-03 20.8 MB
netbird_0.78.0_darwin_amd64.pkg 2026-09-03 25.1 MB
netbird-ui_0.78.0_darwin_amd64_signed.zip 2026-09-03 10.9 MB
netbird_0.78.0_darwin_arm64.pkg 2026-09-03 22.7 MB
netbird-ui_0.78.0_darwin_arm64_signed.zip 2026-09-03 10.0 MB
getting-started-enterprise.sh 2026-09-03 26.8 kB
getting-started.sh 2026-09-03 60.6 kB
migrate-to-enterprise.sh 2026-09-03 47.8 kB
getting-started-with-zitadel.sh 2026-09-03 762 Bytes
install.sh 2026-09-03 14.9 kB
netbird_0.78.0_checksums.txt 2026-09-03 3.4 kB
netbird_0.78.0_linux_386.rpm 2026-09-03 14.9 MB
netbird_0.78.0_linux_amd64.deb 2026-09-03 15.7 MB
netbird_0.78.0_linux_amd64.rpm 2026-09-03 15.7 MB
netbird_0.78.0_linux_arm64.rpm 2026-09-03 14.3 MB
netbird_0.78.0_linux_armv6.rpm 2026-09-03 14.9 MB
netbird_0.78.0_darwin_all.tar.gz 2026-09-03 27.4 MB
netbird_0.78.0_linux_386.deb 2026-09-03 14.9 MB
netbird_0.78.0_linux_arm64.deb 2026-09-03 14.4 MB
netbird_0.78.0_linux_armv6.deb 2026-09-03 15.0 MB
netbird-idp-migrate_0.78.0_linux_amd64.tar.gz 2026-09-03 15.1 MB
netbird-idp-migrate_0.78.0_linux_arm64.tar.gz 2026-09-03 13.7 MB
netbird-idp-migrate_0.78.0_linux_arm.tar.gz 2026-09-03 14.1 MB
netbird_0.78.0_linux_mips64le_hardfloat.tar.gz 2026-09-03 13.5 MB
netbird_0.78.0.wasm 2026-09-03 60.2 MB
netbird_0.78.0_darwin_amd64.tar.gz 2026-09-03 14.1 MB
netbird_0.78.0_darwin_arm64.tar.gz 2026-09-03 13.2 MB
netbird_0.78.0_linux_386.tar.gz 2026-09-03 15.0 MB
netbird_0.78.0_linux_arm64.tar.gz 2026-09-03 14.4 MB
netbird_0.78.0_linux_armv6.tar.gz 2026-09-03 15.0 MB
netbird_0.78.0_linux_mips64_softfloat.tar.gz 2026-09-03 13.6 MB
netbird_0.78.0_windows_arm64.tar.gz 2026-09-03 12.8 MB
netbird_0.78.0_linux_amd64.tar.gz 2026-09-03 15.7 MB
netbird_0.78.0_linux_mips64_hardfloat.tar.gz 2026-09-03 13.6 MB
netbird_0.78.0_linux_mips64le_softfloat.tar.gz 2026-09-03 13.5 MB
netbird_0.78.0_linux_mips_hardfloat.tar.gz 2026-09-03 14.0 MB
netbird_0.78.0_linux_mips_softfloat.tar.gz 2026-09-03 14.0 MB
netbird_0.78.0_linux_mipsle_hardfloat.tar.gz 2026-09-03 13.9 MB
netbird_0.78.0_linux_mipsle_softfloat.tar.gz 2026-09-03 13.9 MB
netbird_0.78.0_windows_amd64.tar.gz 2026-09-03 14.3 MB
netbird-ui_darwin_checksums.txt 2026-09-03 310 Bytes
netbird-ui_0.78.0_darwin_all.tar.gz 2026-09-03 21.0 MB
netbird-ui_0.78.0_darwin_amd64.tar.gz 2026-09-03 10.8 MB
netbird-ui_0.78.0_darwin_arm64.tar.gz 2026-09-03 10.2 MB
netbird-ui-gtk3_0.78.0_linux_amd64.deb 2026-09-03 11.9 MB
netbird-ui-gtk3_0.78.0_linux_amd64.rpm 2026-09-03 11.9 MB
netbird-ui-linux-gtk3_0.78.0_linux_amd64.tar.gz 2026-09-03 11.9 MB
netbird-ui_gtk3_checksums.txt 2026-09-03 324 Bytes
netbird-ui_0.78.0_checksums.txt 2026-09-03 535 Bytes
netbird-ui_0.78.0_linux_amd64.rpm 2026-09-03 11.9 MB
netbird-ui-linux_0.78.0_linux_amd64.tar.gz 2026-09-03 11.9 MB
netbird-ui-windows_0.78.0_windows_amd64.tar.gz 2026-09-03 11.2 MB
netbird-ui-windows_0.78.0_windows_arm64.tar.gz 2026-09-03 10.3 MB
netbird-ui_0.78.0_linux_amd64.deb 2026-09-03 11.9 MB
README.md 2026-09-03 5.6 kB
v0.78.0 source code.tar.gz 2026-09-03 9.0 MB
v0.78.0 source code.zip 2026-09-03 10.6 MB
Totals: 64 Items   898.0 MB 2

Release Notes for v0.78.0

Highlights

  • Rosenpass now works through the embedded reverse proxy (#6763). Until now the proxy ran no Rosenpass at all, so peers with Rosenpass enabled failed to establish through it on a PSK mismatch — an incompatibility that was never documented. The proxy now runs Rosenpass in permissive mode, so it connects both to Rosenpass-enabled peers and, exactly as before, to peers without it. NB_PROXY_ROSENPASS=false turns it off.
  • Lazy connections reworked: per-peer lazy state, proxy peers lazy by default, and the lazy exclusion list removed (#6762, [#6763]).
  • Agent Network / LLM gateway: agentgateway integration, access roles and self-service endpoints, Bedrock model discovery served from the control plane, guardrail allowlists for declared model ids, and the endpoint conformed to the LLM gateway protocol (#7274, [#7221], [#7250], [#7239], [#7154], [#7389], [#7246]).
  • DNS on Windows: a catch-all NRPT rule when NetBird is the primary resolver (#7071), closing the leak/poisoning window towards the system resolvers.
  • Local Prometheus metrics endpoint on the client (#6689).
  • Go 1.26 and go-quic v0.62.0 across client, relay and management (#7359).
  • Unified ACL filtering for peers and routes, with multi-source rules (#6322). An internal refactor: no change is expected for standard deployments.
  • Ukrainian localization for the desktop client (#7035).

Behaviour changes

  • Remote jobs (remote debug bundle and friends) are now behind an admin opt-in, with MDM support (#7153). Anyone using them without the opt-in has to enable it.
  • Remote debug bundle jobs accept an anonymization level and an upload URL (#7147).
  • The client stays connected during the login command (#7384).
  • Logging out of the active profile is allowed even when profiles are disabled (#7360).
  • Profiles resolve for the invoking sudo user rather than for root (#7238).
  • NetBird traffic stays out of third-party fwmark rules (#7314).
  • GUI windows are created on demand and destroyed on close (#7096).
  • Android split tunnelling: the mode is typed rather than stored as a string, and settings are kept per profile (#7387, [#7349]).

Security / hardening

  • The cached SSH JWT is bound to the local caller that obtained it (#7378).
  • The WireGuard key is no longer logged on a parse failure (#7379).
  • The client asks the OS for privileges when a guarded SSH setting is changed (#7066).
  • The proxy validates header auth (#7263).
  • Management checks a provider's URL and credential before saving them (#7301).
  • Clarified that X-Peer-ID on metrics ingest is not a credential (#7363).
  • The old math/rand library is gone from management (#6836).

Client — fixes

  • Fixed the ICEBind races that wedge interface creation (#7377).
  • agentConnecting is dropped whenever the ICE session state clears (#7327).
  • A peer offer or answer arriving before the handshaker starts listening is held rather than lost (#7255).
  • Connections are swept on network loss through a shared netevents manager (#7254).
  • Route selection survives an invalid request and is applied on a partial one (#7292).
  • The session-expiration dialog closes only on renewal (#7337).
  • A still-locked updater binary is tolerated when cleaning up after an update (#7286).
  • Fixed context cancellation during restart on iOS (#7329).
  • iOS SSO logins reuse the profile's account (#7193).
  • The iOS profile manager was migrated from Swift to Go (#6528).
  • The PCP implementation moved to the go-nat fork (#7282).
  • Reverted multi-buffer support declared for the loopback XDP program (#7303).
  • The Android TUN is renewed only when the routes it carries actually change (#7396).
  • Overlay listeners are rebuilt when the TUN is renewed (#7397).
  • The remote jobs opt-in is exposed in the Android and iOS SDK preferences (#7406).

Management — fixes

  • Fixed geolocation panics (#7382).
  • Fixed private services calculation on the new db path (#7383).
  • Fixed posture check evaluation for direct peers in policy definitions (#7348) and the affected peers calculation on a posture check flip (#7347).
  • Handled the nil pointer in sendInitialSync() when the peer has been deleted (#7315).
  • Network map from the nmap data type (#6919).

Self-hosted / infrastructure

  • Better domain, Docker Compose and license validation in the self-hosted scripts (#7339).
  • The dashboard wasm client bump is triggered by release tags (#7277).
  • Protobuf breaking-change checks in CI (#7305).
  • Pinned the toolchain gomobile init needs for gobind (#7291).
  • Removed the mobile build validation workflow (#7302).

Upgrade notes

  • Remote debug bundles now require an explicit opt-in (#7153). Bundles requested by the management server no longer run on a peer unless remote jobs are enabled there, with --allow-remote-jobs on the client or the allowRemoteJobs managed setting. Deployments relying on management-triggered debug bundles must opt in before they work again. The upload destination can now be pinned by the operator, with MDM taking precedence over the management-supplied value (#7147).
  • The embedded proxy now runs Rosenpass in permissive mode (#6763). Peers with Rosenpass enabled can now use the reverse proxy, which previously failed on a PSK mismatch; peers without Rosenpass keep connecting exactly as before. NB_PROXY_ROSENPASS=false disables it.
  • Proxy peers now default to lazy connections (#6762).

Nothing else requires action.

Full Changelog: https://github.com/netbirdio/netbird/compare/v0.77.1...v0.78.0

Source: README.md, updated 2026-09-03