Aquí hi ha 11 versions de Yggdrasil Network, des de 27 de novembre del 2023 fins a l’actual, 0.5.15. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
11 versions en 3 anys · unes 3,8 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 0.5.15Darrera versió | 24 d’octubre del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió- Go 1.26 is now required to build Yggdrasil
Changed
- Upgrade dependencies
- Admin socket reads now have a 1MB limit and a 10 second timeout
- getNodeInfo now returns the local node's information when no public key is supplied
- WebSocket connections now have response header and TLS negotiation timeouts
Fixed
- Routing algorithm fixes
- Improve cost calculations for direct peers of the root and peers with stale or incomplete ancestry
- Reject incomplete or looping ancestry during parent selection, which could result in a disjoint tree
- Clean up stale bloom filter bits, avoiding unnecessary lookup traffic during topology changes
- Correctly throttle repeated lookups
- Low-order and identity point public keys are now rejected
- QUIC listeners no longer block other incoming connections while waiting for a peer to open a stream, and close connections that do not open a stream within 5 seconds
- QUIC and secure WebSocket connections now correctly send TLS SNI and honour the ?sni= URI parameter
- SOCKS proxy connections now honour connection cancellation and timeouts
- The mobile bindings now apply the GroupPassword, NodeInfo and NodeInfoPrivacy configuration options
- yggdrasilctl now correctly returns exit code 1 on fatal errors
- Admin socket requests with null arguments are now handled as empty arguments
- Invalid listener passwords and priorities are now rejected before opening a listening socket
- Invalid private key lengths are now rejected at startup instead of causing a panic
- The -notifyfd option no longer writes to or closes standard output or standard error
- Persistent multicast read errors no longer cause excessive CPU usage or repeated warning logs |
| 0.5.14 | 19 de juny del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió- Go 1.25 is now required to build Yggdrasil
Added
- The GroupPassword option can be used to form closed overlays on top of Yggdrasil
- When set, session traffic can only be exchanged with other nodes that have the same GroupPassword set (however, services on the public testnet will be unreachable as a result)
- Peering connections are not affected by this option and traffic forwarding continues to operate as normal
- The -notifyfd command line argument can be used for S6-style process readiness notifications
- The ?origin= query URI parameter can be added to WebSocket peer URIs to configure the Origin HTTP header
Changed
- Upgrade dependencies
- The UNIX domain admin socket ownership is now updated before dropping permissions
- The packet queues are now capped at 1MB, preventing unbounded memory growth under certain traffic load patterns
Fixed
- Some panics that could be caused by malformed packets have been fixed |
| 0.5.13 | 24 de febrer del 2026 | — | 64 bits MSIARM64 MSI32 bits MSI Notes de la versió- Go 1.24 is now required to build Yggdrasil
Added
- Pledge is now used on OpenBSD to drop privileges after startup
- yggdrasilctl getPeers can now optionally sort the peers using sort=uptime or sort=cost
Changed
- The routing algorithm now tries to minimise both the cost and remaining tree distance to the destination, which should improve some cases where direct paths were ignored in favour of indirect paths
- The ?maxbackoff=X time for a peering can now be configured as low as 5 seconds (previously 30 seconds)
- Reduced memory allocations needed to parse paths or calculate ancestry
- Upgrade dependencies
- yggdrasilctl now renders table borders/separators, can be disabled with -borders=false
Fixed
- getPeers no longer incorrectly surfaces error states that haven't happened
- Yggdrasil will no longer attempt reconnections after detecting that a peering connection is to itself
- Disabling TUN with IfName: none no longer results in backpressure building up that could block lower layers
- Outbound connections to link-local addresses should now work correctly on Android
- addPeers no longer allows configuring an empty peer URI |
| 0.5.12 | 18 de desembre del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versió- Go 1.22 is now required to build Yggdrasil
Changed
- The latency_ms field in the admin socket getPeers response has been renamed to latency
Fixed
- A timing regression which causes a higher level of idle protocol traffic on each peering has been fixed
- The -user flag now correctly detects an empty user/group specification |
| 0.5.11 | 12 de desembre del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióAdded
- Support for unveil and pledge on OpenBSD
Changed
- The parent selection algorithm now only chooses a new parent if there is a larger cost benefit to doing so, which should help to stabilise the tree
- The bloom filters are now repropagated periodically, to avoid nodes getting stuck with bad state
Fixed
- A memory leak caused by missed cleanup of the peer response map has been fixed
- Other bug fixes with bloom filter propagation for off-tree filters and zero vs one bits
- TLS-based peering connections now support TLS 1.2 again |
| 0.5.10 | 24 de novembre del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióAdded
- The getPeers admin endpoint will now report the current transmit/receive rate for each given peer
- The getMulticastInterfaces admin endpoint now reports much more useful information about each interface, rather than just a list of interface names
Changed
- Minor tweaks to the routing algorithm:
- The next-hop selection will now prefer shorter paths when the costed distance is otherwise equal, tiebreaking on peering uptime to fall back to more stable paths
- Link cost calculations have been smoothed out, making the costs less sensitive to sudden spikes in latency
- Reusable name lookup and peer connection logic across different peering types for more consistent behaviour
- Some comments in the configuration file have been revised for clarity
- Upgrade dependencies
Fixed
- Nodes with IfName set to none will now correctly respond to debug RPC requests
- The admin socket will now be created reliably before dropping privileges with -user
- Clear supplementary groups when providing a group ID as well as a user ID to -user
- SOCKS and WebSocket peerings should now use the correct source interface when specified in InterfacePeers
- Peers and InterfacePeers addresses that are obviously invalid (such as unspecified or multicast addresses) will now be correctly ignored
- Listeners should now shut down correctly, which should resolve issues where multicast listeners for specific interfaces would not come back up or would log errors |
| 0.5.9 | 19 d’octubre del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióAdded
- New command line option -user for changing the process UID/GID
Changed
- The routing algorithm has been updated with RTT-aware link costing, which should prefer lower latency links over higher latency links where possible
- The calculated cost is an average of the link RTT, but newly established links are costed higher to begin with, such that unstable peerings can be avoided
- Link costs are only used where multiple next-hops are available and will be ignored if there is only one loop-free path to the destination
- This is protocol-compatible with existing v0.5.x nodes but will have the best results when peering with nodes that are also running the latest version
- The getPeers endpoint will now report the calculated link cost for each given peer
- Upgrade dependencies
Fixed
- Multicast discovery should now work again when building Yggdrasil as an Android framework
- Multicast discovery will now correctly ignore interfaces that are not marked as running
- Ephemeral links, such as those added by multicast, will no longer try to reconnect in a fast loop, fixing a high CPU issue
- The TUN interface will no longer stop working when hitting a segment read error from vectorised reads
- The AllowedPublicKeys option will once again no longer apply to multicast peerings, as was originally intended
- A potential panic when shutting down peering links has been fixed
- A redundant system call for setting MTU on OpenBSD has been removed |
| 0.5.8 | 12 d’agost del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióFixed
- A bug which caused startup problems on Windows and FreeBSD should be fixed
- Resolved some minor link state and listener management bugs during shutdown |
| 0.5.7 | 5 d’agost del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióAdded
- WebSocket support for peerings, by using the new ws:// scheme in Listen and Peers
- Additionally, the wss:// scheme can be used to connect to a WebSocket peer behind a HTTPS reverse proxy
Changed
- On Linux, the TUN adapter now uses vectorised reads/writes where possible, which should reduce the amount of CPU time spent on syscalls and potentially improve throughput
- Link error handling has been improved and various link error messages have been rewritten to be clearer
- Upgrade dependencies
Fixed
- Multiple multicast connections to the same remote machine should now work correctly
- You may get two connections in some cases, one inbound and one outbound, this is known and will not cause problems
- Running as a Windows service should be more reliable with service startup and shutdown bugs fixed |
| 0.5.5 | 5 de febrer del 2024 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI |
| 0.5.4 | 27 de novembre del 2023 | — | 64 bits MSIARM64 MSI32 bits MSIARM MSI Notes de la versióFixed
- Fixed a crash that could happen when calculating the size of bloom filters during encoding |