All notable changes to iroh will be documented in this file.
0.30.0 - 2024-12-16
- (iroh) [breaking] Remove get_protocol and the plumbing required for it (#3009) - (1323c9a)
- (iroh) Remove
Arc
requirements fromProtocolHandler
(#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)
- (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)
- (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)
- (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)
0.29.0 - 2024-12-02
- (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)
- (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 intokio::select
s (#2940) - (ccfc700)
- (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
intoiroh-net
and renameiroh-net
toiroh
(#2973) - (f7764ef) - Cleanup internal dependency references (#2976) - (fb20176)
- Extract iroh-metrics into its own repo (#2989) - (df591bc)
- Extract net-tools (#2991) - (574337a)
- (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)
- (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)
- (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)
- (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
- Switch to correctly patched quic-rpc and iroh-quinn - (d925da4)
- Fixup changelog - (5066102)
- Release - (134a93b)
0.28.0 - 2024-11-04
- (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)
- (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 iniroh-relay::Config
(#2879) - (2507e62) - (metrics) Allow external crates to encode their metrics (#2885) - (362076e)
- (portmapper) Enforce timeouts for upnp (#2877) - (00a3f88)
- (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)
- (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)
- (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
- (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)
- (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 thansend
so we dont block the local swarm discovery service (#2794) - (2d04306) - (iroh-net) [breaking] DiscoveredDirectAddrs need to update the timestamp (#2808) - (85bd8b7)
- (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)
- ()* 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)
- (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)
0.26.0 - 2024-09-30
- (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)
- (ci) Make netsim work on forks (#2757) - (0953263)
- (examples) Make
collection-provide
,hello-world-provide
andrpc
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)
- (ci) Redo netsim CI (#2737) - (443139d)
- (iroh-net) Various logging improvements (#2744) - (2262fd5)
- (iroh-net) Remove PathState::recent_pong() (#2745) - (cafdc08)
- (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)
- Release - (01c2bac)
0.25.0 - 2024-09-16
- (iroh-base) Implement
From
&Into
betweenNodeAddr
andNodeTicket
(#2717) - (8a4bb09) - Allow to bind to a specific address (#2694) - (2e5188a)
- (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 behindlocal-relay
feature flag (#2700) - (b8c0513)
- (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)
- (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)
- (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
- (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)
- (iroh-blobs) Demote
warn!
totrace!
logs (#2689) - (6181455) - (iroh-blobs) Turn
println!
intotracing::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
andrecv_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)
- (iroh-net) Do not add the NodeId in the magicsock span field (#2679) - (05fff6a)
- Release - (a029d89)
0.23.0 - 2024-08-20
- (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)
- (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 correctiroh 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)
- (iroh) [breaking] Convert node to net module (#2642) - (6354e04)
- (iroh,iroh-net) [breaking] Prefer
remote
toconnection
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)
- (iroh-cli) Fix help text for incomplete blobs (#2615) - (ceb94da)
- Also list
iroh-gossip
as a re-export (#2606) - (3b7881c)
- (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)
- (ci) Use nextests groups to isolate some tests (#2617) - (a5072c3)
- Fix deps issues (#2643) - (83f6fcc)
- Release - (855e1bb)
0.22.0 - 2024-08-05
- (iroh) Improve documentation and canonicalize docs in
iroh::client
(#2553) - (d937234) - Override to staging relays (#2551) - (ed4420b)
- (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)
- (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)
- (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)
- (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)
- (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)
0.21.0 - 2024-07-22
- (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)
- (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)
- (iroh) Make use of quic-rpc-derive macros to prettify the rpc declarations (#2508) - (026baaa)
- (iroh-net) [breaking] Move relay implemention in
iroh-net
behindiroh-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)
- (iroh-net) Fix broken HTTP/3 link (#2485) - (a5a2324)
- (iroh-net) Improve Endpoint::accept docs (#2492) - (79a2768)
- (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)
0.20.0 - 2024-07-09
- (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)
- (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)
- (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)
- (iroh) Expand module level documentation in iroh (#2463) - (74e8a6a)
- (iroh-net) Update discovery and dialing docs, signatures (#2472) - (e53714c)
- Pass
Doc
instead ofIroh
in example (#2432) - (975124c) - Example requires
example
feature to run (#2451) - (623dcc6) - Reference rust doc style guide in contributing guidelines (#2452) - (32b23e6)
- (iroh-cli) Also test for "minutes" in transfer time regex π¬ (#2475) - (9dddafc)
- (iroh-net) Make some tests less flaky (#2457) - (bc0b397)
- Increase timeout test_run_rpc_lock_file (#2439) - (efececb)
- Increase timeouts for tests that are flaky on slow CI (#2450) - (cc30743)
- (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)
0.19.0 - 2024-06-27
- (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)
- (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 adest
for (#2393) - (aba70ea) - Properly wait for docs engine shutdown (#2389) - (eb74cf6)
- Do not panic on blobs db IO error (#2400) - (38e8ce0)
- (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)
- (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)
0.18.0 - 2024-06-07
- (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 inpoll_send
(#2322) - (b2f0b0e)
- (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)
- (iroh-net) Update toplevel module documentation (#2329) - (4dd69f4)
- (iroh-net) Update endpoint docs (#2334) - (8d91b10)
0.17.0 - 2024-05-24
- (cli) Add metrics server to iroh doctor (#2292) - (d635d93)
- (iroh) [breaking] Remove node events (#2274) - (b412927)
- (iroh) Add node wide default author for documents (#2299) - (c8690a2)
- (iroh-base) Wasm compatability (#2305) - (ab18eae)
- (iroh-net) Watch relay changes (#2291) - (9d71fd8)
- (iroh-net) [breaking] Implement http proxy support (#2298) - (6d1a6dd)
- (iroh-net) [breaking] Improve dns behaviour by staggering requests (#2313) - (d813089)
- Emit PendingContentReady event (#2302) - (fc73502)
- Import and subscribe to a document in a single call (#2303) - (370075c)
- Iroh-perf (#2186) - (98d45f3)
- [breaking] New quic-rpc, simlified generics, bump MSRV to 1.76 (#2268) - (1e31dcf)
- Support {Free|Net|Open}BSD (#2311) - (cd65470)
- (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)
- (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)
0.16.0 - 2024-05-13
- (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 rebrandednetdev
(#2264) - (302fea4)
- (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)
- (iroh) [breaking] Cleanup public API (#2263) - (d41f433)
- (iroh-net) [breaking] Make the interfaces module private (#2266) - (38bdaef)
- Renames iroh-sync & iroh-bytes (#2271) - (26d718f)
- (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)
- Release - (531829d)
0.15.0 - 2024-04-29
- (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)
- (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)
- (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)
- (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)
0.14.0 - 2024-04-15
- (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 anode_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)
- (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)
- (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)
- (iroh-net) Simplify relay handshake (#2164) - (70db5fb)
- (iroh-sync) Avoid allocating a full range of values during sync (#2152) - (13e83f3)
- (iroh-net) Expose
run_relay_server
and option to skip cert verification to tests (#2145) - (fb4703a)
- (ci) Upload iroh-dns-server binaries (#2189) - (d1f946e)
- Move metrics init into CLI (#2136) - (319e9cc)
- Remove unused dependencies (#2170) - (b07547b)
- Release - (406280c)
0.13.0 - 2024-03-25
- (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)
- (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)
- (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 torelay
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
fromiroh
toiroh-bytes
(#1999) - (aeee718) - Download and export structure and progress events (#2003) - (1838c17)
- Fallible store traits (#2005) - (1ad6510)
- Move
iroh_net
base types toiroh_base
(#2053) - (8bdb0a0) - Remove derp meshing (#2079) - (29065fd)
- Make export a seperate operation from download (#2113) - (488be5b)
- (derper) Display the correct port number in the derper
--dev
help message (#2048) - (e1c9fda) - (iroh-gossip) Fix typo in proto.rs (#1927) - (7965836)
- (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)
- (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)
- Fix typos (#1964) - (c2359e8)
- Add conventional-commit-checker (#2020) - (983edcc)
- Update Cargo.lock (#2106) - (77df843)
- Release - (024a9b8)
- (iroh) Update quic-rpc (#2016) - (c04307e)
- Upgrade away from yanked bumpalo version (#2035) - (b90508a)
0.12.0 - 2023-12-20
- (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)
- (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 iniroh doc import
(#1811) - (64b668e) - Do not block on network change (#1885) - (54d5efc)
- Fix abort on ctrl-c in console (#1909) - (712b45e)
- (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)
- (iroh-net) Try fix flaky udp_blocked test - (0418af6)
- (net) Use actual derp hostname and reduce iteration count (#1886) - (62ac4d8)
- (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)
0.11.0 - 2023-11-17
- (iroh) Store rpc port in iroh data dir (#1783) - (d471477)
- (iroh) Make
out
argument required foriroh get
(#1786) - (0e0f641) - (iroh) Allow full and short hash printing in the cli (#1795) - (018772c)
- Add
Doc::import_file
andDoc::export_file
(#1793) - (fe7fc50)
- (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)
- (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)
0.10.0 - 2023-11-08
- (iroh-sync) Read only replicas (#1770) - (c1ebea8)
- (iroh-sync) Queries and "views" (#1766) - (899768a)
- Add ability to connect just by node id - (5ee69a4)
- (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)
- ()* 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)
- (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
- (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)
- (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)
- (iroh-net) Split
endpoint
module and reducePeerMap
surface (#1718) - (eb99d0f) - (iroh-net) Improve
PeerMap
andEndpoint
abstractions (#1724) - (e1cfe50) - (iroh-net) Call-me-maybe improvements (no more tasks for queue, better logic on recv) (#1752) - (376748c)
- 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)
- (magic) Make arguments to connect named - (232a4ee)
0.8.0 - 2023-10-23
- (console) Improve the output of
node connections
andnode connection
(#1683) - (d0c7cac) - (iroh-net) Cache for crypto keys (#1677) - (f8f08a0)
- (iroh-sync) Sync propagation (#1613) - (d07e225)
- Update dependencies (#1661) - (133ca8a)
- (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)
- (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)
- Improve derp connection establishment (#1631) - (615381c)
- No more channels for UDP send/recv (#1579) - (d6657bd)
- ()* Update tracing to fix audit failure (#1684) - (0a5a8e8)
- ()* Remove unused deps (#1699) - (3006791)
- (derp) Update default derpers (#1622) - (d187827)
- Release - (7fcb174)
- Get api improvements (#1660) - (6a630d9)
- Show connection status in doctor accept / connect GUI (#1666) - (215c5fc)
- Add changelog for v0.8.0 - (e972d53)
0.7.0 - 2023-10-11
- ()* 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)
- (
iroh::downloader
) Remove hash fromproviders
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)
- (changelog) V0.7.0 - (f3fe93d)
- (iroh) Fix broken docs for tags subcommand... (#1573) - (bb74e2c)
- Tune up docs before release (#1614) - (af06677)
- (iroh-net) E2e saving and loading of peer data (#1523) - (e7e70e4)
- (iroh-sync) Fix
test_content_hashes_iterator_memory
(#1565) - (07fa983)
- ()* 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
- (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)
- (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)
- ()* Rework
NodeAddr
(#1506) - (f16e439) - (iroh) Leverage
strum
forIrohPaths
(#1507) - (95dce40) - (iroh,iroh-bytes) Replace
currrent
withcurrent
(#1467) - (4f4d8e5) - (iroh-net) Remove unused
expired
field fromEndpoint
(#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)
- Fix grammar in README (#1465) - (1df9255)
- Fix link to install URL in README (#1476) - (156ce07)
- Update instructions for running rust examples (#1511) - (1bf55db)
- (iroh, iroh-sync) Fill licence info (#1471) - (75fcf12)
- Release v0.6.0 - (76d3fdc)
- Release - (0b126b1)
0.6.0-alpha.1 - 2023-09-05
- (iroh-sync) Validate timestamps and move validation up (#1439) - (4e8ff56)
- Get list of
ConnectionInfo
s or an individual node'sConnectionInfo
(#1435) - (bdf966e)
- (iroh) Update example to use correct subscription API (#1452) - (2522fca)
- (iroh-net) Dns fallback to default config (#1438) - (b89f4e1)
- (iroh-net) Remove
NetworkMap
(#1447) - (bc26321) - (iroh-sync)
RangeEntry
trait, byte newtypes for author/namestamp, timestamp into record (#1445) - (1bcc765)
- (changelog) V0.6.0-alpha.1 - (4671387)
- (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)
- Release - (729aa41)
0.6.0-alpha.0 - 2023-08-28
- (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)
- (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)
- (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)
- (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)
- ()* 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)
- 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)
- (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
- Release - (b2b60da)
iroh-net-v0.5.1 - 2023-07-18
- (ci) Record dump uploads (#1101) - (e289465)
- (ci) Allow running netsim from another branch (#1186) - (0f77e4e)
- (conn) Improve shutdown of IO loop - (dbe0228)
- (docs) Check rustdoc more strictly (#1185) - (6a58800)
- (iroh) Pass a callback to subscribe (#1219) - (c325603)
- (iroh-net) Add more details to tracked endpoints - (dfd946e)
- (iroh-net) Implement
HomeRouter
detection - (b14049e) - (iroh-net) Upnp port mapping (#1117) - (701e9b7)
- (iroh-net) PCP probe - (659a54a)
- (loging) Improve logging output of provider and get (#932) - (6ae709e)
- (provider) Add 'CollectionAdded' Provider event (#1131) - (8b6a5bc)
- Implement ICMP pings - (6c19faa)
- Metrics collection (#900) - (d4a01f7)
- Remove AuthToken - (96d9378)
- Print local endpoints on provide - (b3c22bd)
- Add configuration for derp regions - (96903e7)
- Prefer configured port to be used for ipv4 - (3a292e5)
- Add iroh doctor utility (#986) - (4fc70f5)
- Reduce dependency bloat for derper - (07d7205)
- Add api to list collections - (7b0a7c7)
- Integration metrics and viz dump (#1089) - (2f65bc1)
hp::derp::http::server::Server
& TLS in the derper! (#1077) - (6f40e14)- Allow node to accept different ALPNs - (34e02d0)
- Derp mesh network & derper cli & config cleanup (#1130) - (3dca612)
- Add MagicEndpoint to iroh-net - (4597cb3)
- Make get-ticket just a way to use get (#1168) - (2291ef4)
- Impl From for DerpMap - (01641a7)
- Specify a DERP region for the peer you are trying to connect to (#1222) - (456f963)
- Disable bailing out when temp dir is missing (#1251) - (eae79e8)
- Add metrics to the derp server (#1260) - (d1b4e18)
- Unify MSRV to 1.66 - (090f6d8)
- (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)
- (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
toMagicSock
- (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)
- (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)
- (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)
- (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)
- Ensure upgrades are allowed on derp - (4f9cc86)
- Update to released quic-rpc - (0861b9f)
- Update ed25519 and friends to released versions - (a9ecbe2)
- Update (#1161) - (a0df682)
- Wait for connection - (6c2f592)
- Refactor serving content & derp - (05480a0)
- Cleanup - (e60dc7f)
- Add stun logs - (f9175ca)
- Stun improvements (#1091) - (e191500)
- Fix ping pong timings - (e2f2bce)
- Remove dead code - (8ef66f8)
- :conn docs - (a98ce77)
- Split up probe code - (f832736)
- (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
- Cleanup and move network related impls to the net module - (3a442fa)
- (changelog) Prepare 0.4.1 - (357d763)
- Release iroh version 0.4.1 - (4ebafa2)
0.4.0 - 2023-03-29
- (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)
- (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)
- Move timer to own file - (1c0a763)
- (changelog) Prepare for 0.4.0 - (005d0b1)
- Fix typo (#792) - (a12de97)
- Add some missing comments about android default route (#828) - (1fedf46)
- Cli integration test for provide-get loop (#781) - (61ba002)
- Add failing test for large collections - (bdab174)
- (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)
- Some cleanup - (c0118d0)
- New - (080672b)
- 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
- (ci) Add MSRV check - (2a62263)
- (ci) Add MSRV check - (2894143)
- (cli) Improve the output of collections (#69) - (733e533)
- (provider) Add
ProviderBuilder
- (bf01702) - (provider) Add persistent identity - (6073054)
- (provider) Add events (#87) - (e7ce384)
- Add clap and server and client options - (e46d460)
- Limit length prefixed message size - (d99007e)
- Add handshake and reduce allocations - (6403bd1)
- Limit number of active connections and streams - (1dd46e9)
- Connect based on PeerIds - (c57fa4f)
- Rework client api to emit content - (03e1f93)
- Write to temporary file during transfer - (1f39a57)
- Add STDIN and STDOUT support (#39) - (c121094)
- Add authentication token to protocol handshake - (58a2c2a)
- Add authentication token to protocol handshake - (bf08478)
- Transfer multiple files - (bc040ea)
- Improve CLI - (57dd758)
- Create a Builder for the Provider - (41e05ed)
- Create a Builder for the Provider - (bf087b6)
- Incrementally compute outboard - (bf86837)
- Provide a single ticket to fetch a hash - (5b979ab)
- Provide a single ticket to fetch a hash - (aa269ab)
- Remove varints (#71) - (35cb4bd)
- Looser dependencies as it is a library - (a846ea2)
- Looser dependencies as it is a library - (eb07ca9)
- Add bao slice decoder - (08ad6db)
- Step 1 - change from outboard+data to encoded - (c5be9f5)
- Step 2 - use SyncIoBridge when writing - (4d3b384)
- Step 3 actually add AsyncSliceDecoder and friends - (ff39ef2)
- Step 4 make use of the AsyncSliceDecoder - (80b9cff)
- Pass in custom names for blobs using
DataSource::NamedFile
(#97) - (9b2ad04) - Add method read_size - (bcc66f9)
- Use read_size() to enforce that we don't download oversized files - (cb6651e)
- Ensure we are not being lied to about total_blobs_size - (6d66fc5)
- Switch printing from hex to base64 - (891004d)
- Introduce custom Hash type (#115) - (c1eaf28)
- Switch from s2n-quic to quinn (#112) - (3eff210)
- Add newtype wrapper for Hash that is compatible with Cid - (9db0937)
- Allow shutdown of Provider (#121) - (13f703f)
- Do not error when the provider closes the connection (#124) - (5bd545d)
- Add generic progress emitter utility (#141) - (d09a786)
- Add option to use SSLKEYLOGFILE env var (#153) - (d64d12d)
- Use our own ALPN (#155) - (2991cbb)
- Netsim CI (#135) - (3a3fc46)
- Rename to iroh - (e3012f0)
- Move --keylog to common flags (#776) - (feeefa9)
- Make get work on IPv6 network (#777) - (c28a378)
- Remove MAX_DATA_LIMIT (#780) - (42a6235)
- Remove Request.id from the protocol (#782) - (fd37cab)
- (bin) Ensure progressbar works for stdout (#81) - (93107e3)
- (ci) Run clippy directly (#140) - (fc8fbeb)
- (cli) Only write progress if TTY and write it stderr only - (55ff6ed)
- (main) Remove stderr tty check - (588dbe7)
- Ensure data is flushed to disk - (9f9292d)
- Keep reading and respect EOF - (ae51187)
- Keep reading and respect EOF - (dbbf510)
- Windows multi_client tests (#66) - (4befae2)
- Ensure CI runs on main (#100) - (43a6ed5)
- Catch
ctrl-c
to allow a normal shutdown & clean up any tempfiles that are created (#122) - (82e2f56) - Display CIDs in the CLI for the
Collection
(#131) - (b3ee39f) - Fail if an on_blob function does not read all the content (#139) - (c266ab5)
- MSRV in CI (#145) - (2edb528)
- Ensure we emit
TransferAborted
event if anything goes wrong during the transfer (#150) - (19e2b05)
- 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)
- 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)
- 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)