Skip to content

v0.15.0 - Shut me down

Compare
Choose a tag to compare
@github-actions github-actions released this 29 Apr 15:21

Breaking API Changes:

iroh

  • The BlobDownloadRequest has a new field mode 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 now Id, before it was RelayandAddresses
  • Added addr_options to iroh::client::docs::Docs.share
  • Added Id option to AddrInfoOptions

iroh-bytes

  • Role enum is removed
  • Downloader::queue now takes a DownloadRequest with more options than before
  • DownloadProgress has a new variant InitialState which is emitted when attaching to an already-running download
  • ConcurrencyLimits gained a new field

iroh-net

  • MagicEndpoint::close now consumes the endpoint.
  • Created new public struct RelayUrlInfo that combines the relay_url and additional information about the state of our connection to the remote node at this relay URL
  • NodeInfo.relay_url (called ConnectionInfo outside of iroh-net) is now Option<RelayUrlInfo>, changed from Option<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. Use MagicEndpoint 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 field mainline.

iroh-cli

  • renamed iroh-cli: doc share --ticket-options -> doc share --addr-options

Other

  • SetTagOption was moved from iroh to iroh-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)

⚙️ Miscellaneous Tasks

Deps

  • (iroh-blake3) Upgrade to version fixing more symbol collions (#2246) - (0c336c4)