Skip to content

0.8.0

Latest

Choose a tag to compare

@github-actions github-actions released this 13 Nov 12:36

Trackers now see every network your machine has, and the download speed readout finally follows the bytes that actually arrive.

Added

  • Announces to HTTP and UDP trackers now go out from every eligible local address (a second network card, tethering, IPv4 and IPv6 on different interfaces), not just the primary one, so trackers hand out peers for each of them.
  • The DHT only keeps a node once it has answered us, which keeps the routing table free of nodes that cannot be reached.

Improved

  • Seeding torrents now look for peers gently and skip peers that are already seeds, which cuts CPU use and the number of short-lived connections.

Fixed

  • The download speed jumped around or showed 0 while data was arriving; it now follows the bytes actually received.
  • Every downloading torrent was treated as slow, so peer discovery ramped up and peers were dropped even at full speed. Slow is now judged by the real speed.
  • A torrent file that had become shorter than expected could crash the piece reader and every upload in flight with it. The request is now skipped cleanly.
  • Incoming uTP connections from peers that never finished the handshake stayed open forever. They are now closed after 30 seconds.
  • VPN and Tailscale tunnels were used as extra announce sources and every announce through them timed out. They are no longer used.
  • Updated a vulnerable TLS dependency (EEF-CVE-2026-117666) and the HTTP libraries, which clears five security advisories.
  • Announces from two local addresses could reuse each other's tracker session and fail.
  • Peers a tracker returned at one of our own addresses were not always recognised as ourselves.

Install via Hex: {:elixir_torrent, "~> 0.8.0"} · requires Elixir ~> 1.20 · changelog · docs · full diff