Skip to content

Version 0.3.9

Pre-release
Pre-release
Compare
Choose a tag to compare
@neilalexander neilalexander released this 27 Sep 08:54
· 870 commits to master since this release
6ddb0f9

Added

  • Yggdrasil will now complain more verbosely when a peer URI is incorrectly formatted
  • Soft-shutdown methods have been added, allowing a node to shut down gracefully when terminated
  • New multicast interval logic which sends multicast beacons more often when Yggdrasil is first started to increase the chance of finding nearby nodes quickly after startup

Changed

  • The switch now buffers packets more eagerly in an attempt to give the best link a chance to send, which appears to reduce packet reordering when crossing aggregate sets of peerings
  • Substantial amounts of the codebase have been refactored to use the actor model, which should substantially reduce the chance of deadlocks
  • Nonce tracking in sessions has been modified so that memory usage is reduced whilst still only allowing duplicate packets within a small window
  • Soft-reconfiguration support has been simplified using new actor functions
  • The garbage collector threshold has been adjusted for mobile builds
  • The maximum queue size is now managed exclusively by the switch rather than by the core

Fixed

  • The broken hjson-go dependency which affected builds of the previous version has now been resolved in the module manifest
  • Some minor memory leaks in the switch have been fixed, which improves memory usage on mobile builds
  • A memory leak in the add-peer loop has been fixed
  • The admin socket now reports the correct URI strings for SOCKS peers in getPeers
  • A race condition when dialling a remote node by both the node address and routed prefix simultaneously has been fixed
  • A race condition between the router and the dial code resulting in a panic has been fixed
  • A panic which could occur when the TUN/TAP interface disappears (e.g. during soft-shutdown) has been fixed
  • A bug in the semantic versioning script which accompanies Yggdrasil for builds has been fixed
  • A panic which could occur when the TUN/TAP interface reads an undersized/corrupted packet has been fixed