Releases: n0-computer/iroh
Releases Β· n0-computer/iroh
v0.14.0 - Dial the world
β°οΈ Features
- (iroh) Implement basic author api (#2132) - (5e1a71f)
- (iroh-cli) Add file logging by default for start commands (#2175) - (b80b338)
- (iroh-cli) Simplify config loading (#2171) - (2cfa055)
- (iroh-net) Add
MagicEndpoint::conn_type_stream
returns a stream that reports connection type changes for 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)
π Bug Fixes
- (iroh) Shutdown sync engine on iroh node shutdown (#2131) - (35a1cdd)
- (iroh) Do not shut down node on internal rpc error (#2158) - (fcdc299)
- (iroh-cli) Doctor relay-urls, correct connection logic (#2163) - (314c883)
- (iroh-cli) Fix printing of doctor connect/accept output (#2166) - (5d4ac52)
- (iroh-net) Avoid double connections to relays (#2148) - (aa1cf66)
- (tests) Disable the metrics port of all cli tests (#2154) - (1d51caa)
- Remove redundant imports (#2159) - (43038df)
π Refactor
- (iroh-bytes) Update bao-tree to 0.12 and adjust code (#2153) - (bfb7560)
- (iroh-bytes) Use even newer bao-tree (#2168) - (fe6dcac)
- (iroh-net) Remove incremental state from reportgen actor (#2180) - (d22c1cd)
- (metrics) Metrics on by default (#2129) - (ff88f65)
- Rustc beta is stricter again wrt imports and unused code (#2185) - (d6f336c)
π Documentation
β‘ Performance
- (iroh-net) Simplify relay handshake (#2164) - (70db5fb)
- (iroh-sync) Avoid allocating a full range of values during sync (#2152) - (13e83f3)
π§ͺ Testing
- (iroh-net) Expose
run_relay_server
and option to skip cert verification to tests (#2145) - (fb4703a)
βοΈ Miscellaneous Tasks
- (ci) Upload iroh-dns-server binaries (#2189) - (d1f946e)
- Move metrics init into CLI (#2136) - (319e9cc)
- Remove unused dependencies (#2170) - (b07547b)
Deps
v0.13.0 - Connect, Store & Repeat
β°οΈ Features
- (deps) Update from trust-dns-resolver to hickory-resolver (#2033) - (af7783e)
- (iroh) Add blobs.create_collection api endpoint - (1f6153b)
- (iroh) Add more rpc methods (#1962) - (4910df1)
- (iroh) Add --log-fd flag on unix (#2011) - (8e60d1b)
- (iroh) Expose
ExportMode
in client API (#2031) - (ac667bb) - (iroh) Add Sync bound and Stream impl for BlobReader (#2063) - (09e3e52)
- (iroh) Improved node builder (#2087) - (2364329)
- (iroh) Expose GetSyncPeers (#2054) - (0b94992)
- (iroh) Improve various aspects of the api (#2094) - (c776478)
- (iroh-bytes) Bring back validation (#2107) - (50b3e47)
- (iroh-net) DNS queries: lookup ipv6 & ipv4 in parallel (#2019) - (4615915)
- (iroh-net) ICMPv6 probe support in netcheck (#2057) - (bbb55a8)
- (iroh-net) Combine discovery services and add heuristics when to start discovery (#2056) - (f4d3fab)
- (iroh-net) Use the local endpoints info when closing derps (#2082) - (8d86ffc)
- Release artifacts & windows builds (#1987) - (13a3fe6)
- Split CLI implementation into a new iroh-cli crate (#2076) - (5c70cd2)
π Bug Fixes
- (ci) Cleanup and fix bugs (#1926) - (cced7f1)
- (ci) Stop reusing concurrency labels across jobs (#1937) - (02ead0a)
- (ci) Also test iroh-cli for cargo features (#2122) - (a136b1d)
- (console) Prevent deadlock in
author new --switch
(#2032) - (fea92ac) - (derp) Restore
ClientInfo
mesh_key
field (#2090) - (75a8590) - (examples) Adjust and add examples (#1968) - (9f10152)
- (iroh) Add timestamp method to Entry RPC struct (#1949) - (0084b5f)
- (iroh) Do not establish connection if content already exists locally (#1969) - (f7264ff)
- (iroh) Improve and test blob share (#1979) - (5db247f)
- (iroh) Do not remove the rpc lockfile if an iroh node is already running (#2013) - (a5c0db3)
- (iroh) Properly shut down the store on control-c (#2100) - (7cc9efa)
- (iroh-bytes) Print hashes as hex in validation (#2118) - (9d40459)
- (iroh-net) Improve connectivity (#1983) - (4b58de5)
- (iroh-net) Improve direct connectivity establishment speed and reliablity (#1984) - (b173520)
- (iroh-net) Correctly report sent transmits in poll_send (#2025) - (b0afd40)
- (iroh-net) Race ipv4 and ipv6 dns resolution (#2026) - (19553ed)
- (iroh-net) Ensure netcheck finishes once it has results (#2027) - (c62950e)
- (iroh-net) Fix in detecting globally routable IPv6 addresses (#2030) - (c3aa17e)
- (iroh-net) Handle unreachable IPv6 networks better (#2029) - (436121f)
- (iroh-net) Fix some flaky magicsock tests (#2034) - (df57623)
- (iroh-net) Trigger netcheck on a magicsock rebind (#2042) - (890d019)
- (iroh-net) Work around broken windows DNS configuration (#2075) - (3747a09)
- (iroh-net) Improve backpressure handling (#2105) - (b98ed9d)
- (iroh-sync) Dl policies exists only if doc exists (#1921) - (de7f603)
- (iroh-sync) Sync peers exists only if doc exists (#1920) - (2835f62)
- Allow some dead code for the nightly compiler (#1934) - (ca20102)
- Build successfully from
cargo vendor
tarball (#1932) - (2337cb2) - Ci windows releases - (ed23c43)
- Ci release builds (#1988) - (4abb782)
- Update deps to avoid cargo-deny warning (#2059) - (bc1af2e)
- Properly shutdown sync actor (#2067) - (e96a0c1)
- Remove dead code detected by the rust beta compiler (#2121) - (2c59d7d)
- Do not allow connecting to ourself ([#2123](https://github.c...
v0.12.0 - Derp Regions are dead, long live the derpers
β°οΈ Features
- (bytes) Switch to a single directory for the flat store (#1855) - (adc88f3)
- (net) Add
Magicsock::network_change
(#1845) - (3952b04) - Usage metrics reporting (#1862) - (7ec4d92)
- Remove derp regions in favor of direct urls (#1831) - (4002c46)
- Additional public get utils - (1389857)
π Bug Fixes
- (ci) Enable forks to run netsim manually (#1834) - (54acfcb)
- (iroh) Check output for blob get (#1898) - (52f17a3)
- (iroh) Do not exit after commands (#1899) - (53ab3b0)
- (iroh-net) Fix display of mixed type connections (#1882) - (9d047e0)
- (iroh-net) Do not prune addrs that are just added (#1916) - (4b18e67)
- (sync) Handle migration 004 in the empty case (#1852) - (860563f)
- Use
path_to_key
helper function iniroh doc import
(#1811) - (64b668e) - Do not block on network change (#1885) - (54d5efc)
- Fix abort on ctrl-c in console (#1909) - (712b45e)
π Refactor
- (iroh) Remove the addr arg from start (#1830) - (e03de38)
- (iroh) Remove request token (#1828) - (1dfb7ac)
- (iroh) Remove rpc port option (#1842) - (d1fcfca)
- (iroh-bytes) Remove explicitly passing the runtime to the flat store (#1829) - (3d2e118)
- (iroh-net) Make
ControlMsg
public (#1895) - (c6bc3c2) - (logging) Reduce loglevel of blob GC (#1866) - (3b1652c)
- (tests) Slow down a hot loop (#1910) - (9ac88ef)
- Upgrade to hyper 1.0 (#1858) - (b8aa5d6)
- Streamline local endpoint discovery (#1847) - (cb20bb8)
- Client
Entry
with methods to read content (#1854) - (690e2aa)
π§ͺ Testing
- (iroh-net) Try fix flaky udp_blocked test - (0418af6)
- (net) Use actual derp hostname and reduce iteration count (#1886) - (62ac4d8)
βοΈ Miscellaneous Tasks
- (ci) Run cargo build for android platforms (#1843) - (227f0e8)
- (ci) Configure sccache to use local caches (#1865) - (4b07c2d)
- (ci) Split jobs so they do not stomp over target directory (#1871) - (b9709ef)
- (ci) Pin clippy to specific nightly version (#1874) - (6433a66)
- (ci) Windows sccache (#1873) - (0d9ebea)
- (ci) Split release builds from regular CI flows (#1883) - (ce97cee)
- (ci) Test derper deploy flow (#1884) - (a1c5b56)
- (ci) Use TRACE logging for tests run by nextest (#1902) - (b789a1f)
- (clippy) Fix some warnings (#1861) - (57bb691)
- (docs) Update derp IP for EU region (#1880) - (5c43b1d)
- (iroh,iroh-bytes) Fix manifest keywords (#1881) - (b4da5f4)
- Add BSD3 license note for code derived from tailscale (#1889) - (876a0f5)
Ref
v0.11.0 - Making CLI life a little easier
β°οΈ Features
- (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)
π Bug Fixes
- (iroh-sync) Ensure the authors table exists (#1807) - (39ed64e)
- Drop temp tag after doc insert (#1810) - (a608fe8)
- Netsim should fail on all failed tests (#1816) - (199a677)
π Refactor
- (iroh) Restructure cli modules to match command structure (#1799) - (c1aeeb1)
- (iroh) Add
--start
option to CLI commands (#1802) - (10af401) - (logging) Log hairpin results at debug level (#1809) - (ca8a983)
- Common base library (#1780) - (de58d71)
- More renaming of the term peer id to node id (#1789) - (53f1b61)
βοΈ Miscellaneous Tasks
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