Skip to content

v0.22.0 - Clean up on aisle five

Compare
Choose a tag to compare
@github-actions github-actions released this 05 Aug 20:58

⚠️ Breaking Changes

  • iroh-gossip

    • iroh_gossip::dispatcher is removed with everything that was in it. Use the new API from iroh_gossip::net::Gossip instead (see below).
    • iroh_gossip::net::Gossip methods changed:
      • changed: join now returns a GossipTopic
      • removed: broadcastbroadcast_neighborssubscribesubscribe_allquit.
        • for subscribe use join instead, which returns a GossipTopic
        • for broadcast and broadcast_neighbors use the respective methods on GossipTopic .
        • quit is obsolete now, the topic will be quitted once all GossipTopic handles are dropped.
        • subscribe_all is no longer available
    • iroh_gossip::net::JoinTopicFut is removed (it is now obsolete)
  • iroh-net

    • Refactored the module structure for users of the iroh-relay feature in iroh-net
      • moved
        • iroh_net::relay::iroh_relay::* to iroh_net::relay::server::*
        • iroh_net::relay::ClientConnHandler to iroh_net::relay::server::ClientConnHandler
        • iroh_net::relay::Metrics to iroh_net::relay::server::Metrics
        • iroh_net::relay::MaybeTlsStreamServer to iroh_net::relay::server::MaybeTlsStreamServer
        • iroh_net::relay::http::Client to iroh_net::relay::HttpClient
        • iroh_net::relay::http::ClientBuilder to iroh_net::relay::HttpClientBuilder
        • iroh_net::relay::http::ClientReceiver to iroh_net::relay::HttpClientReceiver
        • iroh_net::relay::http::ClientError to iroh_net::relay::HttpClientError
        • iroh_net::relay::http::TlsConfig to iroh_net::relay::server::TlsConfig
      • removed iroh_net::relay::http::ServerHandle. The server can now be aborted via its task_handle() function or by dropping it.
      • renamed iroh_net::relay::RelayClient to iroh_net::relay::RelayConn
      • renamed and moved iroh_net::relay::Server to iroh_net::relay::server::ServerActorTask
      • unexposed iroh_net::relay::http::{Server, ServerBuilder}. Use iroh_net::relay::server::Server instead.
    • Properly feature-gate the iroh server implementation behind #[cfg(feature = "iroh-relay")] by feature-gating the whole iroh_net::relay::server module.
  • iroh

    • Unknown fields in the configuration file will now cause an error.
    • Configuring the GC Policy in the configuration file has changed.
      • Example:
    [gc_policy]
    enabled = true
    interval = 1234

⛰️ Features

  • (iroh) Improve documentation and canonicalize docs in iroh::client (#2553) - (d937234)
  • Override to staging relays (#2551) - (ed4420b)

🐛 Bug Fixes

  • (iroh) Do not set low max streams in builder (#2593) - (215cd1d)
  • (iroh-blobs) Use async_channel instead of flume for local_pool (#2533) - (9052905)
  • (iroh-blobs) Do not hit the network when downloading blobs which are complete (#2586) - (0784403)
  • (iroh-cli) [breaking] Improve cli and configuration file (#2532) - (0fc3794)
  • (iroh-gossip) Connection loop misuses tokio::select! leading to read errors (#2572) - (32bb0f3)
  • (iroh-net) Fix a compiler error with newer derive_more versions (#2578) - (3f3fec5)
  • (iroh-net) Make a single direct address in NodeAddr instant (#2580) - (f5b3918)
  • Docker image builds (#2530) - (5c60a52)
  • Disable docs preview on forks (#2558) - (741b42f)
  • Force CI to use staging relays (#2560) - (ffeb1a9)
  • Pin derive_more to avoid sudden breakages (#2584) - (1ba033c)

🚜 Refactor

  • (iroh) Remove flume from iroh gossip (#2542) - (2964569)
  • (iroh) Remove flume from iroh-cli and iroh (#2543) - (347d45c)
  • (iroh-docs) Replace flume with async_channel in docs (#2540) - (e7a7552)
  • (iroh-net) Replace flume in iroh-net with async_channel (#2539) - (22314a1)
  • (iroh-net) Move more server code behind iroh-relay feature flag (#2566) - (1dda2f7)
  • (iroh-net) [breaking] Improve server modules structure & rename structs (#2568) - (29d2e82)
  • (iroh-net) Switch to (now stable) IpAddr::to_canonical (#2569) - (7fdd6cb)

📚 Documentation

  • (iroh) Add documentations and examples for the iroh::node::Client (#2582) - (55836fa)
  • (iroh-cli) Point to the configuration refernce from each iroh subcommand (#2571) - (8e4e586)
  • Fix typos discovered by codespell (#2534) - (8435a45)
  • Update description in cargo.toml - (7259ab5)

🧪 Testing

  • (iroh-blobs) Comment out ignored test (that is not a flaky test) (#2559) - (15f36b3)
  • (iroh-cli) Update to new api (#2549) - (f97c1c0)
  • (iroh-cli) Remove flaky mark from 5 tests and improve logs (#2562) - (14fccee)
  • (iroh-cli) Reduce flakyness of cli_provide_file_resume (#2563) - (f085e63)
  • (iroh-cli) Make cli resumption tests not flaky (#2564) - (9e6b1e0)
  • (iroh-net) Increase timeout for local swarm discovery test (#2574) - (605a85d)

⚙️ Miscellaneous Tasks

Ref

  • (iroh-net) Don't write the match as fully exhaustive (#2585) - (43ef8b6)