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