Skip to content

Releases: threefoldtech/mycelium

v0.7.9

22 May 19:42
v0.7.9
e62dfa3

Choose a tag to compare

Fixed

  • When the mycelium library is used, the TUN device is now properly
    cleaned up after the node is stopped

v0.7.8

19 May 14:32
v0.7.8
94f1b9e

Choose a tag to compare

Added

  • Add a node ip and node start time field to the node info struct.

v0.7.7

06 May 18:20
v0.7.7
72882b7

Choose a tag to compare

Added

  • On linux, the TUN interface now supports GSU/GRO (TSO and optionally USO on
    linux 6.2+), improving throughput and lowering CPU utilization under heavy load.
  • Added the option to build mycelium as a library (both shared object and archive),
    with a stable C FFI interface.
  • mycelium shared library and archive are added to releases.

v0.7.6

21 Apr 13:45
v0.7.6
d620b47

Choose a tag to compare

Added

  • Add support for a vsock transport. This allows connecting mycelium in a VM even
    without alternative network interface(s).

Removed

v0.7.5

27 Mar 13:47
v0.7.5
3ead11a

Choose a tag to compare

Changed

  • When using quic connections, apply backpressure if the send buffer is full instead
    of dropping packets.
  • Message reply packets no longer contain the message data.

Fixed

  • The version command in the CLI now once again correctly identifies if the binary
    is the regular mycelium or the mycelium-private binary.
  • Fixed router seqno rate limiting, which essentially prevented seqno bumping from
    working. This should improve route acquisition after spurious network interrupts.
  • Route request cache now properly cleans and maintains entries to avoid sending
    duplicates to peers.
  • Make sure the configuration for Quic connections is the same for outbound and
    inbound connections.
  • Fix bound check on message ACK.
  • When forwarding messages to a unix socket avoid sending the message twice if
    a duplicate DONE packet arrives.
  • Outbound quic connections now properly report received and transmitted bytes,
    instead of the inverted values.

v0.7.4

23 Mar 14:09
v0.7.4
ffd36c3

Choose a tag to compare

Added

  • When a new peer connects, immediately announce our own subnet.

Changed

  • Reduced time before an unacknowledged message chunk gets retransmitted.
  • When a message chunk gets ACK'ed, immediately send a new chunk.

Fixed

  • On unix based systems, the created key file is no longer readable system-wide.
  • The message subsystem no longer removes peeked message if a topic filter is set.
  • Properly send back a read acknowledgement after popping/peeking a message while
    a topic filter is set.
  • When we stop probing for socks proxies, replace the cancellation token so future
    probes behave as expected.
  • Properly return an error from the API when trying to connect a proxy if we can't
    bind the local socket.

Deprecated

  • Mycelium-ui (the stand alone GUI) will be removed in the next version. It was
    never formally launched as a binary, and its inteded use has been replaced by
    myceliumflut, which embeds a full mycelium node.

Removed

  • No longer maintain a list of "no-route" entries if a subnet query times out.

v0.7.3

09 Feb 13:09
v0.7.3
0932d13

Choose a tag to compare

Fixed

  • Pin wix version used in release flows for windows msi artifact to avoid version
    incompatibilities.

v0.7.2

09 Feb 12:24
v0.7.2
b78cfa5

Choose a tag to compare

Added

  • You can now limit peer discovery to specific interfaces by specifying the
    --peer-discovery-interface <interface_name>. The flag can be specified multiple
    times to allow multiple interfaces.
  • Track packets which have been handled by src IP and dst IP (separately). The
    stats can be accessed through the API.
  • Active route requests are now sent to peers when they connect

Changed

  • No longer block the router when a subnet is being queried until the query resolves
    or times out.
  • Entries for subnets which did not resolve are now cleared after 5 seconds (down
    from 60 seconds)
  • Route requests now have 15 seconds to resolve (up from 5 seconds), to increase
    the chance of recovery after a spurious link issue

v0.7.1

05 Jan 15:42
v0.7.1
2a44afd

Choose a tag to compare

Added

  • Support Quic peers in the mobile wrapper crate.
  • Support HTTP API in the mobile wrapper crate.

v0.7.0

08 Dec 16:11
v0.7.0
d7d92ce

Choose a tag to compare

Added

  • Optional DNS resolver. When enabled this will bind UDP port 53 on the system.
    For now, this uses the system configured resolvers to resolve queries. In the
    future, this will be expanded to redirect queries for certain TLD's to alternative
    backend.

Changed

  • The Quic connection type now uses quic datagrams to transport data (packets
    coming from the TUN device) to the peer. Protocol traffic is still sent over a
    bidirectional Quic stream (which supports retransmits).

Fixed

  • Return actuall amount of bytes sent to peers instead of the amount of bytes received
    from them.
  • Improve handling of completely local packets on MacOS. This will allow the kernel
    to reply to ping packets send from the local system to the TUN interface, among
    other things.
  • Fixed a potential system lock when sending messages to a (recently) offline receiver.