Releases: netbirdio/netbird
v0.21.1
What's Changed
- Struct Engine has methods on both value by @pappz in #934
- Import go mobile bind at the android package level by @mlsmaycon in #935
- Add trigger for docs generation to release workflow by @pascal-fischer in #931
- Fix validation for ACL policy rules ports by @gigovich in #938
- Stop macOS app and service on update with pkg and brew by @pascal-fischer in #937
- Remove unused field from peer state by @pappz in #939
- Fix routes allow acl rule by @gigovich in #940
- Support authentication with client_secret by @bcmmbaga in #936
Full Changelog: v0.21.0...v0.21.1
v0.21.0
Release Notes
The new version introduces source port and protocol Access control, integration with different Identity Providers, and refactored the Setup-keys dashboard screen. We are changing setup-keys' behavior by displaying them only at creation time.
In previous weeks we released a new version of our documentation website, which included our public API docs.
Source port and protocol access control
You can add access control rules based on the source port and protocol. This feature is useful when you want to access a specific port or protocol; for example, you can allow access to port 80 (HTTP) only from a specific group of peers.
Currently, directional rules (source to destination) are available only to UDP and TCP protocols.
The feature is available on all platforms, read more at https://docs.netbird.io/how-to/manage-network-access#managing-rules

Identity Providers
We have added better integration with various IDP providers, now you will have a map between user IDs and email address from your IDP of choice. This feature is useful when you want to manage an auto-grouping or role of a specific user.
Currently, we support the following IDPs:
- Azure AD
- Okta
- Keycloak
- Authentik
- Zitadel
- Auth0
See the documentation for more information.
Google support is in the works and will be available soon.
Setup-keys
New setup-key popup:
Display once setup-key:
New setup-keys view:
New Documentation website and API docs live
In case you missed it, we have released a new version of our documentation site (https://docs.netbird.io), which includes a new design, with dark mode support, search bar and our public API documentation (https://docs.netbird.io/api).


Happy hacking the API!
Changelog summary
Management
- Refactor IdP Config Structure (#879)
- Add Authentik IdP (#897)
- Add Okta IdP (#859)
- Support IDP manager configuration with configure.sh (#843)
Client
- Add force relay conn env var for debug purpose (#904)
- Fix connection listener (#777)
- Feat firewall support (#805)
- Feature/android route notification (#868)
- Add selfhosted metrics for PATs and service users (#913)
Dashboard
- Add pkg installer to MacOS Popup (netbirdio/dashboard#188)
- Access control rules with source port and protocol support (netbirdio/dashboard#163)
- update setup key edit layout (netbirdio/dashboard#190)
- Show setupkey once on creation (netbirdio/dashboard#191)
Misc
Big thanks to our new contributors
- @TomRomeo made their first contribution in (#867)
- @saroojbkhari made their first contribution in (netbirdio/dashboard#190)
Full Changelog: v0.20.7...v0.21.0
v0.20.8
- Prevent peer updates if the status is not changing from disconnected to connected and vice versa.
- Fixed route score calculation, added tests and changed the log message
- Fixed installer /usr/local/bin creation
Full Changelog: v0.20.7...v0.20.8
v0.20.7
Fix the wrong installer log path
Full Changelog: v0.20.5...v0.20.7
v0.20.6
Full Changelog: v0.20.5...v0.20.6
v0.20.5
What's Changed
- Use backoff.retry to check if upstreams are responsive by @mlsmaycon in #901
- Remove drift between docs and openapi by @pascal-fischer in #907
- Adding static files for pkg creation for Mac by @pascal-fischer in #899
- Add retry to sending signal message by @mlsmaycon in #906
Full Changelog: v0.20.4...v0.20.5
v0.20.4
What's Changed
- Measure write requests separately from read requests by @braginini in #880
- Count only successful HTTP request durations by @braginini in #886
- Check if the cancel function was set before using it by @mlsmaycon in #893
- Windows MTU fix and wg/win version update by @pappz in #896
Full Changelog: v0.20.3...v0.20.4
v0.20.3
What's Changed
- Add telemetry to measure app durations by @braginini in #878
Full Changelog: v0.20.2...v0.20.3
v0.20.2
What's Changed
- Fix panic when getting XORMapped addr by @braginini in #874
- Avoid storing account if no peer meta or expiration change by @mlsmaycon in #875
- Fix issue 872 by @pappz in #873
- Clarify XORMapped panic case by @braginini in #877
Full Changelog: v0.20.1...v0.20.2
v0.20.1
What's Changed
- Remove dependency to base62 package by @pascal-fischer in #863
- Prevent setting primary resolver if using custom DNS port by @mlsmaycon in #861
- Track user block/unblock activity event by @braginini in #865
Full Changelog: v0.20.0...v0.20.1