github n0-computer/iroh v0.16.0
v0.16.0 - a better client

latest releases: v0.28.1, v0.28.0, v0.27.0...
6 months ago

Breaking Changes

  • iroh-bytes is now iroh-blobs
  • iroh-sync is now iroh-docs

iroh-net

  • renamed:
    • magicsock::ConnectionType -> magic_endpoint::ConnectionType
    • magicsock::ControlMsg -> iroh_net::magic_endpoint::ControlMsg
    • magicsock::ConnectionInfo -> iroh_net::magic_endpoint::ConnectionInfo
    • magicsock::ConnectionTypeStream -> iroh_net::magic_endpoint::ConnectionTypeStream
    • magicsock::DirectAddrInfo -> iroh_net::magic_endpoint::DirectAddrInfo
    • magicsock::LocalEndpointsStream -> iroh_net::magic_endpoint::LocalEndpointsStream
  • made private:
    • net::interfaces
    • magicsock
  • MagicEndpoint::accept now returns magic_endpoint::Accept rather than Quinn's Accept type.
  • magic_endpoint::Connecting replaces quinn::Connecting. This is the type returned by .awaiting the Accept future.
  • magic_endpoint::accept_conn and magic_endpoint::get_alpn have been removed. You now accept the connection by directly awaiting the futures returned. To retrieve the ALPN use the new Connecting::alpn method.

iroh

  • renamed:
    • sync -> docs
    • bytes -> blobs
    • ProviderService -> RpcService
    • iroh::client
      • mem::Iroh -> MemIroh
      • mem::Doc -> MemDoc
      • quic::Iroh -> QuicIroh
      • quic::Doc -> QuicDoc
      • blobs::BlobReader -> blobs::Reader
      • blobs::BlobAddProgress -> blobs::AddProgress
      • blobs::BlobAddOutcome -> blobs::AddOutcome
      • blobs::BlobDownloadProgress -> blobs::DownloadProgress
      • blobs::BlobDownloadOutcome -> blobs::DownloadOutcome
      • blobs::BlobExportProgress -> blobs::ExportProgress
      • docs::DocImportFileProgress -> docs::ImportFileProgress
      • docs::DocExportFileProgress -> docs::ExportFileProgress
      • docs::DocImportFileOutcome -> docs::ImportFileOutcome
      • docs::DocExportFileOutcome -> docs::ExportFileOutcome
    • rpc_protocol::NodeStatusResponse -> client::node::NodeStatus
    • rpc_protocol::ListTagsResponse -> client::tags::TagInfo
    • rpc_protocol::BlobListResponse -> client::blobs::BlobInfo
    • rpc_protocol::BlobListIncompleteResponse -> client::blobs::IncompleteBlobInfo
    • rpc_protocol::BlobListCollectionResponse -> client::blobs::CollectionInfo
    • rpc_protocol::DownloadMode -> client::blobs::DownloadMode
  • moved:
    • DocTicket into iroh-sync
    • client::Node::stats -> client::Client::stats
    • client::Node::connections -> client::Client::connections
    • client::Node::connection_info -> client::Client::connection_info
    • client::Node::status -> client::Client::status
    • client::Node::id -> client::Client::node_id
    • client::Node::shutdown -> client::Client::shutdown
  • removed:
    • ticket module
    • dial module
  • made private:
    • sync_engine
    • client::rpc_protocol
    • client::quic::RPC_ALPN
    • client::quic::connect_raw
  • added:
    • client::node::Client::id
    • client::blobs::Client::download_with_opts
    • client::blobs::Client::download_hash_seq
    • client::Client::my_relay
    • client::Client::my_addr
  • removed
    • node::Node::ticket, use client::blobs::Client::share instead

⛰️ Features

  • (doctor) Report connection type changes in rolling fashion (#2251) - (9a050a9)
  • (iroh) [breaking] Unify node api (#2275) - (6ed6b34)
  • (iroh-base) Allow the addr info of tickets to be empty (#2254) - (5502c5a)
  • (iroh-cli) Make ticket-inspect print full node ids (#2261) - (f099dab)
  • (iroh-cli) Add doctor plot (#2206) - (4f1d8b0)
  • (iroh-net) Expose DNS resolver (#2262) - (6504727)
  • (iroh-net) [breaking] Improve initial connection latency (#2234) - (ec48b0d)
  • (iroh-net) Own the public QUIC API (#2279) - (b62e904)
  • Update from default-net to rebranded netdev (#2264) - (302fea4)

🐛 Bug Fixes

  • (iroh-net) Reconfirm best addr when receiving data on it (#2255) - (6fbf4a9)
  • (iroh-net) Do not log as error if client disconnects from relay (#2259) - (cdedc43)

🚜 Refactor

  • (iroh) [breaking] Cleanup public API (#2263) - (d41f433)
  • (iroh-net) [breaking] Make the interfaces module private (#2266) - (38bdaef)
  • Renames iroh-sync & iroh-bytes (#2271) - (26d718f)

🧪 Testing

Don't miss a new iroh release

NewReleases is sending notifications on new releases.