Releases: threefoldtech/mycelium
Releases · threefoldtech/mycelium
v0.4.3
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
Fixed
- Make sure the HTTP API doesn't shut down immediately after startup.
v0.4.1
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 usecross
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
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
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
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
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
Added
- Added automatic release builds for aarch64-linux.
Changed
- Reduce the Quic keep-alive timeout.
v0.2.2
Changed
- Changed default multicast peer discovery port to 9650.
v0.2.1
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.