Breaking API Changes:
iroh
- The
BlobDownloadRequest
has a new fieldmode
to select between direct and queued downloads, and now contains a list of nodes in place of a single node before - Renamed:
iroh::client::blobs::ShareTicketOptions
->iroh_base::node_addr::AddrInfoOptions
- Default for
AddrInfoOptions
is nowId
, before it wasRelayandAddresses
- Added
addr_options
toiroh::client::docs::Docs.share
- Added
Id
option toAddrInfoOptions
iroh-bytes
Role
enum is removedDownloader::queue
now takes aDownloadRequest
with more options than beforeDownloadProgress
has a new variantInitialState
which is emitted when attaching to an already-running downloadConcurrencyLimits
gained a new field
iroh-net
MagicEndpoint::close
now consumes the endpoint.- Created new public struct
RelayUrlInfo
that combines therelay_url
and additional information about the state of our connection to the remote node at this relay URL NodeInfo.relay_url
(calledConnectionInfo
outside of iroh-net) is nowOption<RelayUrlInfo>
, changed fromOption<RelayUrl>
- Renamed:
MagicSock::tracked_endpoints
->MagicSock::connection_infos
- Renamed:
MagicSock::tracked_endpoint
->MagicSock::connection_info
- Renamed:
magicsock::EndpointInfo
->magicsock::ConnectionInfo
- Renamed:
iroh_net::magicsock::ConnectionType
->iroh_net::magic_endpoint::ConnectionType
- Renamed:
iroh_net::magicsock::ControlMsg
->iroh_net::magic_endpoint::ControlMsg
- Renamed:
iroh_net::magicsock::ConnectionInfo
->iroh_net::magic_endpoint::ConnectionInfo
- Renamed:
iroh_net::magicsock::ConnectionTypeStream
->iroh_net::magic_endpoint::ConnectionTypeStream
- Renamed:
iroh_net::magicsock::DirectAddrInfo
->iroh_net::magic_endpoint::DirectAddrInfo
- Renamed:
iroh_net::magicsock::LocalEndpointsStream
->iroh_net::magic_endpoint::LocalEndpointsStream
- Now private: module
magicsock
- Now private:
iroh_net::magicsock::MagicSock
no longer accessible. UseMagicEndpoint
instead. - Now private:
iroh_net::magicsock::Options
Used internally only. - Now private::
iroh_net::magicsock::PacketSplitIter
This is an implementation detail of internal use only. - Now private:
iroh_net::magicsock::Timer
This is an implementation detail of internal use only. - Now private:
iroh_net::magicsock::UdpSocket
This is an implementation detail of internal use only.
iroh-dns-server
iroh_dns_server::config::Config
struct has a new fieldmainline
.
iroh-cli
- renamed
iroh-cli
:doc share --ticket-options
->doc share --addr-options
Other
SetTagOption
was moved fromiroh
toiroh-bytes
⛰️ Features
- (iroh-bytes) Add more context to errors (#2196) - (d3fec78)
- (iroh-bytes) [breaking] Refactor downloader queue and add progress reporting (#2085) - (93290e3)
- (iroh-bytes) Add copy fallback for Export::TryReference (#2233) - (ec7de88)
- (iroh-dns-server) [breaking] Add dht fallback option (#2188) - (0b0508b)
- (iroh-net) Extend discovery NodeInfo to allow direct addrs (#2201) - (2c49ee8)
- Release automation (#2214) - (b5f8277)
- [breaking] Implement improved address sharing options (#2230) - (a26a350)
🐛 Bug Fixes
- (ci) Typo in semver rev check (#2213) - (2a6ae17)
- (ci) Minor corrections for manual release runs (#2215) - (3a74d89)
- (ci) Fix for windows release runs (#2216) - (2dfd0ae)
- (ci) Release builds (#2219) - (ba7317d)
- (deps) Update rustls (#2218) - (f508830)
- (iroh-bytes) Do not log redundant file delete error (#2199) - (1e84ae0)
- (iroh-bytes) Reduce log level from info to debug for most uncritical operations (#2202) - (6d36d00)
- (iroh-cli) Avoid using debug formatting for rpc errors (#2203) - (508a812)
- (iroh-dns-server) Fix bug in pkarr name parsing (#2200) - (2bb7bd5)
- (iroh-gossip) Do not enable "metrics" feature for iroh-net by default (#2235) - (2693ec5)
- (iroh-net) Suppress HostUnreachable network error as well (#2197) - (600393b)
- (iroh-net) Better logging for pkarr publish (#2208) - (0f624cc)
- (iroh-net) [breaking] Improve magicsock's shutdown story (#2227) - (265e284)
- (iroh-net) [breaking] Only call quinn_connect if a send addr is available (#2225) - (e913051)
- (iroh-net) Do not persist invalid node addresses (#2209) - (18b301a)
- (iroh_net) Less agressive best_addr clearing on pong timeout (#2238) - (5329927)
- (iroh_net) Track
recv_data_ipv4
&recv_data_ipv6
(#2243) - (f8ff3bc) - Better logging for iroh-dns-server (#2195) - (075737d)
- Semver check on main (#2212) - (5873a55)
🚜 Refactor
- (iroh-net) [breaking] Rename endpoint for nodes to node_state (#2222) - (26e4564)
- (iroh-net) Merge related fields regarding incoming pings (#2236) - (0f370ad)
- (iroh-net) [breaking] Remove the magicsock module from the public api (#2247) - (06e0b7b)
- (iroh-sync) Doc store batching (#2172) - (9b3165b)
- Happy clippy (#2220) - (d6ff0cf)
- Improve content downloading in docs (#2127) - (1432d61)
- [breaking] Avoid using futures crate directly (#2117) - (b91b684)
📚 Documentation
🧪 Testing
- (iroh_net) Mark test_icmpk_probe_eu_relayer as flaky on windows (#2240) - (ea8e047)
- Remove flaky label from windows-DNS affected tests (#2223) - (93bcaa5)
- Mark iroh::sync_big flaky (#2245) - (297fd1a)