Skip to content

Releases: threefoldtech/mycelium

v0.4.3

15 Mar 10:01
v0.4.3
3171212
Compare
Choose a tag to compare

Added

  • Feature flag for message subsystem. It is enabled by default, but a user can
    make a custom build with --default-features-false which completely leaves out
    the message related code, should he desire this and have no need for it.
  • Link local discovery now periodically checks for new IPv6 enabled interfaces
    and also joins the discovery multicast group on them.
  • Trace logs are removed from release binaries at compile time, slightly reducing
    binary size.
  • New --silent flag which disables all logging except error logs.

Changed

  • Update GitHub CI action to use latest version of the checkout action.
  • Update GitHub CI action to stop using deprecated actions-rs actions.
  • Failing to join the link local discovery multicast group now logs as warning
    instead of error.
  • Failing to join any IPv6 multicast group for link local peer discovery will no
    longer disable local peer discovery entirely.

Fixed

  • Add proper validation when receiving an OOB ICMP packet.

v0.4.2

28 Feb 10:57
v0.4.2
d54bd31
Compare
Choose a tag to compare

Fixed

  • Make sure the HTTP API doesn't shut down immediately after startup.

v0.4.1

27 Feb 22:45
v0.4.1
2bd6d11
Compare
Choose a tag to compare

Added

  • Admin API
    • Ability to see current peers and related info
    • Ability to add a new peer
    • Ability to remove an existing peer
    • List current selected routes
    • List current fallback routes
    • General node info (for now just the node subnet)

Changed

  • The tokio_unstable config flag is no longer used when building.
  • The key file is now created without read permissions for the group/world.

Removed

  • .cargo/config.toml aarch64-linux target specific entries. Cross compilation for
    these platforms can use cross or entries in the global .cargo/config.toml of
    the developer instead.
  • Sending SIGUSR1 to the process on unix based systems no longer dumps internal
    state, this can be accessed with the admin API instead.

v0.4.0

22 Feb 09:13
v0.4.0
80b1db1
Compare
Choose a tag to compare

Added

  • Support for windows tunnels. While this works, there are no windows
    packages yet, so this is still a "developer experience".
  • Validation on source IP when sending packets over TUN interface.

Changed

  • Overlay network is now hosted in 400::/7 instead of 200::/7.
  • Key file is no longer created if it does not exist when the
    inspect command is run.
  • Packets with destination outside the global subnet now return
    a proper ICMP instead of being silently dropped.

Fixed

  • Log the endpoint when a Quic connection can't be established.

v0.3.2

01 Feb 13:36
v0.3.2
9582b1b
Compare
Choose a tag to compare

Added

  • If the router notices a Peer is dead, the connection is now forcibly terminated.
  • Example Systemd file.

Changed

  • The multicast discovery group is now joined from all available
    interfaces. This should increase the resilience of local peer
    discovery.
  • Setup of the node is now done completely in the library.
  • Route selection now accounts for the link cost of peers when
    considering if it should switch to the new route.
  • Hop count of data packets is now decremented on the first
    hop as well. As a result the sending node will show up in
    traceroute results.

Fixed

  • Inbound peers now replace existing peers in the peer manager. This should fix
    an issue where Quic could leave zombie connections.

v0.3.1

23 Jan 10:20
v0.3.1
95ebcb4
Compare
Choose a tag to compare

Added

  • You can now check the version of the current binary with the --version flag.
  • Bandwidth usage is now tracked per peer.

Changed

  • Prefix decoding is now more resilient to bad prefix lengths.
  • The -k/--key-file flag is now global, allowing you to specify it for (inspect)
    sub commands.
  • Log the actual endpoint when we can't connect to it

v0.3.0

17 Jan 15:07
v0.3.0
05d8f68
Compare
Choose a tag to compare

Added

  • Nodes can now explicitly request selected route(s) from connected peers by
    sending a Route Request Tlv.
  • The router can now inform a Peer that the connection is seemingly
    dead. This should improve the reconnect speed on connection types
    which can't tell themselves if they died.

Changed

  • Locally discovered peers are now forgotten if we fail to connect to them 3
    times.
  • Duration between periodic events has been increased, this should
    reduce bandwidth when idle to maintain the system.
  • Address encoding in update packets is now in-line with address
    encoding as described by the babel RFC.

Fixed

  • TLV bodies of unknown type are now properly skipped. Previously, the
    calculation of the body size was off by one, causing the connection to
    the peer to always die. Now, these packets should be properly ignored.
  • We are a bit more active now and no longer sleep for a second when we
    need to remove an expired route entry.

v0.2.3

04 Jan 16:13
v0.2.3
18b5d71
Compare
Choose a tag to compare

Added

  • Added automatic release builds for aarch64-linux.

Changed

  • Reduce the Quic keep-alive timeout.

v0.2.2

03 Jan 15:44
v0.2.2
de0d2d7
Compare
Choose a tag to compare

Changed

  • Changed default multicast peer discovery port to 9650.

v0.2.1

03 Jan 15:19
v0.2.1
e81b68d
Compare
Choose a tag to compare

Added

  • Experimental Quic transport. The same socket is used for sending and
    receiving. This transport is experimental and breaking changes are
    possible which won't be covered by semver guarantees for now.