Skip to content

Latest commit

 

History

History
1863 lines (1408 loc) · 223 KB

CHANGELOG.md

File metadata and controls

1863 lines (1408 loc) · 223 KB

Changelog

All notable changes to iroh will be documented in this file.

0.28.1 - 2024-11-04

🐛 Bug Fixes

  • Switch to correctly patched quic-rpc and iroh-quinn - (d925da4)

📚 Documentation

⚙️ Miscellaneous Tasks

0.28.0 - 2024-11-04

⛰️ Features

  • (iroh-dns-server) [breaking] Make http rate limit configurable (#2772) - (fe684c2)
  • (iroh-net) Add StaticDiscovery to provide static info to endpoints (#2825) - (c9d1ba7)
  • (iroh-net) More Quinn re-exports (#2838) - (9495c21)
  • (iroh-net) Send HTTP/1.1 HOST header on requests to relay (#2881) - (4bfa58e)
  • [breaking] Introduce iroh-router crate (#2832) - (8f75005)
  • Collect metrics for direct connections & add opt-in push metrics (#2805) - (86b494a)

🐛 Bug Fixes

  • (ci) Better error reporting on netsim fails (#2886) - (e1aab51)
  • (iroh-net) When switching to a direct path reset the mtu (#2835) - (93f7900)
  • (iroh-relay) Respect enable_stun setting in iroh-relay::Config (#2879) - (2507e62)
  • (metrics) Allow external crates to encode their metrics (#2885) - (362076e)
  • (portmapper) Enforce timeouts for upnp (#2877) - (00a3f88)

🚜 Refactor

  • (iroh) Move protocol relevant impls into node/protocols (#2831) - (67df1c1)
  • (iroh) Move ProtocolHandler impl to iroh-gossip (#2849) - (6c6827d)
  • (iroh) Move blobs protocol to iroh-blobs (#2853) - (30f3e03)
  • (iroh) [breaking] Remove gossip rpc types (#2834) - (a55529b)
  • (iroh-net) Portmapper and network monitor are crates (#2855) - (fad3e24)
  • Move iroh-gossip to external repo (#2826) - (e659405)
  • Move iroh-docs to external repo (#2830) - (3e17210)
  • Remove iroh-blobs and use crates.io dependency (#2829) - (d29537d)
  • [breaking] Remove iroh_base::rpc (#2840) - (bfba7a4)
  • Move ProtocolHandler docs to iroh-docs (#2859) - (61acd96)

📚 Documentation

  • (iroh-net) Link to Endpoint in the first few paragraphs (#2875) - (f0590be)

🧪 Testing

  • (iroh-net) Give this a longer timeout (#2857) - (ed13453)
  • (iroh-net) Make dht_discovery_smoke test less flaky (#2884) - (ce8d94d)
  • (netwatch) Simplify dev-deps - (029830f)

⚙️ Miscellaneous Tasks

0.27.0 - 2024-10-21

⛰️ Features

  • (iroh-net) Export the Ticket trait (#2765) - (e9f98a6)
  • (iroh-net) [breaking] Allow using a NodeId directly in connect. (#2774) - (bd5e4fa)
  • (iroh-net) Log the crate version number (#2746) - (12f74e2)
  • (iroh-net) Add helper fn to enable n0 discovery publishing and resolving (#2775) - (ed903ae)

🐛 Bug Fixes

  • (cfg) [breaking] Make sure we use correct relays (#2778) - (844b146)
  • (ci) Add cleanup workflow to retain generated-docs-preview for only the last 25 PRs (#2758) - (8420674)
  • (ci) Netsim commenting fixes (#2766) - (97be9e3)
  • (ci) Netsim does not interact with PR comments on forks (#2777) - (9902b2d)
  • (ci) Make sure logs get uploaded on netsim failure (#2807) - (1436389)
  • (deps) Update postcard to get rid of yanked critical-section (#2810) - (62e4bd4)
  • (iroh-net) Keep the relay connection alive on read errors (#2782) - (383f1f9)
  • (iroh-net) Emit the call-me-maybe.sent event in all cases (#2792) - (43f5fed)
  • (iroh-net) Use try_send rather than send so we dont block the local swarm discovery service (#2794) - (2d04306)
  • (iroh-net) [breaking] DiscoveredDirectAddrs need to update the timestamp (#2808) - (85bd8b7)

🚜 Refactor

  • (iroh-base) [breaking] No Result for creating new NodeTicket (#2771) - (f536789)
  • (iroh-net) Log the pkarr relay when publishing (#2770) - (d514859)
  • (iroh-net) Add tracing span context to spawned tasks (#2769) - (66549bf)
  • (iroh-net) Keep connection name, remove connection count (#2779) - (6b1186f)
  • (iroh-net) Optimise present nodes in ActiveRelay (#2781) - (c7ac982)
  • (iroh-net) Failing to bind is not a Warning log (#2815) - (f08011a)
  • (iroh-net) Attach Relay URL to a connecting client span (#2817) - (a0ce00e)
  • (iroh-net) No portmapper is not a warning (#2816) - (f32f3f9)
  • (iroh-net) Debug logging should not be per packet set (#2818) - (c82ada5)
  • Display the socket addr and relay for a ConnectionType::Mixed (#2793) - (c349c43)

📚 Documentation

🧪 Testing

  • (iroh) Mark test_blob_delete_mem as flaky (#2784) - (730f717)

⚙️ Miscellaneous Tasks

Deps

0.26.0 - 2024-09-30

⛰️ Features

  • (iroh) Disable docs by default (#2748) - (eb4c4a6)
  • (iroh) [breaking] Make blobs::read_at more flexible (#2756) - (33dc559)
  • (iroh) Allow setting a custom quinn::TransportConfig (#2760) - (253f4f1)
  • (iroh-cli) Improve ergonomics of iroh gossip subscribe CLI cmd (#2751) - (90fd6f0)
  • Set derive_more to 1.0.0 (no beta!) (#2736) - (2d863a9)

🐛 Bug Fixes

  • (ci) Make netsim work on forks (#2757) - (0953263)
  • (examples) Make collection-provide, hello-world-provide and rpc work again (#2749) - (25c8305)
  • (iroh-blobs) Preserve tracing subscriber in the LocalPool (#2735) - (5dd8bd3)
  • (iroh-blobs) Remove debugging logs & more cleanup (#2690) - (857e513)
  • (iroh-net) Clear the recent pong time when pong is lost (#2743) - (8fb92f3)

🚜 Refactor

📚 Documentation

  • (iroh-net) Document default relay servers a bit more (#2740) - (10025bd)
  • (iroh-net) Improve last_pong field docs (#2747) - (19c8fd3)
  • (iroh-net) Improve pkarr discovery docs (#2722) - (a0a8d56)
  • (iroh-net) Document cargo features needed for APIs (#2759) - (5d92f49)

⚙️ Miscellaneous Tasks

0.25.0 - 2024-09-16

⛰️ Features

  • (iroh-base) Implement From & Into between NodeAddr and NodeTicket (#2717) - (8a4bb09)
  • Allow to bind to a specific address (#2694) - (2e5188a)

🐛 Bug Fixes

  • (ci) Fix docker builds on release & release rebuilds (#2712) - (21d75c7)
  • (iroh) Handle out of bounds requests for blobs read_at (#2729) - (28cf153)
  • (iroh-blobs) Unconditionally delete blobs (#2692) - (567577d)
  • (iroh-net) Fix a hot-loop when the probes time out (#2699) - (874030a)
  • Put --with-relay feature in iroh-net bench behind local-relay feature flag (#2700) - (b8c0513)

🚜 Refactor

  • (iroh) Remove custom impl of SharedAbortingJoinHandle (#2715) - (098b11f)
  • (iroh-gossip) Make use of Endpoint::direct_addresses in iroh_gossip::net (#2731) - (9583729)
  • (iroh-net) [breaking] Make netcheck::Client !Clone (#2716) - (ce2cfee)
  • [breaking] Migrate to tokio's AbortOnDropHandle (#2701) - (35e9873)

📚 Documentation

  • (iroh-cli) Add docs to entrypoint (#2697) - (c6e2f05)
  • (iroh-cli) Udpate doctor command documentation (#2710) - (93b400a)
  • (iroh-cli) Update authors command documentation (#2702) - (2c199a0)
  • (iroh-cli) Update console command documentation (#2705) - (4964ee3)
  • (iroh-cli) Update net command documentation (#2707) - (8c321a2)
  • (iroh-cli) Update start command documentation (#2708) - (2636be8)
  • (iroh-cli) Update rpc command documentation (#2711) - (518d439)
  • (iroh-cli) Update gossip command documentation (#2706) - (bdaeba1)
  • (iroh-cli) Update tags command documentation (#2709) - (7510a59)
  • (iroh-cli) Update blobs command documentation (#2704) - (76b1473)
  • (iroh-cli) Update docs command documentation (#2703) - (7b6c974)
  • (iroh-cli) Fix typo (#2718) - (d2ecbdb)

⚙️ Miscellaneous Tasks

0.24.0 - 2024-09-02

⛰️ Features

  • (bench) Add --with-relay option to allow testing relay throughput (#2664) - (5c09013)
  • (bench) Add --metrics option printing iroh-net library metrics (#2668) - (4f83c43)
  • (iroh-net) [breaking] Upgrade to Quinn 0.11 and Rustls 0.23 (#2595) - (34ec5e2)

🐛 Bug Fixes

  • (iroh-blobs) Demote warn! to trace! logs (#2689) - (6181455)
  • (iroh-blobs) Turn println! into tracing::debug! (#2686) - (5bbcb60)
  • (iroh-blobs) Timeout based on correct max_write_duration option (#2688) - (2347565)
  • (iroh-net) Document the keylog environment variable correctly (#2655) - (c70caaf)
  • (iroh-net) Magic sock recv_data_ipv4 and recv_data_ipv6 metrics numbers (#2667) - (cb1650a)
  • (iroh-net) Also check the last packet in MagicSock::poll_recv (#2650) - (54ca9c9)
  • (iroh-net) Reduce noise in swarm discovery due to republish (#2685) - (fd56763)
  • Docker CI performance & release builds (#2659) - (d567231)

🚜 Refactor

  • (iroh, iroh-blobs, iroh-net) [breaking] Remove deprecated items (#2652) - (060bf83)

🧪 Testing

  • (iroh-gossip) Wait for the relay to make gossip_net_smoke faster. (#2663) - (1d3f3fa)

⚙️ Miscellaneous Tasks

  • (iroh-net) Do not add the NodeId in the magicsock span field (#2679) - (05fff6a)
  • Release - (a029d89)

Deps

  • (iroh-gossip) Do not depend directly on Quinn (#2678) - (6296964)

0.23.0 - 2024-08-20

⛰️ Features

  • (ci) Notify discord of successfull flaky runs (#2623) - (94cee34)
  • (iroh) [breaking] Blob batch PR, attempt 3 (#2545) - (9a55122)
  • (iroh-blobs) Add outboard creation progress to the mem store (#2625) - (47c8528)
  • (iroh-net) Upgrade to new swarm-discovery api (#2605) - (a9c96a9)
  • (iroh-net) Add PkarrNodeDiscovery to iroh-net (#2628) - (9facd5a)
  • (iroh-net) Allow customizing republish delay for the pkarr publisher (#2637) - (134dbee)
  • Allow custom blob providing event handling (#2583) - (bcc87a2)

🐛 Bug Fixes

  • (ci) Report flaky outupt only on success and failure (#2627) - (8b6245e)
  • (iroh-blobs) Do not skip empty partial blobs in migration (#2604) - (1c86dac)
  • (iroh-cli) cli_provide_addresses to use the correct iroh status command (#2649) - (717b3cd)
  • (iroh-gossip) Clarify docs and semantics of gossip joined event (#2597) - (5d98a5c)
  • (tests) For DNS discovery only use a local DNS server (#2598) - (5eee643)

🚜 Refactor

  • (iroh) [breaking] Convert node to net module (#2642) - (6354e04)
  • (iroh,iroh-net) [breaking] Prefer remote to connection in api (#2610) - (9d06888)
  • (iroh-blobs) Use oneshot channel from oneshot crate (#2624) - (2e01d47)
  • (iroh-blobs) [breaking] Expand docs (#2638) - (217ac06)
  • (iroh-blobs, iroh) [breaking] Deprecate flat stores (#2629) - (168fa5b)
  • (iroh-bytes) [breaking] Remove flume dependency (#2622) - (e9c5088)
  • (iroh-cli) [breaking] Metrics-addr cli arg, metrics off by default (#2631) - (4df1c91)
  • (iroh-net) [breaking] Remove async channel (#2620) - (74a527b)
  • (iroh-net) [breaking] Rename the local-swarm-discovery feature to discovery-local-network (#2634) - (d1578ee)
  • (iroh-net) Move all timeouts into one file (#2641) - (bb808b4)
  • (iroh-net,iroh) Rename to remote_info_iter, fixup some docs (#2645) - (b17bf1d)
  • Normalize feature names (#2633) - (d02c21f)

📚 Documentation

  • (iroh-cli) Fix help text for incomplete blobs (#2615) - (ceb94da)
  • Also list iroh-gossip as a re-export (#2606) - (3b7881c)

🧪 Testing

  • (iroh) Reduce entry amount in sync_gossip_bulk (#2608) - (a2d2ec6)
  • (iroh) Re-enable some flaky tests to see if they are still flaky (#2458) - (b8f2b3f)
  • (iroh-cli) Replace cli_provide_one_file_large with a faster test (#2607) - (7494566)

⚙️ Miscellaneous Tasks

Ref

  • (iroh-net) Move PathState to its own module (#2587) - (2e937a8)

0.22.0 - 2024-08-05

⛰️ 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)

0.21.0 - 2024-07-22

⛰️ Features

  • (ci) Publish docker images (#2520) - (c0fa1f4)
  • (iroh-cli) [breaking] Realign cli commands with library (#2522) - (4c11c58)
  • (iroh-net) Add holepunching events (#2495) - (8685222)
  • (iroh-net) [breaking] Remove fs based peers storage (#2510) - (0a8cb8a)
  • (iroh-net) Update netdev to 0.30 (#2528) - (214bb0c)
  • (iroh-relay) Add more context to iroh-relay errors (#2506) - (04df203)

🐛 Bug Fixes

  • (iroh-blobs) Properly handle Drop in local pool during shutdown (#2517) - (b4506b2)
  • (iroh-docs) Do not dial invalid peers (#2470) - (7579caa)
  • (iroh-metrics) Add the bind addr in errors for bind failures (#2511) - (50a8b5c)

🚜 Refactor

  • (iroh) Make use of quic-rpc-derive macros to prettify the rpc declarations (#2508) - (026baaa)
  • (iroh-net) [breaking] Move relay implemention in iroh-net behind iroh-relay cfg flag (#2516) - (f37d9f9)
  • (iroh-net) Switch to new iroh-relay route /relay instead of /derp (#2489) - (b7b493d)
  • (iroh-net) More renaming of endpoint to direct address (#2515) - (0c03f6e)
  • (iroh-net) Remove random choice of direct addr (#2509) - (c1c3539)
  • [breaking] Metrics (#2464) - (09e9746)

📚 Documentation

🧪 Testing

  • (iroh-cli) Improve bao_store_migration test logging (#2483) - (d17ffa3)

⚙️ Miscellaneous Tasks

  • (bytes) Bytes v1.6.0 was yanked so upgrade to bytes v1.6.1 (#2503) - (ecfbed3)
  • Add a flaky tests failure report to our discord notification (#2496) - (f84c06e)
  • Keep GitHub Actions up to date with GitHub's Dependabot (#2498) - (538efbf)
  • Release - (1145b34)

Deprecation

  • (iroh) [breaking] Remove deprecated type aliases (#2467) - (0102b05)

0.20.0 - 2024-07-09

⛰️ Features

  • (iroh) Add rpc request to add an AddrInfo (#2433) - (59e2719)
  • (iroh) Gossip client (#2258) - (b0d5413)
  • (iroh) Add missing gossip reexports (#2479) - (af36c2f)
  • (iroh-net) Implement websocket protocol upgrade in iroh-relay (#2387) - (17c654e)
  • (iroh-net) [breaking] Make relay protocol configurable on ClientBuilder instead of defined by the relay url scheme (#2446) - (ab2c7ea)
  • (iroh-net) [breaking] Add PkarrResolver and publish direct addresses in PkarrPublisher when relay is disabled (#2417) - (5ba6855)
  • (iroh-net) Local swarm discovery (#2376) - (3866b6f)
  • [breaking] Split relay configuration between production and staging (#2425) - (d421ece)
  • Add Asia Pacific relay url to the default relay url list in production (#2469) - (23790cb)
  • Docker images for iroh (#2404) - (debc4fb)

🐛 Bug Fixes

  • (cli) Always respect the --metrics-port disabled option (#2459) - (2c40984)
  • (iroh-bytes) Fix off-by-one error in Collection::load (#2473) - (3002deb)
  • (iroh-docs) Ensure docs db write txn gets closed regularly under all circumstances (#2474) - (235c69c)
  • (iroh-docs) [breaking] Add flush_store and use it to make sure the default author is persisted (#2471) - (b88dfa5)
  • (iroh-gossip) Gossip dispatcher: reliable events on join, allow dropping sinks or streams (#2482) - (998d29f)
  • (iroh-net) Delays of non-stun probes for subsequent relays (#2445) - (b34587f)
  • (iroh-net) Use staging URL for pkarr publish in dev mode (#2466) - (fe1d17f)
  • (iroh-net) Unexpected cfg condition values / possible fix on netbsd (#2476) - (aff8152)

🚜 Refactor

  • (iroh) Log inner errors (#2423) - (da3f84b)
  • (iroh) [breaking] Attempt make naming more consistent (#2434) - (6b4435d)
  • (iroh) Modularize protocol (#2454) - (5aa3fb6)
  • (iroh) [breaking] Remove server channel type parameter (#2461) - (f4d1e71)
  • (iroh-relay) [breaking] Remove relay_endpoint config option & rename /derp route to /relay (#2419) - (d4fe155)

📚 Documentation

  • (iroh) Expand module level documentation in iroh (#2463) - (74e8a6a)
  • (iroh-net) Update discovery and dialing docs, signatures (#2472) - (e53714c)
  • Pass Doc instead of Iroh in example (#2432) - (975124c)
  • Example requires example feature to run (#2451) - (623dcc6)
  • Reference rust doc style guide in contributing guidelines (#2452) - (32b23e6)

🧪 Testing

  • (iroh-cli) Also test for "minutes" in transfer time regex 😬 (#2475) - (9dddafc)
  • (iroh-net) Make some tests less flaky (#2457) - (bc0b397)
  • Increase timeout test_run_rpc_lock_file (#2439) - (efececb)
  • Increase timeouts for tests that are flaky on slow CI (#2450) - (cc30743)

⚙️ Miscellaneous Tasks

Deps

0.19.0 - 2024-06-27

⛰️ 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

0.18.0 - 2024-06-07

⛰️ Features

  • (iroh-gossip) Configure the max message size (#2340) - (7153a38)

🐛 Bug Fixes

  • (docs) Prevent deadlocks with streams returned from docs actor (#2346) - (98914ee)
  • (iroh-net) Fix extra delay (#2330) - (77f92ef)
  • (iroh-net) Return Poll::Read(Ok(n)) when we have no relay URL or direct addresses in poll_send (#2322) - (b2f0b0e)

🚜 Refactor

  • (iroh) [breaking] Replace public fields in iroh client with accessors and use ref-cast to eliminate them entirely (#2350) - (35ce780)
  • (iroh) [breaking] Remove tags from downloader (#2348) - (82aa93f)
  • (iroh-blobs) [breaking] Make TempTag non-Clone (#2338) - (d0662c2)
  • (iroh-blobs) [breaking] Implement some collection related things on the client side (#2349) - (b047b28)
  • Move docs engine into iroh-docs (#2343) - (3772889)

📚 Documentation

  • (iroh-net) Update toplevel module documentation (#2329) - (4dd69f4)
  • (iroh-net) Update endpoint docs (#2334) - (8d91b10)

🧪 Testing

⚙️ Miscellaneous Tasks

0.17.0 - 2024-05-24

⛰️ Features

  • (cli) Add metrics server to iroh doctor (#2292) - (d635d93)
  • (iroh) [breaking] Remove node events (#2274) - (b412927)
  • (iroh) Add node wide default author for documents (#2299) - (c8690a2)
  • (iroh-base) Wasm compatability (#2305) - (ab18eae)
  • (iroh-net) Watch relay changes (#2291) - (9d71fd8)
  • (iroh-net) [breaking] Implement http proxy support (#2298) - (6d1a6dd)
  • (iroh-net) [breaking] Improve dns behaviour by staggering requests (#2313) - (d813089)
  • Emit PendingContentReady event (#2302) - (fc73502)
  • Import and subscribe to a document in a single call (#2303) - (370075c)
  • Iroh-perf (#2186) - (98d45f3)
  • [breaking] New quic-rpc, simlified generics, bump MSRV to 1.76 (#2268) - (1e31dcf)
  • Support {Free|Net|Open}BSD (#2311) - (cd65470)

🐛 Bug Fixes

  • (iroh) Make client::docs::ImportProgress public (#2288) - (acd859b)
  • (iroh-gossip) Do not drop existing connection on incoming one (#2318) - (e41d1d9)
  • Do not bind a mainline DHT socket (#2296) - (491012c)

🚜 Refactor

  • (iroh-net) [breaking] Rename MagicEndpoint -> Endpoint (#2287) - (f4d6ca1)
  • (iroh-net) Small improvements to dns code (#2301) - (b93dd34)
  • Do not use gossip subscribe_all in iroh sync engine (#2265) - (eebf6d1)

📚 Documentation

  • (iroh-net) Minor tweaks in the public iroh_net::dns module (#2289) - (3f6b8e7)

🧪 Testing

⚙️ Miscellaneous Tasks

0.16.0 - 2024-05-13

⛰️ 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

⚙️ Miscellaneous Tasks

0.15.0 - 2024-04-29

⛰️ 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)

0.14.0 - 2024-04-15

⛰️ Features

  • (iroh) Implement basic author api (#2132) - (5e1a71f)
  • (iroh-cli) Add file logging by default for start commands (#2175) - (b80b338)
  • (iroh-cli) Simplify config loading (#2171) - (2cfa055)
  • (iroh-net) Add MagicEndpoint::conn_type_stream returns a stream that reports connection type changes for a node_id (#2161) - (7986394)
  • Mark iroh-cli's iroh binary as workspace default (#2160) - (aeb04d8)
  • Update redb to v2 (#2120) - (ceaf168)
  • Node discovery via DNS (#2045) - (72384ce)
  • Add discovery option to doctor (#2182) - (2c1eca9)

🐛 Bug Fixes

  • (iroh) Shutdown sync engine on iroh node shutdown (#2131) - (35a1cdd)
  • (iroh) Do not shut down node on internal rpc error (#2158) - (fcdc299)
  • (iroh-cli) Doctor relay-urls, correct connection logic (#2163) - (314c883)
  • (iroh-cli) Fix printing of doctor connect/accept output (#2166) - (5d4ac52)
  • (iroh-net) Avoid double connections to relays (#2148) - (aa1cf66)
  • (tests) Disable the metrics port of all cli tests (#2154) - (1d51caa)
  • Remove redundant imports (#2159) - (43038df)

🚜 Refactor

  • (iroh-bytes) Update bao-tree to 0.12 and adjust code (#2153) - (bfb7560)
  • (iroh-bytes) Use even newer bao-tree (#2168) - (fe6dcac)
  • (iroh-net) Remove incremental state from reportgen actor (#2180) - (d22c1cd)
  • (metrics) Metrics on by default (#2129) - (ff88f65)
  • Rustc beta is stricter again wrt imports and unused code (#2185) - (d6f336c)

📚 Documentation

  • (gossip) Add comment about message uniqueness (#2140) - (9fc1266)

⚡ Performance

  • (iroh-net) Simplify relay handshake (#2164) - (70db5fb)
  • (iroh-sync) Avoid allocating a full range of values during sync (#2152) - (13e83f3)

🧪 Testing

  • (iroh-net) Expose run_relay_server and option to skip cert verification to tests (#2145) - (fb4703a)

⚙️ Miscellaneous Tasks

Deps

0.13.0 - 2024-03-25

⛰️ Features

  • (deps) Update from trust-dns-resolver to hickory-resolver (#2033) - (af7783e)
  • (iroh) Add blobs.create_collection api endpoint - (1f6153b)
  • (iroh) Add more rpc methods (#1962) - (4910df1)
  • (iroh) Add --log-fd flag on unix (#2011) - (8e60d1b)
  • (iroh) Expose ExportMode in client API (#2031) - (ac667bb)
  • (iroh) Add Sync bound and Stream impl for BlobReader (#2063) - (09e3e52)
  • (iroh) Improved node builder (#2087) - (2364329)
  • (iroh) Expose GetSyncPeers (#2054) - (0b94992)
  • (iroh) Improve various aspects of the api (#2094) - (c776478)
  • (iroh-bytes) Bring back validation (#2107) - (50b3e47)
  • (iroh-net) DNS queries: lookup ipv6 & ipv4 in parallel (#2019) - (4615915)
  • (iroh-net) ICMPv6 probe support in netcheck (#2057) - (bbb55a8)
  • (iroh-net) Combine discovery services and add heuristics when to start discovery (#2056) - (f4d3fab)
  • (iroh-net) Use the local endpoints info when closing derps (#2082) - (8d86ffc)
  • Release artifacts & windows builds (#1987) - (13a3fe6)
  • Split CLI implementation into a new iroh-cli crate (#2076) - (5c70cd2)

🐛 Bug Fixes

  • (ci) Cleanup and fix bugs (#1926) - (cced7f1)
  • (ci) Stop reusing concurrency labels across jobs (#1937) - (02ead0a)
  • (ci) Also test iroh-cli for cargo features (#2122) - (a136b1d)
  • (console) Prevent deadlock in author new --switch (#2032) - (fea92ac)
  • (derp) Restore ClientInfo mesh_key field (#2090) - (75a8590)
  • (examples) Adjust and add examples (#1968) - (9f10152)
  • (iroh) Add timestamp method to Entry RPC struct (#1949) - (0084b5f)
  • (iroh) Do not establish connection if content already exists locally (#1969) - (f7264ff)
  • (iroh) Improve and test blob share (#1979) - (5db247f)
  • (iroh) Do not remove the rpc lockfile if an iroh node is already running (#2013) - (a5c0db3)
  • (iroh) Properly shut down the store on control-c (#2100) - (7cc9efa)
  • (iroh-bytes) Print hashes as hex in validation (#2118) - (9d40459)
  • (iroh-net) Improve connectivity (#1983) - (4b58de5)
  • (iroh-net) Improve direct connectivity establishment speed and reliablity (#1984) - (b173520)
  • (iroh-net) Correctly report sent transmits in poll_send (#2025) - (b0afd40)
  • (iroh-net) Race ipv4 and ipv6 dns resolution (#2026) - (19553ed)
  • (iroh-net) Ensure netcheck finishes once it has results (#2027) - (c62950e)
  • (iroh-net) Fix in detecting globally routable IPv6 addresses (#2030) - (c3aa17e)
  • (iroh-net) Handle unreachable IPv6 networks better (#2029) - (436121f)
  • (iroh-net) Fix some flaky magicsock tests (#2034) - (df57623)
  • (iroh-net) Trigger netcheck on a magicsock rebind (#2042) - (890d019)
  • (iroh-net) Work around broken windows DNS configuration (#2075) - (3747a09)
  • (iroh-net) Improve backpressure handling (#2105) - (b98ed9d)
  • (iroh-sync) Dl policies exists only if doc exists (#1921) - (de7f603)
  • (iroh-sync) Sync peers exists only if doc exists (#1920) - (2835f62)
  • Allow some dead code for the nightly compiler (#1934) - (ca20102)
  • Build successfully from cargo vendor tarball (#1932) - (2337cb2)
  • Ci windows releases - (ed23c43)
  • Ci release builds (#1988) - (4abb782)
  • Update deps to avoid cargo-deny warning (#2059) - (bc1af2e)
  • Properly shutdown sync actor (#2067) - (e96a0c1)
  • Remove dead code detected by the rust beta compiler (#2121) - (2c59d7d)
  • Do not allow connecting to ourself (#2123) - (a2af124)
  • Comment about grease_quic_bit (#2124) - (8407907)

🚜 Refactor

  • (iroh) Move rpc handling into its own module (#2078) - (e7690b9)
  • (iroh-bytes) Take advantage of impl T in trait, update bao-tree and iroh-io (#2018) - (a942973)
  • (iroh-bytes) Simplify store traits (#2023) - (27a8ef1)
  • (iroh-bytes) Async bao store (#2043) - (5398479)
  • (iroh-bytes) Rewrite the blob store to use redb (#2051) - (980b53d)
  • (iroh-bytes) Further reduce surface area (#2102) - (953a768)
  • (iroh-bytes) Make module name and feature flags consistent with docs db (#2110) - (918fca6)
  • (iroh-bytes) Get rid of meta dir (#2111) - (cbc5906)
  • (iroh-net) Log best addr on debug if not changed (#1958) - (db41c5e)
  • (iroh-net) A bunch of logging improvements (#1982) - (9dd77fa)
  • (iroh-net) Introduce a minimal DerpUrl (#1993) - (7844577)
  • (iroh-net) Remove manual struct logging (#2009) - (315032a)
  • (iroh-net) Rename CallMeMaybe field (#2012) - (c0637d0)
  • (iroh-net) Delete some unused testing infrastructure (#2028) - (e7af74d)
  • (iroh-net) Improve API to retrieve local endpoints (#2041) - (540fd88)
  • (iroh-net) Avoid using .unwrap() calls (#2046) - (827aa8d)
  • (iroh-net) Remove unneeded async interactions with the magicsock actor (#2058) - (a42c1b2)
  • (iroh-net) Clean up peer_map, node_map and endpoint names (#2060) - (6578d2c)
  • (iroh-net) Bump netcheck DNS timeout to 3s (#2077) - (24b38c8)
  • (iroh-net) Remove rebinding (#2083) - (484e5e8)
  • (iroh-net) Generalize derp naming to relay to prepare for future refactors (#2091) - (07c29f0)
  • (iroh-net) Allow to set a custom DNS resolver on the magic endpoint (#2116) - (8dcb196)
  • (iroh-sync) Rip out the mem implementation of the doc store (#2112) - (cdfde7d)
  • (redb-store) Optimization for small file import in redb store (#2062) - (8dd2c8c)
  • Use common helper function (#1933) - (63eecd9)
  • Move Dialer from iroh-gossip to iroh-net (#1998) - (90a5160)
  • Cleanup ProgressSliceWriter (#2000) - (7edd7ab)
  • Move downloader from iroh to iroh-bytes (#1999) - (aeee718)
  • Download and export structure and progress events (#2003) - (1838c17)
  • Fallible store traits (#2005) - (1ad6510)
  • Move iroh_net base types to iroh_base (#2053) - (8bdb0a0)
  • Remove derp meshing (#2079) - (29065fd)
  • Make export a seperate operation from download (#2113) - (488be5b)

📚 Documentation

  • (derper) Display the correct port number in the derper --dev help message (#2048) - (e1c9fda)
  • (iroh-gossip) Fix typo in proto.rs (#1927) - (7965836)

🧪 Testing

  • (iroh) Sort output in test for download policies (#1918) - (c65b7de)
  • (iroh-net) Make derp connect loop test more reliable (#2064) - (9e7605d)
  • (iroh-net) Re-enable icmp probe test (#2065) - (2eb06d0)
  • (iroh-net) Disable test_icmp_probe_eu_derper as flaky on windows (#2068) - (3a33c24)
  • (iroh-net) Ignore save_load_peers test as flaky on windows (#2070) - (a542f76)
  • (iroh-net) Mark some DNS tests as flaky as well (#2073) - (aeb0067)
  • (iroh-net) Bring back another disabled test (#2081) - (d0b6dde)
  • Mark a bunch of flaky tests (#1936) - (6aa77ae)

⚙️ Miscellaneous Tasks

Deps

Example

  • (iroh-net) Minimal use of unreliable datagram (#1967) - (12e42b3)

0.12.0 - 2023-12-20

⛰️ Features

  • (bytes) Switch to a single directory for the flat store (#1855) - (adc88f3)
  • (net) Add Magicsock::network_change (#1845) - (3952b04)
  • Usage metrics reporting (#1862) - (7ec4d92)
  • Remove derp regions in favor of direct urls (#1831) - (4002c46)
  • Additional public get utils - (1389857)

🐛 Bug Fixes

  • (ci) Enable forks to run netsim manually (#1834) - (54acfcb)
  • (iroh) Check output for blob get (#1898) - (52f17a3)
  • (iroh) Do not exit after commands (#1899) - (53ab3b0)
  • (iroh-net) Fix display of mixed type connections (#1882) - (9d047e0)
  • (iroh-net) Do not prune addrs that are just added (#1916) - (4b18e67)
  • (sync) Handle migration 004 in the empty case (#1852) - (860563f)
  • Use path_to_key helper function in iroh doc import (#1811) - (64b668e)
  • Do not block on network change (#1885) - (54d5efc)
  • Fix abort on ctrl-c in console (#1909) - (712b45e)

🚜 Refactor

🧪 Testing

  • (iroh-net) Try fix flaky udp_blocked test - (0418af6)
  • (net) Use actual derp hostname and reduce iteration count (#1886) - (62ac4d8)

⚙️ Miscellaneous Tasks

Ref

  • (iroh-net) Improve how STUN probes are run (#1642) - (b95eb86)

0.11.0 - 2023-11-17

⛰️ Features

  • (iroh) Store rpc port in iroh data dir (#1783) - (d471477)
  • (iroh) Make out argument required for iroh get (#1786) - (0e0f641)
  • (iroh) Allow full and short hash printing in the cli (#1795) - (018772c)
  • Add Doc::import_file and Doc::export_file (#1793) - (fe7fc50)

🐛 Bug Fixes

🚜 Refactor

  • (iroh) Restructure cli modules to match command structure (#1799) - (c1aeeb1)
  • (iroh) Add --start option to CLI commands (#1802) - (10af401)
  • (logging) Log hairpin results at debug level (#1809) - (ca8a983)
  • Common base library (#1780) - (de58d71)
  • More renaming of the term peer id to node id (#1789) - (53f1b61)

⚙️ Miscellaneous Tasks

0.10.0 - 2023-11-08

⛰️ Features

  • (iroh-sync) Read only replicas (#1770) - (c1ebea8)
  • (iroh-sync) Queries and "views" (#1766) - (899768a)
  • Add ability to connect just by node id - (5ee69a4)

🐛 Bug Fixes

🚜 Refactor

  • ()* Rename Peer to Node in peer_map related code (#1771) - (fbeeab7)
  • (iroh-net) Remove cli ping (#1764) - (2b70426)
  • (iroh-net) Rename PeerAddr to NodeAddr, introduce NodeId alias (#1765) - (215953f)

⚙️ Miscellaneous Tasks

  • (iroh-net) Demote 'pong not received in timeout' message to debug (#1769) - (56e92ca)
  • Switch to git-cliff for changelog generation - (bcdccb3)
  • Release - (c4514aa)

0.9.0 - 2023-10-31

⛰️ Features

  • (ci) CI improvements (#1737) - (10f5982)
  • (console) Blob share ticket (#1746) - (fa9fa83)
  • (iroh) Add ticket prefixes and a doctor ticket-inspect command (#1711) - (2d292e3)
  • (iroh) Pass a runtime to Doc client to spawn close task on drop (#1758) - (0c145d5)

🐛 Bug Fixes

🚜 Refactor

  • (iroh-net) Split endpoint module and reduce PeerMap surface (#1718) - (eb99d0f)
  • (iroh-net) Improve PeerMap and Endpoint abstractions (#1724) - (e1cfe50)
  • (iroh-net) Call-me-maybe improvements (no more tasks for queue, better logic on recv) (#1752) - (376748c)

🧪 Testing

⚙️ Miscellaneous Tasks

  • Makes SyncReason public (as expected) (#1756) - (dff946c)
  • Split test and check steps into workspace and per crate (#1761) - (eb2f73a)
  • Match iroh-net-bench version number - (f0a1b2c)
  • Changelog v0.9.0 - (f851b8b)
  • Release - (eba3c33)

Clippy

Example

  • (magic) Make arguments to connect named - (232a4ee)

0.8.0 - 2023-10-23

⛰️ Features

🐛 Bug Fixes

  • (iroh) Do not exit on ctrl+c (#1691) - (a658d4a)
  • (iroh) Cleanly exit on Eof (#1695) - (196ad7a)
  • (iroh-bytes) Handle case of 0 sent bytes in send stats (#1625) - (550303c)
  • (iroh-net) Enforce storing a single derp region per peer (#1607) - (bfcce3d)
  • (iroh-net) Ping via relay, enable relay ping in derp only mode (#1632) - (eec5425)
  • (iroh-net) Bring the doctor command up to date (#1656) - (16773b0)
  • (iroh-net) Direct address management (#1653) - (90f73f7)
  • (iroh-net) Temp fix for progress bar when downloading a hash seq (#1658) - (1b5760d)
  • (net) Correct packet math for poll_recv (#1698) - (c603a9e)
  • (net) Correctly track dial errors (#1706) - (92bb5b4)
  • doc export exports the latest entry at a given key (#1629) - (b815576)
  • Actually transfer newer entries for identical keys (#1630) - (ef8c64b)
  • Avoid FuturesUnordered (#1647) - (5813e09)
  • Dependency updates - (2323114)

🚜 Refactor

  • (iroh-net) Don't send pings over the actor channel (#1678) - (0cbab51)
  • (iroh-net) Proper abstraction around best_addr (#1675) - (7baff93)
  • (iroh-sync) Add actor to iroh-sync, remove deadlocks (#1612) - (a70c6f1)
  • (iroh-sync) Remove generic from SyncEngine (#1648) - (53b0bb0)
  • (net) Improve derp client handling (#1674) - (56d4d3f)

📚 Documentation

⚡ Performance

🧪 Testing

⚙️ Miscellaneous Tasks

Iroh-bytes

Iroh-net

Release

  • Add changelog for v0.8.0 - (e972d53)

0.7.0 - 2023-10-11

⛰️ Features

🐛 Bug Fixes

  • (iroh::downloader) Remove hash from providers in two missed cases (#1584) - (068f0bd)
  • (cli,console) Default to 'hash' mode for the keys command (#1617) - (c3571e1)
  • (derper) Update config to auto generate keys (#1599) - (8fb46d4)
  • (iroh-net) Do not unwrap sending on response channel (#1529) - (974b66e)
  • (iroh-net) Dialer bug (#1533) - (16939c8)
  • (iroh-net) Reverse ip-port mapping stores only direct addresses in the peermap (#1606) - (176d632)
  • (metrics) Labels need to be lowercase underscore format (#1574) - (81c6f04)
  • (net) Avoid deadlock on stayin_alive calls (#1537) - (34fa30a)
  • (net) Stop deleting endpoints we want to keep (#1567) - (96cd106)
  • Mark initially created endpoints inactive (#1539) - (9b61ab7)
  • Actually allow to disable DERP (#1560) - (cf9abc0)
  • Avoid blockage in endpoint handling (#1569) - (ccdf0c9)
  • Feature flags for iroh-io dependency (#1588) - (c1c7d15)

🚜 Refactor

📚 Documentation

⚡ Performance

🧪 Testing

  • (iroh-net) E2e saving and loading of peer data (#1523) - (e7e70e4)
  • (iroh-sync) Fix test_content_hashes_iterator_memory (#1565) - (07fa983)

⚙️ Miscellaneous Tasks

0.6.0 - 2023-09-25

⛰️ Features

  • (iroh) Downloader (#1420) - (c217283)
  • (iroh-net) Implement network monitoring (#1472) - (a89078f)
  • (iroh-net) Persist known peer info (#1488) - (2e3516d)
  • (sync) Track incoming sync requests, allow subscriptions without sync, close inactive replicas (#1491) - (6c07ad3)
  • Streaming blob reads over RPC (#1477) - (6397d46)
  • Content hashes iterator for sync store (#1501) - (8fe3f71)
  • Improve content propagation in sync (#1480) - (49bde4f)

🐛 Bug Fixes

  • (iroh) Do not log full messages for rpc (#1453) - (d4983c5)
  • (sync) Fix PeerData encoding, neighbor events, better & predictable tests (#1513) - (779e470)
  • Debug for BlobReader (#1479) - (c6935bd)
  • Print enum variant name for RPC debug logs (#1503) - (39a3a33)
  • Avoid double conns, better state tracking (#1505) - (d8cc9df)
  • No-default-features builds (#1522) - (ff6fc4c)

🚜 Refactor

  • ()* Rework NodeAddr (#1506) - (f16e439)
  • (iroh) Leverage strum for IrohPaths (#1507) - (95dce40)
  • (iroh,iroh-bytes) Replace currrent with current (#1467) - (4f4d8e5)
  • (iroh-net) Remove unused expired field from Endpoint (#1484) - (f2f3ead)
  • (iroh-net) Remove iroh-net::config::Node since limited to its used fields it's redundant (#1486) - (00d0150)
  • Extend Iroh client, improve API consistency (#1478) - (5380cd5)
  • Use iroh_net::PeerAddr more (#1493) - (2b4b27c)

📚 Documentation

⚙️ Miscellaneous Tasks

Deps

  • (iroh-net) Use minimum safe version of quinn-proto (#1510) - (adbfe65)

0.6.0-alpha.1 - 2023-09-05

⛰️ Features

  • (iroh-sync) Validate timestamps and move validation up (#1439) - (4e8ff56)
  • Get list of ConnectionInfos or an individual node's ConnectionInfo (#1435) - (bdf966e)

🐛 Bug Fixes

  • (iroh) Update example to use correct subscription API (#1452) - (2522fca)
  • (iroh-net) Dns fallback to default config (#1438) - (b89f4e1)

🚜 Refactor

  • (iroh-net) Remove NetworkMap (#1447) - (bc26321)
  • (iroh-sync) RangeEntry trait, byte newtypes for author/namestamp, timestamp into record (#1445) - (1bcc765)

📚 Documentation

  • (changelog) V0.6.0-alpha.1 - (4671387)

🧪 Testing

  • (iroh-net) Removed unused stun_test_ip field from DerpNode (#1450) - (4ef3611)
  • (iroh-sync) Initial batch of property based tests for the ranger and store (#1428) - (9db3694)

⚙️ Miscellaneous Tasks

0.6.0-alpha.0 - 2023-08-28

⛰️ Features

  • (iroh-bytes) Remove unneeded u64 length prefix (#1408) - (6d9eac7)
  • (iroh-net) PCP mappings (#1261) - (84e2f72)
  • (iroh-net) Nat-PMP probes and mappings (#1283) - (5c38730)
  • (iroh-net) Add DEV_DERP_ONLY env variable for testing the derp relay (#1378) - (34c97bb)
  • (tests) Improve test_utils to warn about mutli-runtime tests (#1280) - (62522dc)
  • Iroh-gossip (#1149) - (7f8463f)
  • Methods to check if a hash is complete or partial (#1359) - (8006629)
  • Add iroh-sync and integrate into iroh node (#1333) - (3f141be)
  • Iroh console (REPL) and restructured CLI (#1356) - (b73d950)

🐛 Bug Fixes

  • (ci) Correctly detect forks (#1327) - (80c54aa)
  • (iroh) Atomically write keyfile - (7752b5a)
  • (iroh) Pass derp map when setting up provider (#1347) - (391db92)
  • (iroh) Try to fix flaky test_token_passthrough test (#1419) - (a1d4a4d)
  • (iroh-bytes) Hash should be serialized as array not bytes (#1410) - (116eea9)
  • (iroh-bytes) Range spec seq identification of single blobs (#1421) - (c3e701f)
  • (iroh-gossip) Specify version for iroh-net dependency - (c21a2d1)
  • (iroh-net) Do not panic on RIB issues (#1313) - (8ede947)
  • (iroh-net) Portmapper priority follows described priority strategy (#1324) - (f60101a)
  • (iroh-net) Remove transparent attribute from mapping debug + log bump (#1339) - (2878e79)
  • (iroh-net) Split packets on send (#1380) - (57a2dee)
  • (iroh-net) Use base32 encoding in the derper config for SecretKey (#1385) - (b8a1de8)
  • (iroh-net) Allow compiling without default-features - (0f412ed)
  • (netcheck) Build test ProbePlan from fake interface data (#1266) - (f671aa5)
  • (tests) Bring back MagicEndpoint connect-close test (#1282) - (4b1f79c)
  • Enable derp metrics (#1268) - (faad31a)
  • Remove obsolete and unused module (#1279) - (4c67385)

🚜 Refactor

  • (iroh-net) Remove unused hostinfo - (0c277b7)
  • (iroh-net) Always attach tracing spans to spawned tasks (#1299) - (73cac23)
  • (iroh-net) Keep DerpMap fixed (#1329) - (f764517)
  • (iroh-net) Unify key handling (#1373) - (8b73323)
  • (iroh-net) Remove pub(self) visibility specifier (#1395) - (03339f1)
  • (iroh-net) Use tokio-util::codec for derp protocol implementation (#1386) - (fe98c8d)
  • (iroh-net) Store DerpNodes as Arcs inside DerpMap (#1379) - (bcce8a0)
  • (iroh-net) Make derp_map not an option in MagicEndpoint (#1363) - (93147ac)
  • (iroh-net/magicsock) Remove usused Arc (#1301) - (0991b13)
  • Move iroh bytes get handlers out of node into module (#1343) - (ce4cb57)
  • Improve path handling in iroh dir (#1345) - (1c3a3f1)
  • Improve client sync api (#1417) - (2c6ab29)
  • Reduce amount of info logging (#1418) - (0277b31)

📚 Documentation

🧪 Testing

  • (flaky) Add timeouts to gossip smoke test (#1364) - (28b1d14)
  • (iroh) Only use flat db when enabled - (5bc9c04)
  • (iroh-net) Ignore MagicEndpoint test again (#1300) - (c6314ff)
  • Introduce iroh-test with common logging infrastructure (#1365) - (411e20b)

⚙️ Miscellaneous Tasks

  • ()* Contributors guide (#1198) - (52ee997)
  • (ci) Ensure external contributors don't fail CI on report dumps (#1304) - (854c242)
  • Update license field following SPDX 2.1 license expression standard - (6c01938)
  • Enable CI on merge_group trigger (#1298) - (d11de73)
  • Update README.md (#1360) - (cf50c91)
  • Improve code style of tracing calls (#1390) - (e0daeb2)
  • Specify resolver 2 for entire workspace (#1406) - (38b06b0)
  • Release - (29b011e)

Deps

  • Switch back to derive_more og - (d97721e)
  • Allow old ed25519-dalek crate in cargo-deny for now (#1361) - (3384f3e)
  • Update webpki to rustls-webpki and webpki-roots to latest (#1389) - (a2fc0c1)

Ref

  • (iroh-net) More Conn -> MagicSock renaming (#1294) - (66ec54d)
  • (iroh-net) Use a short format for node PublicKey logging (#1296) - (af52b51)

0.5.1 - 2023-07-18

⚙️ Miscellaneous Tasks

iroh-net-v0.5.1 - 2023-07-18

⛰️ Features

  • (ci) Record dump uploads (#1101) - (e289465)
  • (ci) Allow running netsim from another branch (#1186) - (0f77e4e)
  • (conn) Improve shutdown of IO loop - (dbe0228)
  • (docs) Check rustdoc more strictly (#1185) - (6a58800)
  • (iroh) Pass a callback to subscribe (#1219) - (c325603)
  • (iroh-net) Add more details to tracked endpoints - (dfd946e)
  • (iroh-net) Implement HomeRouter detection - (b14049e)
  • (iroh-net) Upnp port mapping (#1117) - (701e9b7)
  • (iroh-net) PCP probe - (659a54a)
  • (loging) Improve logging output of provider and get (#932) - (6ae709e)
  • (provider) Add 'CollectionAdded' Provider event (#1131) - (8b6a5bc)
  • Implement ICMP pings - (6c19faa)
  • Metrics collection (#900) - (d4a01f7)
  • Remove AuthToken - (96d9378)
  • Print local endpoints on provide - (b3c22bd)
  • Add configuration for derp regions - (96903e7)
  • Prefer configured port to be used for ipv4 - (3a292e5)
  • Add iroh doctor utility (#986) - (4fc70f5)
  • Reduce dependency bloat for derper - (07d7205)
  • Add api to list collections - (7b0a7c7)
  • Integration metrics and viz dump (#1089) - (2f65bc1)
  • hp::derp::http::server::Server & TLS in the derper! (#1077) - (6f40e14)
  • Allow node to accept different ALPNs - (34e02d0)
  • Derp mesh network & derper cli & config cleanup (#1130) - (3dca612)
  • Add MagicEndpoint to iroh-net - (4597cb3)
  • Make get-ticket just a way to use get (#1168) - (2291ef4)
  • Impl From for DerpMap - (01641a7)
  • Specify a DERP region for the peer you are trying to connect to (#1222) - (456f963)
  • Disable bailing out when temp dir is missing (#1251) - (eae79e8)
  • Add metrics to the derp server (#1260) - (d1b4e18)
  • Unify MSRV to 1.66 - (090f6d8)

🐛 Bug Fixes

  • (ci) Also run doc tests (#1095) - (97d24a6)
  • (ci) Move chuck out of the workspace - (0b8d22d)
  • (clippy) Clean up clippy again (#1061) - (4e1ba3e)
  • (database) Handle finding beetle data directory (#960) - (909ea9a)
  • (derp) Remove client cleanup bug - (f6287c1)
  • (derp) Filter DNS results by address family (#1227) - (b6f9df3)
  • (derper) Small derper fixes (#1083) - (4fb925a)
  • (iroh) Error when path does not exist (#1146) - (c1b674f)
  • (iroh) Pass derp-map on get-options - (b7fd889)
  • (iroh-net) Allow derp only connections to upgrade - (25b35a3)
  • (iroh-net) Better logic for initial derp connection - (6e6b97e)
  • (iroh-net) No * deps - (b1ff368)
  • (iroh-net) Handle non git environments in build - (a645cbe)
  • (netcheck) Do not read from main Conn sockets (#1017) - (5e997a4)
  • (netcheck) If no STUN sockets supplied allow bind to fail (#1041) - (726cace)
  • (netcheck) Make ICMP ping optional (#1137) - (ac6bb1a)
  • (netcheck) Integrate https and icmp probes in probeplan (#1220) - (a0ae228)
  • (netcheck) Stable derp-region sorting (#1250) - (899efd2)
  • Fetch PR details on issue comment (#931) - (9272adb)
  • Avoid polling future after completion - (1f812fd)
  • Remove derp route on peergone - (cefc8ba)
  • Do not use magicsock for rpc - (7717243)
  • Show all listening addrs - (b84ed59)
  • Use correct endpoint for derp connections - (07d919f)
  • Checkout correct branch on netsim comment (#934) - (fa2ae68)
  • Correct ref on checkout (#936) - (f58df87)
  • Avoid using tokio::block_in_place - (db5ad3e)
  • Correct ipv4 and ipv6 port mappings on rebind and endpoints - (6a1e405)
  • Store udpstate - (f0bde56)
  • Handle multiple transmit destinations - (050e49f)
  • Allow dialing by peer id only - (6fb17d1)
  • Endpoint update scheduler - (93ca0e4)
  • Cleanup ping sending logic - (7896d37)
  • Send early ping if needed - (d0755c7)
  • Improve local addr output and start fixing cli tests - (f76d650)
  • Process incoming IP packets in a seperate task (#1020) - (96b882a)
  • Format socket addr so that it does not need to be escaped (#1019) - (7c87b94)
  • Ensure provider building waits for an endpoint update - (c858f36)
  • Ensure endpoints are always discovered or timeout - (58538e0)
  • Better handling of ipv4 only setups - (547662b)
  • Avoid dualstack bindings - (34322a6)
  • Use listen_addresses instead of local_address (#1044) - (c4a1890)
  • Add entry in peer_map for unknown ping sender - (648210c)
  • Handle hairpining timeout properly (#1049) - (3867b72)
  • Make sure to use the config by default in iroh doctor report (#1057) - (fcc74b8)
  • Use simulated time in timer tests - (b80ef52)
  • Online stun test (#1065) - (bec1bbe)
  • Update integration tests (#1082) - (36cd904)
  • Release netsim should ignore some tests (#1096) - (9b981c4)
  • Update bao-tree dependency to get rid of ouroboros in dependency tree (#1104) - (7840e1c)
  • Don't crash the derper (#1110) - (e1752bc)
  • Don't spam re-connect attempts if something goes wrong connecting to a derp server (#1113) - (92e8fc3)
  • Improve connectivity - (8e2d947)
  • Remove build-data dependency - (26e9937)
  • Cross builds (#1174) - (739ee07)
  • Netsim branch CI default (#1205) - (a8435eb)
  • Default netsim branch (#1208) - (01da61d)
  • Switch to derive_more_preview - (a0392c6)
  • Make sure to clean up any lingering processes (#1214) - (f782fef)

🚜 Refactor

  • (iroh-bytes) Remove handshake and rely on ALPN only for protocol negotiation - (e321d9f)
  • (iroh-net) Make region ids always be u16 - (685b9aa)
  • (iroh-net) Expand use of default values (#1160) - (0905155)
  • (iroh-net) Move Conn toplevel - (72a4bc9)
  • (iroh-net) Rename Conn to MagicSock - (810f9f3)
  • Move keys out of the mutex - (caf7ebb)
  • Update connection logic to for magicsock - (e13f663)
  • Move derp receiving into the derp actor - (ff28875)
  • Remove BlobOrCollection (#1078) - (63a2529)
  • Remove ouroboros and replace it with self_cell (#1102) - (a4077f4)
  • Strip down the iroh runtime and use tokio_util::task::LocalPoolHandle instead (#1114) - (80e8eca)
  • Move code into workspace package - (0fb0a17)
  • Split main networking code into iroh-net - (ba95ba3)
  • Move byte specific pieces into iroh-bytes - (8bb3524)
  • Move rpc and provider setup into iroh - (620a904)
  • Split metrics of into its own crate - (f2afe47)
  • Move connection issue into iroh-net - (1b28c72)
  • Replace warp with axum for the test server (#1124) - (0345f2e)
  • Move cli functionality into library format - (92fd3c6)
  • Change default bind port to iroh leet port: 11204 (#1147) - (2901b97)
  • Use newtype to avoid derp magic ips - (8a2aab1)
  • Pluggable metrics (#1173) - (b0ccea5)
  • Get rid of Blake3Cid (#1204) - (cf0573a)
  • Move dialing utils into iroh from iroh-bytes (#1226) - (54630b9)
  • Flatten iroh_net::hp module - (6f9e7c0)

📚 Documentation

🧪 Testing

  • (derp) Fix test - (10782be)
  • (ipv6) Do not run IPv6 tests if the host doesn't support IPv6 (#1059) - (e27cc77)
  • (iroh-net) Disable flaky MagicEndpoint tests (#1184) - (6fa891a)
  • (netcheck) Assume udp packets get lost (#1094) - (daa7c0c)
  • Check that no packets have been lost - (fd7e0fe)
  • All 10 rounds - (4e8625a)
  • Fix cli addr test - (a2a711c)
  • Cli fixes - (05474df)
  • Add logging to flaky google stun test (#1053) - (b29fbf7)
  • Add test utilities to configure logging (#1060) - (8448cb6)
  • Bring back tests (#1126) - (de43b59)
  • Add tests for the main derper endpoints - (895a41e)
  • Change some tests to no longer access the disk (#1232) - (58d42ba)

⚙️ Miscellaneous Tasks

  • (Conn/PeerMap) Introduce QuicMappedAddress (#1001) - (2f8aeb9)
  • (build) Sort dependencies in Cargo.toml (#1081) - (d9e3b7b)
  • (ci) Do not use fail-fast strategy (#1076) - (e0b2a9b)
  • (ci) Do not output clippy in json format (#1080) - (a89fccf)
  • (ci) Deny warnings again (#1075) - (6df66f4)
  • (ci) Do not run cargo check separately and test all features (#1079) - (dd6eccb)
  • (ci) Bring back release builds (#1243) - (1dadcf5)
  • (iroh-net) Fix warnings and errors due to incompatible deps after underlying dep update (#1225) - (cf13398)
  • (logging) Use nested tracing spans (#1228) - (84c6f77)
  • (reportgen) Improve logging to e less confusing (#1244) - (7557a91)
  • Update deps - (532873f)
  • Do not fail fast for cross - (5e15c03)
  • Move CI to self hosted runners (#1040) - (fba572d)
  • Try latest cross (#1069) - (71dcab1)
  • Update dependencies (#1107) - (23baf7d)
  • Delete unused file - (0fb684f)
  • Add explict parity acknowledgement on cert & verifier files, clarify codebase copyright is assigned to n0, inc. (#1167) - (04c7247)
  • Change module structure and visibility and require docs (#1176) - (81a0b1e)
  • Add PR template (#1194) - (a3826c4)
  • Pause release builds (#1206) - (69649ba)
  • Cancel workflows when a new commit is pushed (#1233) - (ca133a2)
  • Add metric readme and description - (e2f55b1)
  • Use version numbers for iroh deps - (acf2d16)
  • Update deny.toml - (d4c1a0f)
  • Release - (cc01495)
  • Release - (947e0e3)

Feat

Change

Deper

  • Ensure upgrades are allowed on derp - (4f9cc86)

Deps

Derp

Derper

Endpoint

  • Fix ping pong timings - (e2f2bce)

Key

Magicsock

Metrics

  • (netcheck) Add the basic netcheck metrics (#1048) - (a548371)

Netcheck

Ref

0.4.1 - 2023-04-03

🚜 Refactor

  • Cleanup and move network related impls to the net module - (3a442fa)

📚 Documentation

  • (changelog) Prepare 0.4.1 - (357d763)

⚙️ Miscellaneous Tasks

  • Release iroh version 0.4.1 - (4ebafa2)

0.4.0 - 2023-03-29

⛰️ Features

  • (ci) Push data to metro (#794) - (1a68106)
  • (get-ticket) Contact provider on all listening addrs (#893) - (adbb2bf)
  • (net) Implement local address detection (#822) - (9323e10)
  • (provider) Emit events about outgoing transfers - (f05ec8c)
  • (ticket) Ensure a ticket always has at least one address (#892) - (0c17958)
  • Show more numbers in human readable form (#790) - (a0b7c26)
  • Use chunk groups feature (#798) - (d68f05d)
  • Begin impl Server side of derp, starting with the server side of the client connection (#826) - (94590ae)
  • Custom configs for netsim (#862) - (1078762)
  • Release builds (#863) - (7b91c9a)
  • Set multiple addrs in the ticket (#820) - (9ac4cf6)
  • Ci netsim integration tests (#877) - (8fe1d81)
  • Cmd to list provide addrs (#859) - (2c0663a)
  • Add run_ticket to dial all addresses stored in a Ticket (#888) - (91c7e2a)

🐛 Bug Fixes

  • (ci) Move from sendme to iroh (#788) - (6a5c13e)
  • (ci) Format output as table (#791) - (7fb888d)
  • (netcheck) Reduce locking and improved task tracking - (5a733ff)
  • (provider) Ensure postcard buffers are appropriately sized - (c28e0a8)
  • Avoid other output between contents when printing (#786) - (9076443)
  • Improve listening addr output (#789) - (33c0482)
  • Output writing (#804) - (eb18a89)
  • Do not send duplicate NotFound responses (#802) - (c0d4984)
  • Compile on linux - (02d8803)
  • Update Cargo.lock after rebase - (56fd099)
  • Update to new default-net - (e2584c0)
  • Improve binding and rebinding of sockets - (156560a)
  • Use absolute paths everywhere (#836) - (b2730ee)
  • Fix netsim bin paths (#881) - (3291291)

🚜 Refactor

  • Move timer to own file - (1c0a763)

📚 Documentation

🧪 Testing

  • Cli integration test for provide-get loop (#781) - (61ba002)
  • Add failing test for large collections - (bdab174)

⚙️ Miscellaneous Tasks

🛡️ Security

  • New version of tempfile to avoid security issue (#819) - (55a4c3a)

Deps

Derp

  • Fix missing server - (75b6cee)
  • Implement first pass at client dialing - (a37b3dc)

Derper

  • Implement manual certificate loading - (283eab9)
  • Fix hostname test - (3a87872)

Impl

  • Client and Clients, how the server manages the different connected clients (#846) - (c502e57)

Magicsock

Magiscock

Magisock

Netcheck

  • Get main check logic to compile - (e0748de)
  • Fix first basic test - (687f829)

Ref

  • Rename --token to --auth-token for get (#785) - (d9aed3c)
  • Remove duplicate read_lp implementation (#801) - (e80051e)
  • Micro-optimise by reserving buffer size (#803) - (fe97e4d)
  • Bring back testdir for integration tests (#811) - (b0ade88)
  • Improve error for connection timeout (#818) - (9f2b486)
  • Clean up public API regarding bound/local/listening addresses (#891) - (bbf4869)

0.3.0 - 2023-02-22

⛰️ Features

  • (ci) Add MSRV check - (2a62263)
  • (ci) Add MSRV check - (2894143)
  • (cli) Improve the output of collections (#69) - (733e533)
  • (provider) Add ProviderBuilder - (bf01702)
  • (provider) Add persistent identity - (6073054)
  • (provider) Add events (#87) - (e7ce384)
  • Add clap and server and client options - (e46d460)
  • Limit length prefixed message size - (d99007e)
  • Add handshake and reduce allocations - (6403bd1)
  • Limit number of active connections and streams - (1dd46e9)
  • Connect based on PeerIds - (c57fa4f)
  • Rework client api to emit content - (03e1f93)
  • Write to temporary file during transfer - (1f39a57)
  • Add STDIN and STDOUT support (#39) - (c121094)
  • Add authentication token to protocol handshake - (58a2c2a)
  • Add authentication token to protocol handshake - (bf08478)
  • Transfer multiple files - (bc040ea)
  • Improve CLI - (57dd758)
  • Create a Builder for the Provider - (41e05ed)
  • Create a Builder for the Provider - (bf087b6)
  • Incrementally compute outboard - (bf86837)
  • Provide a single ticket to fetch a hash - (5b979ab)
  • Provide a single ticket to fetch a hash - (aa269ab)
  • Remove varints (#71) - (35cb4bd)
  • Looser dependencies as it is a library - (a846ea2)
  • Looser dependencies as it is a library - (eb07ca9)
  • Add bao slice decoder - (08ad6db)
  • Step 1 - change from outboard+data to encoded - (c5be9f5)
  • Step 2 - use SyncIoBridge when writing - (4d3b384)
  • Step 3 actually add AsyncSliceDecoder and friends - (ff39ef2)
  • Step 4 make use of the AsyncSliceDecoder - (80b9cff)
  • Pass in custom names for blobs using DataSource::NamedFile (#97) - (9b2ad04)
  • Add method read_size - (bcc66f9)
  • Use read_size() to enforce that we don't download oversized files - (cb6651e)
  • Ensure we are not being lied to about total_blobs_size - (6d66fc5)
  • Switch printing from hex to base64 - (891004d)
  • Introduce custom Hash type (#115) - (c1eaf28)
  • Switch from s2n-quic to quinn (#112) - (3eff210)
  • Add newtype wrapper for Hash that is compatible with Cid - (9db0937)
  • Allow shutdown of Provider (#121) - (13f703f)
  • Do not error when the provider closes the connection (#124) - (5bd545d)
  • Add generic progress emitter utility (#141) - (d09a786)
  • Add option to use SSLKEYLOGFILE env var (#153) - (d64d12d)
  • Use our own ALPN (#155) - (2991cbb)
  • Netsim CI (#135) - (3a3fc46)
  • Rename to iroh - (e3012f0)
  • Move --keylog to common flags (#776) - (feeefa9)
  • Make get work on IPv6 network (#777) - (c28a378)
  • Remove MAX_DATA_LIMIT (#780) - (42a6235)
  • Remove Request.id from the protocol (#782) - (fd37cab)

🐛 Bug Fixes

  • (bin) Ensure progressbar works for stdout (#81) - (93107e3)
  • (ci) Run clippy directly (#140) - (fc8fbeb)
  • (cli) Only write progress if TTY and write it stderr only - (55ff6ed)
  • (main) Remove stderr tty check - (588dbe7)
  • Ensure data is flushed to disk - (9f9292d)
  • Keep reading and respect EOF - (ae51187)
  • Keep reading and respect EOF - (dbbf510)
  • Windows multi_client tests (#66) - (4befae2)
  • Ensure CI runs on main (#100) - (43a6ed5)
  • Catch ctrl-c to allow a normal shutdown & clean up any tempfiles that are created (#122) - (82e2f56)
  • Display CIDs in the CLI for the Collection (#131) - (b3ee39f)
  • Fail if an on_blob function does not read all the content (#139) - (c266ab5)
  • MSRV in CI (#145) - (2edb528)
  • Ensure we emit TransferAborted event if anything goes wrong during the transfer (#150) - (19e2b05)

🚜 Refactor

  • Make code library based - (1c3373c)
  • Cleanup and improve address options - (ba59337)
  • Rename server & client - (de34409)
  • Use genawaiter instead of async-stream - (5c48f5e)
  • Switch to callbacks instead of events - (ea94e98)
  • Named closures for the 3 callbacks - (6617d39)
  • Remove size from found - (bd9d860)
  • Remove size from FoundCollection as well - (7faf4bf)
  • Add debug instances for public types - (b0cdec1)
  • Make AsyncSliceDecoder pub(crate) - (6bc00b3)
  • Make a few obvious things private - (d63fea1)
  • More privatization - (5994474)
  • Move Blake3Cid to main for now - (7158bc0)
  • Make on_collection take a reference - (34aa8e1)
  • Use multi threading when computing outboards - (34cf223)

📚 Documentation

  • Add readme and license - (b37c135)
  • Add lots of doc comments and enable deny(missing_docs) - (8255467)
  • Add docs for the 4 prefix bytes - (838fa5c)
  • Add some comments - (a4a3d54)
  • Updates for release - (70f9912)

🧪 Testing

⚙️ Miscellaneous Tasks

  • Remove unused dependency - (1cf338d)
  • Update MSRV to 1.64 - (e2cd922)
  • Remove duplicate tokio dependency (#137) - (8e42874)
  • Improve safety of BytesMut buffer usage (#778) - (7fbeb4f)
  • Add changelog for 0.3.0 - (c8855f8)
  • Release iroh version 0.3.0 - (7923829)

Fix

  • Duplicate serde_hash implementation & some spelling errors (#72) - (53ab719)

Ref