Releases: n0-computer/iroh
v0.10.0
⛰️ 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
v0.9.0 - Stabilized Connections
Bug Fixes
- console: remove ticket separator to improve usability (#1754) (f6c6932)
- deps: iroh-sync (261debf)
- do not block on dropping UDP sockets (#1755) (cadb89b)
- do not block on netcheck (#1745) (8e6f5a9)
- do not wait_idle on endpoint close (#1753) (f4735c6), closes #1752
- iroh-net: correctly set the time in which a probe is created (#1722) (d44a7dc)
- iroh: handle rpc args in any position (#1739) (0ca61ad), closes #1639
- net: do not dial regions in parallel (#1736) (c851fe1)
- update ahash (#1708) (118c1d7), closes #1707
Features
v0.8.0 - Better sync, faster blobs
Breaking API Changes
iroh::baomap
is nowiroh_bytes::store
.- Doc opening and closing is now more complete
iroh::client::Doc.leave()
will stop listening to changesiroh::client::DocsClient.drop_doc()
will delete a doc
Bug Fixes
doc export
exports the latest entry at a given key (#1629) (b815576)- actually transfer newer entries for identical keys (#1630) (ef8c64b), closes /github.com/n0-computer/iroh/pull/1630/files#diff-be755583e5a892a8b9a6329e59cfc17e9633447fb7992db74eef670ba1508ccbR378 #1535
- avoid FuturesUnordered (#1647) (5813e09), closes #1646
- iroh-bytes: handle case of 0 sent bytes in send stats (#1625) (550303c)
- iroh-net: bring the doctor command up to date (#1656) (16773b0)
- iroh-net: direct address management (#1653) (90f73f7)
- iroh-net: enforce storing a single derp region per peer (#1607) (bfcce3d), closes #1576
- iroh-net: ping via relay, enable relay ping in derp only mode (#1632) (eec5425), closes #1576
- iroh-net: temp fix for progress bar when downloading a hash seq (#1658) (1b5760d)
- iroh: cleanly exit on Eof (#1695) (196ad7a), closes #1694
- iroh: do not exit on ctrl+c (#1691) (a658d4a), closes #1690
- net: correct packet math for poll_recv (#1698) (c603a9e)
- net: correctly track dial errors (#1706) (92bb5b4), closes #1702
Features
- 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), closes #1442
Performance Improvements
v0.7.0 - syncing intensifies
Bug Fixes
iroh::downloader
: remove hash fromproviders
in two missed cases (#1584) (068f0bd)- actually allow to disable DERP (#1560) (cf9abc0), closes #1558
- avoid blockage in endpoint handling (#1569) (ccdf0c9), closes #1568
- cli,console: default to 'hash' mode for the keys command (#1617) (c3571e1)
- derper: update config to auto generate keys (#1599) (8fb46d4)
- feature flags for iroh-io dependency (#1588) (c1c7d15)
- iroh-net: dialer bug (#1533) (16939c8)
- iroh-net: Do not unwrap sending on response channel (#1529) (974b66e), closes #1528
- iroh-net: reverse ip-port mapping stores only direct addresses in the peermap (#1606) (176d632), closes /datatracker.ietf.org/doc/html/rfc2460#section-6 /datatracker.ietf.org/doc/html/rfc2460#section-7
- mark initially created endpoints inactive (#1539) (9b61ab7), closes #1538
- 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)
Features
doc import
&doc export
commands (#1563) (3c0195c)- add blobs from byte streams (#1550) (e138400)
- iroh-sync: store peers per doc (#1564) (31f08bb)
- iroh: export path and config related tooling (#1570) (c284793)
- iroh: improve displaying content in the repl (#1577) (2fd31b7)
- iroh: show content as hex when utf8 fails (#1596) (872f3b1)
- iroh: use reflink if possible (#1581) (e2ee678)
- leave and drop docs (#1589) (d7a3dd3), closes #1497
- log me (#1561) (7e79227)
- sync: Implement prefix deletion (#1535) (e7fc8be), closes #1504
- Use
BlobFormat
and properly support adding raw blobs (#1518) (f3ed0ba), closes #1496
Performance Improvements
v0.6.0 - Let that sync in
v0.6.0 is a big step toward iroh 1.0. It introduces documents. 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 documents, 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
- avoid double conns, better state tracking (#1505) (d8cc9df), closes #1491
- Debug for BlobReader (#1479) (c6935bd)
- iroh: do not log full messages for rpc (#1453) (d4983c5)
- print enum variant name for RPC debug logs (#1503) (39a3a33)
- sync: fix
PeerData
encoding, neighbor events, better & predictable tests (#1513) (779e470), closes #1506 #1512
Features
- content hashes iterator for sync store (#1501) (8fe3f71), closes #1496
- Improve content propagation in sync (#1480) (49bde4f)
- iroh-net: implement network monitoring (#1472) (a89078f)
- iroh: downloader (#1420) (c217283), closes #1334 #1362 #1413
- streaming blob reads over RPC (#1477) (6397d46)
- sync: track incoming sync requests, allow subscriptions without sync, close inactive replicas (#1491) (6c07ad3)
v0.6.0-alpha.1 - Better Sync
This release includes important fixes and improvements based on recent testing. Document sync is now more correct and faster!
Bug Fixes
- iroh-net: dns fallback to default config (#1438) (b89f4e1), closes #1436
- iroh: update example to use correct subscription API (#1452) (2522fca), closes #1451
Features
v0.6.0-alpha.0 - Sync the world
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, 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
v0.5.1 - 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](https://www.notion.so/Iroh-Hole-Punching-b9a38cc228fb47328a73e71d10520418?pvs=21).
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 iroh-net@0.5.0
]
v0.4.1
v0.4.0
Bug Fixes
- Avoid other output between contents when printing (#786) (9076443)
- ci: format output as table (#791) (7fb888d)
- ci: move from sendme to iroh (#788) (6a5c13e)
- Do not send duplicate NotFound responses (#802) (c0d4984)
- fix netsim bin paths (#881) (3291291)
- Improve listening addr output (#789) (33c0482)
- Output writing (#804) (eb18a89)
- provider: ensure postcard buffers are appropriately sized (c28e0a8)
- update to new default-net (e2584c0)
- use absolute paths everywhere (#836) (b2730ee)
Features
- Add run_ticket to dial all addresses stored in a Ticket (#888) (91c7e2a)
- ci netsim integration tests (#877) (8fe1d81)
- ci: push data to metro (#794) (1a68106)
- cmd to list provide addrs (#859) (2c0663a)
- custom configs for netsim (#862) (1078762)
- get-ticket: Contact provider on all listening addrs (#893) (adbb2bf)
- net: implement local address detection (#822) (9323e10)
- provider: emit events about outgoing transfers (f05ec8c)
- release builds (#863) (7b91c9a)
- Set multiple addrs in the ticket (#820) (9ac4cf6)
- Show more numbers in human readable form (#790) (a0b7c26)
- ticket: Ensure a ticket always has at least one address (#892) (0c17958)
- use chunk groups feature (#798) (d68f05d)