Changelog
All notable changes to iroh will be documented in this file.
0.96.1 - 2026-02-06
π Bug Fixes
(iroh) Use latest portmapper to avoid duplicate dependencies (#3903) - (5126857)
βοΈ Miscellaneous Tasks
Pin digest to version compatible with curve25519-dalek 5.0.0-pre.1 (#3908) - (68243ed)
Update bytes and time address advisories - (f2eb1e3)
Specify minimum iroh-quinn and iroh-quinn-proto patch versions (#3918) - (db429c7)
0.96.0 - 2026-01-28
β°οΈ Features
(example) Improve path stat printing in transfer example (#3860) - (c168e73)
(iroh) Introduce EndpointHooks (#3688) - (1efd2b5)
(iroh) Add fast-apple-datapath feature and enable it by default (#3724) - (a5f4a08)
(iroh) [breaking] Encapsulate the quinn::TransportConfig to enforce certain minimums when used with multipath (#3721) - (cc932ef)
(iroh) Improve shutdown handling - (bb3e94a)
(iroh) [breaking] Newtype ServerConfig and RetryError, organize the quinn re-exports (#3757) - (aa6b918)
(iroh) Implement latency based connection updates (#3797) - (5cb5716)
(iroh) Ping paths and trigger holepunching on networkchange (#3796) - (ff24cfc)
(iroh) [breaking] Allow multiple IP transports, including filtering by interface (#3692) - (2359acf)
(metrics) Add connection latency tracking (#3606) - (b7e5bb0)
(multipath) Add back basic metrics (#3672) - (faa2119)
(relay,dns) Add healthz routes (#3783) - (31a6b10)
Do not force relay URLs to be absolute (#3623) - (9bae228)
Add AcceptError::from_boxed (#3620) - (280cfc6)
Relay only configuration - (7f17d98)
Instead of duplicating the entire connection API, have a type parameter (#3619) - (5809a56)
Prune old, inactive paths (#3666) - (7fb80b9)
Qlog support in iroh - (2d9681c)
Expose known remote addrs (#3752) - (4c4f242)
Add must_use attributes to Router::spawn (#3772) - (0a9b7a0)
Improve RelayMap and RelayMode configuration (#3734) - (c0dacd0)
Basic holepunch metrics (#3748) - (37bda14)
Update to released iroh-quinn (#3834) - (e25c5da)
π Bug Fixes
(ci) Better cli caching (#3779) - (94caac0)
(deps) Update to newest quinn main and fix api usage (#3802) - (8e9b5c0)
(docs) Fix link to EndpointTicket (#3814) - (ccf876e)
(iroh) Typo(s) (#3630) - (1cc5897)
(iroh) Clear EndpointStateActor::selected_path once the last connection closes (#3650) - (4b6824c)
(iroh) [breaking] Correct the error structure (#3663) - (dab9d5f)
(iroh) Only switch paths if the new path is actually better - (fbdf2c7)
(iroh) Accurately set RecvMeta::dst_ip, remove normalized_local_addr (#3770) - (692bb53)
(iroh) Ensure the selected holepunched path is set to PathStatus::Available (#3771) - (561d2fd)
(iroh) Retry holepunching - (a58aff4)
(iroh) Improve handling of no available transports - (5e79a56)
(iroh) Actually use user-provided bind addrs (#3835) - (fecc909)
(iroh) Properly set quinn paths to available when holepunched (#3864) - (a774841)
(iroh-bench) Gracefully close the quinn benchmark (#3621) - (0799d4f)
(iroh-dns-server) Inverted validation logic in DoH JSON response handler (#3737) - (2efbff6)
(multipath) Fix remote state actor termination (#3676) - (d328bf2)
(tests) Also run the tests in isolation in the default profile (#3664) - (13fe787)
Stop polling transports when the magicsock is closing (#3615) - (e101d26)
Update to main net-tools (#3726) - (1d6e453)
Update deny warnings (#3819) - (99242af)
π Refactor
(deps) Remove rustls-pemfile (#3747) - (06772c3)
(example) Reduce timeouts and add close - (e750ccf)
(iroh) Simplify internal transports sending (#3708) - (8d56889)
(iroh) Avoid storing the TransportsSender (#3712) - (3f4d365)
(iroh) [breaking] Remove Endpoint::latency (#3717) - (783e2ef)
(iroh) [breaking] Make net-report private (#3758) - (5b616f0)
(iroh) Do not export quinn-proto encoding traits (#3803) - (f12467b)
(iroh) Spawn RemoteStateActor in JoinSet and remove guarded_channel.rs (#3681) - (37f69e0)
(iroh) [breaking] Improve BindError (#3837) - (acbca8c)
(iroh) [breaking] No longer fall back to a random free port when using endpoint::Builder::bind_addr with an unusable port (#3836) - (f2b6026)
(iroh) [breaking] Bind addrs with prefix len 0 are default routes (#3838) - (e0fcf7d)
(iroh) Remove mutexes from RemoteMap (#3841) - (99268b8)
(iroh) Move socket actor_sender out of shared socket state (#3890) - (a738ac7)
(iroh-dns-server) [breaking] Add storage path config and add tests for DNS-over-HTTPS (#3745) - (3bf1e24)
(multipath) Make registering connections with the magicsock async (#3629) - (e0f10ce)
(multipath) Stop inactive endpoint actors (#3643) - (25fe805)
(multipath) Rename EndpointMap/EndpointState to RemoteMap/RemoteState (#3673) - (34f52c6)
(multipath) Move discovery into EndpointStateActor (#3645) - (01545ee)
Improve path watching, add path stats (#3622) - (d1c1dab)
Minor cleanups in endpoint state (#3626) - (7887fb5)
Use Connection::on_closed in endpoint state actor (#3627) - (1d5937c)
Remove the TransportsSenderActor - (6380246)
Disallow certain Source variants to be constructed externally - (50fdda3)
Remove Endpoint::conn_type (#3647) - (2f924d9)
Use boxed watcher, not watchable, on connection (#3632) - (492b74e)
Remove Endpoint::path_selection (#3668) - (1a7a88b)
Prefer EndpointAddr::from_parts over EndpointAddr { ... } (#3662) - (25c2d4d)
Add Side re-export (#3739) - (136ff04)
Use qlog_from_env in iroh bench (#3743) - (3eff16d)
Adapt to new UnorderedRecvStream in iroh-quinn - (952b50e)
[breaking] Goodbye magic (#3887) - (2d8b2d4)
π Documentation
(endpoint::Builder) Clarify that clearing relay transport doesn't alter holepunching (#3833) - (52c4284)
(iroh) Improve builder docs about discovery (#3801) - (56fc0f7)
(iroh) Add detail & example to online method (#3722) - (94f8a83)
(iroh-relay) Add section on how to use as a library (#3715) - (40a5ce6)
β‘ Performance
Various improvements - (8d819f0)
π§ͺ Testing
(iroh) Fix test_two_devices_setup_teardown hanging (#3675) - (59a7e85)
(iroh) Fix test_active_relay_inactive test being flaky (#3680) - (160d535)
(iroh) Fix doctests for bind_addr to use port 0 (#3839) - (0dba0ff)
(iroh) Reduce flakyness of holepunching test (#3877) - (8ed8cfa)
Mark test_active_relay_inactive as non flaky - (e620b5e)
Reduce testing rounds in potentially slow tests (#3782) - (45a8b7d)
Improve timeouts for shutdown and reduce some more test rounds - (95dee08)
βοΈ Miscellaneous Tasks
(ci) Cache more deps (#3773) - (f0ab853)
(ci) Improve netsim perf and logging + update to lld (#3793) - (f0e5094)
(dependabot) Skip patch versions (#3885) - (6975379)
Only patch quinn directly - (1a5c4dd)
Fixup deny - (d0707e8)
Fixup wasm test - (a28d1fb)
Update to quinn@main-iroh (#3716) - (e22c001)
Update iroh-quinn (#3718) - (2cf93a5)
Cargo update (#3744) - (dd280b8)
Update iroh-quinn (#3753) - (9e34569)
Update quinn to use main branch (#3777) - (ff7118e)
Update quinn (#3781) - (116513d)
Switch from tracing-test to n0-tracing-test (#3787) - (e45600b)
Update to latest iroh-quinn (#3795) - (b68c057)
[breaking] Rename Discovery to AddressLookup (#3853) - (6ad5ac4)
Release prep (#3889) - (9130711)
Release - (d5299bf)
Bench
Add ipv6 option and metrics feature - (147e6bb)
Deps
(multipath) Bump netdev (#3667) - (6ef582d)
Bump quinn in feat-multipath (#3723) - (51ba699)
Example
Add qlog support to transfer example - (6bca5d0)
Examples
(iroh) In transfer example print stats independent of endpoint shutdown (#3872) - (5c4b9b4)
Improve transfer example (#3873) - (f4bfc9d)
Multipath
Merge main (#3674) - (d538b11)
0.95.1 - 2025-11-05
π Bug Fixes
Removal of path selection missed a cfg attribute - (8f1cb97)
π Refactor
[breaking] Make OutgoingZeroRttConnection implement Clone (#3607) - (721bd2d)
βοΈ Miscellaneous Tasks
Release - (9f00137)
0.95.0 - 2025-11-04
β°οΈ Features
(iroh-relay) Allow for extension of RelayMaps (#3575) - (45e1f48)
Add new NA west default relay (#3599) - (828789a)
Make Connection::remote_id and Connection::alpn infallible (#3556) - (e2dc591)
π Bug Fixes
Remove "https" from NA west url (#3600) - (c2bdbe2)
Stop relay actor on endpoint close (#3601) - (30c23e8)
π Refactor
[breaking] Convert from snafu to n0-error (#3561) - (7b9c95b)
π Documentation
(iroh) Fix documentation on endpoint::Builder::empty (#3592) - (71d5136)
(iroh) Clarify ProtocolHandler::accept (#3567) - (406bfde)
βοΈ Miscellaneous Tasks
(iroh) Update wasm-bindgen version to fix CI (#3589) - (0f4c15c)
[breaking] Update redb to version 3 (#3562) - (b057b91)
Fix typos - (a5ca365)
Release - (238925a)
0.94.1 - 2025-10-22
π Bug Fixes
(iroh-base) Add serde support for Signature (#3568) - (ad23e1a)
βοΈ Miscellaneous Tasks
Release - (edd4fc7)
0.94.0 - 2025-10-21
β°οΈ Features
(iroh) Allow to override provenance for StaticProvider (#3527) - (3d92f6b)
(iroh) [breaking] Allow dynamic changing of the RelayMap of an endpoint (#3522) - (7a0644f)
(iroh) Introduce endpoint presets (#3523) - (2d367f9)
(iroh-base) [breaking] Reduce external types in the iroh-base API for keys (#3529) - (b45ae27)
(iroh-relay) [breaking] Remove support for legacy headers (#3539) - (f7692df)
[breaking] Transport generic EndpointAddr (#3554) - (9cb4020)
π Bug Fixes
(iroh) Improve reusing of QAD reports (#3512) - (b2a55bf)
Flakey test simple_node_id_based_connection_transfer (#3534) - (0f86c38)
π Refactor
(iroh) [breaking] Finish removal of add_node_addr from public api (#3528) - (c2fce51)
(iroh) Remove stun-rs (#3546) - (bafde6f)
(iroh-base) [breaking] Move tickets into their own crate (#3544) - (25cea67)
(iroh-relay) [breaking] Improve relay map api (#3563) - (a6b8456)
[breaking] Rename Node to Endpoint in all cases (#3542) - (bfc6ba0)
π Documentation
(iroh) Fix docstring for ProtocolHandler (#3558) - (b7baaeb)
π§ͺ Testing
(iroh) Fix flaky test_active_relay_inactive - (b29c158)
βοΈ Miscellaneous Tasks
(dpes) Bump iroh-relay deps (#3547) - (4ed700e)
Update copyright dates (#3543) - (5eaf52a)
Update deps & remove unused deps (#3564) - (a63bcfd)
Release - (dd99737)
0.93.2 - 2025-10-13
π Bug Fixes
(iroh) Ensure initial addresses are published via discovery (#3525) - (ca85faa)
βοΈ Miscellaneous Tasks
Release - (b39b325)
0.93.1 - 2025-10-09
π Documentation
Fix docs.rs docs generation (#3514) - (5f54493)
βοΈ Miscellaneous Tasks
Release - (8677fd8)
0.93.0 - 2025-10-09
β°οΈ Features
(iroh) [breaking] Add MdnsDiscoveryBuilder::service_name method (#3482) - (9a88cc5)
(iroh) [breaking] Introduce online method (#3467) - (d815cae)
(iroh) [breaking] Make direct_addresses always be initialised (#3505) - (33aca18)
Make fmt_short return an impl Display so we can avoid an allocation. (#3460) - (5285cc0)
Upgrade redb to v3 compatible format (#3483) - (2b36b77)
Add a DNS resolver trait (#3473) - (7bd657e)
Add a builder for DnsResolver (#3475) - (1fb68ef)
Upgrade to rand@0.9 (#3465) - (78649a3)
Congestion metrics (#3491) - (b6c60d3)
π Bug Fixes
(iroh) Convert to canonical IP address in IpSender (#3506) - (44c3c27)
(iroh) Updated relays, and transfer example fixes (#3510) - (da311a6)
(relay) Respect enable_relay flag (#3481) - (427fcad)
Force reqwest to always use rustls backend (#3486) - (60d5310)
impl<T: Discovery> Discovery for Arc<T> (#3495) - (f5381bc)
0rtt flakes (#3496) - (9e61af5)
π Refactor
(iroh) [breaking] Remove Endpoint::add_node_addr (#3485) - (0ffadef)
Rename last two local_endpoints usages to direct_addresses (#3472) - (9c8540f)
[breaking] Switch to iroh headers for captive portal checks (#3488) - (d6f33f9)
[breaking] Move examples deps to non-wasm dev deps (#3509) - (81e340f)
π Documentation
(iroh) Add screening-connection example (#3360) - (797fae6)
βοΈ Miscellaneous Tasks
Bump some spans up to warn, to ensure they are logged (#3466) - (2e42085)
Enable dependabot for crates and docker (#3497) - (968a70b)
Update git deps - (b4114fa)
Release - (7a8b97c)
0.92.0 - 2025-09-18
β°οΈ Features
(iroh) [breaking] Add passive mode for mdns discovery (#3401) (#3403) - (c5a623c)
(iroh) [breaking] Emit mDNS expiry events (#3409) - (150b841)
(iroh-base) Impl Deref for PublicKey (#3438) - (fa1e946)
Allow configuring the max number of TLS tickets (#3442) - (d6f4fa9)
π Bug Fixes
(iroh) Add jitter to dns retry calls (#3447) - (f3da758)
π Refactor
(iroh) Re-batch datagrams inside RelayTransport instead of the ActiveRelayActor (#3421) - (b791123)
π Documentation
(iroh-relay) Remove incorrect help text about default config file creation (#3258) (#3446) - (4583b12)
βοΈ Miscellaneous Tasks
(github) Update issue template (#3450) - (5e185bd)
Update some dependencies (#3453) - (048001d)
Make net reports serde (#3454) - (e8eb1dd)
Add test-utils cfg for insecure_cert call in the transfer example (#3458) - (c81fe21)
Release - (b7cd352)
Cargo
Add aarch64-linux-gnu-gcc linker (#3441) - (fb37550)
0.91.2 - 2025-08-18
β°οΈ Features
(iroh-base) Derive Hash for NodeAddr (#3428) - (2308388)
π Bug Fixes
(iroh) Fix very slow initial connection establishment (#3434) - (59d1432)
(iroh-relay) Don't double-count connection accepts (#3436) - (8c558a1)
βοΈ Miscellaneous Tasks
Release - (d9dbbe6)
0.91.1 - 2025-08-04
β°οΈ Features
Use quinn multipath - (c17a870)
π Bug Fixes
(iroh) Always update the best addr after changes (#3422) - (36842d5)
(iroh) Use valid available IPv6 address, ignoring have_ipv6 (#3419) - (fe7240d)
π Documentation
Grammar nitpick (#3383) - (026dffc)
βοΈ Miscellaneous Tasks
Release - (e30c788)
0.91.0 - 2025-07-30
β°οΈ Features
(iroh) Update to new relay servers (#3412) - (f3e4307)
(iroh,iroh-relay) [breaking] Use stride instead of custom split protocol, send ECN bits (#3389) - (f3fd988)
(iroh-relay) [breaking] Implement new handshake protocol, refactor frame types (#3331) - (3a1592a)
[breaking] Update to edition 2024 and update deps to latest (#3386) - (e2cfde7)
Add the timeout duration to the relay dial error (#3406) - (db36c65)
π Bug Fixes
(iroh) Use std Mutex instead of tokio Mutex (#3374) - (eb383a6)
(iroh) Track path validity for all paths and replace BestAddr with PathValidity (#3400) - (a3187ca)
(iroh) Re-batch received relay datagram batches in case they exceed max_receive_segments (#3414) - (a8485ad)
(iroh) Only clear last_call_me_maybe when the best addr became invalid (#3415) - (bcb60d4)
(iroh-relay) Fix proptests, make Datagrams::segment_size be an Option<NonZeroU16> (#3404) - (75fd57c)
Fix dht publishing at startup (#3397) - (dd1d692)
Better tracing spans (#3399) - (f8f7f95)
Add missing use<> for wasm_browser (#3411) - (91c2e63)
Wait for at least one ipv6 and ipv4 qad report (#3413) - (b755db4)
π Refactor
(iroh,iroh-relay) Remove legacy relay path, make websocket connections default (#3384) - (0776687)
π Documentation
(iroh) Use iroh::Watcher reexport in docs (#3375) - (9c023bf)
π§ͺ Testing
(iroh) Make endpoint_relay_connect_loop not flaky (#3402) - (8426241)
βοΈ Miscellaneous Tasks
(iroh) Update n0-watcher (#3405) - (2ce6a73)
(iroh) Update portmapper (#3410) - (ee08341)
Release - (36ddb5b)
0.90.0 - 2025-06-26
β°οΈ Features
(iroh) Allow protocols to gracefully shutdown connections (#3319) - (da571c1)
(iroh) [breaking] Make ProtocolHandler use async functions (#3320) - (e36ac77)
(iroh) [breaking] Remove deprecated x509 libp2p TLS authentication (#3330) - (136b855)
(iroh) [breaking] Introduce transport abstraction (#3279) - (d915bfd)
(iroh) Re-export n0_watcher::Watcher trait (#3356) - (bc6e9e3)
(iroh) [breaking] Expose DynProtocolHandler (#3366) - (056df1d)
Make Endpoint::node_addr watchable and add trait Watcher & combinators (#3045) - (7911255)
[breaking] Concrete errors (#3161) - (75eae87)
Add methods to create variants of the iroh-base::ticket::ParseError enum. (#3362) - (1859de3)
π Bug Fixes
(iroh) Correctly hook up ipv6 addr lookups (#3342) - (b8b5bc3)
(iroh-base) [breaking] Remove display impl for SecretKey (#3364) - (19323e6)
Remove unneeded lifetime bound for watcher in wasm (#3354) - (84dd511)
π Refactor
(iroh) [breaking] Simplify discovery errors (#3340) - (fad99ab)
(iroh) [breaking] Rename ProtocolError to AcceptError (#3339) - (d4de591)
(iroh) [breaking] Rework net_report (#3314) - (dcbebe9)
(iroh) [breaking] Add IntoDiscovery trait (#3327) - (7f2cdd1)
(iroh-relay,iroh) Slightly clean up staggered DNS errors (#3337) - (444c76b)
π§ͺ Testing
(iroh-relay) Add 300ms timeout to the test_qad_client_closes_unresponsive_fast test (#3332) - (b647af9)
βοΈ Miscellaneous Tasks
()* Upgrade to the latest iroh-metrics, portmapper, and swarm-discovery (#3369) - (79bc05b)
(iroh) [breaking] Change default relays to new "canary" relays (#3368) - (6e72f20)
(iroh-relay) Make QAD test non-flaky by using tokio's paused time (#3341) - (2b6c258)
(iroh-relay) Fix cargo check warning (#3346) - (c7cf08d)
Make clippy 1.87 happy (#3318) - (02acba9)
Update project_sync workflow (#3325) - (518400b)
Release - (ac2a3f2)
Bugfix
Use staging relay in n0_dns_pkarr_relay (#3335) - (aebbc72)
Example
Example for 0rtt that can also serve as a benchmark (#3323) - (b0b11f0)
Iroh
(deps) Dedupe lru and webpki (#3306) - (ba07bcc)
0.35.0 - 2025-05-12
β°οΈ Features
(iroh) Allow connecting with "fallback" ALPNs (#3282) - (839bfaa)
(iroh) Add net-report method on the iroh::Endpoint that returns a Watchable<Report> (#3293) - (3448b4b)
(iroh,iroh-relay) Enable proxying and test-utils support for websockets, allow configuring websockets in endpoint::Builder (#3217) - (8a24a95)
(iroh-relay) [breaking] Adjust APIs to make it easier to create RelayMaps from lists of RelayUrls (#3292) - (cd0a47a)
Update to axum@0.8 (#3274) - (1d79f92)
[breaking] Metrics refactor (#3262) - (1957ca8)
Fix minimal crates selection (#3255) - (a62a2bd)
Improve transfer, publish, resolve examples (#3296) - (30577d3)
π Bug Fixes
(iroh) [breaking] Update dependencies & fix 0-RTT with newer rustls by pulling the expected NodeId out of the ServerName in verifiers (#3290) - (af882a6)
(iroh-dns-server) Backwards compatibility for packets stored with iroh-dns-server v0.34 or lower (#3295) - (74b8baa)
(iroh-dns-server) Fixes for packet expiry (#3297) - (146f423)
(iroh-relay) Don't stop relay client actor if queues become full (#3294) - (f3c9af3)
βοΈ Miscellaneous Tasks
(iroh) Add echo-no-router.rs example (#3267) - (7e13aa3)
Update to mozilla-actions/sccache-action@v0.0.9 (#3268) - (792e6c4)
Release - (31895bf)
Deps
[breaking] Update pkarr to v3 (#3186) - (7b4bce8)
0.34.1 - 2025-04-07
β°οΈ Features
(iroh) Move iroh-net-report back into iroh (#3251) - (d6bc83f)
(iroh-relay) Allow to authenticate nodes via a HTTP POST request (#3246) - (592c3b5)
π Bug Fixes
(iroh) Reduce log-level of unknown pong message (#3242) - (cf3e650)
(iroh) Reap ActiveRelayActor handles for idle relays (#3249) - (528a32c)
Backoff before retry if relay connection terminates (#3254) - (bc6e98c)
βοΈ Miscellaneous Tasks
(iroh) Update from alpha to release 0.25 hickory (#3256) - (26289ca)
(iroh) Don't depend on unused rustls-platform-verifier dependency (#3257) - (42b605e)
(iroh-relay) Fix README.md instuctions to enable server feature (#3239) - (7588135)
Release - (b43e013)
Deps
Bump tokio to 1.44.2 (#3259) - (e109e6d)
0.34.0 - 2025-03-17
β°οΈ Features
(iroh) Enable netwatch::netmon::Monitor and the metrics feature in Wasm (#3206) - (7acfe39)
(iroh) [breaking] Allow for limiting incoming connections on the router (#3157) - (3e16848)
(iroh) [breaking] Switch TLS authentication to raw public keys (#2937) - (d8c8c8e)
[breaking] Add DiscoveryItem::user_data method and adjust locally-discovered-nodes example (#3215) - (f6b5f5c)
π Bug Fixes
(iroh) Don't cause re-stuns all the time in browsers (#3234) - (ef3645e)
(iroh-base) [breaking] Remove unused getrandom dependency (#3202) - (0c7a122)
(iroh-relay) Report round-trip-latency instead of single-trip for QAD (#3230) - (00f8309)
(relay) [breaking] Change default cert format from der to pem (#3204) - (4930837)
Update project_sync (#3213) - (aa7463b)
π Refactor
(iroh) Factor out socket-related state & construction into magicsock::SocketState and ActorSocketState (#3203) - (2a49265)
(iroh, iroh-net-report) [breaking] Make ports more private (#3207) - (906250b)
π Documentation
(iroh) Fix quicwg.org link (#3235) - (f09c89e)
βοΈ Miscellaneous Tasks
Switch from backoff to backon (#3227) - (14795ab)
Release - (82eb549)
0.33.0 - 2025-02-24
β°οΈ Features
(iroh) Enable applications to establish 0-RTT connections (#3163) - (f0abede)
(iroh) Add subscription stream to watch all discovery results (#3181) - (695f7c1)
(iroh) Publish and resolve user-defined data in discovery (#3176) - (ac78cf2)
(iroh) Make iroh compile to wasm32-unknown-unknown (#3189) - (247b891)
(iroh-net-report) Support wasm32 building & running (#3139) - (6f923a3)
(iroh-relay) Make Endpoint::close faster by aborting QAD connections faster (#3182) - (f640e83)
π Bug Fixes
(iroh) Allow gracefully closing connections (#3170) - (d9a5b8e)
(iroh-relay) Fix the number of active relay connections (#3194) - (397d08d)
(iroh-relay) Bring back unique node counts (#3197) - (892c767)
Update hickory resolver to 0.25.0-.alpha.5 (#3178) - (a4fcaaa)
π Refactor
(iroh) Store quic config, instead of recreating (#3171) - (9eccb05)
[breaking] Use a single DNS resolver (#3167) - (c39b998)
[breaking] Streamline discovery and node info types (#3175) - (3e3798f)
π§ͺ Testing
(iroh-net-report) Do not ping hosts on the internet (#3172) - (d43d474)
βοΈ Miscellaneous Tasks
Add additional todos in the "change checklist" (#3180) - (31efead)
Release - (d551ead)
0.32.1 - 2025-02-05
π Bug Fixes
(iroh) Ensure passing a crpyto provider to rustls clients (#3169) - (34c10bc)
βοΈ Miscellaneous Tasks
Release - (fc24a92)
0.32.0 - 2025-02-04
β°οΈ Features
(iroh) Allow customising the TransportConfig for connections (#3111) - (2b92db4)
(iroh) [breaking] Wrap the Connection struct so we own the type (#3110) - (2e61ff2)
(iroh) [breaking] Remove access to local and remote IP addresses (#3148) - (08bd2a1)
(iroh-relay) Make the client side of iroh-relay compile & run in browsers (#3119) - (03e3e3c)
[breaking] Add QUIC Address Discovery to iroh (#3049) - (243a04a)
π Bug Fixes
(iroh) Remove quinn::Endpoint::wait_idle from iroh::Endpoint::close process (#3165) - (a1d21c6)
(iroh-net-report) Only add QUIC ipv6 probes if we have an ipv6 interface (#3133) - (9275d22)
(iroh-relay) Fix client actors not closing (#3134) - (e5bbbe1)
Handle invalid input length when parsing a node id (#3155) - (a8d058f)
π Refactor
(iroh) Replace timer module with AbortOnDropHandle and sleep (#3141) - (43e9805)
Use n0-future in favor of futures-* libraries and tokio::{spawn,task,time} (#3156) - (617fa50)
[breaking] Remove iroh-test crate (#3162) - (7b6884f)
Cleaning up unnecessary logs (#3164) - (9a75d14)
π Documentation
Fix typos in README (#3144) - (c532de3)
βοΈ Miscellaneous Tasks
Remove individual repo project tracking (#3135) - (eadc76b)
New project syncing setup (#3136) - (96e6220)
Update broken echo.rs link (#3151) - (e049965)
Release - (fa66d88)
0.31.0 - 2025-01-14
β°οΈ Features
(iroh) Implement Discovery for Arc'ed Discovery types (#3107) - (f675525)
(iroh-relay) [breaking] Implement authentication (#3086) - (2c42eff)
(iroh-relay) Send regular pings to check the connection (#3113) - (cd12da3)
(relay) [breaking] Relay only mode now configurable (#3056) - (5aba17e)
Make Endpoint::close infallible (#3112) - (870c76e)
Allow dns discovery in transfer example (#3121) - (a5bb926)
π Bug Fixes
(dns) Segfaults in pkarr (#3120) - (04d43a6)
(iroh) Set MaybeFuture to None on Poll::Ready (#3090) - (6599ea6)
(iroh) Parse DNS answer with multiple records into a proper NodeAddr (#3104) - (024ab7f)
(iroh) Remove superflious info log (#3080) - (423a986)
(iroh) Implement Clone for StaticProvider discovery (#3108) - (65cf688)
(iroh) Queue sent datagrams longer (#3129) - (e756710)
(iroh) Return error if disco send via relay fails (#3130) - (35af23e)
(iroh, iroh-relay) [breaking] Optimise the relay datagram path through the MagicSock (#3062) - (7ad531e)
(iroh-relay) Removes deadlock in Clients (#3099) - (c650ea8)
(iroh-relay) Cleanup client connections in all cases (#3105) - (f08d560)
[breaking] Cleanup dead and unused dependencies (#3070) - (a37dcfc)
Correctly set publishing details for pkarr records (#3082) - (7bdae88)
Try improving relay_datagram_send_channel() (#3118) - (594b861)
π Refactor
(iroh) Magical pin projections (#3060) - (a4d4e7d)
(iroh) ActiveRelayActor terminates itself (#3061) - (693922a)
(iroh) Simplify RTT actor (#3072) - (1cd0e96)
(iroh) Remove CancellationToken from Endpoint (#3101) - (9cef520)
(iroh, iroh-relay) [breaking] Do reconnection in ActiveRelayActor (#3058) - (272b6c4)
(iroh-base) Introduce an Arc into RelayUrl (#3065) - (834ab78)
(iroh-relay) Rename DerpCodec to RelayCodec (#3059) - (dfa0a2c)
(iroh-relay) [breaking] Server actor task is not a task or actor anymore (#3093) - (f50db17)
π Documentation
(iroh) Update discovery docs, mostly StaticProvider (#3109) - (eb90bfc)
(iroh-relay) README.md: config.toml must use [tls] instead of [tlsconfig] (#3126) - (4e2641d)
π§ͺ Testing
(iroh) Make test_relay_datagram_queue less timing dependent (#3106) - (3fedee9)
(iroh) Add some context to test errors (#3066) - (1ae820d)
βοΈ Miscellaneous Tasks
()* Run flaky tests with --verbose and use ci profile (#3063) - (bc4f3ca)
Pin an older nextest version (#3088) - (8873190)
Add project tracking (#3094) - (d236e04)
Bug Report issue template (#3085) - (60ba9ac)
Use variable to construct URL (#3122) - (3891778)
Upgrade portmapper and netwatch deps (#3127) - (7ba6321)
Release - (87e25f9)
0.30.0 - 2024-12-16
β°οΈ Features
(iroh) [breaking] Remove get_protocol and the plumbing required for it (#3009) - (1323c9a)
(iroh) Remove Arc requirements from ProtocolHandler (#3010) - (8dfbc35)
(iroh, iroh-relay) [breaking] Remove Endpoint::connect_by_node_id and add #[doc(cfg(...))] annotations (#3015) - (95bcb62)
(iroh-dns-server) [breaking] Eviction of stale zonestore entries (#2997) - (74884f1)
(iroh-net) Add a Watchable struct for use in the Endpoint API (#2806) - (1a79a19)
(iroh-net-report) [breaking] Add QUIC address discovery probes (#3028) - (cf0f8cc)
(iroh-relay) [breaking] Use explicit key cache (#3053) - (d4f72fa)
(net-report) [breaking] Add net_report::Options to specify which probes you want to run (#3032) - (ac74c53)
(relay) Reloading certificate resolver (#2999) - (c37895b)
Implement RelayDatagramsQueue (#2998) - (b76500d)
[breaking] Reduce default feature dependents (#3005) - (321d8ff)
[breaking] Bump MSRV to 1.81 (#3033) - (6e009a8)
[breaking] Update to iroh-metrics@0.30.0 and portmapper@0.3.0 (#3054) - (dcd0b40)
π Bug Fixes
(iroh) Poll all AsyncUdpSocket sources fairly (#2996) - (26c5248)
(iroh, iroh-relay) [breaking] Bypass magicsock::Actor for datagrams from the relay (#2986) - (0d06320)
(iroh-dns-server) Remove accidental blocking from store (#2985) - (647b2fd)
π Refactor
(iroh) Remove with_cancel, use run_until_cancelled (#3000) - (f75a04b)
(iroh) Remove unused rate limiter (#3007) - (b2b070f)
(iroh) Rename the relay-is-ready-to-send waker (#3014) - (79bf3c3)
(iroh) [breaking] Remove dialer::Dialer (#3022) - (6a62c80)
(iroh) [breaking] Make iroh::tls private (#3018) - (0fe7e8b)
(iroh) [breaking] Improve reexport structure (#3023) - (d9fb470)
(iroh) Add send queue between relay actor and relays (#3026) - (af5a8c2)
(iroh) Rename ConnectedRelayActor to ActiveRelayActor (#3027) - (80bc8a3)
(iroh) Newtype the packet sent over relay servers (#3030) - (e7503c0)
(iroh) Remove genawaiter usage from dht discovery (#3048) - (738c773)
(iroh) Remove ActiveRelayMessage::GetClient (#3041) - (1ba140f)
(iroh, iroh-relay) JoinSet disabling in tokio::select! (#3052) - (a6f502c)
(iroh-base) [breaking] Remove hash and BlobTicket (#3036) - (ee72f6d)
(iroh-base) [breaking] Remove base32 module (#3042) - (542f56d)
(iroh-base) [breaking] Reduce dependencies (#3046) - (4a774f1)
(iroh-base) Remove automatic key caching (#3051) - (58df1d8)
(iroh-dns-server) Move db ops into an actor and implement write batching (#2995) - (cd9c188)
(iroh-relay) [breaking] Always allow acking pings (#3011) - (97082ec)
(iroh-relay) [breaking] Remove usesed errors. (#3012) - (c5d9e68)
(iroh-relay) [breaking] Remove async requirement from address_family_selector (#3044) - (8ec0d73)
Remove AddrInfo (#3024) - (6a988a5)
Remove parking-lot dependency (#3034) - (08671bb)
[breaking] Make PUBLIC_KEY_LENGTH a const that is on PublicKey (#3043) - (218aad3)
Unify hex encoding with data-encoding (#3047) - (a338289)
π Documentation
()* Use doc-auto-cfg feature (#3029) - (3e31196)
Update README.md (#3019) - (ad6c535)
π§ͺ Testing
(iroh) Packet loss is expected with socket rebinding (#3001) - (e575af2)
βοΈ Miscellaneous Tasks
(iroh, iroh-relay) Avoid a duplicate tungstenite dependency (#3006) - (566d7eb)
Bump netsim setup (#3004) - (a3f0497)
Update to hickory =0.25.0-alpha.4 (#3021) - (9f4ca84)
(Deps) Update swarm-discovery to avoid idna <= 0.5 dep (#3025) - (095fcc7)
Don't log expected errors (#3016) - (fdb687f)
Clean up some bits (#3039) - (3be22f3)
Remove version from local dev-deps - (2275bee)
Release - (9be85dd)
0.29.0 - 2024-12-02
β°οΈ Features
(iroh) Make all important iroh_base types available (#2975) - (73c9b75)
(iroh) Improve Router shutdown (#2978) - (fbcaaa5)
(iroh) Improve shutdown interactions (#2980) - (e461cca)
(iroh-base, iroh-net-report) [breaking] Intro net-report as a crate (#2921) - (a5e9283)
(iroh-net) Implement the https probe (#2903) - (91d44dc)
(iroh-net) Allow the underlying UdpSockets to be rebound (#2946) - (cc9e4e6)
(iroh-relay) Rate-limit client connections (#2961) - (c999770)
(iroh-relay) [breaking] Add a QUIC server for QUIC address discovery to the iroh relay. (#2965) - (b2cb0ca)
[breaking] Add iroh-relay crate (#2873) - (59b5bf9)
Simple iroh (#2968) - (32f1fcd)
Update to iroh-metrics@0.29.0 (#2992) - (078d1a6)
Extract iroh-node-util (#2993) - (92d9864)
π Bug Fixes
(ci) Try to reuse msys2 dep (#2956) - (4e58b1f)
(iroh) Remove iroh dev self dep (#2974) - (7057d72)
(iroh-dns-server) Actually use async fs in load_secret_key (#2943) - (7c19da4)
(iroh-net) Do not return a port for reqwest DNS resolver (#2906) - (81c8ff7)
(iroh-net) Make sure the rtt-actor is shutdown correctly (#2914) - (c96b032)
(iroh-net) Fix memory leaks in the iroh-relay server (#2915) - (e2c3c98)
(iroh-relay) Do not use spawn_blocking in stun handler (#2924) - (1084400)
(netwatch) BSD rebind socket on errors (#2913) - (c451750)
(netwatch) Hold on to netmon sender reference in android (#2923) - (4bd4df7)
Update to patched iroh-gossip 0.28.1 - (bd44719)
Enforce cc@1.1.31 (#2907) - (68c6184)
Remove problematic usage of else branches in tokio::selects (#2940) - (ccfc700)
π Refactor
(iroh) [breaking] Move blobs and tags rpc client and server to iroh-blobs (#2874) - (d6a32f4)
(iroh) Extract docs RPC into iroh-docs (#2868) - (289b4cf)
(iroh) [breaking] Get rid of some dependencies (#2948) - (73e7d44)
(iroh) [breaking] Extract net and node rpc (#2927) - (f174c8e)
(iroh-cli) [breaking] Use blobs and tags cli from iroh-blobs crate (#2942) - (f9e883d)
(iroh-cli) [breaking] Use docs and authors cli from iroh-docs crate (#2947) - (ad91831)
(iroh-cli) [breaking] Use gossip cli from iroh-gossip crate (#2945) - (fcc105b)
(iroh-cli) [breaking] Use config and logging from iroh-node-utils (#2953) - (3ff914d)
(iroh-cli) [breaking] Move net and node cli into iroh-node-util under the cli feature (#2954) - (cbf7fd0)
(iroh-net) Remove dead code in relay http-server (#2908) - (23b874c)
(iroh-relay) Improve overall server structure (#2922) - (0e57292)
(iroh-router) [breaking] Change accept to take an AsRef<[u8]> (#2963) - (4e3b431)
[breaking] Remove default protocols and iroh-cli (#2928) - (a956319)
Move iroh-router into iroh-net and rename iroh-net to iroh (#2973) - (f7764ef)
Cleanup internal dependency references (#2976) - (fb20176)
Extract iroh-metrics into its own repo (#2989) - (df591bc)
Extract net-tools (#2991) - (574337a)
π Documentation
(iroh-dns-server) Fixup rate limit config docs (#2894) - (8d8baf5)
(iroh-net) Explain when sockets are closed (#2892) - (a4ad7a2)
Format code in doc comments (#2895) - (b17b1f2)
Fixup changelog for 0.28.1 (#2899) - (0a7a534)
Rewrite README (& add echo.rs example) (#2960) - (4abfd61)
π§ͺ Testing
(iroh) Feature-flag the doc test (#2983) - (b30f218)
(iroh-cli) Increase wait on windows resumption tests (#2919) - (f80dd3f)
(iroh-relay, netcheck) Move tests to use local relays (#2935) - (8edaee9)
βοΈ Miscellaneous Tasks
(ci) Easy manual builds for binaries (#2890) - (fcf89a6)
(ci) Fix uploads of release artifacts (#2891) - (1409bc4)
(ci) Fix uploads of release artifacts again (#2893) - (258eb33)
(ci) Fix for asset bundles (#2898) - (911d7a6)
(ci) Reduce sccache size (#2988) - (8c00f7b)
(iroh) Rename target for events (#2977) - (43d0ea4)
(iroh-dns-server) Cleanup some code (#2941) - (fbcb056)
(iroh-node-util) Add iroh-node-util to tests (#2955) - (63336ab)
(iroh-relay) Fixup docs feature config (#2920) - (7084262)
Update Cargo.lock - (f3398b4)
Release - (d0994a0)
Release - (30e3cb3)
Update deny.toml (#2888) - (57cd2ab)
Accept unmaintained crate for now (#2918) - (bf603e8)
Kill tests after 60s using nextest (#2900) - (ba1ffa1)
Fix important readme design issue (flat square style consistency) (#2931) - (5acce9c)
Extend CI build job config (#2929) - (1479b45)
Adapt to latest main in iroh-gossip and iroh-docs (#2936) - (09c54e4)
Prune some deps (#2932) - (e675bba)
Remove cc version requirement & update lockfile to cc v1.2.1 (#2969) - (0a5379b)
Release - (80a40c0)
Ref
(iroh) Remove unused function (#2984) - (4ffbd13)
(iroh-metrics, iroh-relay) Remove the UsageStatsReporter (#2952) - (8b7611e)
(iroh-net) [breaking] Make Endpoint::close not consume self (#2882) - (50f66dd)
0.28.1 - 2024-11-04
π Bug Fixes
Switch to correctly patched quic-rpc and iroh-quinn - (d925da4)
π Documentation
Fixup changelog - (5066102)
βοΈ Miscellaneous Tasks
Release - (134a93b)
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
(ci) Identify which repository the flakes are reported for (#2824) - (b2e587d)
(iroh-net) Fixup portmapper version - (37f620d)
Add iroh-router to crates list (#2850) - (2d17636)
Release - (860b90f)
Release - (8bae5c3)
Release - (d6c39c9)
Release - (2073bf4)
Upgrade 0.28 iroh-net - (13da047)
Release - (5751521)
Release - (5437dbb)
Upgrade 0.28 iroh-router - (297b874)
Update 0.28 iroh-docs, iroh-gossip, iroh-blobs - (7e80a92)
Release - (fa926be)
Release - (4c58bd8)
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
()* Document cargo features in docs (#2761) - (4d41a69)
(iroh) Enable iroh_docsrs feature (#2780) - (234a856)
(iroh-base) Clarify AddrInfoOptions a little (#2813) - (a36970a)
(iroh-net) Add examples to discovery (#2786) - (ab3afef)
(iroh-net) Add examples to the module docs (#2785) - (39d4bd9)
(iroh-net) Some more example tweaking (#2811) - (af8c474)
(iroh-net) Document cfg(test) items as well (#2819) - (a03a08e)
(relay) Fix typos in map.rs (#2773) - (73ca58a)
π§ͺ Testing
(iroh) Mark test_blob_delete_mem as flaky (#2784) - (730f717)
βοΈ Miscellaneous Tasks
(iroh-net) Upgrade igd-next, remove hyper 0.14 (#2804) - (5e40fe1)
Format imports using rustfmt (#2812) - (8808a36)
Increase version numbers and update (#2821) - (71b5903)
Release - (3f5b778)
Deps
()* Update futures-util (#2790) - (75d8019)
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
(ci) Redo netsim CI (#2737) - (443139d)
(iroh-net) Various logging improvements (#2744) - (2262fd5)
(iroh-net) Remove PathState::recent_pong() (#2745) - (cafdc08)
π 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
Release - (01c2bac)
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
(ci) Move mac builds over to arm box (#2675) - (1df0813)
(iroh-net) Remove direct dependency on rand_core (#2719) - (b6a64e0)
Fix clippy@1.81.0 and cargo deny (#2714) - (52422cd)
Remove double spellchecks (#2720) - (a733143)
Release - (285101e)
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
(ci) Use nextests groups to isolate some tests (#2617) - (a5072c3)
Fix deps issues (#2643) - (83f6fcc)
Release - (855e1bb)
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
(iroh-net) Remove need for relay info in best_addr (#2579) - (d662bfc)
Fix clippy warnings (#2550) - (73de21b)
Generate docs for each PR (#2547) - (0812333)
Release - (d54a5de)
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
(iroh-net) Fix broken HTTP/3 link (#2485) - (a5a2324)
(iroh-net) Improve Endpoint::accept docs (#2492) - (79a2768)
π§ͺ 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 :grimacing: (#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
(ci) Deny aws-lc backend to sneak in (#2436) - (6aef6aa)
(ci) Separate out android builds & disable netbsd (#2435) - (002f5d5)
(ci) Use pre-compiled binary on CI (#2429) - (cdad25a)
(docs) Update readme (#2465) - (61f3f7e)
(iroh) Improve and document custom-protocol example (#2468) - (203f9e7)
Introduce crate-ci/typos (#2430) - (c58f744)
Release - (264848c)
Deps
(iroh-net) Bump netdev (#2447) - (b5dc795)
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
(iroh-net) Update NodeAddr docs (#2365) - (53dfed1)
(iroh-net) A few small fixes from PR review (#2375) - (ea7e654)
Fix spelling in new protocol handler docs (#2385) - (f73c506)
π§ͺ Testing
(iroh-net) Remove a flaky test (#2379) - (d37a4a4)
βοΈ Miscellaneous Tasks
Deny openssl (#2372) - (ac72938)
Release - (3659628)
Deps
Bump curve25519-dalek (#2382) - (96081e5)
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
Disable a flaky tests (#2332) - (23e8c7b)
βοΈ Miscellaneous Tasks
(ci) Update clippy (#2351) - (7198cd0)
Release - (ea50b94)
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)
[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
(iroh-gossip) Fix net smoke test (#2314) - (8ad6ff1)
βοΈ Miscellaneous Tasks
Minimize use of raw base32 in examples (#2304) - (1fafc9e)
Release - (5ad15c8)
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
(iroh) Test sync with restarting node (#2146) - (ec1e1d2)
(iroh-net) Fix relay's codec proptesting (#2283) - (5343cea)
Disable flaky tests on windowns again (#2267) - (6cc12d8)
βοΈ Miscellaneous Tasks
Release - (531829d)
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
Improve breaking change handling (#2207) - (d55b782)
π§ͺ 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
Rename derper > iroh-relay (#2211) - (ebe7196)
Release - (13a0bbc)
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
(ci) Upload iroh-dns-server binaries (#2189) - (d1f946e)
Move metrics init into CLI (#2136) - (319e9cc)
Remove unused dependencies (#2170) - (b07547b)
Release - (406280c)
Deps
(iroh-next) Move from igd to igd-next (#2134) - (6417816)
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
(ci) Set up a separate workflow for flaky tests (#1922) - (940b78d)
(ci) Add name to tests step (#1938) - (51cf6ed)
(ci) Run non-flaky tests again (#1948) - (41f056b)
(ci) Do not test nightly rust on every PR (#1940) - (eab55bf)
(ci) Run tests from the PR branch, not main (#1971) - (f22cbf5)
(ci) Update outdated actions (#1997) - (c69ef60)
(ci) Notify our discord channel for flaky failures (#2036) - (869ab7d)
(ci) Warn in our discord channel on failure (#2044) - (6f1e13f)
(iroh) Update quic-rpc (#2072) - (bab35c5)
(iroh-bytes) Increase redb version (#2095) - (7bb4bfc)
(iroh-bytes) Update bao-tree dependency (#2119) - (bed14d4)
(iroh-bytes) Increase iroh-bytes ALPN (#2125) - (bd57656)
(netsim) Disable netsim prometheus reports (#1923) - (b49314e)
Update dependencies in Cargo.lock (#1960) - (d5502b1)
Add conventional-commit-checker (#2020) - (983edcc)
Update Cargo.lock (#2106) - (77df843)
Release - (024a9b8)
Deps
(iroh) Update quic-rpc (#2016) - (c04307e)
Upgrade away from yanked bumpalo version (#2035) - (b90508a)
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
(iroh) Remove the addr arg from start (#1830) - (e03de38)
(iroh) Remove request token (#1828) - (1dfb7ac)
(iroh) Remove rpc port option (#1842) - (d1fcfca)
(iroh-bytes) Remove explicitly passing the runtime to the flat store (#1829) - (3d2e118)
(iroh-net) Make ControlMsg public (#1895) - (c6bc3c2)
(logging) Reduce loglevel of blob GC (#1866) - (3b1652c)
(tests) Slow down a hot loop (#1910) - (9ac88ef)
Upgrade to hyper 1.0 (#1858) - (b8aa5d6)
Streamline local endpoint discovery (#1847) - (cb20bb8)
Client Entry with methods to read content (#1854) - (690e2aa)
π§ͺ Testing
(iroh-net) Try fix flaky udp_blocked test - (0418af6)
(net) Use actual derp hostname and reduce iteration count (#1886) - (62ac4d8)
βοΈ Miscellaneous Tasks
(ci) Run cargo build for android platforms (#1843) - (227f0e8)
(ci) Configure sccache to use local caches (#1865) - (4b07c2d)
(ci) Split jobs so they do not stomp over target directory (#1871) - (b9709ef)
(ci) Pin clippy to specific nightly version (#1874) - (6433a66)
(ci) Windows sccache (#1873) - (0d9ebea)
(ci) Split release builds from regular CI flows (#1883) - (ce97cee)
(ci) Test derper deploy flow (#1884) - (a1c5b56)
(ci) Use TRACE logging for tests run by nextest (#1902) - (b789a1f)
(clippy) Fix some warnings (#1861) - (57bb691)
(docs) Update derp IP for EU region (#1880) - (5c43b1d)
(iroh,iroh-bytes) Fix manifest keywords (#1881) - (b4da5f4)
Add BSD3 license note for code derived from tailscale (#1889) - (876a0f5)
Release - (deec1d6)
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
(iroh-sync) Ensure the authors table exists (#1807) - (39ed64e)
Drop temp tag after doc insert (#1810) - (a608fe8)
Netsim should fail on all failed tests (#1816) - (199a677)
π 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
Update dependencies (#1787) - (697b80c)
Release - (0773e30)
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
(console) Blob download args (#1729) - (a916d4c)
(iroh-bytes) Ensure to flush file to disk (#1778) - (0987022)
(iroh-sync) Fix panic in send (#1773) - (c36cc6d)
(iroh-sync) Prevent panic in namespace migration (#1775) - (84ae95a)
π 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
(ci) Avoid sccache on linux aarch64 builds (#1762) - (054020b)
(console) Remove ticket separator to improve usability (#1754) - (f6c6932)
(deps) Iroh-sync - (261debf)
(iroh) Handle rpc args in any position (#1739) - (0ca61ad)
(iroh-net) Correctly set the time in which a probe is created (#1722) - (d44a7dc)
(net) Do not dial regions in parallel (#1736) - (c851fe1)
Update ahash (#1708) - (118c1d7)
Do not block on netcheck (#1745) - (8e6f5a9)
Do not wait_idle on endpoint close (#1753) - (f4735c6)
Do not block on dropping UDP sockets (#1755) - (cadb89b)
Release builds (#1763) - (c90b78d)
π 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
Disable sync_big (#1760) - (f68d55d)
βοΈ 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
Warn on unsused async fn (#1743) - (7068f33)
Example
(magic) Make arguments to connect named - (232a4ee)
0.8.0 - 2023-10-23
β°οΈ Features
(console) Improve the output of node connections and node connection (#1683) - (d0c7cac)
(iroh-net) Cache for crypto keys (#1677) - (f8f08a0)
(iroh-sync) Sync propagation (#1613) - (d07e225)
Update dependencies (#1661) - (133ca8a)
π 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
test_run_mesh_client documentation (#1697) - (d5aef12)
β‘ Performance
Improve derp connection establishment (#1631) - (615381c)
No more channels for UDP send/recv (#1579) - (d6657bd)
π§ͺ Testing
(iroh-net) Do not use fixed ports (#1689) - (8dd0509)
βοΈ Miscellaneous Tasks
()* Update tracing to fix audit failure (#1684) - (0a5a8e8)
()* Remove unused deps (#1699) - (3006791)
(derp) Update default derpers (#1622) - (d187827)
Release - (7fcb174)
Iroh-bytes
Get api improvements (#1660) - (6a630d9)
Show connection status in doctor accept / connect GUI (#1666) - (215c5fc)
Iroh-net
Doctor improvements (#1663) - (8169053)
Use BTreeSet for AddrInfo (#1672) - (a93e89e)
Release
Add changelog for v0.8.0 - (e972d53)
0.7.0 - 2023-10-11
β°οΈ Features
()* Log me (#1561) - (7e79227)
(iroh) Export path and config related tooling (#1570) - (c284793)
(iroh) Improve displaying content in the repl (#1577) - (2fd31b7)
(iroh) Use reflink if possible (#1581) - (e2ee678)
(iroh) Show content as hex when utf8 fails (#1596) - (872f3b1)
(iroh-sync) Store peers per doc (#1564) - (31f08bb)
(sync) Implement prefix deletion (#1535) - (e7fc8be)
Use BlobFormat and properly support adding raw blobs (#1518) - (f3ed0ba)
Add blobs from byte streams (#1550) - (e138400)
Leave and drop docs (#1589) - (d7a3dd3)
doc import & doc export commands (#1563) - (3c0195c)
π 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
(iroh-net) Store a single pong (#1601) - (0d17e81)
π Documentation
(changelog) V0.7.0 - (f3fe93d)
(iroh) Fix broken docs for tags subcommand... (#1573) - (bb74e2c)
Tune up docs before release (#1614) - (af06677)
β‘ Performance
(iroh-net) Simplify stun::is check (#1580) - (0b28d15)
π§ͺ Testing
(iroh-net) E2e saving and loading of peer data (#1523) - (e7e70e4)
(iroh-sync) Fix test_content_hashes_iterator_memory (#1565) - (07fa983)
βοΈ Miscellaneous Tasks
()* Make clippy happy (#1582) - (2e5e464)
(baomap) Drop all baomap logging to debug or lower (#1562) - (06b4ac7)
Add release.toml for tags - (45fa784)
Release - (0090eee)
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
Fix grammar in README (#1465) - (1df9255)
Fix link to install URL in README (#1476) - (156ce07)
Update instructions for running rust examples (#1511) - (1bf55db)
βοΈ Miscellaneous Tasks
(iroh, iroh-sync) Fill licence info (#1471) - (75fcf12)
Release v0.6.0 - (76d3fdc)
Release - (0b126b1)
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
Release - (729aa41)
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
(iroh-bytes) Improve range-spec docs (#1372) - (2076bfb)
π§ͺ 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
Release - (b2b60da)
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
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
(bytes) Add more about text to README.md (#1255) - (f9a49c5)
(iroh-net) Deny missing docs and broken links in the crate, except the derp mod - (b9715ea)
Fixup cargo doc - (d3f4a26)
Iroh-net toplevel (#1175) - (136483f)
Fill out derp documentation (#1171) - (b98851c)
Deny missing docs (#1156) - (d299092)
Add docs to RPC protocol (#1234) - (316c185)
Iroh examples (#1237) - (1cfa183)
Fill in the iroh-net README a little - (c5e4c1b)
Update root, iroh, iroh-metrics readmes (#1258) - (33464a7)
Nits in the derp docs - (4a4dd46)
π§ͺ 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
Request Tokens (#1109) - (dbd7bfb)
Change
Use DERP port from host_name URL (#1143) - (fbeec14)
Deper
Ensure upgrades are allowed on derp - (4f9cc86)
Deps
Update to released quic-rpc - (0861b9f)
Update ed25519 and friends to released versions - (a9ecbe2)
Derp
Wait for connection - (6c2f592)
Derper
Refactor serving content & derp - (05480a0)
Cleanup - (e60dc7f)
Add stun logs - (f9175ca)
Stun improvements (#1091) - (e191500)
Endpoint
Fix ping pong timings - (e2f2bce)
Key
Remove dead code - (8ef66f8)
Magicsock
:conn docs - (a98ce77)
Metrics
(netcheck) Add the basic netcheck metrics (#1048) - (a548371)
Netcheck
Split up probe code - (f832736)
Ref
(cli) Declare args consistently, use defaults (#970) - (e7eebb0)
(clippy) Let's keep it clippy clean (#1009) - (034492c)
(derp) Default DNS name rooted at the DNS root (#1231) - (8116345)
(metrics) Document metrics and remove macro_use (#1045) - (55d0211)
(netcheck) Statically declare udp bind addresses (#1007) - (541fb87)
(netcheck) Log and shut down stun listeners (#1022) - (252a04b)
(netcheck) Bring back the ActorMessage (#1023) - (4437d7e)
(netcheck) Make netcheck a long-running actor (#1028) - (5f03510)
(netcheck) Simplify and fix hairpinning (#1051) - (b1fb4a6)
(netcheck) Turn ReportState into more of an actor (#1103) - (fbea8df)
(tests) Clean up various bits in tests (#1145) - (da85f49)
(tests) Consisten test module naming (#1181) - (05a39a4)
Change how a collection is created (#939) - (ce21952)
Rename Request.name to Request.hash (#951) - (ca1a091)
Naming heartbeats (#982) - (4a745ec)
Disable to unused code (#992) - (49dbaea)
Shut up clippy (#1002) - (8df032b)
Move packet building into conn (#1016) - (3142912)
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
(changelog) Prepare for 0.4.0 - (005d0b1)
Add some missing comments about android default route (#828) - (1fedf46)
π§ͺ Testing
Cli integration test for provide-get loop (#781) - (61ba002)
Add failing test for large collections - (bdab174)
βοΈ Miscellaneous Tasks
(android) Use the real android targets (#880) - (f198944)
Add cargo-deny (#810) - (96bb61b)
Ci - replace actions-rs with dtolnay/rust-toolchain (#884) - (bf22ee2)
Update netsim sims (#887) - (59babe1)
Release iroh version 0.4.0 - (5401321)
π‘οΈ Security
New version of tempfile to avoid security issue (#819) - (55a4c3a)
Deps
(default-net) Bump version (#879) - (887c128)
Updated from yanked version (#890) - (80ee3db)
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
Some cleanup - (c0118d0)
Magiscock
New - (080672b)
Magisock
Split into multiple files - (0cff7b1)
More splitting - (cbdda92)
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)
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)
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
Avoid file system - (dc2fe24)
Use differnt ports - (4cb1a5a)
Use multithread runtime - (48acbe8)
Different port - (40a60c7)
Different sizes - (a1d6927)
Add test to make sure that - (14d8554)
Use random free port to avoid collisions (#104) - (1abd7ec)
βοΈ 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
Take the collection hash from the db creation (#93) - (f60ce6f)
Pub api tweaks (#114) - (eb48132)
On_collection doesn't need to be FnMut (#136) - (eac7b65)
Allow older rust version (#142) - (f3086a9)
Use our own bao crate - (659d2d2)