All Versions
77
Latest Version
Avg Release Cycle
91 days
Latest Release
2119 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v0.18.0 Changes
- Provide an API to find out if the connected peer has a whitelisted IP as mentioned in config file.
- ๐ This will currently not work properly on Windows due to (mio-bug)[https://github.com/carllerche/mio/issues/397].
-
v0.17.0 Changes
- ๐ Use
rust_sodium
instead ofsodiumoxide
crate. - Use latest
config_file_handler
(0.4.0) to derive the file paths for config and bootstrap cache on various platforms. - โ
Use latest
maidsafe_utilities
(0.9.0).
- ๐ Use
-
v0.16.2 Changes
- Shuffle the bootstrap list, otherwise there is a higher probability of connecting to the ones at the beginning of the list even with parallel bootstrap.
- โก๏ธ Update dependencies to their latest.
-
v0.16.1 Changes
- ๐ Fix sodiumoxide to v0.0.10 as the new released v0.0.12 does not support rustc-serializable types anymore and breaks builds
-
v0.16.0 Changes
- Do not drop messages with Priority value below 2
- โ Pull in socket_addr and get_if_addrs crate
- ๐จ Refactor to have hole punch and direct connects take the same code route - update NAT Traversal logic
- ๐จ Refactor timeout type so that we dont need the indirect mapping of token <-> context and context <-> state
- ๐ Bug fixes
- Alphabetize imports and use rustfmt.toml which is committed
- โ Add temporary function for routing to determine if there are other instances of Crust running on LAN and take actions based on it
-
v0.15.0 Changes
- โ Integrate with mio
- This currently uses a temporary mio fork (
tmp_mio
) with windows bug fix. - Redesign with State Pattern.
- This currently uses a temporary mio fork (
- Bring number of persistent threads in crust to 1.
- Previously we would have multiple threads per connection leading to huge number of context switches which was inefficient. It was not uncommon to see more than 200 threads for a little over 60 connections (Routing Table size > 60).
- Now in many of our tests where cpu would constantly hover around 100%, we have cpu now calm at around 1-5% and peaks to 30% temporarily only during peak stress (Lot of churn and data exchange).
- ๐ Make all system calls async.
- Switch from application level concurrency primitives to operating system level concurrency.
- Now with event based mechanism, when kernel is not ready for some state we steal that opportunity to have it service some other state it is ready for which keeps the event pipeline hot and optimal.
- Attempt bootstrapping in parallel.
- This increases the speed of bootstrap process. Previously the sequential bootstrap meant we went to next potential peer only if the currently attempted one failed.
- โ Remove some of the 1st party dependant crates and move it in as modules.
- ๐ Cleaned out crust config file removing deprecated options.
- โ Integrate stun service into connection listeners instead of having them as separate peers.
- โก๏ธ Crust API updates to rename OurConnectionInfo, TheirConnectionInfo to PrivConnectionInfo and PubConnectionInfo.
- ๐ Support bootstrap blacklist.
- โ Integrate with mio
-
v0.14.0 Changes
- Depend on maidsafe_utilities 0.6.0.
- ๐ Fix endianness issue.
-
v0.13.2 Changes
- ๐ Tweak the algorithm for dropping messages when the bandwitdh is insufficient.
-
v0.13.1 Changes
- Ensure dropped duplicate connections dont have messages in transit
-
v0.13.0 Changes
- โ Add message priority to send high-priority messages first and if bandwidth is insufficient, drop the low-priority ones.
- โ Add the
network_name
option to prevent unwanted connections and facilitate starting separate test networks. - Avoid duplicate connections to the same peer.