github n0-computer/iroh v0.19.0
v0.19.0 - Make it your own

5 days ago

⚠️ Breaking Changes

  • iroh
    • Builder loses the E type parameter
    • ProtocolBuilder loses the E type parameter
    • rpc_endpoint takes a boxed::ServerEndpoint
    • renamed
      • client::Iroh::connect -> client::Iroh::connect_path
    • added
      • client::Iroh::connect_addr
      • rpc_port field to client::NodeStatus
  • iroh-net
    • The configuration file format for the relay server has changed, deployments will need to updated. For the full format see struct Config in iroh-net/src/bin/iroh-relay.rs. Here a summary:
      • The 3 parts of the server now have an independent enable setting: enable_relayenable_stun and enable_metrics. If omitted they default to true.
      • The way to specify which addresses the server listens on has changed: http_bind_addr is for the relay server, stun_bind_addr for the STUN server, metrics_bind_addr is for the optional metrics server and tls.https_bind_addr is for when TLS is enabled. Note these are now all full socket addresses. All have sensible defaults if omitted.
      • There are new options in tls.cert_path and tls.key_path which allow more control over where the manual TLS keys are to be read from.
    • removed
      • iroh_net::config is removed.
      • iroh_net::config::NetInfo -> removed
      • iroh_net::config::LinkInfo -> removed
      • Endpoing::my_addr_with_endpoints has been removed.
    • renamed
      • Endpoint::local_endpoints -> Endpoint::direct_addresses
      • endpoint::LocalEndpointStream -> endpoint::DirectAddrStream
      • config::Endpoint -> magicsock::DirectAddr
      • config::EndpointType -> magicsock::DirectAddrType
      • Endpoint::local_addr -> Endpoint::bound_sockets
      • Endpoint::my_addr -> Endpoint::node_addr
      • Endpoint::my_relay -> Endpoint::home_relay
      • defaults::DEFAULT_RELAY_STUN_PORT → defaults::DEFAULT_STUN_PORT
    • changed
      • endpoint::Connecting::alpn returns Vec<u8> instead of String
  • iroh-gossip
    • net::Gossip::update_endpoints -> net::Gossip::update_direct_addresses

⛰️ Features

  • (iroh) Allow to disable docs engine completely (#2390) - (0e6d441)
  • (iroh) Allow setting the logging directory via config file (#2391) - (600ba8c)
  • (iroh) [breaking] Expand ability to connect to RPC (#2398) - (d30ed19)

🐛 Bug Fixes

  • (iroh) Do not double-close docs on drop (#2383) - (55a0c0b)
  • (iroh) Use two stage accept from quic-rpc (#2416) - (83b01ad)
  • (iroh-net) [breaking] ALPNs can be bytes, not just strings (#2377) - (f57c34f)
  • (iroh-net) Prevent adding addressing info that points back to us (#2333) - (b2e8557)
  • (iroh-net) poll_send should drop transmits that we dont have a dest for (#2393) - (aba70ea)
  • Properly wait for docs engine shutdown (#2389) - (eb74cf6)
  • Do not panic on blobs db IO error (#2400) - (38e8ce0)

🚜 Refactor

  • (iroh) [breaking] Use ref-cast instead of fields to get the subsystem clients (#2374) - (be3e16e)
  • (iroh) Allow to register custom protocols (#2358) - (13ded84)
  • (iroh) Move code from builder to node and make things nicer (#2386) - (08f1fe0)
  • (iroh) Use boxed client to get rid of the C type parameter (#2353) - (abc7f5e)
  • (iroh) [breaking] Eliminate the type parameter for the rpc service type (#2405) - (52c96ba)
  • (iroh-net) [breaking] Rename Endpoint::my_relay to home_relay (#2361) - (100d27d)
  • (iroh-net) [breaking] Rename Endpoint::my_addr to Endpoint::node_addr (#2362) - (61d5109)
  • (iroh-net) [breaking] Do not use &NodeId in APIs as this is Copy (#2363) - (e9075f3)
  • (iroh-net) [breaking] Rename Endpoint::local_addr to bound_sockets (#2366) - (a5e5939)
  • (iroh-net) [breaking] Rename Endpoint::local_endpoints to direct_addresses (#2369) - (2ac3d01)
  • (iroh-net) Improve magicsock module visibility (#2371) - (3b0bb51)
  • (iroh-net) [breaking] Rework relay-server binary, more configurable, reverse-proxy support (#2341) - (4ff1ec4)
  • (iroh_net) [breaking] Remove Endpoint::my_addr_with_endpoints (#2359) - (3a2faea)

📚 Documentation

🧪 Testing

⚙️ Miscellaneous Tasks

Deps

Don't miss a new iroh release

NewReleases is sending notifications on new releases.