Skip to content

v0.33.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 24 Feb 23:16

⚠️ Breaking Changes

  • iroh
    • removed
      • iroh::test_utils::create_dns_resolver is removed, use iroh::dns::DnsResolver::new instead
      • iroh::dns::resolver and iroh::dns::default_resolver are removed. There is no static, global DNS resolver anymore. If you want to share a DNS resolver between endpoints, create the resolver yourself with iroh::dns::DnsResolver::new and clone it into the endpoint builders (in EndpointBuilder::dns_resolver). If you want to reuse the DNS resolver from an endpoint, you can access it with Endpoint::dns_resolver and clone it to wherever you need it.
      • iroh::dns::node_info::{IrohAttr, TxtAttrs, node_id_from_hickory_name} are no longer public. Use iroh::dns::DnsResolver::lookup_node_by_id or iroh::dns::DnsResolver::lookup_node_by_domain_name to lookup node info from DNS.
      • iroh::dns::node_info::{to_z32, from_z32}are removed. Use the methods on iroh::dns::node_info::NodeIdExt trait instead.
      • iroh::dns::ResolverExt is removed. Use the methods on iroh::dns::DnsResolver instead.
      • iroh::discovery::Discovery::publish now takes data: &NodeData as its single argument. iroh::discovery::NodeData is a re-export of iroh_relay::dns::node_info::NodeData, and contains relay URL and direct addresses. See docs for NodeData for details.
      • iroh::Endpoint::connect_with was removed, use iroh::Endpoint::connect_with_opts instead
    • changed
      • iroh::dns::DnsResolver used to be a type alias and now is a reexport of iroh_relay::dns::DnsResolver struct
      • iroh::dns::node_info module is now a reexport of iroh_relay::dns::node_info
      • iroh::discovery::dns::{N0_DNS_NODE_ORIGIN_PROD, N0_DNS_NODE_ORIGIN_STAGING} are now reexports of iroh_relay::dns::{N0_DNS_NODE_ORIGIN_PROD, N0_DNS_NODE_ORIGIN_STAGING}
      • The methods in iroh::dns::DnsResolver now take an impl ToString instead of impl hickory_proto::rr::domain::IntoName for their host argument
      • iroh::discovery::DiscoveryItem no longer has any public fields. There are now getters for the contained data, and constructors for createing a DiscoveryItem from a NodeInfo.
      • iroh_relay::dns::node_info::NodeInfo is changed.
        • NodeInfo::new now has a single NodeId argument. Use NodeInfo::with_direct_addresses and NodeInfo::with_relay_url to set addresses and relay URL. Alternatively, use NodeInfo::from_parts and pass a NodeData struct.
        • NodeInfo now has two public fields node_id: NodeId and data: NodeData, and setter and getter methods for the relay URL and direct addresses.
      • iroh::discovery::pkarr::PkarrPublisher::update_addr_info now takes a NodeData argument
      • iroh::endpoint::Connection::into_0rtt now returns iroh::endpoint::ZeroRttAccepted, instead of iroh_quinn::ZeroRttAccepted

⛰️ Features

  • (iroh) Enable applications to establish 0-RTT connections (#3163) - (f0abede)
  • (iroh) Add subscription stream to watch all discovery results (#3181) - (695f7c1)
  • (iroh) Publish and resolve user-defined data in discovery (#3176) - (ac78cf2)
  • (iroh) Make iroh compile to wasm32-unknown-unknown (#3189) - (247b891)
  • (iroh-net-report) Support wasm32 building & running (#3139) - (6f923a3)
  • (iroh-relay) Make Endpoint::close faster by aborting QAD connections faster (#3182) - (f640e83)

🐛 Bug Fixes

  • (iroh) Allow gracefully closing connections (#3170) - (d9a5b8e)
  • (iroh-relay) Fix the number of active relay connections (#3194) - (397d08d)
  • (iroh-relay) Bring back unique node counts (#3197) - (892c767)
  • Update hickory resolver to 0.25.0-.alpha.5 (#3178) - (a4fcaaa)

🚜 Refactor

  • (iroh) Store quic config, instead of recreating (#3171) - (9eccb05)
  • [breaking] Use a single DNS resolver (#3167) - (c39b998)
  • [breaking] Streamline discovery and node info types (#3175) - (3e3798f)

🧪 Testing

  • (iroh-net-report) Do not ping hosts on the internet (#3172) - (d43d474)

⚙️ Miscellaneous Tasks

  • Add additional todos in the "change checklist" (#3180) - (31efead)