PackageTrack
Sign in Get early access

github.com/slackhq/nebula

v1.11.1 #163 most downloaded on Go modules slackhq/nebula

What this package is like to depend on

Last release 2 days ago

21 Aug 2026

Ships fairly regularly

a new release about every 1 weeks

Nearly every release is documented

notes for 30 of 30 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

293 releases · first in 2019

86 releases in the last 12 months

see the full history below

Release timeline

293 releases · Nov 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 293
  1. v1.11.1 21 Aug 2026
    Release notes

    See the v1.11.1 milestone for a complete list of changes.

    Changed

    • IPv6 packets whose next header is a protocol Nebula does not parse (SCTP, GRE, IP-in-IP, etc.) are now
      classified as that protocol with no ports, closing a firewall bypass where a crafted payload could steer
      the classifier into reading one as TCP/UDP and matching a TCP/UDP rule. These packets are now matched as
      their true protocol, so only a proto: any rule allows them. If you carry one of these protocols over the
      overlay, confirm a proto: any rule covers it before upgrading, it may have been passing only through this
      bypass. (#1840)
    • Drop the dependency on github.com/cyberdelia/go-metrics-graphite, which has been unmaintained for over ten
      years, by inlining the small amount of code Nebula used. (#1832)

    Fixed

    • The ICMPv6 type was read from the wrong byte when classifying IPv6 packets, so the echo identifier used
      for conntrack was never picked up. (#1840)
    • Enforce outbound message counter limits so a tunnel is rehandshaked before the counter can wrap, preventing
      nonce reuse. This is unreachable in practice, but is enforced as a defense-in-depth measure. (#1841)
    • Prevent nebula-cert ca from running out of memory on 32bit systems when generating encrypted private keys. (#1834)
    • Tolerate ErrDumpInterrupted when listing tun addresses on Linux, so a transient interrupted netlink dump
      no longer aborts startup. (#1835)
    Open source →
    Release notes

    This tag was signed with the committer’s verified signature .

    wadey Wade Simmons

    GPG key ID: E6A335D7C5B6971A

    Verified Learn about vigilant mode .

    Open source →
    Release notes

    See the v1.11.1 milestone for a complete list of changes.

    Changed

    • IPv6 packets whose next header is a protocol Nebula does not parse (SCTP, GRE, IP-in-IP, etc.) are now classified as that protocol with no ports, closing a firewall bypass where a crafted payload could steer the classifier into reading one as TCP/UDP and matching a TCP/UDP rule. These packets are now matched as their true protocol, so only a proto: any rule allows them. If you carry one of these protocols over the overlay, confirm a proto: any rule covers it before upgrading, it may have been passing only through this bypass. (#1840)
    • Drop the dependency on github.com/cyberdelia/go-metrics-graphite, which has been unmaintained for over ten years, by inlining the small amount of code Nebula used. (#1832)

    Fixed

    • The ICMPv6 type was read from the wrong byte when classifying IPv6 packets, so the echo identifier used for conntrack was never picked up. (#1840)
    • Enforce outbound message counter limits so a tunnel is rehandshaked before the counter can wrap, preventing nonce reuse. This is unreachable in practice, but is enforced as a defense-in-depth measure. (#1841)
    • Prevent nebula-cert ca from running out of memory on 32bit systems when generating encrypted private keys. (#1834)
    • Tolerate ErrDumpInterrupted when listing tun addresses on Linux, so a transient interrupted netlink dump no longer aborts startup. (#1835)
    Open source →
  2. v1.11.1-0.20260821233340-9c5d7016489c 21 Aug 2026 pre-release

    Nothing published for this version

  3. v1.11.1-0.20260821165738-edc3c5e01886 21 Aug 2026 pre-release

    Nothing published for this version

  4. v1.11.1-0.20260804001204-aa1338b9848d 04 Aug 2026 pre-release

    Nothing published for this version

  5. v1.11.1-0.20260803225344-599620f6ab7c 03 Aug 2026 pre-release

    Nothing published for this version

  6. v1.11.1-0.20260731190928-6d124d04414e 31 Jul 2026 pre-release

    Nothing published for this version

  7. v1.11.1-0.20260723220202-72bf11120940 23 Jul 2026 pre-release

    Nothing published for this version

  8. v1.11.0 23 Jul 2026
    Release notes

    See the v1.11.0 milestone for a complete list of changes.

    Breaking

    • Logging has switched from logrus to Go's structured slog. Log output changes: levels are upper case
      (level=INFO), trace prints as level=DEBUG-4, timestamps are always RFC3339Nano and logging.timestamp_format
      is ignored, and some messages were reworded. Review any log parsing before upgrading. This is also an API break
      for embedders, as constructors now take a *slog.Logger. (#1672, #1734, #1621)
    • firewall.inbound_action and firewall.outbound_action (used to set reject vs. drop policy) were each being
      applied to the opposite direction, that is now corrected. This only affects how blocked packets are answered, not
      which packets the firewall allows or denies. If you set either of these you are getting the behavior of the other
      one today and likely want to swap them before upgrading. (#1798)
    • On Windows, Nebula now installs WFP PERMIT filters for the nebula adapter and the listener port by default. WFP
      sits below Windows Defender Firewall, so any WDF inbound rules you rely on for either will no longer apply. Set
      tun.windows_bypass_wdf and listen.windows_bypass_wdf to false to leave WDF in charge. (#1710)
    • On Windows, the nebula device is now set to the private network category instead of whatever Windows decided,
      which is usually Public. This makes the host firewall less restrictive on the overlay. Set
      tun.network_category to unset to keep the old behavior. (#1710)
    • Reject packets for non-TCP now use ICMP code 13, communication administratively prohibited, instead of code 3,
      port unreachable. Anything keying off the old code needs updating. (#1766, #1768)
    • The SSH debug server's profiling commands are now confined to sshd.sandbox_dir, which defaults to
      $TMP/nebula-debug. Relative paths resolve inside it and absolute paths outside it are rejected, so anything
      scripting start-cpu-profile, save-heap-profile, or save-mutex-profile with a path elsewhere needs the
      directory set. The directory is not created for you. (#1622)

    Added

    • Sign the Windows release binaries. (#1718)
    • Generate IPv6 reject packets, matching the existing IPv4 behavior. (#1766, #1767, #1768)
    • Accept - in nebula-cert to read from stdin or write to stdout. (#1714)
    • Search for both config.yml and config.yaml in service and command line modes. (#1717)
    • Add version labels to the Docker/OCI images. (#1772)
    • Rebind the listener and re-query lighthouses on macOS when the underlay network changes, so devices moving
      between wifi and wired or between networks recover without waiting for dead tunnel detection. Controlled by
      listen.rebind_on_network_change (default true, not reloadable). (#1816)

    Changed

    • Reload the firewall when the unsafe networks in the certificate change. (#1719)
    • Reconfigure, start, and stop the stats listener on a config reload instead of requiring a restart. (#1670)
    • Update a static host's addresses when they change on reload. (#1713)
    • Don't require a port on ICMP firewall rules. (#1609)
    • Connection track ICMP traffic. (#1602)
    • Return NODATA instead of NXDOMAIN from the DNS server for a name that exists but has no record of the
      requested type, so clients that query AAAA first (busybox/Alpine) fall through to A. (#1668)
    • Record the local host's details in the DNS server. (#1716)
    • Install Windows unsafe routes as link routes. (#1709)
    • Reduce relay handshake log spam, and only log a handshake send error at error level when the remote list
      changes. (#1733, #1765, #1810)
    • Start, stop, and reload subsystems (DNS, stats, conntrack, ssh, punchy) cleanly without leaking goroutines. (#1640, #1654, #1661, #1667, #1669, #1708, #1806, #1815)
    • Control is now safe to stop and wait on from any lifecycle state, and a new Control.Wait blocks until nebula
      has fully stopped and returns the first fatal reader error. Failed starts release the udp sockets and tun fd
      instead of leaking them. (#1794)
    • Trigger an immediate lighthouse update when reconnecting to or adding a lighthouse instead of waiting for the next update tick. (#1645)
    • Bring the Darwin and OpenBSD tun implementations in line with the other BSDs. (#1703)
    • Update to build against go v1.26. (#1818)
    • Various dependency updates. (#1586, #1587, #1604, #1617, #1618, #1627, #1628, #1629, #1652, #1664, #1665, #1697, #1721, #1732, #1742, #1743, #1750, #1763, #1771, #1782, #1800, #1807)

    Fixed

    • Fix a data race on a host's remote address that could send packets to the wrong address during a roam. (#1773)
    • Fix tunnels that could permanently escape connection manager monitoring. (#1752)
    • Fix a crash when reloading the SSH server's trusted keys. (#1787)
    • Fix hostmap corruption when a host has multiple overlay addresses. Each address now gets its own list instead of
      a single shared chain, which also fixes two latent bugs on the add and makePrimary paths. (#1788, #1790)
    • Apply remote_allow_list IPv4 rules to 4-in-6 mapped addresses. (#1786)
    • Don't panic in the DNS server on a short or empty query name. (#1635)
    • Advance the replay window on relayed packets so a relay drops replayed frames instead of re-forwarding them. (#1751)
    • Fix a race in relay state handling. (#1753)
    • Lock replay window updates so concurrent readers can't corrupt it. (#1802)
    • Reject malformed handshakes more reliably, including invalid ed25519 key lengths. (#1601, #1756)
    • Properly handle closetunnel packets. (#1638)
    • Fix an IPv6 extension-header length overflow that could make the firewall parse the wrong protocol and ports. (#1789)
    • Fix relay re-establishment when a handshake arrives over a relay entry that a one-sided teardown left
      Disestablished, which silently dropped every send until dead tunnel detection forced a re-handshake. (#1805)
    • Don't build new relay state on a tunnel that was just discarded. (#1796)
    • Don't delete the wrong pending hostinfo in the handshake manager. (#1811)
    • Don't call the packet reader after a UDP error on Darwin. (#1755)
    • Open the FreeBSD tun device non blocking. (#1666)
    Open source →
    Release notes

    See the v1.11.0 milestone for a complete list of changes.

    Breaking

    • Logging has switched from logrus to Go's structured slog. Log output changes: levels are upper case (level=INFO), trace prints as level=DEBUG-4, timestamps are always RFC3339Nano and logging.timestamp_format is ignored, and some messages were reworded. Review any log parsing before upgrading. This is also an API break for embedders, as constructors now take a *slog.Logger. (#1672, #1734, #1621)
    • firewall.inbound_action and firewall.outbound_action (used to set reject vs. drop policy) were each being applied to the opposite direction, that is now corrected. This only affects how blocked packets are answered, not which packets the firewall allows or denies. If you set either of these you are getting the behavior of the other one today and likely want to swap them before upgrading. (#1798)
    • On Windows, Nebula now installs WFP PERMIT filters for the nebula adapter and the listener port by default. WFP sits below Windows Defender Firewall, so any WDF inbound rules you rely on for either will no longer apply. Set tun.windows_bypass_wdf and listen.windows_bypass_wdf to false to leave WDF in charge. (#1710)
    • On Windows, the nebula device is now set to the private network category instead of whatever Windows decided, which is usually Public. This makes the host firewall less restrictive on the overlay. Set tun.network_category to unset to keep the old behavior. (#1710)
    • Reject packets for non-TCP now use ICMP code 13, communication administratively prohibited, instead of code 3, port unreachable. Anything keying off the old code needs updating. (#1766, #1768)
    • The SSH debug server's profiling commands are now confined to sshd.sandbox_dir, which defaults to $TMP/nebula-debug. Relative paths resolve inside it and absolute paths outside it are rejected, so anything scripting start-cpu-profile, save-heap-profile, or save-mutex-profile with a path elsewhere needs the directory set. The directory is not created for you. (#1622)

    Added

    • Sign the Windows release binaries. (#1718)
    • Generate IPv6 reject packets, matching the existing IPv4 behavior. (#1766, #1767, #1768)
    • Accept - in nebula-cert to read from stdin or write to stdout. (#1714)
    • Search for both config.yml and config.yaml in service and command line modes. (#1717)
    • Add version labels to the Docker/OCI images. (#1772)
    • Rebind the listener and re-query lighthouses on macOS when the underlay network changes, so devices moving between wifi and wired or between networks recover without waiting for dead tunnel detection. Controlled by listen.rebind_on_network_change (default true, not reloadable). (#1816)

    Changed

    • Reload the firewall when the unsafe networks in the certificate change. (#1719)
    • Reconfigure, start, and stop the stats listener on a config reload instead of requiring a restart. (#1670)
    • Update a static host's addresses when they change on reload. (#1713)
    • Don't require a port on ICMP firewall rules. (#1609)
    • Connection track ICMP traffic. (#1602)
    • Return NODATA instead of NXDOMAIN from the DNS server for a name that exists but has no record of the requested type, so clients that query AAAA first (busybox/Alpine) fall through to A. (#1668)
    • Record the local host's details in the DNS server. (#1716)
    • Install Windows unsafe routes as link routes. (#1709)
    • Reduce relay handshake log spam, and only log a handshake send error at error level when the remote list changes. (#1733, #1765, #1810)
    • Start, stop, and reload subsystems (DNS, stats, conntrack, ssh, punchy) cleanly without leaking goroutines. (#1640, #1654, #1661, #1667, #1669, #1708, #1806, #1815)
    • Control is now safe to stop and wait on from any lifecycle state, and a new Control.Wait blocks until nebula has fully stopped and returns the first fatal reader error. Failed starts release the udp sockets and tun fd instead of leaking them. (#1794)
    • Trigger an immediate lighthouse update when reconnecting to or adding a lighthouse instead of waiting for the next update tick. (#1645)
    • Bring the Darwin and OpenBSD tun implementations in line with the other BSDs. (#1703)
    • Update to build against go v1.26. (#1818)
    • Various dependency updates. (#1586, #1587, #1604, #1617, #1618, #1627, #1628, #1629, #1652, #1664, #1665, #1697, #1721, #1732, #1742, #1743, #1750, #1763, #1771, #1782, #1800, #1807)

    Fixed

    • Fix a data race on a host's remote address that could send packets to the wrong address during a roam. (#1773)
    • Fix tunnels that could permanently escape connection manager monitoring. (#1752)
    • Fix a crash when reloading the SSH server's trusted keys. (#1787)
    • Fix hostmap corruption when a host has multiple overlay addresses. Each address now gets its own list instead of a single shared chain, which also fixes two latent bugs on the add and makePrimary paths. (#1788, #1790)
    • Apply remote_allow_list IPv4 rules to 4-in-6 mapped addresses. (#1786)
    • Don't panic in the DNS server on a short or empty query name. (#1635)
    • Advance the replay window on relayed packets so a relay drops replayed frames instead of re-forwarding them. (#1751)
    • Fix a race in relay state handling. (#1753)
    • Lock replay window updates so concurrent readers can't corrupt it. (#1802)
    • Reject malformed handshakes more reliably, including invalid ed25519 key lengths. (#1601, #1756)
    • Properly handle closetunnel packets. (#1638)
    • Fix an IPv6 extension-header length overflow that could make the firewall parse the wrong protocol and ports. (#1789)
    • Fix relay re-establishment when a handshake arrives over a relay entry that a one-sided teardown left Disestablished, which silently dropped every send until dead tunnel detection forced a re-handshake. (#1805)
    • Don't build new relay state on a tunnel that was just discarded. (#1796)
    • Don't delete the wrong pending hostinfo in the handshake manager. (#1811)
    • Don't call the packet reader after a UDP error on Darwin. (#1755)
    • Open the FreeBSD tun device non blocking. (#1666)
    Open source →
  9. v1.10.4-0.20260729200425-a5cb635db493 29 Jul 2026 pre-release

    Nothing published for this version

  10. v1.10.4-0.20260721233233-58f3b6fda7b1 21 Jul 2026 pre-release

    Nothing published for this version

  11. v1.10.4-0.20260717201645-147c202c27aa 17 Jul 2026 pre-release

    Nothing published for this version

  12. v1.10.4-0.20260713164959-6c3972f464df 13 Jul 2026 pre-release

    Nothing published for this version

  13. v1.10.4-0.20260713134042-861d3aabd718 13 Jul 2026 pre-release

    Nothing published for this version

  14. v1.10.4-0.20260710170217-86733864fe7f 10 Jul 2026 pre-release

    Nothing published for this version

  15. v1.10.4-0.20260709234814-5ecdd4eaa90d 09 Jul 2026 pre-release

    Nothing published for this version

  16. v1.10.4-0.20260708153838-f671406b8228 08 Jul 2026 pre-release

    Nothing published for this version

  17. v1.10.4-0.20260708014326-c1eea118f4e8 08 Jul 2026 pre-release

    Nothing published for this version

  18. v1.10.4-0.20260701211214-02471b412112 01 Jul 2026 pre-release

    Nothing published for this version

  19. v1.10.4-0.20260629174713-58ab7250f54f 29 Jun 2026 pre-release

    Nothing published for this version

  20. v1.10.4-0.20260623182128-184cdc858643 23 Jun 2026 pre-release

    Nothing published for this version

  21. v1.10.4-0.20260618160719-81afed439e4e 18 Jun 2026 pre-release

    Nothing published for this version

  22. v1.10.4-0.20260616205114-7d3166a19df7 16 Jun 2026 pre-release

    Nothing published for this version

  23. v1.10.4-0.20260613015258-8fb18c4ac280 13 Jun 2026 pre-release

    Nothing published for this version

  24. v1.10.4-0.20260610160323-2e9117da5bc0 10 Jun 2026 pre-release

    Nothing published for this version

  25. v1.10.4-0.20260603142527-b041f306cb2e 03 Jun 2026 pre-release

    Nothing published for this version

  26. v1.10.4-0.20260522151953-3a95495c6355 22 May 2026 pre-release

    Nothing published for this version

  27. v1.10.4-0.20260522135237-c610b712afc5 22 May 2026 pre-release

    Nothing published for this version

  28. v1.10.4-0.20260508194319-398d67e2da34 08 May 2026 pre-release

    Nothing published for this version

  29. v1.10.4-0.20260507200252-0f23fe048d0c 07 May 2026 pre-release

    Nothing published for this version

  30. v1.10.4-0.20260507181841-f9fcb74365b1 07 May 2026 pre-release

    Nothing published for this version

  31. v1.10.4-0.20260507181533-1dd3eae8eb5b 07 May 2026 pre-release

    Nothing published for this version

  32. v1.10.4-0.20260507163026-c82db210ef7a 07 May 2026 pre-release

    Nothing published for this version

  33. v1.10.4-0.20260507153126-c774fd92dafd 07 May 2026 pre-release

    Nothing published for this version

  34. v1.10.4-0.20260506162327-4fb5cdb4faaa 06 May 2026 pre-release

    Nothing published for this version

  35. v1.10.4-0.20260504151258-b7e9939e921a 04 May 2026 pre-release

    Nothing published for this version

  36. v1.10.4-0.20260501182138-33c2d7277c3a 01 May 2026 pre-release

    Nothing published for this version

  37. v1.10.4-0.20260427172524-1ab1f71dba7b 27 Apr 2026 pre-release

    Nothing published for this version

  38. v1.10.4-0.20260427144147-d0f02ba87343 27 Apr 2026 pre-release

    Nothing published for this version

  39. v1.10.4-0.20260424181242-5f890dbc3410 24 Apr 2026 pre-release

    Nothing published for this version

  40. v1.10.4-0.20260424175720-ad0b87c9f85f 24 Apr 2026 pre-release

    Nothing published for this version

  41. v1.10.4-0.20260421203332-e753e6e93c21 21 Apr 2026 pre-release

    Nothing published for this version

  42. v1.10.4-0.20260420210826-e80b9830a3a7 20 Apr 2026 pre-release

    Nothing published for this version

  43. v1.10.4-0.20260403133718-f8587956babc 03 Apr 2026 pre-release

    Nothing published for this version

  44. v1.10.4-0.20260325165937-91d1f4675ad0 25 Mar 2026 pre-release

    Nothing published for this version

  45. v1.10.4-0.20260323151540-9f1aef53fae9 23 Mar 2026 pre-release

    Nothing published for this version

  46. v1.10.4-0.20260316210740-1aa1a0476f6b 16 Mar 2026 pre-release

    Nothing published for this version

  47. v1.10.4-0.20260219051937-51308b845b6f 19 Feb 2026 pre-release

    Nothing published for this version

  48. v1.10.4-0.20260213185519-e8bb874e14e2 13 Feb 2026 pre-release

    Nothing published for this version

  49. v1.10.3 06 Feb 2026
    Release notes

    Security

    • Fix an issue where blocklist bypass is possible when using curve P256 since the signature can have 2 valid representations.
      Both fingerprint representations will be tested against the blocklist.
      Any newly issued P256 based certificates will have their signature clamped to the low-s form.
      Nebula will assert the low-s signature form when validating certificates in a future version. GHSA-69x3-g4r3-p962

    Changed

    • Improve error reporting if nebula fails to start due to a tun device naming issue. (#1588)
    Open source →
    Release notes

    Security

    • Fix an issue where blocklist bypass is possible when using curve P256 since the signature can have 2 valid representations. Both fingerprint representations will be tested against the blocklist. Any newly issued P256 based certificates will have their signature clamped to the low-s form. Nebula will assert the low-s signature form when validating certificates in a future version. GHSA-69x3-g4r3-p962

    Changed

    • Improve error reporting if nebula fails to start due to a tun device naming issue. (#1588)
    Open source →
  50. v1.10.3-0.20260128160336-42bee7cf179f 28 Jan 2026 pre-release

    Nothing published for this version

  51. v1.10.3-0.20260127190349-78885007d4a6 27 Jan 2026 pre-release

    Nothing published for this version

  52. v1.10.3-0.20260127184135-e4f8166f1a76 27 Jan 2026 pre-release

    Nothing published for this version

  53. v1.10.2 21 Jan 2026
    Release notes

    Fixed

    • Fix panic when using use_system_route_table that was introduced in v1.10.1. (#1580)

    Changed

    • Fix some typos in comments. (#1582)
    • Dependency updates. (#1581)
    Open source →
    Release notes

    Fixed

    • Fix panic when using use_system_route_table that was introduced in v1.10.1. (#1580)

    Changed

    • Fix some typos in comments. (#1582)
    • Dependency updates. (#1581)
    Open source →
  54. v1.10.2-0.20260120161520-e1e92f017ce2 20 Jan 2026 pre-release

    Nothing published for this version

  55. v1.10.1 16 Jan 2026
    Release notes

    See the v1.10.1 milestone for a complete list of changes.

    Fixed

    • Fix a bug where an unsafe route derived from the system route table could be lost on a config reload. (#1573)
    • Fix the PEM banner for ECDSA P256 public keys. (#1552)
    • Fix a regression on Windows from 1.9.x where nebula could fall back to a less performant UDP listener if
      non-critical ioctls failed. (#1568)
    • Fix a bug in handshake processing when a peer sends an unexpected public key. (#1566)

    Added

    • Add a config option to control accepting recv_error packets which defaults to always. (#1569)

    Changed

    Open source →
    Release notes

    See the v1.10.1 milestone for a complete list of changes.

    Fixed

    • Fix a bug where an unsafe route derived from the system route table could be lost on a config reload. (#1573)
    • Fix the PEM banner for ECDSA P256 public keys. (#1552)
    • Fix a regression on Windows from 1.9.x where nebula could fall back to a less performant UDP listener if non-critical ioctls failed. (#1568)
    • Fix a bug in handshake processing when a peer sends an unexpected public key. (#1566)

    Added

    • Add a config option to control accepting recv_error packets which defaults to always. (#1569)

    Changed

    • Various dependency updates. (#1541, #1549, #1550, #1557, #1558, #1560, #1561, #1570, #1571)
    Open source →
  56. v1.10.1-0.20260113060244-88379b89f5c6 13 Jan 2026 pre-release

    Nothing published for this version

  57. v1.10.1-0.20260109163509-69259e6307b0 09 Jan 2026 pre-release

    Nothing published for this version

  58. v1.10.1-0.20251210163936-3ec527e42cec 10 Dec 2025 pre-release

    Nothing published for this version

  59. v1.10.0 04 Dec 2025
    Release notes

    See the v1.10.0 milestone for a complete list of changes.

    NOTE: If you use unsafe_routes, please read the note in the Changed section about default_local_cidr_any. You may need to update your firewall rules in order to maintain connectivity.

    Added

    Changed

    • NOTE: default_local_cidr_any now defaults to false, meaning that any firewall rule
      intended to target an unsafe_routes entry must explicitly declare it via the
      local_cidr field. This is almost always the intended behavior. This flag is
      deprecated and will be removed in a future release. (#1373)
    • Improve logging when a relay is in use on an inbound packet. (#1533)
    • Avoid fatal errors if rountines is > 1 on systems that don't support more than 1 routine. (#1531)
    • Log a warning if a firewall rule contains an any that negates a more restrictive filter. (#1513)
    • Accept encrypted CA passphrase from an environment variable. (#1421)
    • Allow handshaking with any trusted remote. (#1509)
    • Log only the count of blocklisted certificate fingerprints instead of the entire list. (#1525)
    • Don't fatal when the ssh server is unable to be configured successfully. (#1520)
    • Update to build against go v1.25. (#1483)
    • Allow projects using nebula as a library with userspace networking to configure the logger and build version. (#1239)
    • Upgrade to yaml.v3. (#1148, #1371, #1438, #1478)

    Fixed

    • Fix a potential bug with udp ipv4 only on darwin. (#1532)
    • Improve lost packet statistics. (#1441, #1537)
    • Honor remote_allow_list in hole punch response. (#1186)
    • Fix a panic when tun.use_system_route_table is true and a route lacks a destination. (#1437)
    • Fix an issue when tun.use_system_route_table: true could result in heavy CPU utilization when many thousands of routes
      are present. (#1326)
    • Fix tests for 32 bit machines. (#1394)
    • Fix a possible 32bit integer underflow in config handling. (#1353)
    • Fix moving a udp address from one vpn address to another in the static_host_map
      which could cause rapid re-handshaking with an incorrect remote. (#1259)
    • Improve smoke tests in environments where the docker network is not the default. (#1347)
    Open source →
    Release notes

    See the v1.10.0 milestone for a complete list of changes.

    Added

    • Support for ipv6 and multiple ipv4/6 addresses in the overlay. A new v2 ASN.1 based certificate format. Certificates now have a unified interface for external implementations. (#1212, #1216, #1345, #1359, #1381, #1419, #1464, #1466, #1451, #1476, #1467, #1481, #1399, #1488, #1492, #1495, #1468, #1521, #1535, #1538)
    • Add the ability to mark packets on linux to better target nebula packets in iptables/nftables. (#1331)
    • Add ECMP support for unsafe_routes. (#1332)
    • PKCS11 support for P256 keys when built with pkcs11 tag (#1153, #1482)

    Changed

    • NOTE: default_local_cidr_any now defaults to false, meaning that any firewall rule intended to target an unsafe_routes entry must explicitly declare it via the local_cidr field. This is almost always the intended behavior. This flag is deprecated and will be removed in a future release. (#1373)
    • Improve logging when a relay is in use on an inbound packet. (#1533)
    • Avoid fatal errors if rountines is > 1 on systems that don't support more than 1 routine. (#1531)
    • Log a warning if a firewall rule contains an any that negates a more restrictive filter. (#1513)
    • Accept encrypted CA passphrase from an environment variable. (#1421)
    • Allow handshaking with any trusted remote. (#1509)
    • Log only the count of blocklisted certificate fingerprints instead of the entire list. (#1525)
    • Don't fatal when the ssh server is unable to be configured successfully. (#1520)
    • Update to build against go v1.25. (#1483)
    • Allow projects using nebula as a library with userspace networking to configure the logger and build version. (#1239)
    • Upgrade to yaml.v3. (#1148, #1371, #1438, #1478)

    Fixed

    • Fix a potential bug with udp ipv4 only on darwin. (#1532)
    • Improve lost packet statistics. (#1441, #1537)
    • Honor remote_allow_list in hole punch response. (#1186)
    • Fix a panic when tun.use_system_route_table is true and a route lacks a destination. (#1437)
    • Fix an issue when tun.use_system_route_table: true could result in heavy CPU utilization when many thousands of routes are present. (#1326)
    • Fix tests for 32 bit machines. (#1394)
    • Fix a possible 32bit integer underflow in config handling. (#1353)
    • Fix moving a udp address from one vpn address to another in the static_host_map which could cause rapid re-handshaking with an incorrect remote. (#1259)
    • Improve smoke tests in environments where the docker network is not the default. (#1347)
    Open source →
  60. v1.9.8-0.20251028195351-d6c5c00ef75f 28 Oct 2025 pre-release

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive