Skip to content

Latest commit

 

History

History
393 lines (293 loc) · 47.3 KB

CHANGELOG_old.md

File metadata and controls

393 lines (293 loc) · 47.3 KB

v0.9.0 (2023-10-31)

Bug Fixes

Features

  • 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)

v0.8.0 (2023-10-23)

Breaking API Changes

  • iroh::baomap is now iroh_bytes::store.
  • Doc opening and closing is now more complete
    • iroh::client::Doc.leave() will stop listening to changes
    • iroh::client::DocsClient.drop_doc() will delete a doc

Bug Fixes

Features

Performance Improvements

v0.7.0 (2023-10-11)

Bug Fixes

Features

Performance Improvements

v0.6.0 (2023-09-25)

v0.6.0 is a big step toward iroh 1.0. It introduces documents, the See our docs pages for a detailed look at the new iroh.

Introducing documents

Documents are mutable key-value stores that authors read from, write to, and sync with, subscribing to live updates in real time. For more on documents, see the docmuents, uh, documentation

Iroh console is here to help

this release includes iroh console an admin, debugging, and API exploration tool. It's a REPL that can give live feedback as documents change, users sync, etc. For a detailed rundown on console commands, see the iroh command documentation

Bug Fixes

Features

v0.6.0-alpha.1 (2023-09-05)

This release includes important fixes and improvements based on recent testing. Document sync is now more correct and faster!

Bug Fixes

Features

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

v0.6.0-alpha.0 (2023-08-28)

This is the first alpha preview of iroh v0.6.0. iroh v0.6.0 is targeting a Sept 25th release date.

v0.6.0 is a big step toward iroh 1.0. It introduces documents, the See our docs pages for a detailed look at the new iroh.

Introducing documents

Documents are mutable key-value stores that authors read from, write to, and sync with, subscribing to live updates in real time. For more on documents, see the docmuents, uh, documentation

Iroh console is here to help

this release includes iroh console an admin, debugging, and API exploration tool. It's a REPL that can give live feedback as documents change, users sync, etc. For a detailed rundown on console commands, see the iroh command documentation

Bug Fixes

  • ci: correctly detect forks (#1327) (80c54aa)
  • enable derp metrics (#1268) (faad31a)
  • iroh-bytes: Hash should be serialized as array not bytes (#1410) (116eea9)
  • iroh-bytes: range spec seq identification of single blobs (#1421) (c3e701f)
  • 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: 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)
  • netcheck: Build test ProbePlan from fake interface data (#1266) (f671aa5), closes #1263
  • Remove obsolete and unused module (#1279) (4c67385)
  • tests: bring back MagicEndpoint connect-close test (#1282) (4b1f79c), closes #1183

Features

v0.5.1 (2023-08-28)

Connectivity Intensifies

First you have to find one another, before you can interact.

This release is all about finding and connecting with your peers. Before iroh could only connect with peers that were directly reachable, eg. static IP address or local LAN peers. Thanks to NATs and the various complications of IPv4 and IPv6 these are not that many machines in the world, and especially mobile devices are hard to discover.

So we are proud to present the first version of iroh with builtin NAT traversal, hole punching and automatic relaying when everything fails.

If you want to find out the details on how all of this works, header over to the Iroh Hole Punching doc.

Of course that is not all, we have also fixed some pesky bugs, as well added some more features, like generic collections and pluggable authentication.

On a practical side, iroh is now split into multiple crates:

  • iroh - The CLI and main library entry point.
  • iroh-bytes - The core data transfer protocol, including resume.
  • iroh-net - Nat traversal, peer management and general networking tools.
  • iroh-metrics - Metrics collection using prometheus

This should open up more possibilities when integrating just the pieces you need from iroh into your app.

[Note: this ended up being 0.5.1 for iroh and iroh-net due to a publish issue with [email protected]]

Bug Fixes

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

Features

  • hp::derp::http::server::Server & TLS in the derper! (#1077) (6f40e14)
  • add api to list collections (7b0a7c7)
  • add configuration for derp regions (96903e7)
  • Add iroh doctor utility (#986) (4fc70f5), closes #1008
  • add MagicEndpoint to iroh-net (4597cb3)
  • add metrics to the derp server (#1260) (d1b4e18)
  • allow node to accept different ALPNs (34e02d0)
  • begin impl Server side of derp, starting with the server side of the client connection (#826) (94590ae)
  • ci: allow running netsim from another branch (#1186) (0f77e4e)
  • ci: record dump uploads (#1101) (e289465)
  • conn: improve shutdown of IO loop (dbe0228)
  • derp mesh network & derper cli & config cleanup (#1130) (3dca612)
  • disable bailing out when temp dir is missing (#1251) (eae79e8)
  • docs: Check rustdoc more strictly (#1185) (6a58800)
  • impl From for DerpMap (01641a7)
  • implement ICMP pings (6c19faa)
  • integration metrics and viz dump (#1089) (2f65bc1)
  • iroh-net: add more details to tracked endpoints (dfd946e)
  • iroh-net: implement HomeRouter detection (b14049e)
  • iroh-net: PCP probe (659a54a), closes #910
  • iroh-net: Upnp port mapping (#1117) (701e9b7)
  • iroh: pass a callback to subscribe (#1219) (c325603), closes #1139
  • logging: Improve logging output of provider and get (#932) (6ae709e)
  • metrics collection (#900) (d4a01f7)
  • prefer configured port to be used for ipv4 (3a292e5)
  • print local endpoints on provide (b3c22bd)
  • provider: add 'CollectionAdded' Provider event (#1131) (8b6a5bc)
  • reduce dependency bloat for derper (07d7205)
  • remove AuthToken (96d9378)
  • specify a DERP region for the peer you are trying to connect to (#1222) (456f963)
  • unify MSRV to 1.66 (090f6d8)

v0.4.1 (2023-04-03)

Bug Fixes

  • Fix for error when transferring large files (#920)

v0.4.0 (2023-03-29)

Bug Fixes

Features

v0.3.0 (2023-02-22)

Thus far, Iroh has been built as an implementation of the InterPlanetary File System (IPFS) focused on interoperability with Kubo, the reference implementation of IPFS. Starting with this release Iroh breaks interoperability with Kubo. Iroh will still be an IPFS implementation in a loose sense of the term, but moving forward our exclusive focus is on hitting numbers that make Iroh a reliable piece of technology that just works. Rather than delete the IPFS implementation we’ve built so far we will rename the project to Beetle, and put it into maintenance mode. Our rationale is outlined in this blog post

This is the first release in our ground up rebuild of Iroh. This sets an initial foundation of functionality that we intend to layer onto as we go.

The following crates are removed:

  • iroh-api
  • iroh-bitswap
  • iroh-car
  • iroh-embed
  • iroh-gateway
  • iroh-localops
  • iroh-metrics
  • iroh-one
  • iroh-p2p
  • iroh-resolver
  • iroh-rpc-client
  • iroh-rpc-types
  • iroh-share
  • iroh-store
  • iroh-util
  • iroh-unixfs

The following crates still exist, but have completely different APIs:

  • iroh