⛰️ Features
- (deps) Update from trust-dns-resolver to hickory-resolver (#2033) - (af7783e)
- (iroh) Add blobs.create_collection api endpoint - (1f6153b)
- (iroh) Add more rpc methods (#1962) - (4910df1)
- (iroh) Add --log-fd flag on unix (#2011) - (8e60d1b)
- (iroh) Expose
ExportMode
in client API (#2031) - (ac667bb) - (iroh) Add Sync bound and Stream impl for BlobReader (#2063) - (09e3e52)
- (iroh) Improved node builder (#2087) - (2364329)
- (iroh) Expose GetSyncPeers (#2054) - (0b94992)
- (iroh) Improve various aspects of the api (#2094) - (c776478)
- (iroh-bytes) Bring back validation (#2107) - (50b3e47)
- (iroh-net) DNS queries: lookup ipv6 & ipv4 in parallel (#2019) - (4615915)
- (iroh-net) ICMPv6 probe support in netcheck (#2057) - (bbb55a8)
- (iroh-net) Combine discovery services and add heuristics when to start discovery (#2056) - (f4d3fab)
- (iroh-net) Use the local endpoints info when closing derps (#2082) - (8d86ffc)
- Release artifacts & windows builds (#1987) - (13a3fe6)
- Split CLI implementation into a new iroh-cli crate (#2076) - (5c70cd2)
🐛 Bug Fixes
- (ci) Cleanup and fix bugs (#1926) - (cced7f1)
- (ci) Stop reusing concurrency labels across jobs (#1937) - (02ead0a)
- (ci) Also test iroh-cli for cargo features (#2122) - (a136b1d)
- (console) Prevent deadlock in
author new --switch
(#2032) - (fea92ac) - (derp) Restore
ClientInfo
mesh_key
field (#2090) - (75a8590) - (examples) Adjust and add examples (#1968) - (9f10152)
- (iroh) Add timestamp method to Entry RPC struct (#1949) - (0084b5f)
- (iroh) Do not establish connection if content already exists locally (#1969) - (f7264ff)
- (iroh) Improve and test blob share (#1979) - (5db247f)
- (iroh) Do not remove the rpc lockfile if an iroh node is already running (#2013) - (a5c0db3)
- (iroh) Properly shut down the store on control-c (#2100) - (7cc9efa)
- (iroh-bytes) Print hashes as hex in validation (#2118) - (9d40459)
- (iroh-net) Improve connectivity (#1983) - (4b58de5)
- (iroh-net) Improve direct connectivity establishment speed and reliablity (#1984) - (b173520)
- (iroh-net) Correctly report sent transmits in poll_send (#2025) - (b0afd40)
- (iroh-net) Race ipv4 and ipv6 dns resolution (#2026) - (19553ed)
- (iroh-net) Ensure netcheck finishes once it has results (#2027) - (c62950e)
- (iroh-net) Fix in detecting globally routable IPv6 addresses (#2030) - (c3aa17e)
- (iroh-net) Handle unreachable IPv6 networks better (#2029) - (436121f)
- (iroh-net) Fix some flaky magicsock tests (#2034) - (df57623)
- (iroh-net) Trigger netcheck on a magicsock rebind (#2042) - (890d019)
- (iroh-net) Work around broken windows DNS configuration (#2075) - (3747a09)
- (iroh-net) Improve backpressure handling (#2105) - (b98ed9d)
- (iroh-sync) Dl policies exists only if doc exists (#1921) - (de7f603)
- (iroh-sync) Sync peers exists only if doc exists (#1920) - (2835f62)
- Allow some dead code for the nightly compiler (#1934) - (ca20102)
- Build successfully from
cargo vendor
tarball (#1932) - (2337cb2) - Ci windows releases - (ed23c43)
- Ci release builds (#1988) - (4abb782)
- Update deps to avoid cargo-deny warning (#2059) - (bc1af2e)
- Properly shutdown sync actor (#2067) - (e96a0c1)
- Remove dead code detected by the rust beta compiler (#2121) - (2c59d7d)
- Do not allow connecting to ourself (#2123) - (a2af124)
- Comment about grease_quic_bit (#2124) - (8407907)
🚜 Refactor
- (iroh) Move rpc handling into its own module (#2078) - (e7690b9)
- (iroh-bytes) Take advantage of impl T in trait, update bao-tree and iroh-io (#2018) - (a942973)
- (iroh-bytes) Simplify store traits (#2023) - (27a8ef1)
- (iroh-bytes) Async bao store (#2043) - (5398479)
- (iroh-bytes) Rewrite the blob store to use redb (#2051) - (980b53d)
- (iroh-bytes) Further reduce surface area (#2102) - (953a768)
- (iroh-bytes) Make module name and feature flags consistent with docs db (#2110) - (918fca6)
- (iroh-bytes) Get rid of meta dir (#2111) - (cbc5906)
- (iroh-net) Log best addr on debug if not changed (#1958) - (db41c5e)
- (iroh-net) A bunch of logging improvements (#1982) - (9dd77fa)
- (iroh-net) Introduce a minimal DerpUrl (#1993) - (7844577)
- (iroh-net) Remove manual struct logging (#2009) - (315032a)
- (iroh-net) Rename CallMeMaybe field (#2012) - (c0637d0)
- (iroh-net) Delete some unused testing infrastructure (#2028) - (e7af74d)
- (iroh-net) Improve API to retrieve local endpoints (#2041) - (540fd88)
- (iroh-net) Avoid using .unwrap() calls (#2046) - (827aa8d)
- (iroh-net) Remove unneeded async interactions with the magicsock actor (#2058) - (a42c1b2)
- (iroh-net) Clean up peer_map, node_map and endpoint names (#2060) - (6578d2c)
- (iroh-net) Bump netcheck DNS timeout to 3s (#2077) - (24b38c8)
- (iroh-net) Remove rebinding (#2083) - (484e5e8)
- (iroh-net) Generalize
derp
naming torelay
to prepare for future refactors (#2091) - (07c29f0) - (iroh-net) Allow to set a custom DNS resolver on the magic endpoint (#2116) - (8dcb196)
- (iroh-sync) Rip out the mem implementation of the doc store (#2112) - (cdfde7d)
- (redb-store) Optimization for small file import in redb store (#2062) - (8dd2c8c)
- Use common helper function (#1933) - (63eecd9)
- Move
Dialer
from iroh-gossip to iroh-net (#1998) - (90a5160) - Cleanup ProgressSliceWriter (#2000) - (7edd7ab)
- Move
downloader
fromiroh
toiroh-bytes
(#1999) - (aeee718) - Download and export structure and progress events (#2003) - (1838c17)
- Fallible store traits (#2005) - (1ad6510)
- Move
iroh_net
base types toiroh_base
(#2053) - (8bdb0a0) - Remove derp meshing (#2079) - (29065fd)
- Make export a seperate operation from download (#2113) - (488be5b)
📚 Documentation
- (derper) Display the correct port number in the derper
--dev
help message (#2048) - (e1c9fda) - (iroh-gossip) Fix typo in proto.rs (#1927) - (7965836)
🧪 Testing
- (iroh) Sort output in test for download policies (#1918) - (c65b7de)
- (iroh-net) Make derp connect loop test more reliable (#2064) - (9e7605d)
- (iroh-net) Re-enable icmp probe test (#2065) - (2eb06d0)
- (iroh-net) Disable test_icmp_probe_eu_derper as flaky on windows (#2068) - (3a33c24)
- (iroh-net) Ignore save_load_peers test as flaky on windows (#2070) - (a542f76)
- (iroh-net) Mark some DNS tests as flaky as well (#2073) - (aeb0067)
- (iroh-net) Bring back another disabled test (#2081) - (d0b6dde)
- Mark a bunch of flaky tests (#1936) - (6aa77ae)
⚙️ Miscellaneous Tasks
- (ci) Set up a separate workflow for flaky tests (#1922) - (940b78d)
- (ci) Add name to tests step (#1938) - (51cf6ed)
- (ci) Run non-flaky tests again (#1948) - (41f056b)
- (ci) Do not test nightly rust on every PR (#1940) - (eab55bf)
- (ci) Run tests from the PR branch, not main (#1971) - (f22cbf5)
- (ci) Update outdated actions (#1997) - (c69ef60)
- (ci) Notify our discord channel for flaky failures (#2036) - (869ab7d)
- (ci) Warn in our discord channel on failure (#2044) - (6f1e13f)
- (iroh) Update quic-rpc (#2072) - (bab35c5)
- (iroh-bytes) Increase redb version (#2095) - (7bb4bfc)
- (iroh-bytes) Update bao-tree dependency (#2119) - (bed14d4)
- (iroh-bytes) Increase iroh-bytes ALPN (#2125) - (bd57656)
- (netsim) Disable netsim prometheus reports (#1923) - (b49314e)
- Update dependencies in Cargo.lock (#1960) - (d5502b1)
- Fix typos (#1964) - (c2359e8)
- Add conventional-commit-checker (#2020) - (983edcc)
- Update Cargo.lock (#2106) - (77df843)
Deps
- (iroh) Update quic-rpc (#2016) - (c04307e)
- Upgrade away from yanked bumpalo version (#2035) - (b90508a)