github netbirdio/netbird v0.75.0

4 hours ago

Release Notes for v0.75.0

New Feature: Redesigned Desktop Client

This release ships a complete rewrite of the desktop client. We went ahead and replaced the old Fyne-based tray application with a new Wails v3 app backed by a React and TypeScript frontend, and it is a massive upgrade. You get a proper main connection view, an exit-node switcher, a networks and peers browser with detail panels, profile management, full settings, debug-bundle creation, and a first-run welcome flow, all in one place instead of buried in a tray menu. #6473 by @pappz and @heisbrot

peers-view

The new UI is also translated into 10 languages now, and session handling got a lot smarter, so you actually know when your session is about to expire instead of finding out the hard way. Do note that launch-on-login is now enabled by default on fresh GUI installs, so if you manage devices through MDM, the disableAutostart setting is enforced on every launch to keep that under your control.

settings-language
  • Rebuilt the desktop client as a Wails v3 application with a React + TypeScript frontend, replacing the Fyne UI. #6473
  • Added internationalization with 10 locales (English, German, Spanish, French, Hungarian, Italian, Japanese, Portuguese, Russian, and Simplified Chinese), shared between the tray and the frontend. #6473, #6790 by @s-shimizu-clpl
  • Added a new system tray with per-platform theme-aware icons, including a native XEmbed host and theme watcher on Linux. #6473
  • Improved session handling with an auth session watcher, pending login flow, session-expiration dialog and tray notifications, and netbird login improvements. #6473
  • Extended the daemon API with status stream subscription, an event stream, networks and exit-node selection endpoints, and richer full status, with probe throttling to protect the daemon from UI-driven request storms. #6473
  • Enabled launch-on-login by default on fresh GUI installs, managed through the daemon as the single source of truth (HKCU on Windows). #6738 by @mlsmaycon
  • Enforced MDM disableAutostart on every GUI launch, not just fresh installs. #6782 by @riccardomanfrin

Learn more:

What's Changed

Desktop Client Improvements

  • Made the client connect immediately on profile selection, except while managing profiles. #6838 by @pappz
  • Brought the connection up in Go after SSO login for a faster, more reliable post-login connect. #6744 by @mlsmaycon
  • Kept the session deadline visible across reconnects. #6847 by @pappz
  • Fixed the browser dialog not closing during the renew-session flow. #6745 by @heisbrot
  • Disconnected the daemon on GUI quit via an async Down call. #6796 by @pappz
  • Restored residual state in foreground mode before login. #6707 by @dfry
  • Clarified the outdated client overlay wording. #6718 by @heisbrot
  • Used menu-bar wording on the macOS welcome screen. #6810 by @heisbrot
  • Added SSO login flow timing instrumentation. #6717 by @mlsmaycon
  • Updated Wails to v3.0.0-alpha2.117. #6837 by @pappz

Client Improvements

  • Added a JSON gateway for the NetBird daemon, exposing the daemon API over HTTP/JSON. #6272 by @jnfrati
  • Introduced client-side event aggregation. #6627 by @dmitri-netbird
  • Offloaded client config generation to the client, reducing work on the management server. #6711 by @dmitri-netbird
  • Warmed lazy connections from the DNS resolver so lazily-connected peers come up faster. #6854 by @mlsmaycon
  • Fixed forwarder peers never being excluded from lazy connections. #6674 by @riccardomanfrin
  • Fixed WGWatcher silently failing to restart on fast disconnect/reconnect. #6664 by @riccardomanfrin
  • Cleared stale UDP checksums in the eBPF XDP proxy after port rewrite. #6861 by @lixmal
  • Raised the relay early-message buffer cap to 10,000 to avoid dropping relayed handshakes. #6752 by @riccardomanfrin
  • Fixed a nil-context panic in the iOS dynamic route resolver. #6848 by @pappz
  • Fixed a DNS probe listener panic on unparseable local addresses. #6797 by @pappz
  • Fixed the browser (WASM) relay WebSocket close and raised the RDP dial timeout. #6684 by @lixmal
  • Included system events in status conversion. #6746 by @lixmal
  • Refreshed WireGuard stats in mobile debug bundles. #6814 by @pappz
  • Distinguished empty vs. corrupt state in debug diagnostics. #6816 by @pappz

Management Improvements

Agent Network

  • Added Kimi (Moonshot AI) to the provider catalog. #6853 by @mlsmaycon
  • Added Bedrock cost-allocation metadata plus a per-provider metadata_disabled option. #6791 by @mlsmaycon
  • Matched Bedrock provider models against the normalized request model. #6773 by @mlsmaycon
  • Probed the agent-network endpoint with a GET instead of getent. #6867 by @mlsmaycon
  • Fixed the proxy multi-stage Docker build. #6864 by @mlsmaycon

Relay Improvements

  • Trusted X-Real-Ip headers only from configured trusted proxies. #6833 by @pappz
  • Removed the deprecated Hello handshake and gob token decode. #6783 by @lixmal

Self-Hosting Improvements

Internal, CI, and Docs

New Contributors


Full Changelog: v0.74.7...v0.75.0

Don't miss a new netbird release

NewReleases is sending notifications on new releases.