Releases: yggdrasil-network/yggdrasil-android
Version 0.1 (20)
Updated core library to 0.5.12, presenting these changes:
Changed
- The parent selection algorithm now only chooses a new parent if there is a larger cost benefit to doing so, which should help to stabilise the tree
- The bloom filters are now repropagated periodically, to avoid nodes getting stuck with bad state
- Minor tweaks to the routing algorithm:
- The next-hop selection will now prefer shorter paths when the costed distance is otherwise equal, tiebreaking on peering uptime to fall back to more stable paths
- Link cost calculations have been smoothed out, making the costs less sensitive to sudden spikes in latency
- Reusable name lookup and peer connection logic across different peering types for more consistent behaviour
- Some comments in the configuration file have been revised for clarity
- Upgrade dependencies
Fixed
- A memory leak caused by missed cleanup of the peer response map has been fixed
- Other bug fixes with bloom filter propagation for off-tree filters and zero vs one bits
- TLS-based peering connections now support TLS 1.2 again
Fixes in Android app
- Made some UI improvements
- Updated some dependencies
Version 0.1 (19)
Updated core library to 0.5.9, presenting these changes:
Changed
- The routing algorithm has been updated with RTT-aware link costing, which should prefer lower latency links over higher latency links where possible
- The calculated cost is an average of the link RTT, but newly established links are costed higher to begin with, such that unstable peerings can be avoided
- Link costs are only used where multiple next-hops are available and will be ignored if there is only one loop-free path to the destination
- This is protocol-compatible with existing v0.5.x nodes but will have the best results when peering with nodes that are also running the latest version
- The getPeers endpoint will now report the calculated link cost for each given peer
- Upgrade dependencies
Fixed
- Multicast discovery should now work again when building Yggdrasil as an Android framework
- Multicast discovery will now correctly ignore interfaces that are not marked as running
- Ephemeral links, such as those added by multicast, will no longer try to reconnect in a fast loop, fixing a high CPU issue
- The TUN interface will no longer stop working when hitting a segment read error from vectorised reads
- The AllowedPublicKeys option will once again no longer apply to multicast peerings, as was originally intended
- A potential panic when shutting down peering links has been fixed
- A redundant system call for setting MTU on OpenBSD has been removed
Fixes in Android app
- Fixed #64
- Updated some dependencies
- Update Android API to 34
Version 0.1 (18)
Updated core library to 0.5.7, presenting these changes:
Added
WebSocket support for peerings, by using the new ws:// scheme in Listen and Peers
Additionally, the wss:// scheme can be used to connect to a WebSocket peer behind a HTTPS reverse proxy
Changed
On Linux (and Android), the TUN adapter now uses vectorised reads/writes where possible, which should reduce the amount of CPU time spent on syscalls and potentially improve throughput
Link error handling has been improved and various link error messages have been rewritten to be clearer
Upgrade dependencies in Go-lib.
App changes
DNS servers changed their IP addresses. The migration is in place, you don't need to do anything.
Fixed
Multiple multicast connections to the same remote machine should now work correctly
You may get two connections in some cases, one inbound and one outbound, this is known and will not cause problems
Known issues (old):
Multicast on Android 12+ may work for receiving beacons from other nodes, but not for sending. And may not work at all for Android 13 for now.
Version 0.1 (017)
- Based on current Yggdrasil v0.5.6
Known issues (old):
Multicast on Android 12+ may work for receiving beacons from other nodes, but not for sending. And may not work at all for Android 13 for now.
Version 0.1 (016)
- Based on current Yggdrasil v0.5.4
- Updated some dependencies.
Known issues (old):
Multicast on Android 12+ may work for receiving beacons from other nodes, but not for sending. And may not work at all for Android 13 for now.
Version 0.1 (015)
- Based on current Yggdrasil v0.5.2
- Updated target API to 33.
- Updated dependencies (but not all for now).
Known issues:
Multicast on Android 12+ may work for receiving beacons from other nodes, but not for sending. And may not work at all for Android 13 for now.
Version 0.1 (013)
- Based on current Yggdrasil v0.4.7 (no changes there)
- Fixed an exception that killed one of the network threads when using Speedtest.
Version 0.1 (012)
- Based on current Yggdrasil v0.4.7 (no changes there)
- Added start on boot. Many old phones don't have Always on VPN option, so they need this autostart possibility.
- Added an option to regenerate keys to reset IPv6 without losing other config options.
- Added and option to set your own (generated elsewhere) keys to have IPv6 that you like.
Version 0.1 (011)
- Based on new Yggdrasil v0.4.7
- Added Quick settings tile to enable/disable Yggdrasil without opening app
- Added compact notification with current status of Yggdrasil connection
- Made small fixes and optimizations here and there
Version 0.1 (010)
- Based on Yggdrasil 0.4.6, just some small fixes from develop branch.
- Yggdrasil reconnects after network change in just 1-2 seconds max!
- Added Russian translation.