[PR #6473] [MERGED] [management,client] 0.75.0 release #28291

Closed
opened 2026-08-05 08:06:06 -04:00 by saavagebueno · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/netbirdio/netbird/pull/6473
Author: @mlsmaycon
Created: 6/19/2026
Status: Merged
Merged: 7/6/2026
Merged by: @mlsmaycon

Base: mainHead: 0.75.0-branch


📝 Commits (10+)

  • 8b7ce33 [client] UI refactor (#6069)
  • 1828df8 [ci] Bump SIGN_PIPE_VER to v0.1.8 (#6477)
  • fcc09f5 [client/ui] Restore netbird-ui.rb.tmpl homebrew cask template (#6478)
  • 8962cff Merge branch 'main' into 0.75.0-branch
  • 27616ff [client] Fix resources dropdown and default-profile delete protection (#6484)
  • e1c5604 [client] Update Wails v3 to v3.0.0-alpha2.106 (#6545)
  • 95de22d [client] Fix stuck Windows tray dark icon on state change (#6532)
  • 317a391 [client] Remove hardcoded autostart from Windows installers (#6544)
  • 1e0e04d Merge branch 'main' into 0.75.0-branch
  • c44c94d Merge branch 'main' into 0.75.0-branch

📊 Changes

389 files changed (+46270 additions, -6685 deletions)

View changed files

.coderabbit.yaml (+18 -0)
📝 .devcontainer/Dockerfile (+0 -1)
.github/workflows/frontend-ui.yml (+98 -0)
📝 .github/workflows/golang-test-darwin.yml (+9 -1)
📝 .github/workflows/golang-test-linux.yml (+12 -5)
📝 .github/workflows/golang-test-windows.yml (+8 -1)
📝 .github/workflows/golangci-lint.yml (+19 -2)
📝 .github/workflows/release.yml (+58 -23)
📝 .github/workflows/wasm-build-validation.yml (+1 -1)
📝 .golangci.yaml (+10 -0)
📝 .goreleaser.yaml (+2 -0)
📝 .goreleaser_ui.yaml (+20 -6)
📝 .goreleaser_ui_darwin.yaml (+9 -2)
📝 CONTRIBUTING.md (+47 -8)
📝 client/cmd/login.go (+77 -0)
📝 client/cmd/status.go (+7 -0)
📝 client/embed/embed.go (+1 -1)
📝 client/installer.nsis (+52 -49)
📝 client/internal/auth/auth.go (+42 -0)
client/internal/auth/auth_test.go (+80 -0)

...and 80 more files

📄 Description

Describe your changes

Release branch for 0.75.0. The centerpiece is a full rewrite of the desktop client UI, replacing the Fyne-based tray application with a Wails v3 app backed by a React/TypeScript frontend, plus follow-up fixes landed on the branch.

New desktop UI (#6069)

  • Wails v3 application (client/ui) with a React + TypeScript + Tailwind frontend replacing the Fyne UI: main connection view, exit-node switcher, networks/peers browser with detail panels, profile management, settings (general, network, SSH, security, troubleshooting, appearance), debug-bundle creation, and a first-run welcome flow.
  • Internationalization: go-i18n bundle with 9 locales (en, de, es, fr, hu, it, pt, ru, zh-CN) shared between the tray and the frontend.
  • New system tray implementation with per-platform theme-aware icons, including a native XEmbed host for Linux (xembed_tray_linux.c) and a Linux theme watcher.
  • Session handling: auth session watcher (client/internal/auth/sessionwatch), pending login flow, session-expiration dialog and tray notifications, and netbird login improvements.
  • Daemon API extensions (daemon.proto): status stream subscription, event stream, networks/exit-node selection endpoints, and richer full status — with probe throttling on the daemon side to protect against UI-driven request storms.
  • UI preferences store persisted per profile, autostart management via the daemon (single source of truth in HKCU on Windows).
  • Build system: Taskfile-based builds per platform (macOS, Linux, Windows), Docker cross-compilation images, MSIX/NSIS/nfpm/AppImage packaging, and a new frontend-ui CI workflow.

Follow-up changes on the branch

  • [ci] Bump SIGN_PIPE_VER to v0.1.8 (#6477)
  • [client/ui] Restore netbird-ui.rb.tmpl homebrew cask template (#6478)
  • [client] Fix resources dropdown and default-profile delete protection (#6484)
  • [client] Update Wails v3 to v3.0.0-alpha2.106 (#6545)
  • [client] Fix stuck Windows tray dark icon on state change (#6532)
  • [client] Remove hardcoded autostart from Windows installers (#6544) — the UI toggle (HKCU) is now the single source of truth
  • [client] Update Wails to v3.0.0-alpha2.111 (#6660)
  • [client] Remove lazy connection UI toggle (#6661) — lazy connections are controlled centrally via NB_LAZY_CONN, MDM policy, and the management feature flag (#6617)

Stack

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • This change does not modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — OR I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See CONTRIBUTING.md.

By submitting this pull request, you confirm that you have read and agree to the terms of the Contributor License Agreement.

Documentation

Select exactly one:

  • I added/updated documentation for this change
  • Documentation is not needed for this change (explain why)

Docs PR URL (required if "docs added" is checked)

Paste the PR link from https://github.com/netbirdio/docs here:

https://github.com/netbirdio/docs/pull/802


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/netbirdio/netbird/pull/6473 **Author:** [@mlsmaycon](https://github.com/mlsmaycon) **Created:** 6/19/2026 **Status:** ✅ Merged **Merged:** 7/6/2026 **Merged by:** [@mlsmaycon](https://github.com/mlsmaycon) **Base:** `main` ← **Head:** `0.75.0-branch` --- ### 📝 Commits (10+) - [`8b7ce33`](https://github.com/netbirdio/netbird/commit/8b7ce337d86ea5f01ebcf4c62a565ecfa9e7018c) [client] UI refactor (#6069) - [`1828df8`](https://github.com/netbirdio/netbird/commit/1828df81871033f0799b0221396608571b776bc7) [ci] Bump SIGN_PIPE_VER to v0.1.8 (#6477) - [`fcc09f5`](https://github.com/netbirdio/netbird/commit/fcc09f568c09ae9590ee7987cfce2c00fdccb8f9) [client/ui] Restore netbird-ui.rb.tmpl homebrew cask template (#6478) - [`8962cff`](https://github.com/netbirdio/netbird/commit/8962cff2434257b34e21370dfe890c4b8626290a) Merge branch 'main' into 0.75.0-branch - [`27616ff`](https://github.com/netbirdio/netbird/commit/27616ff0045cf31e34ce0c7d8bf980b920a4625f) [client] Fix resources dropdown and default-profile delete protection (#6484) - [`e1c5604`](https://github.com/netbirdio/netbird/commit/e1c560479199cd8edf2256bc585d62205c9909f3) [client] Update Wails v3 to v3.0.0-alpha2.106 (#6545) - [`95de22d`](https://github.com/netbirdio/netbird/commit/95de22d40846f054f40e45ce3081e7de2771c971) [client] Fix stuck Windows tray dark icon on state change (#6532) - [`317a391`](https://github.com/netbirdio/netbird/commit/317a391113d621c481ce22314e2985a51bc969c2) [client] Remove hardcoded autostart from Windows installers (#6544) - [`1e0e04d`](https://github.com/netbirdio/netbird/commit/1e0e04d65fdbe2afb5e4a301f0f81840bf833f37) Merge branch 'main' into 0.75.0-branch - [`c44c94d`](https://github.com/netbirdio/netbird/commit/c44c94d78f710a5ec67da031fdbc6a291e48d485) Merge branch 'main' into 0.75.0-branch ### 📊 Changes **389 files changed** (+46270 additions, -6685 deletions) <details> <summary>View changed files</summary> ➕ `.coderabbit.yaml` (+18 -0) 📝 `.devcontainer/Dockerfile` (+0 -1) ➕ `.github/workflows/frontend-ui.yml` (+98 -0) 📝 `.github/workflows/golang-test-darwin.yml` (+9 -1) 📝 `.github/workflows/golang-test-linux.yml` (+12 -5) 📝 `.github/workflows/golang-test-windows.yml` (+8 -1) 📝 `.github/workflows/golangci-lint.yml` (+19 -2) 📝 `.github/workflows/release.yml` (+58 -23) 📝 `.github/workflows/wasm-build-validation.yml` (+1 -1) 📝 `.golangci.yaml` (+10 -0) 📝 `.goreleaser.yaml` (+2 -0) 📝 `.goreleaser_ui.yaml` (+20 -6) 📝 `.goreleaser_ui_darwin.yaml` (+9 -2) 📝 `CONTRIBUTING.md` (+47 -8) 📝 `client/cmd/login.go` (+77 -0) 📝 `client/cmd/status.go` (+7 -0) 📝 `client/embed/embed.go` (+1 -1) 📝 `client/installer.nsis` (+52 -49) 📝 `client/internal/auth/auth.go` (+42 -0) ➕ `client/internal/auth/auth_test.go` (+80 -0) _...and 80 more files_ </details> ### 📄 Description ## Describe your changes Release branch for **0.75.0**. The centerpiece is a full rewrite of the desktop client UI, replacing the Fyne-based tray application with a Wails v3 app backed by a React/TypeScript frontend, plus follow-up fixes landed on the branch. ### New desktop UI (#6069) - **Wails v3 application** (`client/ui`) with a React + TypeScript + Tailwind frontend replacing the Fyne UI: main connection view, exit-node switcher, networks/peers browser with detail panels, profile management, settings (general, network, SSH, security, troubleshooting, appearance), debug-bundle creation, and a first-run welcome flow. - **Internationalization**: go-i18n bundle with 9 locales (en, de, es, fr, hu, it, pt, ru, zh-CN) shared between the tray and the frontend. - **New system tray** implementation with per-platform theme-aware icons, including a native XEmbed host for Linux (`xembed_tray_linux.c`) and a Linux theme watcher. - **Session handling**: auth session watcher (`client/internal/auth/sessionwatch`), pending login flow, session-expiration dialog and tray notifications, and `netbird login` improvements. - **Daemon API extensions** (`daemon.proto`): status stream subscription, event stream, networks/exit-node selection endpoints, and richer full status — with probe throttling on the daemon side to protect against UI-driven request storms. - **UI preferences store** persisted per profile, autostart management via the daemon (single source of truth in HKCU on Windows). - **Build system**: Taskfile-based builds per platform (macOS, Linux, Windows), Docker cross-compilation images, MSIX/NSIS/nfpm/AppImage packaging, and a new `frontend-ui` CI workflow. ### Follow-up changes on the branch - [ci] Bump SIGN_PIPE_VER to v0.1.8 (#6477) - [client/ui] Restore netbird-ui.rb.tmpl homebrew cask template (#6478) - [client] Fix resources dropdown and default-profile delete protection (#6484) - [client] Update Wails v3 to v3.0.0-alpha2.106 (#6545) - [client] Fix stuck Windows tray dark icon on state change (#6532) - [client] Remove hardcoded autostart from Windows installers (#6544) — the UI toggle (HKCU) is now the single source of truth - [client] Update Wails to v3.0.0-alpha2.111 (#6660) - [client] Remove lazy connection UI toggle (#6661) — lazy connections are controlled centrally via NB_LAZY_CONN, MDM policy, and the management feature flag (#6617) ## Issue ticket number and link ## Stack <!-- branch-stack --> ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [x] It is a refactor - [ ] Created tests that fail without the change (if possible) - [ ] This change does **not** modify the public API, gRPC protocols, functionality behavior, CLI / service flags, or introduce a new feature — **OR** I have discussed it with the NetBird team beforehand (link the issue / Slack thread in the description). See [CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first). > By submitting this pull request, you confirm that you have read and agree to the terms of the [Contributor License Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md). ## Documentation Select exactly one: - [x] I added/updated documentation for this change - [ ] Documentation is **not needed** for this change (explain why) ### Docs PR URL (required if "docs added" is checked) Paste the PR link from https://github.com/netbirdio/docs here: https://github.com/netbirdio/docs/pull/802 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
saavagebueno added the pull-request label 2026-08-05 08:06:06 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#28291