# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.108.2](https://github.com/joshuef/safe_network/compare/sn_node-v0.108.1...sn_node-v0.108.2) - 2024-06-04 ### Other - release - release - _(release)_ sn_client-v0.107.5/sn_networking-v0.16.3/sn_cli-v0.93.4/sn_node-v0.107.4/node-launchpad-v0.3.5/sn-node-manager-v0.9.4/sn_auditor-v0.1.23/sn_peers_acquisition-v0.3.3/sn_faucet-v0.4.25/sn_node_rpc_client-v0.6.22 - _(network)_ set metrics server to run on localhost ## [0.107.5](https://github.com/joshuef/safe_network/compare/sn_node-v0.107.4...sn_node-v0.107.5) - 2024-06-04 ### Fixed - _(transfer)_ mismatched key shall result in decryption error ### Other - _(transfer)_ make discord_name decryption backward compatible ## [0.107.4](https://github.com/joshuef/safe_network/compare/sn_node-v0.107.3...sn_node-v0.107.4) - 2024-06-04 ### Added - _(node)_ expose cumulative forwarded reward as metric and cache it locally ### Other - _(network)_ set metrics server to run on localhost ## [0.107.3](https://github.com/joshuef/safe_network/compare/sn_node-v0.107.2...sn_node-v0.107.3) - 2024-06-04 ### Other - reduce dag recrawl interval - _(release)_ sn_client-v0.107.3/sn_transfers-v0.18.4/sn_cli-v0.93.2/sn_node-v0.107.2/node-launchpad-v0.3.2/sn-node-manager-v0.9.2/sn_auditor-v0.1.20/sn_networking-v0.16.2/sn_protocol-v0.17.2/sn_faucet-v0.4.22/sn_service_management-v0.3.3/sn_node_rpc_client-v0.6.20 ## [0.107.2](https://github.com/joshuef/safe_network/compare/sn_node-v0.107.1...sn_node-v0.107.2) - 2024-06-03 ### Fixed - enable compile time sk setting for faucet/genesis ## [0.107.1](https://github.com/joshuef/safe_network/compare/sn_node-v0.107.0...sn_node-v0.107.1) - 2024-06-03 ### Other - bump versions to enable re-release with env vars at compilation ## [0.107.0](https://github.com/joshuef/safe_network/compare/sn_node-v0.106.5...sn_node-v0.107.0) - 2024-06-03 ### Added - _(node)_ make payment forward optional - _(networking)_ add UPnP metrics - _(network)_ [**breaking**] move network versioning away from sn_protocol - _(faucet)_ write foundation cash note to disk - _(keys)_ enable compile or runtime override of keys - _(launchpad)_ use nat detection server to determine the nat status ### Fixed - _(networking)_ upnp feature gates for metrics - _(networking)_ conditional upnp metrics ### Other - _(networking)_ cargo fmt - use secrets during build process - _(release)_ sn_auditor-v0.1.17/sn_client-v0.106.3/sn_networking-v0.15.3/sn_transfers-v0.18.1/sn_logging-v0.2.27/sn_cli-v0.92.0/sn_faucet-v0.4.19/sn_node-v0.106.5/sn_service_management-v0.3.0/node-launchpad-v0.2.0/sn-node-manager-v0.8.0/sn_protocol-v0.16.7/sn_node_rpc_client-v0.6.18 ## [0.106.5](https://github.com/joshuef/safe_network/compare/sn_node-v0.106.4...sn_node-v0.106.5) - 2024-05-24 ### Added - use different key for payment forward - hide genesis keypair - _(node)_ periodically forward reward to specific address - spend reason enum and sized cipher - _(network)_ add --upnp flag to node - spend shows the purposes of outputs created for - _(node)_ make spend and cash_note reason field configurable - _(relay)_ remove autonat and enable hole punching manually - _(relay)_ impl RelayManager to perform circuit relay when behind NAT - _(node)_ notify peer it is now considered as BAD - _(networking)_ shift to use ilog2 bucket distance for close data calcs - unit testing dag, double spend poisoning tweaks - report protocol mismatch error - _(metrics)_ expose store cost value - keep track of the estimated network size metric - record lip2p relay and dctur metrics - use default keys for genesis, or override - remove two uneeded env vars - pass genesis_cn pub fields separate to hide sk - hide genesis keypair - pass sk_str via cli opt - _(node)_ use separate keys of Foundation and Royalty - _(wallet)_ ensure genesis wallet attempts to load from local on init first - _(faucet)_ make gifting server feat dependent - tracking beta rewards from the DAG - _(audit)_ collect payment forward statistics ### Fixed - _(node)_ notify fetch completion earlier to avoid being skipped - create faucet via account load or generation - more test and cli fixes - update calls to HotWallet::load - do not add reported external addressese if we are behind home network - _(node)_ notify replication_fetcher of early completion - _(node)_ not send out replication when failed read from local - avoid adding mixed type addresses into RT - enable libp2p metrics to be captured - correct genesis_pk naming - genesis_cn public fields generated from hard coded value - invalid spend reason in data payments ### Other - _(release)_ sn_auditor-v0.1.16/sn_cli-v0.91.4/sn_faucet-v0.4.18/sn_metrics-v0.1.7/sn_node-v0.106.4/sn_service_management-v0.2.8/node-launchpad-v0.1.5/sn-node-manager-v0.7.7/sn_node_rpc_client-v0.6.17 - _(node)_ log node owner - _(release)_ sn_auditor-v0.1.15/sn_cli-v0.91.3/sn_faucet-v0.4.17/sn_metrics-v0.1.6/sn_node-v0.106.3/sn_service_management-v0.2.7/node-launchpad-v0.1.2/sn_node_rpc_client-v0.6.16 - make open metrics feature default but without starting it by default - _(refactor)_ stabilise node size to 4k records, - resolve errors after reverts - Revert "feat(node): make spend and cash_note reason field configurable" - Revert "feat: spend shows the purposes of outputs created for" - Revert "chore: rename output reason to purpose for clarity" - _(node)_ use proper SpendReason enum - _(release)_ sn_client-v0.106.2/sn_networking-v0.15.2/sn_cli-v0.91.2/sn_node-v0.106.2/sn_auditor-v0.1.14/sn_faucet-v0.4.16/sn_node_rpc_client-v0.6.15 - _(release)_ sn_auditor-v0.1.13/sn_client-v0.106.1/sn_networking-v0.15.1/sn_protocol-v0.16.6/sn_cli-v0.91.1/sn_faucet-v0.4.15/sn_node-v0.106.1/node-launchpad-v0.1.1/sn_node_rpc_client-v0.6.14/sn_peers_acquisition-v0.2.12/sn_service_management-v0.2.6 - _(release)_ sn_registers-v0.3.13 - _(node)_ make owner optional - _(release)_ sn_auditor-v0.1.12/sn_client-v0.106.0/sn_networking-v0.15.0/sn_transfers-v0.18.0/sn_peers_acquisition-v0.2.11/sn_logging-v0.2.26/sn_cli-v0.91.0/sn_faucet-v0.4.14/sn_metrics-v0.1.5/sn_node-v0.106.0/sn_service_management-v0.2.5/test_utils-v0.4.1/node-launchpad-v/sn-node-manager-v0.7.5/sn_node_rpc_client-v0.6.13/token_supplies-v0.1.48/sn_protocol-v0.16.5 - _(versions)_ sync versions with latest crates.io vs - cargo fmt - rename output reason to purpose for clarity - store owner info inside node instead of network - _(CI)_ upload faucet log during CI - _(node)_ lower some log levels to reduce log size - _(CI)_ confirm there is no failed replication fetch - _(release)_ sn_auditor-v0.1.7/sn_client-v0.105.3/sn_networking-v0.14.4/sn_protocol-v0.16.3/sn_build_info-v0.1.7/sn_transfers-v0.17.2/sn_peers_acquisition-v0.2.10/sn_cli-v0.90.4/sn_faucet-v0.4.9/sn_metrics-v0.1.4/sn_node-v0.105.6/sn_service_management-v0.2.4/sn-node-manager-v0.7.4/sn_node_rpc_client-v0.6.8/token_supplies-v0.1.47 - _(deps)_ bump dependencies - _(node)_ pass entire QuotingMetrics into calculate_cost_for_records - _(node)_ tuning the pricing curve - _(node)_ remove un-necessary is_relayed check inside add_potential_candidates - move historic_quoting_metrics out of the record_store dir - clippy fixes for open metrics feature - _(networking)_ update tests for pricing curve tweaks - _(transfers)_ comment and naming updates for clarity - log genesis PK - rename improperly named foundation_key - reconfigure local network owner args - use const for default user or owner - Revert "feat(cli): track spend creation reasons during audit" - Revert "chore: refactor CASH_NOTE_REASON strings to consts" - Revert "chore: address review comments" - add consts ## [0.106.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.106.3...sn_node-v0.106.4) - 2024-05-20 ### Other - update Cargo.lock dependencies ## [0.106.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.106.2...sn_node-v0.106.3) - 2024-05-15 ### Other - update Cargo.lock dependencies ## [0.106.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.106.1...sn_node-v0.106.2) - 2024-05-09 ### Fixed - _(relay_manager)_ filter out bad nodes ## [0.106.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.106.0...sn_node-v0.106.1) - 2024-05-08 ### Other - _(release)_ sn_registers-v0.3.13 - _(node)_ make owner optional ## [0.106.0-alpha.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.106.0-alpha.5...sn_node-v0.106.0-alpha.6) - 2024-05-07 ### Added - _(network)_ add --upnp flag to node - spend shows the purposes of outputs created for - _(node)_ make spend and cash_note reason field configurable - _(relay)_ remove autonat and enable hole punching manually - _(relay)_ impl RelayManager to perform circuit relay when behind NAT - _(node)_ notify peer it is now considered as BAD - _(networking)_ shift to use ilog2 bucket distance for close data calcs - unit testing dag, double spend poisoning tweaks - report protocol mismatch error - _(networking)_ feature gate 'upnp' - _(networking)_ add UPnP behavior to open port - _(relay)_ remove old listen addr if we are using a relayed connection - _(relay)_ update the relay manager if the listen addr has been closed - _(relay)_ remove the dial flow - _(networking)_ add in autonat server basics - _(neetworking)_ initial tcp use by default - _(networking)_ clear record on valid put - _(node)_ restrict replication fetch range when node is full - _(store)_ load existing records in parallel - [**breaking**] renamings in CashNote - _(node)_ restore historic quoting metrics to allow restart - _(cli)_ track spend creation reasons during audit - _(cli)_ generate a mnemonic as wallet basis if no wallet found - _(transfers)_ do not genereate wallet by default - [**breaking**] rename token to amount in Spend - _(tui)_ adding services - _(network)_ network contacts url should point to the correct network version ### Fixed - create faucet via account load or generation - more test and cli fixes - update calls to HotWallet::load - do not add reported external addressese if we are behind home network - _(node)_ notify replication_fetcher of early completion - _(node)_ not send out replication when failed read from local - _(networking)_ allow wasm32 compilation - _(network)_ remove all external addresses related to a relay server - _(relay_manager)_ remove external addr on connection close - relay server should not close connections made to a reserved peer - short circuit identify if the peer is already present in the routitng table - update outdated connection removal flow - do not remove outdated connections - increase relay server capacity - keep idle connections forever - pass peer id while crafting relay address - _(relay)_ crafted multi address should contain the P2PCircuit protocol - _(networking)_ do not add to dialed peers - _(network)_ do not strip out relay's PeerId - _(relay)_ craft the correctly formatted relay address - _(network)_ do not perform AutoNat for clients - _(relay_manager)_ do not dial with P2PCircuit protocol - _(test)_ quoting metrics might have live_time field changed along time - _(node)_ avoid false alert on FailedLocalRecord - _(record_store)_ prune only one record at a time - _(node)_ fetcher completes on_going_fetch entry on record_key only - _(networking)_ increase the local responsible range of nodes to K_VALUE peers away - _(network)_ clients should not perform farthest relevant record check - _(node)_ replication_fetch keep distance_range sync with record_store - _(node)_ replication_list in range filter - transfer tests for HotWallet creation - _(client)_ move acct_packet mnemonic into client layer - typo - _(manager)_ do not print to stdout on low verbosity level - _(protocol)_ evaluate NETWORK_VERSION_MODE at compile time ### Other - _(versions)_ sync versions with latest crates.io vs - cargo fmt - rename output reason to purpose for clarity - store owner info inside node instead of network - _(CI)_ upload faucet log during CI - _(node)_ lower some log levels to reduce log size - _(CI)_ confirm there is no failed replication fetch - _(deps)_ bump dependencies - _(node)_ pass entire QuotingMetrics into calculate_cost_for_records - cargo fmt - _(network)_ move event handling to its own module - cleanup network events - _(network)_ remove nat detection via incoming connections check - enable connection keepalive timeout - remove non relayed listener id from relay manager - enable multiple relay connections - return early if peer is not a node - _(tryout)_ do not add new relay candidates - add debug lines while adding potential relay candidates - do not remove old non-relayed listeners - clippy fix - _(networking)_ remove empty file - _(networking)_ re-add global_only - use quic again - log listner id - _(relay)_ add candidate even if we are dialing - remove quic - cleanup, add in relay server behaviour, and todo - _(node)_ optimise record_store farthest record calculation - _(node)_ do not reset farthest_acceptance_distance - _(node)_ remove duplicated record_store fullness check - _(networking)_ notify network event on failed put due to prune - _(networking)_ ensure pruned data is indeed further away than kept - _(networking)_ remove circular vec error - _(node)_ unit test for recover historic quoting metrics - _(node)_ extend distance range - address review comments - refactor CASH_NOTE_REASON strings to consts - addres review comments - _(transfers)_ reduce error size - _(transfer)_ unit tests for PaymentQuote - _(release)_ sn_auditor-v0.1.7/sn_client-v0.105.3/sn_networking-v0.14.4/sn_protocol-v0.16.3/sn_build_info-v0.1.7/sn_transfers-v0.17.2/sn_peers_acquisition-v0.2.10/sn_cli-v0.90.4/sn_faucet-v0.4.9/sn_metrics-v0.1.4/sn_node-v0.105.6/sn_service_management-v0.2.4/sn-node-manager-v0.7.4/sn_node_rpc_client-v0.6.8/token_supplies-v0.1.47 - _(release)_ sn_auditor-v0.1.3-alpha.0/sn_client-v0.105.3-alpha.0/sn_networking-v0.14.2-alpha.0/sn_protocol-v0.16.2-alpha.0/sn_build_info-v0.1.7-alpha.0/sn_transfers-v0.17.2-alpha.0/sn_peers_acquisition-v0.2.9-alpha.0/sn_cli-v0.90.3-alpha.0/sn_node-v0.105.4-alpha.0/sn-node-manager-v0.7.3-alpha.0/sn_faucet-v0.4.4-alpha.0/sn_service_management-v0.2.2-alpha.0/sn_node_rpc_client-v0.6.4-alpha.0 - _(release)_ sn_auditor-v0.1.7/sn_client-v0.105.3/sn_networking-v0.14.4/sn_protocol-v0.16.3/sn_build_info-v0.1.7/sn_transfers-v0.17.2/sn_peers_acquisition-v0.2.10/sn_cli-v0.90.4/sn_faucet-v0.4.9/sn_metrics-v0.1.4/sn_node-v0.105.6/sn_service_management-v0.2.4/sn-node-manager-v0.7.4/sn_node_rpc_client-v0.6.8/token_supplies-v0.1.47 - _(release)_ sn_client-v0.105.3-alpha.5/sn_protocol-v0.16.3-alpha.2/sn_cli-v0.90.4-alpha.5/sn_node-v0.105.6-alpha.4/sn-node-manager-v0.7.4-alpha.1/sn_auditor-v0.1.7-alpha.0/sn_networking-v0.14.4-alpha.0/sn_peers_acquisition-v0.2.10-alpha.0/sn_faucet-v0.4.9-alpha.0/sn_service_management-v0.2.4-alpha.0/sn_node_rpc_client-v0.6.8-alpha.0 - _(release)_ sn_client-v0.105.3-alpha.3/sn_protocol-v0.16.3-alpha.1/sn_peers_acquisition-v0.2.9-alpha.2/sn_cli-v0.90.4-alpha.3/sn_node-v0.105.6-alpha.1/sn_auditor-v0.1.5-alpha.0/sn_networking-v0.14.3-alpha.0/sn_faucet-v0.4.7-alpha.0/sn_service_management-v0.2.3-alpha.0/sn-node-manager-v0.7.4-alpha.0/sn_node_rpc_client-v0.6.6-alpha.0 - _(release)_ sn_auditor-v0.1.3-alpha.1/sn_client-v0.105.3-alpha.1/sn_networking-v0.14.2-alpha.1/sn_peers_acquisition-v0.2.9-alpha.1/sn_cli-v0.90.4-alpha.1/sn_metrics-v0.1.4-alpha.0/sn_node-v0.105.5-alpha.1/sn_service_management-v0.2.2-alpha.1/sn-node-manager-v0.7.3-alpha.1/sn_node_rpc_client-v0.6.4-alpha.1/token_supplies-v0.1.47-alpha.0 - _(release)_ sn_build_info-v0.1.7-alpha.1/sn_protocol-v0.16.3-alpha.0/sn_cli-v0.90.4-alpha.0/sn_faucet-v0.4.5-alpha.0/sn_node-v0.105.5-alpha.0 ## [0.105.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.105.2...sn_node-v0.105.3) - 2024-03-28 ### Other - updated the following local packages: sn_client ## [0.105.2](https://github.com/joshuef/safe_network/compare/sn_node-v0.105.1...sn_node-v0.105.2) - 2024-03-28 ### Other - updated the following local packages: sn_service_management ## [0.105.1](https://github.com/joshuef/safe_network/compare/sn_node-v0.105.0...sn_node-v0.105.1) - 2024-03-28 ### Added - _(transfers)_ implement WalletApi to expose common methods ### Fixed - _(uploader)_ clarify the use of root and wallet dirs ## [0.105.0](https://github.com/joshuef/safe_network/compare/sn_node-v0.104.41...sn_node-v0.105.0) - 2024-03-27 ### Added - _(uploader)_ allow either chunk or chunk path to be used - _(client)_ use the new Uploader insetead of FilesUpload - make logging simpler to use - _(transfers)_ enable client to check if a quote has expired - _(networking)_ add NodeIssue for tracking bad node shunning - [**breaking**] remove gossip code - _(transfers)_ [**breaking**] support multiple payments for the same xorname - use Arc inside Client, Network to reduce clone cost - provide `--metrics-port` arg for `add` cmd - _(network)_ filter out peers when returning store cost - _(faucet)_ rate limit based upon wallet locks ### Fixed - _(register)_ permissions verification was not being made by some Register APIs - _(node)_ fetching new data shall not cause timed_out immediately - _(test)_ generate unique temp dir to avoid read outdated data - _(register)_ shortcut permissions check when anyone can write to Register ### Other - _(node)_ refactor pricing metrics - _(node)_ reduce bad_node check concureent queries - _(uploader)_ remove FilesApi dependency - _(uploader)_ implement UploaderInterface for easier testing - _(register)_ minor simplification in Register Permissions implementation - lower some networking log levels - _(node)_ loose bad node detection criteria - _(node)_ optimization to reduce logging - _(uploader)_ initial test setup for uploader ## [0.104.41](https://github.com/joshuef/safe_network/compare/sn_node-v0.104.40...sn_node-v0.104.41) - 2024-03-21 ### Added - dag error recording - _(protocol)_ add rpc to set node log level on the fly - _(log)_ set log levels on the fly - refactor DAG, improve error management and security ### Fixed - _(node)_ get_closest error not trigger bad_node report ### Other - _(node)_ reduce bad_nodes check resource usage ## [0.104.39](https://github.com/joshuef/safe_network/compare/sn_node-v0.104.38...sn_node-v0.104.39) - 2024-03-14 ### Added - refactor spend validation ### Fixed - _(test)_ await on the restart node rpc call - dont stop spend verification at spend error, generalise spend serde - put validation network spends errors management ### Other - store test utils under a new crate - move DeploymentInventory to test utils - improve code quality - new `sn_service_management` crate - _(release)_ sn_transfers-v0.16.3/sn_cli-v0.89.82 ## [0.104.38](https://github.com/joshuef/safe_network/compare/sn_node-v0.104.37-alpha.0...sn_node-v0.104.38) - 2024-03-08 ### Other - updated the following local packages: sn_client, sn_transfers ## [0.104.36](https://github.com/joshuef/safe_network/compare/sn_node-v0.104.35...sn_node-v0.104.36) - 2024-03-06 ### Added - _(register)_ when a new entry is written return its hash - _(node)_ bad verification to exclude connections from bad_nodes - genesis double spend test - _(test)_ add option to retain_peer_id for the node's restart rpc cmd - _(test)_ imporve restart api for tests - _(manager)_ add rpc call to restart node service and process ### Fixed - double spend case identified by Shu ### Other - clean swarm commands errs and spend errors - _(release)_ sn_transfers-v0.16.1 - _(release)_ sn_protocol-v0.15.0/sn-node-manager-v0.4.0 - _(daemon)_ rename daemon binary to safenodemand - revert wrong rebase changes - _(manager)_ add daemon restart test - fix royalties gossip test ## [0.104.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.34...sn_node-v0.104.35) - 2024-02-23 ### Added - _(node)_ error out bad_nodes to node via event channel ## [0.104.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.33...sn_node-v0.104.34) - 2024-02-21 ### Other - update Cargo.lock dependencies ## [0.104.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.32...sn_node-v0.104.33) - 2024-02-20 ### Added - _(manager)_ setup initial bin for safenode mangaer daemon ## [0.104.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.31...sn_node-v0.104.32) - 2024-02-20 ### Other - updated the following local packages: sn_client ## [0.104.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.30...sn_node-v0.104.31) - 2024-02-20 ### Other - updated the following local packages: sn_networking ## [0.104.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.29...sn_node-v0.104.30) - 2024-02-20 ### Other - updated the following local packages: sn_client, sn_networking, sn_transfers ## [0.104.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.28...sn_node-v0.104.29) - 2024-02-20 ### Other - updated the following local packages: sn_client, sn_networking, sn_transfers ## [0.104.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.27...sn_node-v0.104.28) - 2024-02-20 ### Added - _(examples)_ add register_inspect example to show contents of a register ### Fixed - clippy warnings - cargo fmt changes ## [0.104.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.26...sn_node-v0.104.27) - 2024-02-20 ### Other - updated the following local packages: sn_client ## [0.104.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.25...sn_node-v0.104.26) - 2024-02-19 ### Added - _(node)_ terminate node on too many HDD write errors ## [0.104.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.24...sn_node-v0.104.25) - 2024-02-19 ### Other - updated the following local packages: sn_networking ## [0.104.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.23...sn_node-v0.104.24) - 2024-02-19 ### Other - updated the following local packages: sn_networking ## [0.104.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.22...sn_node-v0.104.23) - 2024-02-15 ### Added - _(client)_ keep payee as part of storage payment cache ## [0.104.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.21...sn_node-v0.104.22) - 2024-02-15 ### Other - updated the following local packages: sn_networking ## [0.104.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.20...sn_node-v0.104.21) - 2024-02-15 ### Other - updated the following local packages: sn_protocol, sn_protocol ## [0.104.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.19...sn_node-v0.104.20) - 2024-02-14 ### Other - updated the following local packages: sn_protocol, sn_protocol ## [0.104.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.18...sn_node-v0.104.19) - 2024-02-14 ### Other - updated the following local packages: sn_client, sn_protocol, sn_protocol, sn_transfers ## [0.104.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.17...sn_node-v0.104.18) - 2024-02-13 ### Other - updated the following local packages: sn_protocol, sn_protocol ## [0.104.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.16...sn_node-v0.104.17) - 2024-02-13 ### Other - _(node)_ move gossip const behind feature flag ## [0.104.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.15...sn_node-v0.104.16) - 2024-02-13 ### Other - updated the following local packages: sn_client, sn_transfers ## [0.104.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.14...sn_node-v0.104.15) - 2024-02-12 ### Fixed - avoid clippy error due to new feature guard ## [0.104.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.13...sn_node-v0.104.14) - 2024-02-12 ### Other - _(node)_ feature guard royalty_reward publish - _(node)_ feature guard forwarder_subscription ## [0.104.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.12...sn_node-v0.104.13) - 2024-02-12 ### Other - updated the following local packages: sn_networking ## [0.104.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.11...sn_node-v0.104.12) - 2024-02-12 ### Other - _(node)_ optimize Cmd::Replicate handling flow ## [0.104.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.10...sn_node-v0.104.11) - 2024-02-12 ### Added - _(cli)_ single payment for all folders being synced ## [0.104.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.9...sn_node-v0.104.10) - 2024-02-12 ### Other - update Cargo.lock dependencies ## [0.104.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.8...sn_node-v0.104.9) - 2024-02-09 ### Other - updated the following local packages: sn_networking ## [0.104.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.7...sn_node-v0.104.8) - 2024-02-09 ### Other - updated the following local packages: sn_networking ## [0.83.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.0...sn_node-v0.83.1) - 2023-06-07 ### Added - attach payment proof when uploading Chunks ### Fixed - reduce churn weight to ~1/2mb ### Other - Revert "chore(release): sn_cli-v0.77.1/sn_client-v0.85.2/sn_networking-v0.1.2/sn_node-v0.83.1" - _(release)_ sn_cli-v0.77.1/sn_client-v0.85.2/sn_networking-v0.1.2/sn_node-v0.83.1 - Revert "chore(release): sn_cli-v0.77.1/sn_client-v0.85.2/sn_networking-v0.1.2/sn_protocol-v0.1.2/sn_node-v0.83.1/sn_record_store-v0.1.2/sn_registers-v0.1.2" - _(release)_ sn_cli-v0.77.1/sn_client-v0.85.2/sn_networking-v0.1.2/sn_protocol-v0.1.2/sn_node-v0.83.1/sn_record_store-v0.1.2/sn_registers-v0.1.2 - _(logs)_ enable metrics feature by default - log msg text updated - making Chunk payment proof optional for now - adding unit tests to payment proof utilities - moving all payment proofs utilities into sn_transfers crate ## [0.83.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.1...sn_node-v0.83.2) - 2023-06-08 ### Other - improve documentation for cli arguments ## [0.83.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.2...sn_node-v0.83.3) - 2023-06-09 ### Other - provide clarity on command arguments ## [0.83.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.3...sn_node-v0.83.4) - 2023-06-09 ### Other - heavier load during the churning test ## [0.83.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.4...sn_node-v0.83.5) - 2023-06-09 ### Other - emit git info with vergen ## [0.83.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.5...sn_node-v0.83.6) - 2023-06-09 ### Fixed - _(replication)_ prevent dropped conns during replication ## [0.83.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.6...sn_node-v0.83.7) - 2023-06-09 ### Other - improve documentation for cli commands ## [0.83.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.7...sn_node-v0.83.8) - 2023-06-12 ### Added - _(node)_ move request handling off thread ## [0.83.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.8...sn_node-v0.83.9) - 2023-06-12 ### Added - remove spendbook rw locks, improve logging ## [0.83.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.9...sn_node-v0.83.10) - 2023-06-13 ### Added - _(node)_ write pid file ## [0.83.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.10...sn_node-v0.83.11) - 2023-06-13 ### Other - update dependencies ## [0.83.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.11...sn_node-v0.83.12) - 2023-06-14 ### Added - _(client)_ expose req/resp timeout to client cli ## [0.83.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.12...sn_node-v0.83.13) - 2023-06-14 ### Other - use clap env and parse multiaddr ## [0.83.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.13...sn_node-v0.83.14) - 2023-06-14 ### Other - update dependencies ## [0.83.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.14...sn_node-v0.83.15) - 2023-06-14 ### Added - include output DBC within payment proof for Chunks storage ## [0.83.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.15...sn_node-v0.83.16) - 2023-06-15 ### Other - update dependencies ## [0.83.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.16...sn_node-v0.83.17) - 2023-06-15 ### Other - update dependencies ## [0.83.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.17...sn_node-v0.83.18) - 2023-06-15 ### Other - update dependencies ## [0.83.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.18...sn_node-v0.83.19) - 2023-06-15 ### Other - update dependencies ## [0.83.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.19...sn_node-v0.83.20) - 2023-06-15 ### Other - update dependencies ## [0.83.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.20...sn_node-v0.83.21) - 2023-06-15 ### Added - add double spend test ### Fixed - parent spend checks - parent spend issue ## [0.83.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.21...sn_node-v0.83.22) - 2023-06-15 ### Other - update dependencies ## [0.83.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.22...sn_node-v0.83.23) - 2023-06-16 ### Other - update dependencies ## [0.83.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.23...sn_node-v0.83.24) - 2023-06-16 ### Fixed - _(bin)_ negate local-discovery check ## [0.83.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.24...sn_node-v0.83.25) - 2023-06-16 ### Other - `--version` argument for `safenode` ## [0.83.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.25...sn_node-v0.83.26) - 2023-06-16 ### Other - update dependencies ## [0.83.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.26...sn_node-v0.83.27) - 2023-06-16 ### Other - update dependencies ## [0.83.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.27...sn_node-v0.83.28) - 2023-06-16 ### Other - update dependencies ## [0.83.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.28...sn_node-v0.83.29) - 2023-06-16 ### Other - update dependencies ## [0.83.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.29...sn_node-v0.83.30) - 2023-06-19 ### Other - update dependencies ## [0.83.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.30...sn_node-v0.83.31) - 2023-06-19 ### Other - update dependencies ## [0.83.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.31...sn_node-v0.83.32) - 2023-06-19 ### Other - update dependencies ## [0.83.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.32...sn_node-v0.83.33) - 2023-06-19 ### Other - update dependencies ## [0.83.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.33...sn_node-v0.83.34) - 2023-06-19 ### Other - update dependencies ## [0.83.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.34...sn_node-v0.83.35) - 2023-06-19 ### Other - update dependencies ## [0.83.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.35...sn_node-v0.83.36) - 2023-06-20 ### Other - update dependencies ## [0.83.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.36...sn_node-v0.83.37) - 2023-06-20 ### Other - update dependencies ## [0.83.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.37...sn_node-v0.83.38) - 2023-06-20 ### Other - update dependencies ## [0.83.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.38...sn_node-v0.83.39) - 2023-06-20 ### Added - pay 1 nano per Chunk as temporary approach till net-invoices are implemented - nodes to verify input DBCs of Chunk payment proof were spent ### Other - specific error types for different payment proof verification scenarios - creating a storage payment e2e test and run it in CI - include the Tx instead of output DBCs as part of storage payment proofs ## [0.83.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.39...sn_node-v0.83.40) - 2023-06-20 ### Added - _(sn_networking)_ Make it possible to pass in a keypair for PeerID ## [0.83.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.40...sn_node-v0.83.41) - 2023-06-20 ### Added - _(network)_ validate `Record` on GET - _(network)_ validate and store `ReplicatedData` - _(node)_ perform proper validations on PUT - _(network)_ store `Chunk` along with `PaymentProof` - _(network)_ validate and store `Record` - _(kad)_ impl `RecordHeader` to store the record kind ### Fixed - _(network)_ use safe operations when dealing with Vec - _(node)_ store parent tx along with `SignedSpend` - _(network)_ Send `Request` without awaiting for `Response` ### Other - _(workflow)_ fix data replication script - _(docs)_ add more docs and comments ## [0.83.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.41...sn_node-v0.83.42) - 2023-06-21 ### Added - provide option for log output in json ## [0.83.43](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.42...sn_node-v0.83.43) - 2023-06-21 ### Other - _(node)_ obtain parent_tx from SignedSpend ## [0.83.44](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.43...sn_node-v0.83.44) - 2023-06-21 ### Other - _(network)_ remove `NetworkEvent::PutRecord` dead code ## [0.83.45](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.44...sn_node-v0.83.45) - 2023-06-21 ### Added - _(node)_ trigger replication when inactivity ## [0.83.46](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.45...sn_node-v0.83.46) - 2023-06-22 ### Other - update dependencies ## [0.83.47](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.46...sn_node-v0.83.47) - 2023-06-22 ### Other - _(client)_ initial refactor around uploads ## [0.83.48](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.47...sn_node-v0.83.48) - 2023-06-22 ### Added - _(node)_ expose log markers in public api ## [0.83.49](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.48...sn_node-v0.83.49) - 2023-06-23 ### Fixed - trival log correction ## [0.83.50](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.49...sn_node-v0.83.50) - 2023-06-23 ### Other - update dependencies ## [0.83.51](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.50...sn_node-v0.83.51) - 2023-06-23 ### Added - forward chunk when not being the closest - repliate to peers lost record ## [0.83.52](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.51...sn_node-v0.83.52) - 2023-06-23 ### Other - update dependencies ## [0.83.53](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.52...sn_node-v0.83.53) - 2023-06-24 ### Other - update dependencies ## [0.83.54](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.53...sn_node-v0.83.54) - 2023-06-26 ### Other - having the payment proof validation util to return the item's leaf index ## [0.83.55](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.54...sn_node-v0.83.55) - 2023-06-26 ### Added - _(node)_ add handle for Cmd::Response(Ok) ## [0.84.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.83.55...sn_node-v0.84.0) - 2023-06-26 ### Added - append peer id to node's default root dir ## [0.84.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.84.0...sn_node-v0.84.1) - 2023-06-26 ### Other - Revert "feat: append peer id to node's default root dir" ## [0.84.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.84.1...sn_node-v0.84.2) - 2023-06-26 ### Fixed - get_closest_local shall only return CLOSE_GROUP_SIZE peers ## [0.84.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.84.2...sn_node-v0.84.3) - 2023-06-27 ### Other - update dependencies ## [0.84.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.84.3...sn_node-v0.84.4) - 2023-06-27 ### Other - update dependencies ## [0.85.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.84.4...sn_node-v0.85.0) - 2023-06-27 ### Added - append peer id to node's default root dir ## [0.85.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.0...sn_node-v0.85.1) - 2023-06-28 ### Added - _(node)_ dial without PeerId ## [0.85.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.1...sn_node-v0.85.2) - 2023-06-28 ### Other - update dependencies ## [0.85.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.2...sn_node-v0.85.3) - 2023-06-28 ### Added - make the example work, fix sync when reg doesnt exist - rework permissions, implement register cmd handlers - register refactor, kad reg without cmds ### Fixed - rename UserRights to UserPermissions ## [0.85.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.3...sn_node-v0.85.4) - 2023-06-28 ### Added - _(node)_ increase node event channel size ## [0.85.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.4...sn_node-v0.85.5) - 2023-06-29 ### Other - update dependencies ## [0.85.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.5...sn_node-v0.85.6) - 2023-06-29 ### Added - _(node)_ write secret key to disk and re-use ## [0.85.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.6...sn_node-v0.85.7) - 2023-07-03 ### Added - append SAFE_PEERS to initial_peers after restart ### Fixed - _(CI)_ setup stable SAFE_PEERS for testnet nodes - _(text)_ data_churn_test creates clients parsing SAFE_PEERS env ### Other - various tidy up - reduce SAMPLE_SIZE for the data_with_churn test - tidy up try_trigger_replication function ## [0.85.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.7...sn_node-v0.85.8) - 2023-07-04 ### Other - demystify permissions ## [0.85.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.8...sn_node-v0.85.9) - 2023-07-05 ### Added - carry out validation for record_store::put ## [0.85.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.9...sn_node-v0.85.10) - 2023-07-05 ### Fixed - _(node)_ verify incoming `Record::key` ## [0.86.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.85.10...sn_node-v0.86.0) - 2023-07-06 ### Added - add restart func for node process - remove option from `--log-output-dest` arg - introduce `--log-format` arguments - provide `--log-output-dest` arg for `safenode` ### Fixed - use SAFE_PEERS as fall back initial peers for non-local-discovery ### Other - tidy remove_file call - clear out chunks and registers - use data-dir rather than root-dir - incorporate various feedback items ## [0.86.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.0...sn_node-v0.86.1) - 2023-07-06 ### Added - client upload chunk using kad::put_record ## [0.86.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.1...sn_node-v0.86.2) - 2023-07-06 ### Other - update dependencies ## [0.86.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.2...sn_node-v0.86.3) - 2023-07-07 ### Other - update dependencies ## [0.86.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.3...sn_node-v0.86.4) - 2023-07-07 ### Other - update dependencies ## [0.86.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.4...sn_node-v0.86.5) - 2023-07-07 ### Other - update dependencies ## [0.86.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.5...sn_node-v0.86.6) - 2023-07-07 ### Other - adapting paid chunk upload integration tests to new no-responses type of protocol - adding integration tests for uploading paid chunks and run them in CI ## [0.86.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.6...sn_node-v0.86.7) - 2023-07-10 ### Other - update dependencies ## [0.86.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.7...sn_node-v0.86.8) - 2023-07-10 ### Added - read peers from SAFE_PEERS if local discovery is not enabled - faucet server and cli DBC read ### Fixed - use Deposit --stdin instead of Read in cli ## [0.86.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.8...sn_node-v0.86.9) - 2023-07-10 ### Added - client query register via get_record - client upload Register via put_record ## [0.86.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.9...sn_node-v0.86.10) - 2023-07-10 ### Added - _(node)_ remove any data we have from replication queue ### Other - _(node)_ cleanup unused SwarmCmd for GetAllRecordAddrs - add more logging around replication ## [0.86.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.10...sn_node-v0.86.11) - 2023-07-11 ### Other - update dependencies ## [0.86.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.11...sn_node-v0.86.12) - 2023-07-11 ### Other - _(node)_ only log LostRecord when peersfound ## [0.86.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.12...sn_node-v0.86.13) - 2023-07-11 ### Other - update dependencies ## [0.86.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.13...sn_node-v0.86.14) - 2023-07-11 ### Fixed - prevent multiple concurrent get_closest calls when joining ## [0.86.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.14...sn_node-v0.86.15) - 2023-07-12 ### Other - update dependencies ## [0.86.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.15...sn_node-v0.86.16) - 2023-07-13 ### Other - update dependencies ## [0.86.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.16...sn_node-v0.86.17) - 2023-07-13 ### Other - update dependencies ## [0.86.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.17...sn_node-v0.86.18) - 2023-07-17 ### Other - adding integration test for storage payment proofs cached in local wallet ## [0.86.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.18...sn_node-v0.86.19) - 2023-07-17 ### Added - _(networking)_ upgrade to libp2p 0.52.0 ### Other - add replication trigger log ## [0.86.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.19...sn_node-v0.86.20) - 2023-07-17 ### Other - update dependencies ## [0.86.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.20...sn_node-v0.86.21) - 2023-07-17 ### Other - update dependencies ## [0.86.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.21...sn_node-v0.86.22) - 2023-07-18 ### Other - update dependencies ## [0.86.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.22...sn_node-v0.86.23) - 2023-07-18 ### Added - safer registers requiring signatures - _(networking)_ remove LostRecordEvent ## [0.86.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.23...sn_node-v0.86.24) - 2023-07-18 ### Other - _(networking)_ remove some uneeded async ## [0.86.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.24...sn_node-v0.86.25) - 2023-07-18 ### Other - update dependencies ## [0.86.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.25...sn_node-v0.86.26) - 2023-07-19 ### Other - remove un-used Query::GetRegister ## [0.86.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.26...sn_node-v0.86.27) - 2023-07-19 ### Other - update dependencies ## [0.86.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.27...sn_node-v0.86.28) - 2023-07-19 ### Added - using kad::record for dbc spend ops - _(CI)_ dbc verfication during network churning test ## [0.86.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.28...sn_node-v0.86.29) - 2023-07-19 ### Other - update dependencies ## [0.86.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.29...sn_node-v0.86.30) - 2023-07-20 ### Other - cleanup error types ## [0.86.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.30...sn_node-v0.86.31) - 2023-07-20 ### Other - update dependencies ## [0.87.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.86.31...sn_node-v0.87.0) - 2023-07-21 ### Added - _(node)_ fee output of payment proof to be required before storing chunks - _(protocol)_ [**breaking**] make Chunks storage payment required ### Fixed - _(ci)_ run CI churn tests in windows with less churning frequency ### Other - tokens transfers task in data_with_churn tests to use client apis instead of faucet helpers - adapt churn tests to make chunks storage payment ## [0.87.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.0...sn_node-v0.87.1) - 2023-07-25 ### Added - _(log)_ add new log markers - _(replication)_ replicate when our close group changes ### Fixed - _(node)_ handling events should wait before connected to the network ## [0.87.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.1...sn_node-v0.87.2) - 2023-07-26 ### Other - update dependencies ## [0.87.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.2...sn_node-v0.87.3) - 2023-07-26 ### Other - update dependencies ## [0.87.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.3...sn_node-v0.87.4) - 2023-07-26 ### Other - update dependencies ## [0.87.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.4...sn_node-v0.87.5) - 2023-07-26 ### Other - update dependencies ## [0.87.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.5...sn_node-v0.87.6) - 2023-07-26 ### Other - update dependencies ## [0.87.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.6...sn_node-v0.87.7) - 2023-07-26 ### Fixed - _(register)_ Registers with same name but different tags were not being stored by the network ### Other - centralising RecordKey creation logic to make sure we always use the same for all content type ## [0.87.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.7...sn_node-v0.87.8) - 2023-07-27 ### Fixed - _(node)_ set distance range to prune records ## [0.87.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.8...sn_node-v0.87.9) - 2023-07-28 ### Other - adapt all logging to use pretty record key ## [0.87.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.9...sn_node-v0.87.10) - 2023-07-28 ### Other - update dependencies ## [0.88.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.87.10...sn_node-v0.88.0) - 2023-07-28 ### Added - _(protocol)_ Add GetStoreCost Query and QueryResponse ## [0.88.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.0...sn_node-v0.88.1) - 2023-07-28 ### Added - _(replication)_ fetch Record from network if could not get from peer ## [0.88.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.1...sn_node-v0.88.2) - 2023-07-31 ### Added - _(node)_ add marker for a network connection timeout ## [0.88.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.2...sn_node-v0.88.3) - 2023-07-31 ### Other - update dependencies ## [0.88.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.3...sn_node-v0.88.4) - 2023-07-31 ### Added - carry out get_record re-attempts for critical record - for put_record verification, NotEnoughCopies is acceptable ### Fixed - _(test)_ using proper wallets during data_with_churn test ### Other - move PrettyPrintRecordKey to sn_protocol - small refactors for failing CI - more tracable logs regarding chunk payment prove ## [0.88.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.4...sn_node-v0.88.5) - 2023-07-31 ### Other - update dependencies ## [0.88.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.5...sn_node-v0.88.6) - 2023-08-01 ### Other - update dependencies ## [0.88.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.6...sn_node-v0.88.7) - 2023-08-01 ### Added - _(cli)_ add no-verify flag to cli ### Other - fix double spend and remove arbitrary wait ## [0.88.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.7...sn_node-v0.88.8) - 2023-08-01 ### Other - update dependencies ## [0.88.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.8...sn_node-v0.88.9) - 2023-08-01 ### Other - cleanup old dead API ## [0.88.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.9...sn_node-v0.88.10) - 2023-08-01 ### Other - update dependencies ## [0.88.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.10...sn_node-v0.88.11) - 2023-08-01 ### Other - add more verificaiton for payments ## [0.88.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.11...sn_node-v0.88.12) - 2023-08-02 ### Other - update dependencies ## [0.88.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.12...sn_node-v0.88.13) - 2023-08-02 ### Other - update dependencies ## [0.88.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.13...sn_node-v0.88.14) - 2023-08-03 ### Other - _(node)_ remove unused mut ## [0.88.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.14...sn_node-v0.88.15) - 2023-08-03 ### Added - _(faucet)_ enable logging for faucets ## [0.88.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.15...sn_node-v0.88.16) - 2023-08-03 ### Other - _(node)_ remove peer_connected altogether during NodeEvent handler - _(node)_ move inactivity search off thread ## [0.88.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.16...sn_node-v0.88.17) - 2023-08-03 ### Other - update dependencies ## [0.88.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.17...sn_node-v0.88.18) - 2023-08-03 ### Other - _(node)_ NetworkEvent logs ## [0.88.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.18...sn_node-v0.88.19) - 2023-08-04 ### Other - update dependencies ## [0.88.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.19...sn_node-v0.88.20) - 2023-08-04 ### Other - update dependencies ## [0.88.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.20...sn_node-v0.88.21) - 2023-08-07 ### Other - update dependencies ## [0.88.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.21...sn_node-v0.88.22) - 2023-08-07 ### Added - rework register addresses to include pk ### Other - rename network addresses confusing name method to xorname ## [0.88.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.22...sn_node-v0.88.23) - 2023-08-07 ### Other - update dependencies ## [0.88.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.23...sn_node-v0.88.24) - 2023-08-07 ### Other - update dependencies ## [0.88.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.24...sn_node-v0.88.25) - 2023-08-08 ### Added - _(node)_ verify fee is suffcient - _(networking)_ remove sign over store cost ### Fixed - _(node)_ prevent panic in storage calcs - _(tests)_ increase tokens supplied for testing ### Other - _(faucet)_ provide more money - tidy store cost code ## [0.88.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.25...sn_node-v0.88.26) - 2023-08-09 ### Other - update dependencies ## [0.88.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.26...sn_node-v0.88.27) - 2023-08-10 ### Other - update dependencies ## [0.88.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.27...sn_node-v0.88.28) - 2023-08-10 ### Fixed - using proper close_group distance - _(test)_ have multiple verification attempts - _(test)_ get the keys stored ### Other - _(test)_ set chunk_count using env var - _(test)_ log the entire state - _(node)_ verify data location ## [0.88.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.28...sn_node-v0.88.29) - 2023-08-11 ### Other - optimize replication algorithm ## [0.88.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.29...sn_node-v0.88.30) - 2023-08-11 ### Added - _(transfers)_ add resend loop for unconfirmed txs - _(networking)_ ensure we always use the highest price we find - _(client)_ use store cost queries to pre populate cost and RT ### Fixed - distance_range caculated from proper last entry of close_group ### Other - improve NetworkEvent logging - bit more logging ang single thread - _(node)_ resend unconfirmed txs before asserting ## [0.88.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.30...sn_node-v0.88.31) - 2023-08-14 ### Other - _(faucet)_ reduce token handout ## [0.88.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.31...sn_node-v0.88.32) - 2023-08-14 ### Other - update dependencies ## [0.88.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.32...sn_node-v0.88.33) - 2023-08-15 ### Other - update dependencies ## [0.88.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.33...sn_node-v0.88.34) - 2023-08-16 ### Other - logging for checking parent inputs ## [0.88.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.34...sn_node-v0.88.35) - 2023-08-16 ### Added - _(client)_ do not use cached proofs ## [0.88.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.35...sn_node-v0.88.36) - 2023-08-16 ### Other - update dependencies ## [0.88.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.36...sn_node-v0.88.37) - 2023-08-17 ### Other - update dependencies ## [0.88.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.37...sn_node-v0.88.38) - 2023-08-17 ### Other - update dependencies ## [0.88.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.38...sn_node-v0.88.39) - 2023-08-17 ### Other - update dependencies ## [0.88.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.39...sn_node-v0.88.40) - 2023-08-17 ### Other - update dependencies ## [0.88.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.40...sn_node-v0.88.41) - 2023-08-18 ### Other - update dependencies ## [0.88.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.41...sn_node-v0.88.42) - 2023-08-18 ### Added - remove client and node initial join flow ## [0.88.43](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.42...sn_node-v0.88.43) - 2023-08-21 ### Other - update dependencies ## [0.88.44](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.43...sn_node-v0.88.44) - 2023-08-21 ### Fixed - _(replication)_ set distance range on close group change ### Other - _(network)_ remove unused `NetworkEvent::CloseGroupUpdated` ## [0.88.45](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.44...sn_node-v0.88.45) - 2023-08-22 ### Fixed - fixes to allow upload file works properly ## [0.88.46](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.45...sn_node-v0.88.46) - 2023-08-22 ### Other - update dependencies ## [0.88.47](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.46...sn_node-v0.88.47) - 2023-08-24 ### Other - update dependencies ## [0.88.48](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.47...sn_node-v0.88.48) - 2023-08-24 ### Other - rust 1.72.0 fixes ## [0.88.49](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.48...sn_node-v0.88.49) - 2023-08-24 ### Other - update dependencies ## [0.88.50](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.49...sn_node-v0.88.50) - 2023-08-25 ### Other - update dependencies ## [0.88.51](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.50...sn_node-v0.88.51) - 2023-08-29 ### Added - _(node)_ add feature flag for tcp/quic ## [0.88.52](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.51...sn_node-v0.88.52) - 2023-08-30 ### Other - update dependencies ## [0.88.53](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.52...sn_node-v0.88.53) - 2023-08-30 ### Other - update dependencies ## [0.89.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.88.53...sn_node-v0.89.0) - 2023-08-30 ### Added - refactor to allow greater upload parallelisation - one transfer per data set, mapped dbcs to content addrs - _(node)_ store data if the majority of CLOSE_GROUP will - [**breaking**] pay each chunk holder direct - feat!(protocol): gets keys with GetStoreCost - feat!(protocol): get price and pay for each chunk individually - feat!(protocol): remove chunk merkletree to simplify payment ### Fixed - _(tokio)_ remove tokio fs - _(node)_ handling events should wait before connected to the network - correct replicated spend validation - not check payment for relocated holder ### Other - _(node)_ refactor churn test order - _(logs)_ add more spend PUT validation logs - trival clean ups - _(deps)_ bump tokio to 1.32.0 - mem_check test update - _(client)_ refactor client wallet to reduce dbc clones - _(client)_ pass around content payments map mut ref - parallelise churn data final query - increase concurrent fetches for replication data - _(node)_ data verification log tweaks - _(node)_ data verification test refactors for readability - _(client)_ error out early for invalid transfers - _(node)_ only store paid for data, ignore maj - _(node)_ clarify payment errors - _(node)_ reenable payment fail check ## [0.89.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.0...sn_node-v0.89.1) - 2023-08-31 ### Added - _(cli)_ expose 'concurrency' flag ## [0.89.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.1...sn_node-v0.89.2) - 2023-08-31 ### Added - fetch from network during network ## [0.89.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.2...sn_node-v0.89.3) - 2023-08-31 ### Other - update dependencies ## [0.89.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.3...sn_node-v0.89.4) - 2023-08-31 ### Other - update dependencies ## [0.89.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.4...sn_node-v0.89.5) - 2023-08-31 ### Other - update dependencies ## [0.89.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.5...sn_node-v0.89.6) - 2023-08-31 ### Added - _(node)_ node to store rewards in a local wallet ## [0.89.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.6...sn_node-v0.89.7) - 2023-08-31 ### Other - update dependencies ## [0.89.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.7...sn_node-v0.89.8) - 2023-08-31 ### Other - update dependencies ## [0.89.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.8...sn_node-v0.89.9) - 2023-09-01 ### Other - _(ci)_ adding test to verify total rewards balances after chunks upload ## [0.89.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.9...sn_node-v0.89.10) - 2023-09-01 ### Other - update dependencies ## [0.89.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.10...sn_node-v0.89.11) - 2023-09-01 ### Other - _(node)_ add small wait to reward test - _(node)_ dont validate spends if ids dont match - ignore heaptracks - _(transfers)_ store dbcs by ref to avoid more clones ## [0.89.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.11...sn_node-v0.89.12) - 2023-09-01 ### Other - _(node)_ add valid put log markers ## [0.89.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.12...sn_node-v0.89.13) - 2023-09-02 ### Other - update dependencies ## [0.89.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.13...sn_node-v0.89.14) - 2023-09-04 ### Other - Update README.MD - Update readme ## [0.89.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.14...sn_node-v0.89.15) - 2023-09-04 ### Added - _(node)_ print wallet usage hint - feat!(protocol): make payments for all record types ### Other - _(release)_ sn_registers-v0.2.4 - utilize encrypt_from_file - _(node)_ validate payment amount is enough before trying to validate dbc spend - _(node)_ remove unused arg during spend validation - _(node)_ refactor and extract out spend validation. - se/derialize for PrettyPrintRecordKey ## [0.89.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.15...sn_node-v0.89.16) - 2023-09-04 ### Other - update dependencies ## [0.89.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.16...sn_node-v0.89.17) - 2023-09-04 ### Other - _(ci)_ isolate nodes rewards test run to prevent from unrelated rewards ## [0.89.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.17...sn_node-v0.89.18) - 2023-09-05 ### Other - update dependencies ## [0.89.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.18...sn_node-v0.89.19) - 2023-09-05 ### Added - _(cli)_ properly init color_eyre, advise on hex parse fail ## [0.89.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.19...sn_node-v0.89.20) - 2023-09-05 ### Other - _(node)_ add a log to flag when we didnt find a payment for us ## [0.89.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.20...sn_node-v0.89.21) - 2023-09-05 ### Added - encryptioni output to disk ## [0.89.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.21...sn_node-v0.89.22) - 2023-09-05 ### Fixed - _(node)_ accept fees _near_ our current store cost. ## [0.89.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.22...sn_node-v0.89.23) - 2023-09-06 ### Other - update dependencies ## [0.89.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.23...sn_node-v0.89.24) - 2023-09-07 ### Other - update dependencies ## [0.89.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.24...sn_node-v0.89.25) - 2023-09-07 ### Other - update dependencies ## [0.89.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.25...sn_node-v0.89.26) - 2023-09-07 ### Other - update dependencies ## [0.89.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.26...sn_node-v0.89.27) - 2023-09-08 ### Added - _(client)_ repay for chunks if they cannot be validated ### Other - _(client)_ refactor to have permits at network layer ## [0.89.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.27...sn_node-v0.89.28) - 2023-09-11 ### Other - update dependencies ## [0.89.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.28...sn_node-v0.89.29) - 2023-09-11 ### Other - utilize stream encryptor ## [0.90.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.89.29...sn_node-v0.90.0) - 2023-09-11 ### Added - [**breaking**] Nodes no longer tolerate underpaying ## [0.90.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.0...sn_node-v0.90.1) - 2023-09-12 ### Added - add tx and parent spends verification - chunk payments using UTXOs instead of DBCs ### Other - _(node)_ remove unused proptest dep - use updated sn_dbc ## [0.90.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.1...sn_node-v0.90.2) - 2023-09-12 ### Added - _(network)_ feature gate libp2p metrics ### Other - _(metrics)_ rename network metrics and remove from default features list ## [0.90.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.2...sn_node-v0.90.3) - 2023-09-12 ### Other - update dependencies ## [0.90.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.3...sn_node-v0.90.4) - 2023-09-12 ### Added - utilize stream decryptor ## [0.90.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.4...sn_node-v0.90.5) - 2023-09-13 ### Added - _(register)_ skip payment validation if Register already exists, i.e. no cost for mutations - _(register)_ paying nodes for Register storage ### Other - _(register)_ adding Register payment storage tests to run in CI - _(payments)_ adaptig code to recent changes in Transfers - _(example)_ adapting example code to provide wallet client for creating a Register ## [0.90.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.5...sn_node-v0.90.6) - 2023-09-14 ### Added - _(network)_ enable custom node metrics - _(network)_ use NetworkConfig for network construction ### Other - remove unused error variants - _(network)_ use builder pattern to construct the Network - _(metrics)_ rename feature flag and small fixes ## [0.90.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.6...sn_node-v0.90.7) - 2023-09-14 ### Other - update dependencies ## [0.90.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.7...sn_node-v0.90.8) - 2023-09-14 ### Other - _(ci)_ reduce the number of Registers to create in rewards test - slightly longer wait before comparing rewards - _(rewards)_ e2e test to verify nodes rewards when storing Registers - _(storage)_ verify mutation of unpaid Register also fails ## [0.90.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.8...sn_node-v0.90.9) - 2023-09-15 ### Other - _(client)_ remove unused wallet_client ## [0.90.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.9...sn_node-v0.90.10) - 2023-09-15 ### Other - refine log levels ## [0.90.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.10...sn_node-v0.90.11) - 2023-09-15 ### Other - update dependencies ## [0.90.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.11...sn_node-v0.90.12) - 2023-09-15 ### Other - update dependencies ## [0.90.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.12...sn_node-v0.90.13) - 2023-09-18 ### Added - generic transfer receipt ## [0.90.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.13...sn_node-v0.90.14) - 2023-09-18 ### Other - update dependencies ## [0.90.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.14...sn_node-v0.90.15) - 2023-09-18 ### Other - update dependencies ## [0.90.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.15...sn_node-v0.90.16) - 2023-09-18 ### Other - update dependencies ## [0.90.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.16...sn_node-v0.90.17) - 2023-09-19 ### Other - update dependencies ## [0.90.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.17...sn_node-v0.90.18) - 2023-09-19 ### Other - update dependencies ## [0.90.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.18...sn_node-v0.90.19) - 2023-09-19 ### Added - log payment amount ## [0.90.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.19...sn_node-v0.90.20) - 2023-09-19 ### Other - update dependencies ## [0.90.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.20...sn_node-v0.90.21) - 2023-09-19 ### Other - update dependencies ## [0.90.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.21...sn_node-v0.90.22) - 2023-09-19 ### Other - update dependencies ## [0.90.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.22...sn_node-v0.90.23) - 2023-09-20 ### Other - update dependencies ## [0.90.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.23...sn_node-v0.90.24) - 2023-09-20 ### Other - major dep updates ## [0.90.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.24...sn_node-v0.90.25) - 2023-09-20 ### Other - update dependencies ## [0.90.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.25...sn_node-v0.90.26) - 2023-09-20 ### Other - update dependencies ## [0.90.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.26...sn_node-v0.90.27) - 2023-09-20 ### Other - update dependencies ## [0.90.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.27...sn_node-v0.90.28) - 2023-09-20 ### Other - update dependencies ## [0.90.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.28...sn_node-v0.90.29) - 2023-09-20 ### Other - update dependencies ## [0.90.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.29...sn_node-v0.90.30) - 2023-09-20 ### Other - update dependencies ## [0.90.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.30...sn_node-v0.90.31) - 2023-09-20 ### Other - more iterations for verify reward update - _(release)_ sn_cli-v0.81.61/sn_networking-v0.6.14/sn_client-v0.89.21 ## [0.90.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.31...sn_node-v0.90.32) - 2023-09-20 ### Other - update dependencies ## [0.90.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.32...sn_node-v0.90.33) - 2023-09-21 ### Other - _(release)_ sn_client-v0.89.22 ## [0.90.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.33...sn_node-v0.90.34) - 2023-09-22 ### Other - update dependencies ## [0.90.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.34...sn_node-v0.90.35) - 2023-09-22 ### Added - _(apis)_ adding client and node APIs, as well as safenode RPC services to pub/sub to gossipsub topics - _(network)_ adding support for gossipsub behaviour/messaging ### Other - _(gossipsub)_ CI testing with nodes subscribing to gossipsub topics and publishing messages ## [0.90.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.35...sn_node-v0.90.36) - 2023-09-25 ### Other - update dependencies ## [0.90.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.36...sn_node-v0.90.37) - 2023-09-25 ### Added - _(peers)_ use a common way to bootstrap into the network for all the bins ### Fixed - _(peers_acquisition)_ bail on fail to parse peer id - _(peers)_ node can start without bootstrap peers ## [0.90.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.37...sn_node-v0.90.38) - 2023-09-25 ### Other - update dependencies ## [0.90.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.38...sn_node-v0.90.39) - 2023-09-25 ### Other - cleanup renamings in sn_transfers ## [0.90.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.39...sn_node-v0.90.40) - 2023-09-25 ### Other - update dependencies ## [0.90.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.40...sn_node-v0.90.41) - 2023-09-26 ### Added - _(apis)_ adding client and node APIs, as well as safenode RPC service to unsubscribe from gossipsub topics ## [0.90.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.41...sn_node-v0.90.42) - 2023-09-26 ### Other - update dependencies ## [0.91.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.90.42...sn_node-v0.91.0) - 2023-09-27 ### Added - deep clean sn_transfers, reduce exposition, remove dead code ## [0.91.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.0...sn_node-v0.91.1) - 2023-09-27 ### Added - _(logging)_ set default log levels to be more verbose - _(logging)_ set default logging to data-dir ## [0.91.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.1...sn_node-v0.91.2) - 2023-09-27 ### Added - _(networking)_ remove optional_semaphore being passed down from apps ### Other - _(release)_ sn_cli-v0.83.2/sn_client-v0.91.1 ## [0.91.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.2...sn_node-v0.91.3) - 2023-09-28 ### Added - client to client transfers ## [0.91.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.3...sn_node-v0.91.4) - 2023-09-29 ### Other - update dependencies ## [0.91.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.4...sn_node-v0.91.5) - 2023-09-29 ### Other - update dependencies ## [0.91.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.5...sn_node-v0.91.6) - 2023-09-29 ### Added - replicate fetch from peer first then from network ## [0.91.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.6...sn_node-v0.91.7) - 2023-10-02 ### Other - update dependencies ## [0.91.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.7...sn_node-v0.91.8) - 2023-10-02 ### Other - update dependencies ## [0.91.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.8...sn_node-v0.91.9) - 2023-10-02 ### Other - update dependencies ## [0.91.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.9...sn_node-v0.91.10) - 2023-10-02 ### Added - add read transfer from file option - faucet using transfers instead of sending raw cashnotes ## [0.91.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.10...sn_node-v0.91.11) - 2023-10-02 ### Other - remove tracing feat deps ## [0.91.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.11...sn_node-v0.91.12) - 2023-10-03 ### Added - _(node)_ remove failed records if write fails ## [0.91.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.12...sn_node-v0.91.13) - 2023-10-03 ### Other - update dependencies ## [0.91.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.13...sn_node-v0.91.14) - 2023-10-03 ### Other - update dependencies ## [0.91.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.14...sn_node-v0.91.15) - 2023-10-03 ### Other - update dependencies ## [0.91.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.15...sn_node-v0.91.16) - 2023-10-03 ### Added - faucet retry genesis claim on failure ## [0.91.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.16...sn_node-v0.91.17) - 2023-10-04 ### Other - update dependencies ## [0.91.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.17...sn_node-v0.91.18) - 2023-10-04 ### Other - update dependencies ## [0.91.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.18...sn_node-v0.91.19) - 2023-10-04 ### Other - update dependencies ## [0.91.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.19...sn_node-v0.91.20) - 2023-10-04 ### Other - update dependencies ## [0.91.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.20...sn_node-v0.91.21) - 2023-10-04 ### Other - update dependencies ## [0.91.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.21...sn_node-v0.91.22) - 2023-10-05 ### Other - update dependencies ## [0.91.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.22...sn_node-v0.91.23) - 2023-10-05 ### Added - quorum for records get ### Fixed - set replication Quorum to Majority ## [0.91.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.23...sn_node-v0.91.24) - 2023-10-05 ### Fixed - _(sn_transfers)_ be sure we store CashNotes before writing the wallet file ## [0.91.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.24...sn_node-v0.91.25) - 2023-10-05 ### Added - feat!(cli): remove concurrency argument ## [0.91.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.25...sn_node-v0.91.26) - 2023-10-05 ### Added - _(metrics)_ display node reward balance metrics - _(metrics)_ enable process memory and cpu usage metrics - _(metrics)_ enable node monitoring through dockerized grafana instance ## [0.91.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.26...sn_node-v0.91.27) - 2023-10-06 ### Other - fix new clippy errors - _(test)_ minor refactoring to gossipsub test - _(gossipsub)_ make CI test to be more strict, 0-tolerance for missed published messages ## [0.91.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.27...sn_node-v0.91.28) - 2023-10-06 ### Other - update dependencies ## [0.92.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.91.28...sn_node-v0.92.0) - 2023-10-06 ### Fixed - _(client)_ [**breaking**] unify send_without_verify and send functions ## [0.92.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.0...sn_node-v0.92.1) - 2023-10-06 ### Added - feat!(sn_transfers): unify store api for wallet ## [0.92.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.1...sn_node-v0.92.2) - 2023-10-08 ### Other - update dependencies ## [0.92.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.2...sn_node-v0.92.3) - 2023-10-09 ### Other - update dependencies ## [0.92.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.3...sn_node-v0.92.4) - 2023-10-09 ### Other - update dependencies ## [0.92.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.4...sn_node-v0.92.5) - 2023-10-10 ### Other - update dependencies ## [0.92.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.5...sn_node-v0.92.6) - 2023-10-10 ### Other - compare files after download twice ## [0.92.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.6...sn_node-v0.92.7) - 2023-10-10 ### Other - update dependencies ## [0.92.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.7...sn_node-v0.92.8) - 2023-10-10 ### Added - _(transfer)_ special event for transfer notifs over gossipsub ### Other - minor improvements to some log msgs - feature-gating subscription to gossipsub payments notifications - _(transfer)_ add verification for register payment notification to e2e test - _(transfer)_ CI test to verify storage payment notifications are sent by each of storage node ## [0.92.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.8...sn_node-v0.92.9) - 2023-10-11 ### Fixed - _(log)_ capture logs from multiple integration tests - _(log)_ capture logs from tests - _(test)_ return log WorkerGuard - _(test)_ test clients should log to data_dir ### Other - _(log)_ log the running test's name ## [0.92.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.9...sn_node-v0.92.10) - 2023-10-11 ### Added - showing expected holders to CLI when required - verify put_record with expected_holders ## [0.92.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.10...sn_node-v0.92.11) - 2023-10-11 ### Other - update dependencies ## [0.92.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.11...sn_node-v0.92.12) - 2023-10-11 ### Other - update dependencies ## [0.92.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.12...sn_node-v0.92.13) - 2023-10-11 ### Other - update dependencies ## [0.93.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.92.13...sn_node-v0.93.0) - 2023-10-12 ### Added - _(sn_transfers)_ dont load Cns from disk, store value along w/ pubkey in wallet ### Fixed - wallet concurrent access bugs ### Other - remove nasty unwrap ## [0.93.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.0...sn_node-v0.93.1) - 2023-10-12 ### Other - update dependencies ## [0.93.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.1...sn_node-v0.93.2) - 2023-10-12 ### Other - update dependencies ## [0.93.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.2...sn_node-v0.93.3) - 2023-10-13 ### Other - update dependencies ## [0.93.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.3...sn_node-v0.93.4) - 2023-10-13 ### Other - update dependencies ## [0.93.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.4...sn_node-v0.93.5) - 2023-10-16 ### Other - update dependencies ## [0.93.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.5...sn_node-v0.93.6) - 2023-10-16 ### Other - update dependencies ## [0.93.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.6...sn_node-v0.93.7) - 2023-10-17 ### Fixed - _(transfers)_ dont overwrite existing payment transactions when we top up ### Other - adding comments and cleanup around quorum / payment fixes - ensure quorum is taken into account for early chunk reads ## [0.93.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.7...sn_node-v0.93.8) - 2023-10-18 ### Other - update dependencies ## [0.94.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.93.8...sn_node-v0.94.0) - 2023-10-18 ### Added - _(client)_ verify register uploads and retry and repay if failed ### Fixed - _(node)_ ensure we bank any money sent to us as payment ### Other - update verify_data_location to use the test pay for chunks only - _(node)_ ignore potentially irrelevant test - _(client)_ always validate storage payments - update churn test to retry puts if price changes - fixup chunk_fail no payment test. - repay for data in node rewards tests ## [0.94.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.94.0...sn_node-v0.94.1) - 2023-10-18 ### Other - retry and verify reg upload during reward test ## [0.94.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.94.1...sn_node-v0.94.2) - 2023-10-19 ### Fixed - _(test)_ enable logging for gossip tests ## [0.94.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.94.2...sn_node-v0.94.3) - 2023-10-19 ### Fixed - _(network)_ emit NetworkEvent when we publish a gossipsub msg ## [0.94.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.94.3...sn_node-v0.94.4) - 2023-10-19 ### Other - update dependencies ## [0.95.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.94.4...sn_node-v0.95.0) - 2023-10-20 ### Added - _(node)_ allow user to set the metrics server port ### Other - _(node)_ [**breaking**] use `NodeBuilder` to construct and run node - _(node)_ remove random get_closest on inactivity ## [0.95.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.0...sn_node-v0.95.1) - 2023-10-20 ### Added - log network address with KBucketKey ## [0.95.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.1...sn_node-v0.95.2) - 2023-10-21 ### Fixed - _(network)_ return references when sorting peers - _(network)_ prevent cloning of all our peers while sorting them ## [0.95.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.2...sn_node-v0.95.3) - 2023-10-22 ### Added - _(protocol)_ Nodes can error StoreCosts if they have data. ### Other - _(node)_ increase replication frequency ## [0.95.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.3...sn_node-v0.95.4) - 2023-10-23 ### Fixed - _(node)_ use tokio::Interval to trigger forced replication ## [0.95.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.4...sn_node-v0.95.5) - 2023-10-23 ### Other - more custom debug and debug skips - _(node)_ repl timing logs ## [0.95.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.5...sn_node-v0.95.6) - 2023-10-23 ### Other - update dependencies ## [0.95.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.6...sn_node-v0.95.7) - 2023-10-23 ### Other - update dependencies ## [0.95.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.7...sn_node-v0.95.8) - 2023-10-23 ### Fixed - filter duplicated peers when replication ## [0.96.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.95.8...sn_node-v0.96.0) - 2023-10-24 ### Added - _(protocol)_ [**breaking**] implement `PrettyPrintRecordKey` as a `Cow` type ## [0.96.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.0...sn_node-v0.96.1) - 2023-10-24 ### Added - _(node)_ allow user to specify the number of log files to keep - _(log)_ use LogBuilder to initialize logging ### Other - log and debug SwarmCmd ## [0.96.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.1...sn_node-v0.96.2) - 2023-10-24 ### Fixed - _(node)_ dont try and replicate to non existent peers ## [0.96.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.2...sn_node-v0.96.3) - 2023-10-24 ### Other - Register test negation ## [0.96.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.3...sn_node-v0.96.4) - 2023-10-24 ### Added - _(payments)_ adding unencrypted CashNotes for network royalties and verifying correct payment - _(payments)_ network royalties payment made when storing content ### Fixed - _(node)_ include network royalties in received fee calculation ### Other - _(node)_ use iterator to calculate fees received in storage payment - _(node)_ minor changes to log the total amount seen by a node for royalties payment - adding example cmd to docs for listening to network royalties payments notifs - _(api)_ wallet APIs to account for network royalties fees when returning total cost paid for storage - nodes to subscribe by default to network royalties payment notifs ## [0.96.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.4...sn_node-v0.96.5) - 2023-10-24 ### Added - _(example)_ new arg to store cash notes received through rpc events to disk ### Fixed - _(tests)_ nodes rewards tests to account for repayments amounts ## [0.96.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.5...sn_node-v0.96.6) - 2023-10-25 ### Added - _(cli)_ chunk files in parallel ## [0.96.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.6...sn_node-v0.96.7) - 2023-10-26 ### Other - pass RecordKey by reference ## [0.96.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.7...sn_node-v0.96.8) - 2023-10-26 ### Fixed - typos ## [0.96.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.8...sn_node-v0.96.9) - 2023-10-26 ### Fixed - add libp2p identity with rand dep for tests ## [0.96.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.9...sn_node-v0.96.10) - 2023-10-26 ### Other - update dependencies ## [0.96.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.10...sn_node-v0.96.11) - 2023-10-26 ### Added - replicate Spend/Register with same key but different content ### Other - Revert "ci: Register test negation" - expand replication range ## [0.96.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.11...sn_node-v0.96.12) - 2023-10-27 ### Other - update dependencies ## [0.96.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.12...sn_node-v0.96.13) - 2023-10-27 ### Other - update dependencies ## [0.96.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.13...sn_node-v0.96.14) - 2023-10-27 ### Other - make rpc client a bin ## [0.96.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.14...sn_node-v0.96.15) - 2023-10-30 ### Added - _(rpc_client)_ show total accumulated balance when decrypting transfers received - _(rpc-client)_ be able to decrpyt received Transfers by providing a secret key - encrypt network royalty to Transfer for gossip msg ### Other - _(node)_ use Bytes for Gossip related data types - _(node)_ make gossipsubpublish take Bytes - _(release)_ sn_client-v0.95.11/sn_protocol-v0.8.7/sn_transfers-v0.14.8/sn_networking-v0.9.10 ## [0.96.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.15...sn_node-v0.96.16) - 2023-10-30 ### Added - `bincode::serialize` into `Bytes` without intermediate allocation ## [0.96.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.16...sn_node-v0.96.17) - 2023-10-30 ### Other - update dependencies ## [0.96.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.17...sn_node-v0.96.18) - 2023-10-31 ### Added - _(rpc-client)_ allow to set peers to connect to in order to validate decrypted transfers events ### Other - _(release)_ sn_cli-v0.84.32/sn_client-v0.95.14/sn_networking-v0.9.13/sn_protocol-v0.8.9 - _(networking)_ de/serialise directly to Bytes ## [0.96.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.18...sn_node-v0.96.19) - 2023-10-31 ### Other - update dependencies ## [0.96.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.19...sn_node-v0.96.20) - 2023-10-31 ### Added - try to replicate paid record immediately ### Fixed - avoid access to the wallet files at the same time ## [0.96.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.20...sn_node-v0.96.21) - 2023-11-01 ### Other - _(node)_ don't log the transfers events ## [0.96.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.21...sn_node-v0.96.22) - 2023-11-01 ### Other - update dependencies ## [0.96.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.22...sn_node-v0.96.23) - 2023-11-01 ### Other - _(node)_ reduce the max number of events that can be queued in the NodeEventsChannel - _(node)_ skip transfer notif decoding if there is no NodeEvents receiver subscribed - _(node)_ short-circuit transfers verification once the first one belonging to itself is found ## [0.96.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.23...sn_node-v0.96.24) - 2023-11-01 ### Other - update dependencies ## [0.96.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.24...sn_node-v0.96.25) - 2023-11-01 ### Other - _(node)_ updating verify_data_test - _(node)_ sent ignored events to trace - _(networking)_ remove unused and confusing GetOurCloseGroup SwarmCmd - _(networking)_ make NetworkAddress hold bytes rather than vec - _(networking)_ only get KVALUE peers for closeness checks in replication - _(networking)_ only get KVALUE peers when sorting closely ## [0.96.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.25...sn_node-v0.96.26) - 2023-11-02 ### Added - keep transfers in mem instead of heavy cashnotes ## [0.96.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.26...sn_node-v0.96.27) - 2023-11-02 ### Other - update dependencies ## [0.96.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.27...sn_node-v0.96.28) - 2023-11-03 ### Added - _(node)_ allow to set a filter for transfer notifications based on targeted pk ### Other - e2e test for transfer notifs filtering ## [0.96.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.28...sn_node-v0.96.29) - 2023-11-03 ### Other - update dependencies ## [0.96.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.29...sn_node-v0.96.30) - 2023-11-06 ### Added - _(deps)_ upgrade libp2p to 0.53 ## [0.96.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.30...sn_node-v0.96.31) - 2023-11-06 ### Other - update dependencies ## [0.96.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.31...sn_node-v0.96.32) - 2023-11-06 ### Other - update dependencies ## [0.96.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.32...sn_node-v0.96.33) - 2023-11-06 ### Added - _(node)_ log marker to track the number of peers in the routing table ## [0.96.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.33...sn_node-v0.96.34) - 2023-11-06 ### Other - update dependencies ## [0.96.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.34...sn_node-v0.96.35) - 2023-11-07 ### Other - move sn_faucet to its own crate - move sn_node_rpc_client to its own crate - move protobuf definition to sn_protocol ## [0.97.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.96.35...sn_node-v0.97.0) - 2023-11-07 ### Fixed - _(client)_ [**breaking**] make `Files::chunk_file` into an associated function ## [0.97.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.0...sn_node-v0.97.1) - 2023-11-07 ### Other - update dependencies ## [0.97.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.1...sn_node-v0.97.2) - 2023-11-07 ### Other - update dependencies ## [0.97.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.2...sn_node-v0.97.3) - 2023-11-08 ### Added - _(node)_ set custom msg id in order to deduplicate transfer notifs ## [0.97.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.3...sn_node-v0.97.4) - 2023-11-08 ### Other - update dependencies ## [0.97.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.4...sn_node-v0.97.5) - 2023-11-08 ### Other - update dependencies ## [0.97.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.5...sn_node-v0.97.6) - 2023-11-09 ### Other - update dependencies ## [0.97.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.6...sn_node-v0.97.7) - 2023-11-09 ### Other - update dependencies ## [0.97.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.7...sn_node-v0.97.8) - 2023-11-09 ### Other - update dependencies ## [0.98.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.97.8...sn_node-v0.98.0) - 2023-11-10 ### Added - _(client)_ only pay one node ### Fixed - _(client)_ register validations checks for more than one node - _(node)_ reduce replication candidates for interval flow. - _(networking)_ only inform close peers of repl data - _(test)_ fetch record_holders during retry - _(test)_ use client API to listen for gossipsub msgs when checking transfer notifs ### Other - fix typo - _(node)_ add clearer error to test - _(node)_ periodic replication every 30s - _(node)_ send replication msgs to closest KVALUE nodes - _(node)_ Arc to make clones cheaper - _(node)_ post-rebase fixes for expected royalties on tests - reduce logging on keys on repl - do not drop cmds/events - _(node)_ node gets one notification vs 5 - mutable_key_type clippy fixes - _(churn)_ small delay before validating chunks in data_with_churn - _(networking)_ sort records by closeness - _(tests)_ make gossipsub verification more strict wrt number of msgs received ## [0.98.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.0...sn_node-v0.98.1) - 2023-11-10 ### Other - update dependencies ## [0.98.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.1...sn_node-v0.98.2) - 2023-11-13 ### Other - update dependencies ## [0.98.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.2...sn_node-v0.98.3) - 2023-11-13 ### Added - no throwing up if not a gossip listener ## [0.98.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.3...sn_node-v0.98.4) - 2023-11-13 ### Other - update dependencies ## [0.98.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.4...sn_node-v0.98.5) - 2023-11-13 ### Other - update dependencies ## [0.98.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.5...sn_node-v0.98.6) - 2023-11-14 ### Other - update dependencies ## [0.98.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.6...sn_node-v0.98.7) - 2023-11-14 ### Other - update dependencies ## [0.98.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.7...sn_node-v0.98.8) - 2023-11-14 ### Other - small tweaks around gossip msg receipt for efficiency ## [0.98.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.8...sn_node-v0.98.9) - 2023-11-14 ### Other - update dependencies ## [0.98.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.9...sn_node-v0.98.10) - 2023-11-14 ### Other - _(royalties)_ verify royalties fees amounts ## [0.98.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.10...sn_node-v0.98.11) - 2023-11-15 ### Added - _(royalties)_ make royalties payment to be 15% of the total storage cost ## [0.98.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.11...sn_node-v0.98.12) - 2023-11-15 ### Other - update dependencies ## [0.98.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.12...sn_node-v0.98.13) - 2023-11-15 ### Other - update dependencies ## [0.98.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.13...sn_node-v0.98.14) - 2023-11-16 ### Added - massive cleaning to prepare for quotes ## [0.98.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.14...sn_node-v0.98.15) - 2023-11-16 ### Other - update dependencies ## [0.98.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.15...sn_node-v0.98.16) - 2023-11-17 ### Fixed - _(node)_ increase timeout for reward waits ## [0.98.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.16...sn_node-v0.98.17) - 2023-11-17 ### Other - update dependencies ## [0.98.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.17...sn_node-v0.98.18) - 2023-11-20 ### Added - quotes ### Fixed - adapt register updates - use actual quote instead of dummy ## [0.98.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.18...sn_node-v0.98.19) - 2023-11-20 ### Other - remove comment - _(node)_ set gossipsub heartbeat interval to 5secs instead of 1sec ## [0.98.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.19...sn_node-v0.98.20) - 2023-11-20 ### Other - update dependencies ## [0.98.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.20...sn_node-v0.98.21) - 2023-11-20 ### Added - _(networking)_ shortcircuit response sending for replication ## [0.98.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.21...sn_node-v0.98.22) - 2023-11-20 ### Other - update dependencies ## [0.98.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.22...sn_node-v0.98.23) - 2023-11-20 ### Other - update dependencies ## [0.98.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.23...sn_node-v0.98.24) - 2023-11-21 ### Other - update dependencies ## [0.98.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.24...sn_node-v0.98.25) - 2023-11-21 ### Other - _(sn_networking)_ enable_gossip via the builder pattern - update test setup for clients that also listen to gossip ## [0.98.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.25...sn_node-v0.98.26) - 2023-11-22 ### Other - update dependencies ## [0.98.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.26...sn_node-v0.98.27) - 2023-11-22 ### Added - _(cli)_ add download batch-size option ## [0.98.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.27...sn_node-v0.98.28) - 2023-11-22 ### Other - _(release)_ non gossip handler shall not throw gossip msg up ## [0.98.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.28...sn_node-v0.98.29) - 2023-11-23 ### Other - update dependencies ## [0.98.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.29...sn_node-v0.98.30) - 2023-11-23 ### Added - move derivation index random method to itself ## [0.98.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.30...sn_node-v0.98.31) - 2023-11-23 ### Added - _(networking)_ no floodsub publish ### Other - _(node)_ increase timeout on gossipsub msg tests ## [0.98.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.31...sn_node-v0.98.32) - 2023-11-23 ### Other - update dependencies ## [0.98.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.32...sn_node-v0.98.33) - 2023-11-24 ### Other - update dependencies ## [0.98.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.33...sn_node-v0.98.34) - 2023-11-27 ### Added - _(test)_ impl routing table test - _(rpc)_ return the KBuckets map ### Fixed - _(discovery)_ insert newly seen candidates and return random candidates - _(test)_ sleep before verifying routing table ### Other - changes based on comment, use btreemap - _(ci)_ enable routing table test ## [0.98.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.34...sn_node-v0.98.35) - 2023-11-28 ### Added - _(test)_ impl more functions for deployer tests ### Other - _(test)_ impl utils for Droplets/NonDroplets ## [0.98.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.35...sn_node-v0.98.36) - 2023-11-28 ### Other - update deps ## [0.98.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.36...sn_node-v0.98.37) - 2023-11-28 ### Added - _(royalties)_ serialise royalties notifs with MsgPack instead of bincode ## [0.98.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.37...sn_node-v0.98.38) - 2023-11-29 ### Added - verify all the way to genesis - verify spends through the cli ### Fixed - genesis check security flaw ## [0.98.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.38...sn_node-v0.98.39) - 2023-11-29 ### Other - update dependencies ## [0.98.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.39...sn_node-v0.98.40) - 2023-11-29 ### Other - update dependencies ## [0.98.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.40...sn_node-v0.98.41) - 2023-11-29 ### Other - _(node)_ increase node reward test timeout to match client wait ## [0.98.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.41...sn_node-v0.98.42) - 2023-11-29 ### Other - update dependencies ## [0.98.43](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.42...sn_node-v0.98.43) - 2023-11-29 ### Added - most of nodes not subscribe to royalty_transfer topic ## [0.98.44](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.43...sn_node-v0.98.44) - 2023-11-29 ### Added - _(node)_ only parse replication list from close peers. ### Other - _(node)_ increase reverification delay - _(networking)_ increase margin of acceptable replicaiton to precurse churn - _(networking)_ add more leeway in replication candidate choices. - increase verification delay - _(node)_ increase interval for interval_replication - _(networking)_ reduce nodes receiving replication updates. ## [0.99.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.98.44...sn_node-v0.99.0) - 2023-12-01 ### Added - _(network)_ use seperate PUT/GET configs ### Other - _(ci)_ fix CI build cache parsing error - _(network)_ [**breaking**] use the Quorum struct provided by libp2p ## [0.99.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.0...sn_node-v0.99.1) - 2023-12-04 ### Other - update dependencies ## [0.99.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.1...sn_node-v0.99.2) - 2023-12-05 ### Other - _(node)_ update assert over royalty count - _(node)_ refactor NetworkEvent handling - _(network)_ allow replication even below K_VALUE peers - tie node reward test to number of data. - FORWARDER_CHOOSING_FACTOR docs - tie verification data test to repl time - _(node)_ separation of cheap NetworkEvent handling ## [0.99.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.2...sn_node-v0.99.3) - 2023-12-05 ### Other - update dependencies ## [0.99.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.3...sn_node-v0.99.4) - 2023-12-05 ### Other - update dependencies ## [0.99.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.4...sn_node-v0.99.5) - 2023-12-05 ### Other - update dependencies ## [0.99.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.5...sn_node-v0.99.6) - 2023-12-05 ### Fixed - protect against amounts tampering and incomplete spends attack ### Other - _(node)_ formalise small wait after starting payment listener - _(node)_ add min test time for reward listener tests - _(release)_ sn_cli-v0.86.40/sn_transfers-v0.14.25/sn_faucet-v0.1.62/sn_client-v0.99.4/sn_networking-v0.11.3/sn_protocol-v0.8.36 ## [0.99.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.6...sn_node-v0.99.7) - 2023-12-05 ### Added - _(network)_ use custom enum for get_record errors ### Fixed - _(node)_ get self spend should be aggregated even if it errors out - _(network)_ if self is a double spend, aggregate and store them ### Other - _(network)_ log if parent spend returned an error - _(network)_ avoid losing error info by converting them to a single type ## [0.99.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.7...sn_node-v0.99.8) - 2023-12-06 ### Other - add more workspace lints from node - remove some needless cloning - remove fake failure mode from function - remove needless pass by value - forbid unsafe idioms at workspace level - use inline format args - add boilerplate for workspace lints - address failing clippy::all lints ## [0.99.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.8...sn_node-v0.99.9) - 2023-12-06 ### Other - update dependencies ## [0.99.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.9...sn_node-v0.99.10) - 2023-12-06 ### Other - _(network)_ add more docs to the get_record_handlers - _(release)_ sn_cli-v0.86.45/sn_networking-v0.11.7/sn_faucet-v0.1.67/sn_client-v0.99.8 ## [0.99.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.10...sn_node-v0.99.11) - 2023-12-07 ### Other - update dependencies ## [0.99.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.11...sn_node-v0.99.12) - 2023-12-08 ### Other - update dependencies ## [0.99.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.12...sn_node-v0.99.13) - 2023-12-08 ### Other - update dependencies ## [0.99.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.13...sn_node-v0.99.14) - 2023-12-08 ### Other - increase wait time for royalty transfers - update reward test awaits ## [0.99.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.14...sn_node-v0.99.15) - 2023-12-11 ### Other - update dependencies ## [0.99.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.15...sn_node-v0.99.16) - 2023-12-11 ### Other - gossipsub flood_publish and longer cache time to avoid loop ## [0.99.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.16...sn_node-v0.99.17) - 2023-12-12 ### Other - update dependencies ## [0.100.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.99.17...sn_node-v0.100.0) - 2023-12-12 ### Added - _(node)_ replicate valid Spends to CLOSE_GROUP - _(networking)_ sort quotes by closest NetworkAddress before truncate - _(networking)_ add flow to mark record as stored post-write - _(node)_ add log Marker for stored records - _(node)_ only trigger replication on confirmed stored records - _(node)_ accept replication from closest K_VALUE nodes - _(node)_ try and replicate already existing records to neighbours ### Fixed - _(networking)_ return Vec for closest queries to reliably sort ### Other - _(networking)_ add replication logs - minor updates to naming for clarity of KeysToFetchForReplication - _(networking)_ solidify REPLICATION_RANGE use. exclude self_peer_id in some calcs - _(node)_ improve RecordRejected logs ## [0.100.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.0...sn_node-v0.100.1) - 2023-12-12 ### Added - _(node)_ log if RPC server fails to start ## [0.100.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.1...sn_node-v0.100.2) - 2023-12-12 ### Added - _(cli)_ skip payment and upload for existing chunks ## [0.100.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.2...sn_node-v0.100.3) - 2023-12-12 ### Other - update dependencies ## [0.100.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.3...sn_node-v0.100.4) - 2023-12-13 ### Other - update dependencies ## [0.100.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.4...sn_node-v0.100.5) - 2023-12-13 ### Other - update dependencies ## [0.100.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.5...sn_node-v0.100.6) - 2023-12-13 ### Other - update dependencies ## [0.100.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.6...sn_node-v0.100.7) - 2023-12-13 ### Other - remove large log ## [0.100.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.7...sn_node-v0.100.8) - 2023-12-14 ### Other - update dependencies ## [0.100.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.8...sn_node-v0.100.9) - 2023-12-14 ### Other - _(network)_ return error with more info during quorum failure - _(test)_ fix log messages during churn test ## [0.100.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.9...sn_node-v0.100.10) - 2023-12-14 ### Other - update dependencies ## [0.100.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.10...sn_node-v0.100.11) - 2023-12-14 ### Other - update dependencies ## [0.100.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.11...sn_node-v0.100.12) - 2023-12-14 ### Other - update dependencies ## [0.100.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.12...sn_node-v0.100.13) - 2023-12-14 ### Other - update dependencies ## [0.100.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.13...sn_node-v0.100.14) - 2023-12-18 ### Added - _(client)_ update the Files config via setters - _(client)_ move upload retry logic from CLI to client ### Fixed - _(test)_ use the Files struct to upload chunks ### Other - _(client)_ add docs to the Files struct ## [0.100.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.14...sn_node-v0.100.15) - 2023-12-18 ### Other - update dependencies ## [0.100.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.15...sn_node-v0.100.16) - 2023-12-18 ### Other - update dependencies ## [0.100.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.16...sn_node-v0.100.17) - 2023-12-18 ### Other - update dependencies ## [0.100.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.17...sn_node-v0.100.18) - 2023-12-19 ### Other - update dependencies ## [0.100.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.18...sn_node-v0.100.19) - 2023-12-19 ### Other - update dependencies ## [0.100.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.19...sn_node-v0.100.20) - 2023-12-19 ### Fixed - _(test)_ tests should try to load just the faucet wallet ## [0.100.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.20...sn_node-v0.100.21) - 2023-12-19 ### Other - _(node)_ log wallet balance on earning ## [0.100.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.21...sn_node-v0.100.22) - 2023-12-19 ### Other - add data path field to node info ## [0.100.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.22...sn_node-v0.100.23) - 2023-12-20 ### Other - update dependencies ## [0.100.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.23...sn_node-v0.100.24) - 2023-12-21 ### Other - update dependencies ## [0.100.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.24...sn_node-v0.100.25) - 2023-12-21 ### Other - log full Register address when created in cli and example app ## [0.100.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.25...sn_node-v0.100.26) - 2023-12-22 ### Other - update dependencies ## [0.100.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.26...sn_node-v0.100.27) - 2023-12-22 ### Other - update dependencies ## [0.100.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.27...sn_node-v0.100.28) - 2023-12-26 ### Other - _(logs)_ annotate selected messages and log at info level for vdash ## [0.100.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.28...sn_node-v0.100.29) - 2023-12-29 ### Other - update dependencies ## [0.100.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.29...sn_node-v0.100.30) - 2023-12-29 ### Other - update churn tests to be harsher ## [0.100.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.30...sn_node-v0.100.31) - 2023-12-29 ### Other - update dependencies ## [0.100.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.31...sn_node-v0.100.32) - 2024-01-02 ### Added - pick cheapest payee using linear pricing curve ## [0.100.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.32...sn_node-v0.100.33) - 2024-01-02 ### Other - update dependencies ## [0.100.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.33...sn_node-v0.100.34) - 2024-01-03 ### Other - update dependencies ## [0.100.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.34...sn_node-v0.100.35) - 2024-01-03 ### Added - _(client)_ clients no longer upload data_map by default ### Other - clippy test fixes and updates - _(cli)_ do not write datamap chunk if non-public ## [0.100.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.35...sn_node-v0.100.36) - 2024-01-03 ### Other - update dependencies ## [0.100.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.36...sn_node-v0.100.37) - 2024-01-04 ### Other - update dependencies ## [0.100.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.37...sn_node-v0.100.38) - 2024-01-04 ### Other - _(node)_ reduce node default logging level ## [0.100.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.38...sn_node-v0.100.39) - 2024-01-05 ### Other - update dependencies ## [0.100.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.39...sn_node-v0.100.40) - 2024-01-05 ### Other - update dependencies ## [0.100.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.40...sn_node-v0.100.41) - 2024-01-05 ### Other - update dependencies ## [0.100.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.41...sn_node-v0.100.42) - 2024-01-05 ### Added - _(safenode)_ print out error instead of unwrap - _(node)_ stop node on ctrl-c ### Other - _(node)_ ctrl-c warn on I/O error ## [0.100.43](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.42...sn_node-v0.100.43) - 2024-01-05 ### Other - _(node)_ run cargo fmt - add clippy unwrap lint to workspace ## [0.100.44](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.43...sn_node-v0.100.44) - 2024-01-05 ### Other - update dependencies ## [0.100.45](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.44...sn_node-v0.100.45) - 2024-01-06 ### Other - update dependencies ## [0.100.46](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.45...sn_node-v0.100.46) - 2024-01-08 ### Other - update dependencies ## [0.100.47](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.46...sn_node-v0.100.47) - 2024-01-08 ### Other - update dependencies ## [0.100.48](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.47...sn_node-v0.100.48) - 2024-01-08 ### Other - more doc updates to readme files ## [0.101.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.100.48...sn_node-v0.101.0) - 2024-01-08 ### Other - _(client)_ [**breaking**] refactor `Files` into `FilesUpload` - _(release)_ sn_cli-v0.86.103/sn_networking-v0.12.21/sn_faucet-v0.1.125/sn_client-v0.99.42 - _(node)_ simplify GetStoreCost flow ## [0.102.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.101.0...sn_node-v0.102.0) - 2024-01-08 ### Added - provide `--first` argument for `safenode` ## [0.102.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.0...sn_node-v0.102.1) - 2024-01-09 ### Other - _(node)_ move add_to_replicate_fetcher to driver - _(node)_ move replication cmd flow to swarm_driver - get spend from network only require Majority ## [0.102.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.1...sn_node-v0.102.2) - 2024-01-09 ### Other - update dependencies ## [0.102.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.2...sn_node-v0.102.3) - 2024-01-09 ### Other - update dependencies ## [0.102.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.3...sn_node-v0.102.4) - 2024-01-09 ### Other - update dependencies ## [0.102.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.4...sn_node-v0.102.5) - 2024-01-10 ### Added - allow register CLI to create a public register writable to anyone ## [0.102.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.5...sn_node-v0.102.6) - 2024-01-10 ### Other - update dependencies ## [0.102.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.6...sn_node-v0.102.7) - 2024-01-10 ### Other - update dependencies ## [0.102.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.7...sn_node-v0.102.8) - 2024-01-11 ### Other - _(record_store)_ emit swarm cmd directly after writing a record ## [0.102.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.8...sn_node-v0.102.9) - 2024-01-11 ### Other - udpate self_encryption dep ## [0.102.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.9...sn_node-v0.102.10) - 2024-01-11 ### Other - _(client)_ refactor client upload flow ## [0.102.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.10...sn_node-v0.102.11) - 2024-01-11 ### Other - update dependencies ## [0.102.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.11...sn_node-v0.102.12) - 2024-01-12 ### Other - update dependencies ## [0.102.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.12...sn_node-v0.102.13) - 2024-01-12 ### Other - update dependencies ## [0.102.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.13...sn_node-v0.102.14) - 2024-01-15 ### Other - _(node)_ collect node handling time statistics ## [0.102.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.14...sn_node-v0.102.15) - 2024-01-15 ### Other - update dependencies ## [0.102.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.15...sn_node-v0.102.16) - 2024-01-15 ### Other - use node manager for running local testnets ## [0.102.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.16...sn_node-v0.102.17) - 2024-01-15 ### Other - update dependencies ## [0.102.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.17...sn_node-v0.102.18) - 2024-01-16 ### Other - update dependencies ## [0.102.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.18...sn_node-v0.102.19) - 2024-01-16 ### Other - update dependencies ## [0.102.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.19...sn_node-v0.102.20) - 2024-01-16 ### Other - update dependencies ## [0.102.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.20...sn_node-v0.102.21) - 2024-01-16 ### Other - update dependencies ## [0.102.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.21...sn_node-v0.102.22) - 2024-01-17 ### Other - update dependencies ## [0.103.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.102.22...sn_node-v0.103.0) - 2024-01-17 ### Other - _(client)_ [**breaking**] move out client connection progress bar ## [0.103.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.0...sn_node-v0.103.1) - 2024-01-17 ### Other - update dependencies ## [0.103.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.1...sn_node-v0.103.2) - 2024-01-18 ### Other - update dependencies ## [0.103.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.2...sn_node-v0.103.3) - 2024-01-18 ### Added - set quic as default transport ## [0.103.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.3...sn_node-v0.103.4) - 2024-01-18 ### Added - _(test)_ obtain node reward balance by querying the nodes - _(rpc)_ add wallet balance to NodeInfo response ### Fixed - _(test)_ get fixed amounts for Droplet and NonDroplet tests - _(test)_ add settings to skip genesis node for droplet - _(test)_ add retry during rpc connection and small fixes ### Other - _(test)_ use logs instead of println for small running tests - _(node)_ change RPC log level to debug - _(test)_ connect to RPC endpoint with retries ## [0.103.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.4...sn_node-v0.103.5) - 2024-01-18 ### Other - update dependencies ## [0.103.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.5...sn_node-v0.103.6) - 2024-01-21 ### Other - update dependencies ## [0.103.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.6...sn_node-v0.103.7) - 2024-01-22 ### Other - update dependencies ## [0.103.8](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.7...sn_node-v0.103.8) - 2024-01-22 ### Other - update dependencies ## [0.103.9](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.8...sn_node-v0.103.9) - 2024-01-23 ### Other - _(release)_ sn_protocol-v0.10.14/sn_networking-v0.12.35 ## [0.103.10](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.9...sn_node-v0.103.10) - 2024-01-23 ### Other - update dependencies ## [0.103.11](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.10...sn_node-v0.103.11) - 2024-01-23 ### Other - update dependencies ## [0.103.12](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.11...sn_node-v0.103.12) - 2024-01-24 ### Fixed - _(node)_ warn if "(deleted)" exists in exe name during restart ### Other - tidy up wasm32 as target arch rather than a feat ## [0.103.13](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.12...sn_node-v0.103.13) - 2024-01-25 ### Other - _(release)_ sn_cli-v0.89.14/sn_networking-v0.12.37/sn_faucet-v0.3.14/sn_client-v0.102.9 ## [0.103.14](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.13...sn_node-v0.103.14) - 2024-01-25 ### Added - client webtransport-websys feat ## [0.103.15](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.14...sn_node-v0.103.15) - 2024-01-25 ### Other - update dependencies ## [0.103.16](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.15...sn_node-v0.103.16) - 2024-01-25 ### Fixed - _(manager)_ increase port unbinding time ## [0.103.17](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.16...sn_node-v0.103.17) - 2024-01-25 ### Other - update dependencies ## [0.103.18](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.17...sn_node-v0.103.18) - 2024-01-25 ### Other - update dependencies ## [0.103.19](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.18...sn_node-v0.103.19) - 2024-01-26 ### Other - update dependencies ## [0.103.20](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.19...sn_node-v0.103.20) - 2024-01-29 ### Other - update dependencies ## [0.103.21](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.20...sn_node-v0.103.21) - 2024-01-29 ### Other - update dependencies ## [0.103.22](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.21...sn_node-v0.103.22) - 2024-01-29 ### Other - update dependencies ## [0.103.23](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.22...sn_node-v0.103.23) - 2024-01-30 ### Other - _(manager)_ provide rpc address instead of rpc port ## [0.103.24](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.23...sn_node-v0.103.24) - 2024-01-30 ### Other - update dependencies ## [0.103.25](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.24...sn_node-v0.103.25) - 2024-01-30 ### Other - update dependencies ## [0.103.26](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.25...sn_node-v0.103.26) - 2024-01-30 ### Other - update dependencies ## [0.103.27](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.26...sn_node-v0.103.27) - 2024-01-30 ### Other - update dependencies ## [0.103.28](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.27...sn_node-v0.103.28) - 2024-01-31 ### Other - update dependencies ## [0.103.29](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.28...sn_node-v0.103.29) - 2024-01-31 ### Other - update dependencies ## [0.103.30](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.29...sn_node-v0.103.30) - 2024-01-31 ### Other - remove the `sn_testnet` crate ## [0.103.31](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.30...sn_node-v0.103.31) - 2024-02-01 ### Fixed - _(network)_ refactor cfg to allow get_record reattempts ## [0.103.32](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.31...sn_node-v0.103.32) - 2024-02-01 ### Other - update dependencies ## [0.103.33](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.32...sn_node-v0.103.33) - 2024-02-01 ### Other - update dependencies ## [0.103.34](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.33...sn_node-v0.103.34) - 2024-02-02 ### Other - update dependencies ## [0.103.35](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.34...sn_node-v0.103.35) - 2024-02-02 ### Added - _(nodes)_ make encryption of records a feature, disabled by default ## [0.103.36](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.35...sn_node-v0.103.36) - 2024-02-02 ### Fixed - _(test)_ remove content from root dir as restarted node re-uses the same dir ## [0.103.37](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.36...sn_node-v0.103.37) - 2024-02-05 ### Other - update dependencies ## [0.103.38](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.37...sn_node-v0.103.38) - 2024-02-05 ### Other - update dependencies ## [0.103.39](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.38...sn_node-v0.103.39) - 2024-02-05 ### Other - update dependencies ## [0.103.40](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.39...sn_node-v0.103.40) - 2024-02-05 ### Other - update dependencies ## [0.103.41](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.40...sn_node-v0.103.41) - 2024-02-05 ### Other - update dependencies ## [0.103.42](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.41...sn_node-v0.103.42) - 2024-02-05 ### Other - update dependencies ## [0.103.43](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.42...sn_node-v0.103.43) - 2024-02-06 ### Added - register example with two users in a simple cli chat app ## [0.103.44](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.43...sn_node-v0.103.44) - 2024-02-06 ### Other - update dependencies ## [0.103.45](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.44...sn_node-v0.103.45) - 2024-02-06 ### Fixed - _(node)_ derive reward_key from main keypair ## [0.103.46](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.45...sn_node-v0.103.46) - 2024-02-07 ### Other - update dependencies ## [0.104.0](https://github.com/maidsafe/safe_network/compare/sn_node-v0.103.46...sn_node-v0.104.0) - 2024-02-07 ### Added - _(client)_ [**breaking**] make the result of the storage payment into a struct ### Other - _(data_location)_ create and edit registers ## [0.104.1](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.0...sn_node-v0.104.1) - 2024-02-08 ### Other - update dependencies ## [0.104.2](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.1...sn_node-v0.104.2) - 2024-02-08 ### Other - Revert "chore: roll back to log more" ## [0.104.3](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.2...sn_node-v0.104.3) - 2024-02-08 ### Other - update dependencies ## [0.104.4](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.3...sn_node-v0.104.4) - 2024-02-08 ### Added - _(networking)_ remove AutoNAT ## [0.104.5](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.4...sn_node-v0.104.5) - 2024-02-08 ### Added - _(network)_ impl RetryStrategy to make the reattempts flexible ### Other - _(network)_ rename re-attempts to retry strategy ## [0.104.6](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.5...sn_node-v0.104.6) - 2024-02-08 ### Other - copyright update to current year ## [0.104.7](https://github.com/maidsafe/safe_network/compare/sn_node-v0.104.6...sn_node-v0.104.7) - 2024-02-09 ### Other - update dependencies ## v0.1.0 (2023-05-04) ### Chore - code cleanup - fixing doc dep - fix doc typos - improve logging for parent validation - improve spend storage logs - fix incorrect log msgs - improve msg docs - disable logging in spend e2e test - It is too verbose and hinders reading the flow. - remove wait before verifying tranfer - traces to println for wallet file - traces to println for wallet file - traces to println for wallet localstore - change traces to println for register cli - change traces to println for files cli - change traces to println for wallet cli - typo fix - clarify current state of tx queue docs - remove unnecessary double store of hash - replace println with trace in local wallet - use the error in local wallet send - increase comment line width - document pending txs - This explains its workings, limitations and todos. - update wallet docs - minor style fixes - disable some very verbose log outputs - simplify faucet cli dir structure - remove limit-client-upload-size - rename RequestResponse to MsgReceived - This follows the event naming convention and is directly communicating what happened. - skip get spend debug due to very verbose - improve fn naming - remove params suffix from struct name - move logic in block to fn and clarify docs - This further helps with readability. - move client transfer traits to own files - This helps with code readability. - remove unnecessary allow that snuck in - fix copy paste doc error - move temp allow large err to one place - use print instead of log in client api - impl display for data address - impl display for cmd - impl display for query - impl display for spendquery - log individual spend errors at client - improve error msg too few ok responses - impl display for response - impl display for queryresponse - rename faucet cmd variant to ClaimGenesis - This is more accurate, as the cmd takes all genesis amount and transfers it to the faucet wallet. - remove unnecessary file - rename dbc create fns - add setup for transfer e2e tests - rewording / renaming refactors for chunk provider setup - update MemoryStore cfg for larger record sizing - fix doc typo - fix required fee ctor doc - cleanup transfer errors - update faucet mod docs with example - update incorrect cli cmd docs - clarify test fn doc - add faucet module docs - remove unused files - rename kadclient to safe - move kadclient and its cli to own dir - improve match clause - Uses a neater code design for the task. - clarify test name - make cli wallet cmd a bit less technical - Also clarifies the necessary steps to be taken by the user. - clean up and add assertion to test - Some cleanup of created_dbc_to_file_can_be_deposited test. - create received_dbcs dir by default - This allows user to add dbcs first thing they do after wallet was created. - update cli to not take path - move get client dir to kadclient - Updates wallet_cmds to take root dir as arg. - move missed domain logic - This should have been moved from protocol earlier but was missed. - additional review comment fixes - apply fixes from review comments - add missing asserts to reg tests - remove unused dep - minor comment fixes - add missing comments and remove old - remove unnecessary error mappings - remove unused macro - remove unused log line - fix doc refs - remove file logs from client cli - Instead do something like enable -vvvv and pipe it into a log file. - additional error variant cleanup - move chunk into chunks in storage - move register into registers in storage - move register into storage mod - move address into storage - remove unnecessary indirection for regstore - move storage to protocol - don't double handle cfg variant - add fixes from review comments - update readme client cli user instructions - fix cli files upload and download - remove unused dep - simplify amount parsing for wallet send - move subcmd impls to their definition - move wallet ops to kadclient - We didn't want a separate binary for this. - move respective ops into fns for wallet - This makes the main fn less cluttered. - move respective ops into fns - This makes the main fn less cluttered. - improve naming - ensure testnet launch fails if build fails - fix typo - doc updates - rearrange the code - use load_from in tests - This auto-generates a new mainkey. - clarify the need for NotADoubleSpendAttempt - misc fixes from pr 95 comments - make long error variants simpler - clarify docs - remove unnecessary indirection - The nesting doesn't serve any purpose, and is not very accurately named. - The contents are all directly parts of the protocol. - distinguish transfer modules - rename Dbc cmd to SpendDbc - update and extend docs - Also an attempt at better naming for wallet variable of created dbcs. Still not entirely satisfactory though.. - use latest sn_dbc - additional cleanup and organisation - improve file org and some cleanup - update due to libp2p new version - fix old terminology in comment - remove commented out tests - We can add these properly later. - comment updates - move double spend same hash check - remove some paths to simplify the code - remove unnecessary conversion of hash - reference latest version of sn_dbc - remove empty file - update to released sn_dbc - various minor adjustments While making an effort to understand the node start up and the different async tasks in use, I noticed small ajustments I thought I could make to perhaps improve clarity. - Rename: `NetworkSwarmLoop` to `SwarmDriver`, which then provides the loop in its `run` function. - Use GPT-4 to document `SwarmDriver` and its public functions. Did not need any adjustment. - Rename some variables in `SwarmDriver::new` for extra clarity. - Rename `Node::node_events_channel` to `Node::events_channel` since it's part of the `Node` struct. - Use GPT-4 to document `Node` and its public functions. Did not need any adjustment. - Removed comments that appeared to provide limited value. - fix naming - use tokio everywhere - disable random restart - remove chunk specific api simplifies to one api that takes ReplicatedData - flatten errors Moves storage errors up into the protocol to avoid duplication there. Makes explicit when we're simply serialising an error from bincode/hex etc - remove deps, remove EnvFilter We can specify log levels in the code as needed without having to bring in EnvFilter (and regex). Although right now regex is used elsewhere, we can hopefully remove that large dep - use tokio executor all over right now we mix w/ async-std - fix naming - add docs + clippy fixes - include reference impl - kadnode attempt w/ tcp - make response stream optional again, respond to sender over stream if existing - refactor out stable set update from msg processing - refactor out stable set msg received event extraction - update gitignore to remove trunk - cargo fix - convert safenode to bin This should get us ready to incorporate testnet bin for launching nodes - create a basic workspace for the repo - convert safenode to bin This should get us ready to incorporate testnet bin for launching nodes - create a basic workspace for the repo ### New Features - write client logs to tmp dir by default. Also removes a swrm cmd log which would log full record values. (This is a libp2p behaviour, so best just not to log atm) - add passed in peer to routing table Also fixes a problem where the client thinks it's connected to the network, while we're not yet adding any node that we discover via mDNS. We need to wait for the Identify behavior to kick in. - add identify behaviour Using the identify behaviour to exchange node information and adding addresses to the routing table based on that. - add AlreadyDialingPeer as error Without returning this error, the receiver will get an error because we drop the sender without sending anything on the oneshot channel. - moving all transfer fees related types onto the protocol crate/mode - isolating all 'protocol' types from their implementations - All types/structs that strictly belong to the SAFE protocol are being kept in the 'protocol' mod/crate except for those coming from 'rut-crdt' crate which will be done in a follow up PR. - allow clients to dial specific network peers - fire and forget broadcast of valid spend - impl fire and forget request in network - impl spend store exists - This allows for skipping unnecessary paths, such as adding the spend to the priority queue again. - node to broadcast storage events for Chunks, Registers and Spends - broadcast spend as node confirm its validity - resend pending txs when other transfer made - This shall ensure that we always get our pending txs out before doing new ones. - Note though, as documented, that there are still cases where we actually cannot get a pending tx to be stored as valid. It needs a way to later validate and clear out the list, if such a state is reached. - add a failing spend to the pending txs list - set timeout through the `RequestResponse` behaviour - fast refresh delays - add client cli cmd balance - add client cli cmd address - impl early return for majority get spend - impl early return for majority spend ok - identify genesis spend - This allows for the base case of the genesis to pass validation (which it would otherwise fail, as its src tx doesn't exist). - load genesis dbc from hex - differentiate missing fee errors - use deterministic blinding for genesis - verify a dbc is valid in the network - verify close group majority ok a spend - impl verification of deposited dbc - remove chunk storage We use MemoryStore and providership from the kad impl now - use provider and MemoryStorte for retreiving chunks - use kad MemoryStore for registering Providership of chunks - initial setup of KademliaConfig for provider usage - example cmd querying network info from node's RPC service - exposing an RPC service to retrieve node connection info - impl fee cipher decrypt for wallet - TODO: Adding FeeCiphers to the wallet API is not good. Refactor to remove it ASAP. - impl new_with_genesis for Transfers - impl new_with_genesis for SpendStorage - impl wallet sign - add testnet faucet to cli - store created dbcs as hex to file - This allows a client to send these files to the dbc recipients, for them to deposit the dbcs to their wallets. - allow downloading files to file system - Improves the cli ergonomics. - Unique txt doc for each set of files uploaded. - Always downloads files to the client path. - Updates ci tests. - spends drive storage - This stores spends persistently on drive. - register drive storage - This stores registers persistently on drive. - chunk drive storage - This stores chunks persistently on drive. - detect dead peer - fix subcmds - adding example client app for node gRPC service - exposing a gRPC interface on safenode bin/app - impl simple cli for wallet ops, sending - Adds send operation. - NB: Does not yet store the created dbcs, for giving them to the recipients out of band. - impl simple cli for wallet ops - Adds deposit operation. - dial peers on startup We dial optional peers on startup that will get added to our routing table et al. This will cause our node to get booted by specifying a bootstrap node address. - log when a peer disconnects - register spends in the network - This is the final step in making a transfer valid in the network. - Fees are paid to nodes. - NB1: Some additional validation of responses is needed to make sure we error if not enough nodes could handle the request. - NB2: Nodes still need to store the rewards in their wallet, TBD. - NB3: There are still some code reuse work to be done between transfer online and offline files. - add online transfer logic - This includes fees. - instantiate wallet in client - store and load from disk - As a temporary solution, the serialized wallet can be stored to disk. - Next the wallet ops will be stored to disk as a Register. - extend kadclient to up-/download files - It can now upload and download entire files, instead of small chunks. - Additionally, the files apis are encapsulated in their own struct, as to not bloat the client api. - additional Register client API - connect spends, fees and the msgs - add the transfer fees and spend queue logic - impl reissue for tests - Implements reissuing without fees and without contact with network. - implement local wallet - Register client API - Supports offline-first type of operations for users to work on Registers offline and syncing local changes with remote replicas on the network when they decide to. - Public APIs for Register in offline mode are all sync, whilst those that work 'online', i.e. syncing right after each operation is made, are all `async`. - Allow users to resolve/merge branches of Registers entries if their use case requires a single branch of values as content. - specify ip and port to listen on - random query on peer added - add file apis and self encryption - This adds all file apis for chunking and storing files, as well as retreiving and unpacking chunks. - validate parents and doublespends - Adds extensive checks on spends and their parents. - Also makes sure that detection is broadcasted to relevant peers. - Extends the Request enum with an Event type, used to broadcast facts / things that happened. - count self in the close group - implement Client API to use a Kad swarm in client-only mode - use close group var - This allows verification that we got enough nodes, according to our protocol. - boundary of get_closest_peers - integrate to the system - implement an in-memory Register storage - implement an in-memory Chunk storage - add a basic level of churn to nodes restarting them at random even in small networks - make req/resp generic - implement req/resp to store and retrieve chunks - properly handle joined nodes before sync - some joining, but not enough sync - accept sync msg, update valid comm targets - send sync msg after handling - start sending joins - add some logging to dirs per node - use a random port @ startup, write config if none exists - initial copy of testnet bin with basic tweaks. ### Bug Fixes - using different identify for client - confirm network connected within client constructor - use tokio::select to await two futures on event loop - avoid stall among select - avoid deadlock during spend dbc - some register TODOs - do not error on popped add fail - Adding the spend popped from priority queue shall not error back to the sender who sent in a spend, since it is not related, i.e. the popped spend is very likely a completely different spend. - rem validate spend on filepath exists - This validation doesn't make sense, as we've gone through it multiple times already at that stage. - use println instead of print - Wrong macro used by mistake. - make cli output usable again - store faucet state before verifying - post rebase issue - temp disable doublespend detection - This is a temp fix to network issues, to be enabled again asap. - keep the event_rx task running - initialize logging once for unit tests - remove timeout from `send_to_closest` - The request_response Behaviour contains an inbuilt timeout. Hence remove our custom timeout implementation. - get our `PeerId` from Network - init logger for client executables - terminate on get record failure - make client cfg consistent with node - the test should transfer half amount - This makes validation of resulting balance at sender simpler. - correctly state majority and not all needed - remove bughunt temp allow of single response - validate correct tx - The tx where fee payment is found is that in the signed spend, not in the parent. - account for all fees in transfer to faucet - store chunk as kad record directly - do not verify small chunks before attempting to upload - add root dir to node startup - remove txt extension - Since we store serialized data to the file, the `plain text document` file extension is misleading. - use correct name for downloaded files - Stores the file names to the xorname index doc, so that the downloaded files can get their proper file names. - do not panic in cli - There is no need for it. Print what did/did not happen and exit. - do not error if remove failed - When adding reported double spend, we might not have a valid spend stored, and thus we should not error if it wasn't found when we try to remove it. - properly generate reg cmd id - incorrect slice copying - get register id without serializing - proper path for client upload and download tests - add missing tracing macro to client - resolve error due to client API change - doc references - reduce conflict resolve in rebase - make rpc urls https This should allay devskim fears - use hash of PeerId to calculate xorname instead of chopping bytes - lower mdns query interval for client stability - add additional layer of race prevention - Added in case some oblivious developer in the future removes `&mut` self from the fn signature. - add &mut self to transfers fn signatures - This is necessary to avoid race conditions when checking for double spends. - select majority of same spends - This fixes the previous implementation where a single rogue node could prevent the conclusion of a valid spend when requesting it from the close group. - vanishing outputs #92 - make wallet pass sending test - Sending decreases balance and produces a correct output dbc. - client should not be present inside closest_peers - avoid lost spawned handler - correct termination of get_closest_peers - use the closest nodes to put/get data - add env filter and strip back testnet bin - use Error enum - use libp2p-quic instead of the quic feature - clippy lints - enable log level through env variable - initial comms by writing 127.0.0.1 ip addre for genesis ### Refactor - add strings as const - restructuring protocol Error types and removing unnecessary variants - removing helpers from protocol types - do not put spend to queue if stored - temp disable transfer rate limit - This will be enabled again when transfers feat have stabilized. - use add order aware pending txs list - This is crucial for making the wallet state usable, so that spends that rely on earlier spends, don't fail because the earlier ones are not yet in. - update client wallet state before send - parallelize spend requests - parallelise client verif network calls - remove node init with genesis spend - move faucet creation to dbc genesis file - genesis error - Remove type aliasing in genesis module. - initialize node api with genesis - init transfers with node wallet - move out signing from required fee - assert_fs instead of temp_dir in tests - move non-protocol related code to domain - This structures the project code after well known practices where the protocol is the rules and conventions that govern how data is transmitted and communicated over the network, and the domain refers to the subject area and problem space that the softweare is designed to address. It represents the business logic, processes, and rules associated with the specific features and services of the system. - implement storage error - remove used space - This is the first step in removing the limitation on storage size. The nodes will be allowed to store as much as they can, and later offload excess to archive nodes. If they run out of space that will be identified by fault detection and they will be removed from lists. - move log dir param one level up - use subcmds - There are some changes to the use of files and registers as well. - error on cli invalid amount - If sending tokens and an address has been specified, we will error if the amount can't be parsed. - move node transfer logic to protocol - This keeps the logic levels more consistent - As client handling of transfers was already in protocol, it seems more stringent to also keep the node handling of transfers there. - use online transfer in client - This wires the client to use the online transfer flow, with fees. - This also merges the two online/offline mods into one transfer mod. - remove invalid spend broadcasts - The only unspendable marking and broadcast we'll do is for detected double spend attempts. - We error back to client on other types of invalid spends or parents, and drop those spends. - unify membership and stable_set - share->witness & break up some methods - rename get_config - set socket addr by argument ### Test - improve transfer e2e test log - rename transfer e2e test - ignore the double spend punishment test - fix msg_to_self_should_not_error_out - Some retrying makes it pass every time. - add deposit_is_idempotent test - modify transferred amounts - impl spend_is_stored_in_network test - add created_dbc_to_file_can_be_deposited - add try_add_fails_after_added_double_spend - add try_add_double_is_idempotent - add double_spend_attempt_is_detected - add adding_spend_is_idempotent - add write_and_read_100_spends test - client CLI confirming dead node gone in closest - network CI tests involves client actions - validate closest peers ### Chore (BREAKING) - simplify faucet cli ### Bug Fixes (BREAKING) - replace generic Error types with more specific ones ### Commit Statistics - 352 commits contributed to the release over the course of 41 calendar days. - 334 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details
view details - **Uncategorized** - Using different identify for client ([`e6d0c27`](https://github.com/maidsafe/safe_network/commit/e6d0c27766a12ae9803a8e050003ae2e4bb77e88)) - Confirm network connected within client constructor ([`35f835a`](https://github.com/maidsafe/safe_network/commit/35f835a7726c7a4a7e75b63294834e7beffb3b69)) - Code cleanup ([`3cff43c`](https://github.com/maidsafe/safe_network/commit/3cff43ca4fce96055a4f506425f7b1af76057188)) - Use tokio::select to await two futures on event loop ([`e27dc6b`](https://github.com/maidsafe/safe_network/commit/e27dc6bcb9da5f277880e485ce4438f1cfde6c66)) - Avoid stall among select ([`9c6a724`](https://github.com/maidsafe/safe_network/commit/9c6a724185abe970b966597b1355c04089b4e632)) - Avoid deadlock during spend dbc ([`478f7a6`](https://github.com/maidsafe/safe_network/commit/478f7a64a1e0d4642a2380f160a22dc3e38568ca)) - Write client logs to tmp dir by default. ([`85b359b`](https://github.com/maidsafe/safe_network/commit/85b359b686facefd65c56be1d54ca5ef0a9f10f6)) - Add passed in peer to routing table ([`d7e344d`](https://github.com/maidsafe/safe_network/commit/d7e344df6aaca3bef75d7c9d90edca7d39771194)) - Add strings as const ([`92fd989`](https://github.com/maidsafe/safe_network/commit/92fd989c55b870713c97d3932efbf99325b0dcbf)) - Add identify behaviour ([`5693525`](https://github.com/maidsafe/safe_network/commit/5693525b2cb4c285fd80137ce1528ab6f2a69358)) - Some register TODOs ([`12e66c9`](https://github.com/maidsafe/safe_network/commit/12e66c9f052c6d4e810c72e8e68e1fd78ea120b2)) - Add AlreadyDialingPeer as error ([`fdeb508`](https://github.com/maidsafe/safe_network/commit/fdeb5086a70581abc4beb05914dd87b8ed791ffb)) - Restructuring protocol Error types and removing unnecessary variants ([`1d8b9fa`](https://github.com/maidsafe/safe_network/commit/1d8b9fae18fa1502c9000dce4cd4400cdf301cb5)) - Fixing doc dep ([`ecebc7a`](https://github.com/maidsafe/safe_network/commit/ecebc7a93b014aac397eca3d5149e5583e8be04f)) - Moving all transfer fees related types onto the protocol crate/mode ([`5bd7fb9`](https://github.com/maidsafe/safe_network/commit/5bd7fb9f486fc85af8dfbc155e6435415b152c10)) - Removing helpers from protocol types ([`8c093c4`](https://github.com/maidsafe/safe_network/commit/8c093c40cbdbc9e28791dcb3d47e87ee8fc0da37)) - Isolating all 'protocol' types from their implementations ([`bab05b0`](https://github.com/maidsafe/safe_network/commit/bab05b011c8e5ecf70d2a6c61d9289eebc78f533)) - Allow clients to dial specific network peers ([`e3b55c9`](https://github.com/maidsafe/safe_network/commit/e3b55c9cbbdf26e3018b736d29a31887c5355811)) - Fix doc typos ([`f1d8be8`](https://github.com/maidsafe/safe_network/commit/f1d8be8cd15506df0432da9179f1de0b1c0b8f67)) - Fire and forget broadcast of valid spend ([`2507695`](https://github.com/maidsafe/safe_network/commit/2507695a7af51de32d40ab90981975e0372916c3)) - Impl fire and forget request in network ([`ee0d5fe`](https://github.com/maidsafe/safe_network/commit/ee0d5feedbfe80c513520ff6a9d914815b8087ee)) - Improve logging for parent validation ([`6a53c1e`](https://github.com/maidsafe/safe_network/commit/6a53c1e7b54c7e93e485510556c7d8dd6a0eec3b)) - Do not put spend to queue if stored ([`026fb6d`](https://github.com/maidsafe/safe_network/commit/026fb6de3c38bd61d5438869822ebb2cbcf5f9e6)) - Impl spend store exists ([`772b972`](https://github.com/maidsafe/safe_network/commit/772b97208b7c756b1ecc25377e80d9d53baceff4)) - Do not error on popped add fail ([`3ee6bd1`](https://github.com/maidsafe/safe_network/commit/3ee6bd1d287c6e1f5305b478eebae97c9328d5e8)) - Rem validate spend on filepath exists ([`ad57f91`](https://github.com/maidsafe/safe_network/commit/ad57f918416556d7c92be2d830d6aefdc89f73bb)) - Temp disable transfer rate limit ([`3f1fe90`](https://github.com/maidsafe/safe_network/commit/3f1fe909ee5515b13dfaa89cb87999d71ae95d9e)) - Improve spend storage logs ([`0487be4`](https://github.com/maidsafe/safe_network/commit/0487be41aeeb96d0945e2b76a0045e3b19ffcf17)) - Fix incorrect log msgs ([`fbee86d`](https://github.com/maidsafe/safe_network/commit/fbee86db94bf77cbf27a28f803f04005c5ac51cd)) - Improve msg docs ([`e727fec`](https://github.com/maidsafe/safe_network/commit/e727feca3eb4626d05d4989e38366a4376dde127)) - Improve transfer e2e test log ([`8f459eb`](https://github.com/maidsafe/safe_network/commit/8f459eb053c0e001a4fbdd7fe2c637c2289891bf)) - Rename transfer e2e test ([`78f29f7`](https://github.com/maidsafe/safe_network/commit/78f29f72488115670c576aa055d10e69447d6e33)) - Disable logging in spend e2e test ([`030fc25`](https://github.com/maidsafe/safe_network/commit/030fc25c8d9fa5e54f6937844cd6a633aff173cd)) - Remove wait before verifying tranfer ([`31b7f66`](https://github.com/maidsafe/safe_network/commit/31b7f668a80f026ee768c9738282cc81dcb3f00b)) - Node to broadcast storage events for Chunks, Registers and Spends ([`035c21b`](https://github.com/maidsafe/safe_network/commit/035c21b93ec8f03a2fa9d581a57d4a4a9bc9c707)) - Use println instead of print ([`a335ced`](https://github.com/maidsafe/safe_network/commit/a335cedbbdd53264de542d174faa44589eb9ead5)) - Traces to println for wallet file ([`70742c2`](https://github.com/maidsafe/safe_network/commit/70742c272fa8a92cdb3b15a14b803ee993e14aa9)) - Traces to println for wallet file ([`4de0b10`](https://github.com/maidsafe/safe_network/commit/4de0b10e4f5a063427e4296c96e90e2f966bd621)) - Traces to println for wallet localstore ([`3860a81`](https://github.com/maidsafe/safe_network/commit/3860a813ad543d7c7c436205453d90c484f1d4f1)) - Change traces to println for register cli ([`ad182d8`](https://github.com/maidsafe/safe_network/commit/ad182d8d9e103e662a70d67c316a3a8fbe2b42f2)) - Change traces to println for files cli ([`dae3ac5`](https://github.com/maidsafe/safe_network/commit/dae3ac55b164fc5ea73458a53728564bee6d03b2)) - Change traces to println for wallet cli ([`3fe5943`](https://github.com/maidsafe/safe_network/commit/3fe59434384448a5d9c5b934710db45aabb3e22a)) - Make cli output usable again ([`d06de2f`](https://github.com/maidsafe/safe_network/commit/d06de2f8fe59d922afe9ed542bd49b45efa0e9a2)) - Store faucet state before verifying ([`ba18869`](https://github.com/maidsafe/safe_network/commit/ba188695fde79c9da5ca5bf63126986bc6bbb811)) - Post rebase issue ([`6696f95`](https://github.com/maidsafe/safe_network/commit/6696f952f875f1297320f41dfc6751ea87691382)) - Ignore the double spend punishment test ([`20af2bc`](https://github.com/maidsafe/safe_network/commit/20af2bc156650e2fd39851ba0827efd0f15d91de)) - Typo fix ([`ff72c32`](https://github.com/maidsafe/safe_network/commit/ff72c32023b46df0a0f320f6b5480939da9b40b2)) - Broadcast spend as node confirm its validity ([`c2ef1f6`](https://github.com/maidsafe/safe_network/commit/c2ef1f6d5defc075f80dfc0d0f6d6aec9d511d32)) - Temp disable doublespend detection ([`04e7933`](https://github.com/maidsafe/safe_network/commit/04e7933affd48a2bf7eea58abffccbd0629ff02e)) - Clarify current state of tx queue docs ([`36a92f7`](https://github.com/maidsafe/safe_network/commit/36a92f7dc4c9b4e97a1f45b755cde764af536305)) - Remove unnecessary double store of hash ([`35846da`](https://github.com/maidsafe/safe_network/commit/35846da7e59d2f2c6cdef8538b813d19cac21680)) - Replace println with trace in local wallet ([`f61119e`](https://github.com/maidsafe/safe_network/commit/f61119e255828a6222398db470e74aee8ad88d3e)) - Use the error in local wallet send ([`d0d536d`](https://github.com/maidsafe/safe_network/commit/d0d536d6e66e43766fdb009cfe8672f738a986a9)) - Increase comment line width ([`ddd438c`](https://github.com/maidsafe/safe_network/commit/ddd438c66e2b5fa71ea2b0d1e57d732af4deb447)) - Document pending txs ([`23a309d`](https://github.com/maidsafe/safe_network/commit/23a309d1d3e2c1c6b928cfd7c2ebda9423798e77)) - Resend pending txs when other transfer made ([`d95bf6c`](https://github.com/maidsafe/safe_network/commit/d95bf6cdbd10f907112bf2f707bbf0d2f7f8f235)) - Add a failing spend to the pending txs list ([`3fc3332`](https://github.com/maidsafe/safe_network/commit/3fc3332e74323f4c635a89527075d9b6c61abcc5)) - Use add order aware pending txs list ([`abd891c`](https://github.com/maidsafe/safe_network/commit/abd891cbec2250b7263dfe9e582bb2cd82f70cec)) - Update wallet docs ([`6ab6f6a`](https://github.com/maidsafe/safe_network/commit/6ab6f6ab05a18ba4b00c5799c1ecf8a880426cb6)) - Update client wallet state before send ([`435cca5`](https://github.com/maidsafe/safe_network/commit/435cca51ad8164a131a5ba7911272aa819e53d3c)) - Minor style fixes ([`00248dd`](https://github.com/maidsafe/safe_network/commit/00248dd8264ac75f6967be19ebd9f34ad7ebfdcd)) - Fix msg_to_self_should_not_error_out ([`aa88760`](https://github.com/maidsafe/safe_network/commit/aa8876098babf9252348e034e3b49b9803027018)) - Keep the event_rx task running ([`b651596`](https://github.com/maidsafe/safe_network/commit/b65159627ff81ef67bef9ac7b16558a571d3047f)) - Initialize logging once for unit tests ([`2da4e97`](https://github.com/maidsafe/safe_network/commit/2da4e97fa8bfb036d1dbd1e04e8679ef53920201)) - Fix(network): route `Request` and `Response` to self - While using the `RequestResponse` behaviour, we get a `OutboundFailure::DialFailure` if we try to send a request to `self` - So if `self` is the recipient of the `Request`, then route the request directly to `self` without using the `RequestResponse` behaviour. - This request, then follows the normal flow without having any custom branch on the upper layers. The produced `Response` is also routed back to `self` ([`1510e5f`](https://github.com/maidsafe/safe_network/commit/1510e5fc8730ada889b4451d2205e16e1c5ddd34)) - Set timeout through the `RequestResponse` behaviour ([`17849dc`](https://github.com/maidsafe/safe_network/commit/17849dcbbc8bea681a3d78a62ba7613877eab81a)) - Remove timeout from `send_to_closest` ([`e056234`](https://github.com/maidsafe/safe_network/commit/e0562349b5cd62471ead756daeb919887adae0be)) - Get our `PeerId` from Network ([`9f5596b`](https://github.com/maidsafe/safe_network/commit/9f5596b1d1a30d75be67ba68b6c6a6a9d4ffb79d)) - Disable some very verbose log outputs ([`6979d05`](https://github.com/maidsafe/safe_network/commit/6979d05e5574163b47d6184d217c993a1c72ee3d)) - Fast refresh delays ([`903c59f`](https://github.com/maidsafe/safe_network/commit/903c59f09f8520dad129fcf97685877b0bfe78f7)) - Init logger for client executables ([`fe39d93`](https://github.com/maidsafe/safe_network/commit/fe39d932837a74dac973d0ca7c230bce45fef5dd)) - Simplify faucet cli dir structure ([`5b28b75`](https://github.com/maidsafe/safe_network/commit/5b28b75e8f65ff2f4ea33fec7c63e813a64c3c4d)) - Simplify faucet cli ([`3bc834a`](https://github.com/maidsafe/safe_network/commit/3bc834a3447d0bf1e1412135105c3db0e6c90071)) - Add client cli cmd balance ([`ad7de37`](https://github.com/maidsafe/safe_network/commit/ad7de377a0aa0e47c09778ed1f2951a77e5eed90)) - Add client cli cmd address ([`e5bf209`](https://github.com/maidsafe/safe_network/commit/e5bf209b5c1bcea0a114f32a1737bb0b4101d5c7)) - Remove limit-client-upload-size ([`360cd85`](https://github.com/maidsafe/safe_network/commit/360cd85cd0c3ce2acad5438a22cea1a2650de3f8)) - Terminate on get record failure ([`5b07522`](https://github.com/maidsafe/safe_network/commit/5b07522a341dc9830ebcf14b29244217c5833df6)) - Make client cfg consistent with node ([`bc6ef60`](https://github.com/maidsafe/safe_network/commit/bc6ef608a5379ac64a04289b5d4ab14b0cfb120c)) - Rename RequestResponse to MsgReceived ([`396b3e9`](https://github.com/maidsafe/safe_network/commit/396b3e9f06a8d76af521552a5ffe1eb7eb57078b)) - Skip get spend debug due to very verbose ([`63806e3`](https://github.com/maidsafe/safe_network/commit/63806e3d95bdcfbf97e00bb57eb93ff6c8c092fb)) - Impl early return for majority get spend ([`1513ef5`](https://github.com/maidsafe/safe_network/commit/1513ef5f33993cc417e969d36ca50055884f10ea)) - Improve fn naming ([`7880e41`](https://github.com/maidsafe/safe_network/commit/7880e416140c10600ff9f35fb4b1ad195de336c8)) - Parallelize spend requests ([`a60ad23`](https://github.com/maidsafe/safe_network/commit/a60ad2338190b4ca6d1341ea41bc1f266aea0810)) - Remove params suffix from struct name ([`79174f4`](https://github.com/maidsafe/safe_network/commit/79174f45852add379610480301dd8ad888dbb164)) - Impl early return for majority spend ok ([`a71b9ff`](https://github.com/maidsafe/safe_network/commit/a71b9ffca53a7e5a7e1a75f38c00c4a59c8acbae)) - The test should transfer half amount ([`0f90545`](https://github.com/maidsafe/safe_network/commit/0f905452f6c2f081eb7d214f08668e5b1dd4a10c)) - Parallelise client verif network calls ([`575c9e5`](https://github.com/maidsafe/safe_network/commit/575c9e5569c55ad7bac24c1e3e49047a79d716b7)) - Correctly state majority and not all needed ([`3a60906`](https://github.com/maidsafe/safe_network/commit/3a60906779f306a79cba1aa7faf6e15bc584a8b5)) - Move logic in block to fn and clarify docs ([`d049172`](https://github.com/maidsafe/safe_network/commit/d049172fff516df5d22b4a32e74cfe828704ac4d)) - Move client transfer traits to own files ([`d7807fe`](https://github.com/maidsafe/safe_network/commit/d7807febbadf891e320c5a265743e14d698086d5)) - Remove unnecessary allow that snuck in ([`a2f054a`](https://github.com/maidsafe/safe_network/commit/a2f054a3d0deb560cfea2208fcea0d1af8cc55f8)) - Remove bughunt temp allow of single response ([`50321d1`](https://github.com/maidsafe/safe_network/commit/50321d1dac0fcb2bc79108f2ed37f86076e9d579)) - Add deposit_is_idempotent test ([`52883b6`](https://github.com/maidsafe/safe_network/commit/52883b6b576c73862ab8acd78578f12feabf7297)) - Fix copy paste doc error ([`b51a8b0`](https://github.com/maidsafe/safe_network/commit/b51a8b04d3a99af93714da9f68f12c360176ce1c)) - Identify genesis spend ([`cab992f`](https://github.com/maidsafe/safe_network/commit/cab992f23070894107696a20de12d94e7a381dea)) - Load genesis dbc from hex ([`8270cdb`](https://github.com/maidsafe/safe_network/commit/8270cdb96888bdf35f896ec0ce4ff9a27a6d6274)) - Validate correct tx ([`8b621f8`](https://github.com/maidsafe/safe_network/commit/8b621f87eee9aca07d0b48734f71fe0684734271)) - Move temp allow large err to one place ([`d774fb8`](https://github.com/maidsafe/safe_network/commit/d774fb80860f2747e583fc511a8d84e6a5cde237)) - Differentiate missing fee errors ([`8bf5d57`](https://github.com/maidsafe/safe_network/commit/8bf5d578bec4d72dac1c412c2b2d456cd9f4e212)) - Use print instead of log in client api ([`f81b5a3`](https://github.com/maidsafe/safe_network/commit/f81b5a34a0c166a0dbd91618205a1a61bc1aa87a)) - Impl display for data address ([`f8c2975`](https://github.com/maidsafe/safe_network/commit/f8c29751ffcaecb3401715dd0f5a6d87f5e70146)) - Impl display for cmd ([`8a43ddf`](https://github.com/maidsafe/safe_network/commit/8a43ddfe28408e032b481fb8d88c1234df17be5e)) - Impl display for query ([`e0ee848`](https://github.com/maidsafe/safe_network/commit/e0ee848017cd41a66bad18e1004644e982f7e41e)) - Impl display for spendquery ([`2b9bb9f`](https://github.com/maidsafe/safe_network/commit/2b9bb9fc0052cb68801973aa342ab8ec6bfc2241)) - Remove node init with genesis spend ([`6c4e0d0`](https://github.com/maidsafe/safe_network/commit/6c4e0d04d1d39a8fe7807c38750029eb1807e4fa)) - Log individual spend errors at client ([`7151474`](https://github.com/maidsafe/safe_network/commit/71514749883e62c90d0ecfacf371499c8373d054)) - Improve error msg too few ok responses ([`688fe6b`](https://github.com/maidsafe/safe_network/commit/688fe6bbea6db783bae6c601cb6fbf05cc57d16c)) - Impl display for response ([`1318073`](https://github.com/maidsafe/safe_network/commit/13180738c4ca1440a91cba7554208e1e0735c5ec)) - Impl display for queryresponse ([`510b4cc`](https://github.com/maidsafe/safe_network/commit/510b4cc1d19c678f4c8ae984b5c5835662c69cda)) - Modify transferred amounts ([`9909a44`](https://github.com/maidsafe/safe_network/commit/9909a4474bb32987d70a02722a0692260d00c7f2)) - Account for all fees in transfer to faucet ([`c6f5713`](https://github.com/maidsafe/safe_network/commit/c6f5713e8ab640806abf70ce2117468d75943a5a)) - Rename faucet cmd variant to ClaimGenesis ([`3bc906b`](https://github.com/maidsafe/safe_network/commit/3bc906b02dfeb18149d76c8e0d5f833c5a74a212)) - Remove unnecessary file ([`114a54c`](https://github.com/maidsafe/safe_network/commit/114a54c8def8f131a22b810b9507f06a4bc3a13e)) - Move faucet creation to dbc genesis file ([`abb29c4`](https://github.com/maidsafe/safe_network/commit/abb29c4116a1622377ade80539becf86b7369dd8)) - Use deterministic blinding for genesis ([`abfd1a6`](https://github.com/maidsafe/safe_network/commit/abfd1a621bb00382549b1d4b93a815dfb9a2debf)) - Rename dbc create fns ([`a63b259`](https://github.com/maidsafe/safe_network/commit/a63b2599bd49f6bcece4d55345a98379e11d59b6)) - Verify a dbc is valid in the network ([`9590816`](https://github.com/maidsafe/safe_network/commit/959081620e1787accb4959bee6b01dfff7fe6024)) - Verify close group majority ok a spend ([`b1d5f5c`](https://github.com/maidsafe/safe_network/commit/b1d5f5c5c0cbe07e0ec1c4ed801c617d059c5ed6)) - Impl spend_is_stored_in_network test ([`faf092c`](https://github.com/maidsafe/safe_network/commit/faf092c7b78039aff07f2edc09fcfdbab1eb49bc)) - Add setup for transfer e2e tests ([`5f6aace`](https://github.com/maidsafe/safe_network/commit/5f6aace3c14160b616fe705f2998cc161300bffb)) - Impl verification of deposited dbc ([`b0d9d45`](https://github.com/maidsafe/safe_network/commit/b0d9d4521bc1c05b21fc659a593be7369a94574d)) - Store chunk as kad record directly ([`6c5fec3`](https://github.com/maidsafe/safe_network/commit/6c5fec3e880afbf3633b770db3698c718fdb1ea7)) - Rewording / renaming refactors for chunk provider setup ([`dbe2165`](https://github.com/maidsafe/safe_network/commit/dbe2165f05dce1c65b42835eb3763e725cf086a1)) - Update MemoryStore cfg for larger record sizing ([`88223b7`](https://github.com/maidsafe/safe_network/commit/88223b77527c5645228a4a00cba4cd51e184fe06)) - Remove chunk storage ([`fee76e8`](https://github.com/maidsafe/safe_network/commit/fee76e8650647b32dc4bd4ee95e2205398f4e04e)) - Do not verify small chunks before attempting to upload ([`df0dc75`](https://github.com/maidsafe/safe_network/commit/df0dc757b307d5d6153bed2292b52c1c076c8834)) - Use provider and MemoryStorte for retreiving chunks ([`55cef54`](https://github.com/maidsafe/safe_network/commit/55cef547a71b524e1bd1a17b98105bd6867de769)) - Use kad MemoryStore for registering Providership of chunks ([`ddb8ea1`](https://github.com/maidsafe/safe_network/commit/ddb8ea170c5ead4988e9aecd8d21768f5dfe34b4)) - Initial setup of KademliaConfig for provider usage ([`4eeeddc`](https://github.com/maidsafe/safe_network/commit/4eeeddc415cd625a898b7af8b6b19b7a6b91dfd2)) - Example cmd querying network info from node's RPC service ([`16e6049`](https://github.com/maidsafe/safe_network/commit/16e60498965deb0b209429a50ca54016095f2879)) - Exposing an RPC service to retrieve node connection info ([`66eeff3`](https://github.com/maidsafe/safe_network/commit/66eeff38da7cdcfd8b3e2230ca1e654d15cfd1e5)) - Add root dir to node startup ([`18241f6`](https://github.com/maidsafe/safe_network/commit/18241f6b280f460812acd743b601ad3c4cce5212)) - Fix doc typo ([`6fb46aa`](https://github.com/maidsafe/safe_network/commit/6fb46aae8acefbfa130d152aaabf6c429c9bf630)) - Fix required fee ctor doc ([`ec859ec`](https://github.com/maidsafe/safe_network/commit/ec859ec379edc47718929a7e188590e0686b03b1)) - Genesis error ([`5bdd2a7`](https://github.com/maidsafe/safe_network/commit/5bdd2a78aa96f1d33cf53b907a3c4c2b20a07010)) - Initialize node api with genesis ([`fc09d93`](https://github.com/maidsafe/safe_network/commit/fc09d93193756798bd0be5d9375045e00c7a2295)) - Cleanup transfer errors ([`fe86af5`](https://github.com/maidsafe/safe_network/commit/fe86af5632cce2639d36ce5b735efc8d70e301b9)) - Init transfers with node wallet ([`6d5856c`](https://github.com/maidsafe/safe_network/commit/6d5856c7056e66f0efe6e50b64032a4d1b0bc24e)) - Impl fee cipher decrypt for wallet ([`e9bfec3`](https://github.com/maidsafe/safe_network/commit/e9bfec3fcd300a714733a7718206797e5116d80d)) - Move out signing from required fee ([`0c495d7`](https://github.com/maidsafe/safe_network/commit/0c495d7ff2175969ffb31faf3dd29b031c5252ab)) - Impl new_with_genesis for Transfers ([`caac9e9`](https://github.com/maidsafe/safe_network/commit/caac9e99d0bc763ee3b6c3861ba4151bdcf947a7)) - Impl new_with_genesis for SpendStorage ([`bb376bc`](https://github.com/maidsafe/safe_network/commit/bb376bcc1320d8477daab3ce3b76b08c090114e6)) - Impl wallet sign ([`a17876e`](https://github.com/maidsafe/safe_network/commit/a17876e9190b4db6d4859736f569770827d0b2b1)) - Update faucet mod docs with example ([`076cf55`](https://github.com/maidsafe/safe_network/commit/076cf5509a1afedbc416c37a67632abe972c168c)) - Update incorrect cli cmd docs ([`044551d`](https://github.com/maidsafe/safe_network/commit/044551d5aa295d9e2bc3d2527ca969a32858cc2d)) - Clarify test fn doc ([`fe4fa10`](https://github.com/maidsafe/safe_network/commit/fe4fa10c26f7e284a4806f19dfb915b6d105dceb)) - Add faucet module docs ([`16e389d`](https://github.com/maidsafe/safe_network/commit/16e389da94aac51c46cc13c23ece1f54fa152ff9)) - Remove unused files ([`08c65ff`](https://github.com/maidsafe/safe_network/commit/08c65ffc2b6d90ef843b21e157927bbb23406ec9)) - Add testnet faucet to cli ([`044b05d`](https://github.com/maidsafe/safe_network/commit/044b05d34c5686076f9673c2cabbd76cd6902a37)) - Rename kadclient to safe ([`3ee3319`](https://github.com/maidsafe/safe_network/commit/3ee3319d18dcd29b8d16c4ae24fbfad1be0e1e1c)) - Move kadclient and its cli to own dir ([`f6e1c53`](https://github.com/maidsafe/safe_network/commit/f6e1c532171e72f52026195431cc0e836627f513)) - Improve match clause ([`72c67ba`](https://github.com/maidsafe/safe_network/commit/72c67ba9199b3f105bd398cf34e0be88afedc5db)) - Clarify test name ([`3db9b55`](https://github.com/maidsafe/safe_network/commit/3db9b55223bcfa6e81df0ec23d36b3b2f7d68d44)) - Assert_fs instead of temp_dir in tests ([`a19759b`](https://github.com/maidsafe/safe_network/commit/a19759bc635fbda2d64bc8bcc874345c6bcca14c)) - Make cli wallet cmd a bit less technical ([`504f4ee`](https://github.com/maidsafe/safe_network/commit/504f4ee5b10b75138044b1af8150825b53f776d3)) - Clean up and add assertion to test ([`0559ca0`](https://github.com/maidsafe/safe_network/commit/0559ca06fb3d00e80e76d9736b030a543e34fc4c)) - Create received_dbcs dir by default ([`04a724a`](https://github.com/maidsafe/safe_network/commit/04a724afbc9495937b8be7ab905f9695e68ad398)) - Add created_dbc_to_file_can_be_deposited ([`cda0bc6`](https://github.com/maidsafe/safe_network/commit/cda0bc68c731d81cd419aa3cea88e62941f09ecd)) - Update cli to not take path ([`fc895e3`](https://github.com/maidsafe/safe_network/commit/fc895e3577a94f620bf398b6cb3b2f189f34ebd0)) - Store created dbcs as hex to file ([`705c67f`](https://github.com/maidsafe/safe_network/commit/705c67f672f4be870c4aae6b82c33f7cb7d0a89f)) - Remove txt extension ([`aecde8e`](https://github.com/maidsafe/safe_network/commit/aecde8e92a1992956e7a41d8d98628e358a7db75)) - Use correct name for downloaded files ([`10ff6c7`](https://github.com/maidsafe/safe_network/commit/10ff6c70e1211e6a00387170158cb7ada7c43071)) - Allow downloading files to file system ([`71acb3c`](https://github.com/maidsafe/safe_network/commit/71acb3cc8383e4b8669c0c95cb302d05b1f8c904)) - Move get client dir to kadclient ([`9e11748`](https://github.com/maidsafe/safe_network/commit/9e11748a191b4432499ceb6beded2a9dda15cf56)) - Do not panic in cli ([`25471d8`](https://github.com/maidsafe/safe_network/commit/25471d8c941aa20e60df8b17d82f0a36e3e11fba)) - Do not error if remove failed ([`1f7150b`](https://github.com/maidsafe/safe_network/commit/1f7150b56ccee91c3b405e391f151320cf150fc1)) - Add try_add_fails_after_added_double_spend ([`bd7238b`](https://github.com/maidsafe/safe_network/commit/bd7238bed980a57a163cdf8b543862c6614c0c91)) - Add try_add_double_is_idempotent ([`332912f`](https://github.com/maidsafe/safe_network/commit/332912f69f9046925fd2f64ab21b1f24c2a4a2bd)) - Add double_spend_attempt_is_detected ([`49e81ec`](https://github.com/maidsafe/safe_network/commit/49e81ec04257dd2787f07480c92427831bc13687)) - Add adding_spend_is_idempotent ([`e0ff76d`](https://github.com/maidsafe/safe_network/commit/e0ff76db5cd390eefd6e1a3d3b997264ad454df6)) - Add write_and_read_100_spends test ([`fc36aca`](https://github.com/maidsafe/safe_network/commit/fc36acac9cea22531916f670ecc2acb53a5f6ea5)) - Move missed domain logic ([`e9ce090`](https://github.com/maidsafe/safe_network/commit/e9ce090c2361dcd49400112f8d2e3d29386602d7)) - Properly generate reg cmd id ([`47a0712`](https://github.com/maidsafe/safe_network/commit/47a0712c0ba475f240612d0918d1ab5a12ba45cf)) - Additional review comment fixes ([`fb095b5`](https://github.com/maidsafe/safe_network/commit/fb095b5e63f826f4079ba2c7797a241969346d0b)) - Apply fixes from review comments ([`dfe80b9`](https://github.com/maidsafe/safe_network/commit/dfe80b902f0e8f6803eb836aeb9c81363ae183a9)) - Add missing asserts to reg tests ([`bc7bbb3`](https://github.com/maidsafe/safe_network/commit/bc7bbb3a502f2e5d2c673678e2f7bc132bc4b490)) - Incorrect slice copying ([`6bc5ec7`](https://github.com/maidsafe/safe_network/commit/6bc5ec704b54063ab923010c9d826905a7aa9c88)) - Remove unused dep ([`1b474d5`](https://github.com/maidsafe/safe_network/commit/1b474d5d5ca952dba9a785b31df6201a62c1b34e)) - Minor comment fixes ([`69c1345`](https://github.com/maidsafe/safe_network/commit/69c13458a737221d75fccc73d8e534331d4dbe2e)) - Spends drive storage ([`6916b4e`](https://github.com/maidsafe/safe_network/commit/6916b4e1af97c982a77a649be7889fcd0b4637e8)) - Register drive storage ([`30586c9`](https://github.com/maidsafe/safe_network/commit/30586c9faa43489e7565164c768fa9afb3959e88)) - Add missing comments and remove old ([`4fbddd2`](https://github.com/maidsafe/safe_network/commit/4fbddd23e174329dc97f8d66c387b5544366e620)) - Get register id without serializing ([`99d9802`](https://github.com/maidsafe/safe_network/commit/99d980251523e03efe415f348ac4d6017aeed67c)) - Remove unnecessary error mappings ([`435208c`](https://github.com/maidsafe/safe_network/commit/435208c7dc1c51e1d51f730c84ac648cff1026a1)) - Chunk drive storage ([`1a8622c`](https://github.com/maidsafe/safe_network/commit/1a8622cb26db066481a9d12fce1065a1d57abcb4)) - Proper path for client upload and download tests ([`1202626`](https://github.com/maidsafe/safe_network/commit/1202626802b2a9d06ba4274d0b475714c8375267)) - Detect dead peer ([`69d1943`](https://github.com/maidsafe/safe_network/commit/69d1943d86870d08a9e1067a05b689af7e32711b)) - Remove unused macro ([`66ba179`](https://github.com/maidsafe/safe_network/commit/66ba179061f5dcd13369edd7a569df9c0e1e5002)) - Remove unused log line ([`e39363c`](https://github.com/maidsafe/safe_network/commit/e39363c8418e9e738c8e5380208666c20cbfed5d)) - Add missing tracing macro to client ([`8651c5e`](https://github.com/maidsafe/safe_network/commit/8651c5ed482475c5c53ae5e74ff68078dbed36c2)) - Resolve error due to client API change ([`8d4c5f5`](https://github.com/maidsafe/safe_network/commit/8d4c5f5a466b59ae5d14252a3c3fe229a123ec55)) - Fix doc refs ([`05f5244`](https://github.com/maidsafe/safe_network/commit/05f5244afdd588ff71abcf414f3b81eb16803883)) - Move non-protocol related code to domain ([`e961f28`](https://github.com/maidsafe/safe_network/commit/e961f281a9854845d3ca7028a3b9856bee8f73e4)) - Remove file logs from client cli ([`b96904a`](https://github.com/maidsafe/safe_network/commit/b96904a5278ab1105fa4de69114151b61d0ada70)) - Additional error variant cleanup ([`7806111`](https://github.com/maidsafe/safe_network/commit/78061111dc92f86ba976b8e75f49f02d3276d6d7)) - Doc references ([`42f021b`](https://github.com/maidsafe/safe_network/commit/42f021b0974a275e1184131cb6621cb0041454e7)) - Implement storage error ([`e6101a5`](https://github.com/maidsafe/safe_network/commit/e6101a5ef537e1d56722bab86c7fd45c9d964bc9)) - Move chunk into chunks in storage ([`4223455`](https://github.com/maidsafe/safe_network/commit/422345591d989c846151ccca36d0af8b67aaeccf)) - Move register into registers in storage ([`b198a36`](https://github.com/maidsafe/safe_network/commit/b198a36220c6a5fe39227c72b5a050dcb351c0cd)) - Move register into storage mod ([`267399c`](https://github.com/maidsafe/safe_network/commit/267399c6aa597c114706532fddcaf5167dd69441)) - Move address into storage ([`7201b61`](https://github.com/maidsafe/safe_network/commit/7201b6186a520bc3ca23e07cfc287e8a7197a5af)) - Remove unnecessary indirection for regstore ([`01f75ac`](https://github.com/maidsafe/safe_network/commit/01f75ac286736ec8df346aa41328604dbb68af38)) - Remove used space ([`1e63801`](https://github.com/maidsafe/safe_network/commit/1e63801d2e3dcfa3aeb27cb3cbdc6e46468a44cb)) - Move storage to protocol ([`651c7f5`](https://github.com/maidsafe/safe_network/commit/651c7f53928847cf604bc1b1a9f3eb2df2f081ae)) - Move log dir param one level up ([`8ebe87e`](https://github.com/maidsafe/safe_network/commit/8ebe87e140fbc7c3db47288f2f5a31ee283e488a)) - Don't double handle cfg variant ([`5e943fe`](https://github.com/maidsafe/safe_network/commit/5e943fe0c828a56a0f6ba047dbf378af605d43ac)) - Add fixes from review comments ([`bb66afe`](https://github.com/maidsafe/safe_network/commit/bb66afeaa2151427d39d794bbdb9916c9e116c24)) - Update readme client cli user instructions ([`0b810c3`](https://github.com/maidsafe/safe_network/commit/0b810c3706c04417e10ec1fd98e12a67b1b686c9)) - Fix cli files upload and download ([`23b4a04`](https://github.com/maidsafe/safe_network/commit/23b4a0485a744f524666095cb61e8aef63a48fdd)) - Remove unused dep ([`291a38a`](https://github.com/maidsafe/safe_network/commit/291a38a492ea33c757a12e43b0a10963d9967cd4)) - Simplify amount parsing for wallet send ([`d537525`](https://github.com/maidsafe/safe_network/commit/d5375254ebd47e223f98bcb90df9b155f914374b)) - Fix subcmds ([`74d6502`](https://github.com/maidsafe/safe_network/commit/74d6502ebbf76cf3698c253e417db562c6a11e3b)) - Move subcmd impls to their definition ([`5f22ab8`](https://github.com/maidsafe/safe_network/commit/5f22ab864ac0c7de045c27d75a712e13f5a4723b)) - Use subcmds ([`826bb0a`](https://github.com/maidsafe/safe_network/commit/826bb0a646a9b69df0f62a4410108c8c9a3b7926)) - Reduce conflict resolve in rebase ([`624ac90`](https://github.com/maidsafe/safe_network/commit/624ac902974d9727acea10ed1d2a1a5a7895abb9)) - Make rpc urls https ([`8cd5a96`](https://github.com/maidsafe/safe_network/commit/8cd5a96a0ce4bea00fe760c393518d684d7bbbcc)) - Use hash of PeerId to calculate xorname instead of chopping bytes ([`39b82e2`](https://github.com/maidsafe/safe_network/commit/39b82e2879b95a6ce7ded6bc7fc0690d2398f27c)) - Adding example client app for node gRPC service ([`420ee5e`](https://github.com/maidsafe/safe_network/commit/420ee5ef7038ea311bfe6d09fd6adf0c124a1141)) - Exposing a gRPC interface on safenode bin/app ([`5b266b8`](https://github.com/maidsafe/safe_network/commit/5b266b8bbd1f46d8b87917d0573377ff1ecaf2f7)) - Error on cli invalid amount ([`728dc69`](https://github.com/maidsafe/safe_network/commit/728dc69c1a4ef75a96552984b6428bbbec226696)) - Impl simple cli for wallet ops, sending ([`0b365b5`](https://github.com/maidsafe/safe_network/commit/0b365b51bba9cde4a9c50f6884f5081d239eed6d)) - Client CLI confirming dead node gone in closest ([`3fc4f20`](https://github.com/maidsafe/safe_network/commit/3fc4f20e1e6f7a5efa1aba660aed98297fe02df4)) - Lower mdns query interval for client stability ([`c3d7e4a`](https://github.com/maidsafe/safe_network/commit/c3d7e4a6780e8d010ca4d9f05908155df77124d2)) - Move wallet ops to kadclient ([`452c0df`](https://github.com/maidsafe/safe_network/commit/452c0df869b3398673bb61a0c9f19509f39ad044)) - Move respective ops into fns for wallet ([`3b1ab1b`](https://github.com/maidsafe/safe_network/commit/3b1ab1b7e8e0ce37bee64b462d5f230bf079f65b)) - Move respective ops into fns ([`35a01e7`](https://github.com/maidsafe/safe_network/commit/35a01e7fd9942964f01746be54587e65444b95d8)) - Impl simple cli for wallet ops ([`cf4e1c2`](https://github.com/maidsafe/safe_network/commit/cf4e1c2fbf6735641faa86ec6078b2fe686adba7)) - Dial peers on startup ([`6a45565`](https://github.com/maidsafe/safe_network/commit/6a4556565df6689a0bfe0450fc9ac69d74b23ec0)) - Log when a peer disconnects ([`4c4b19e`](https://github.com/maidsafe/safe_network/commit/4c4b19e55892ece1bd408a736bd21ea5c6ea3bf1)) - Move node transfer logic to protocol ([`b61dfa0`](https://github.com/maidsafe/safe_network/commit/b61dfa0a5a2f5051d7613d28760e3a37f176e0f8)) - Improve naming ([`18f2e86`](https://github.com/maidsafe/safe_network/commit/18f2e869f85fb096d3998e89ea29e54c7c7902d4)) - Ensure testnet launch fails if build fails ([`1457a45`](https://github.com/maidsafe/safe_network/commit/1457a453341e35ad3fbf426b4e1fa4a57a753761)) - Register spends in the network ([`edff23e`](https://github.com/maidsafe/safe_network/commit/edff23ed528515ea99361df89ea0f46e99a856e8)) - Use online transfer in client ([`56672e3`](https://github.com/maidsafe/safe_network/commit/56672e3c7d91053f2c3b37c24dc1cbac54c9e2e4)) - Fix typo ([`ab5c82e`](https://github.com/maidsafe/safe_network/commit/ab5c82e2fe63b43f4c8c35848cae8edc0dd2b6d2)) - Doc updates ([`ffe9dfe`](https://github.com/maidsafe/safe_network/commit/ffe9dfe50b7fcec30b5fe6103d033b042b1cb93f)) - Add online transfer logic ([`4e9c007`](https://github.com/maidsafe/safe_network/commit/4e9c0076f010bf796fbef2891839872bfd382b49)) - Rearrange the code ([`66bf69a`](https://github.com/maidsafe/safe_network/commit/66bf69a627de5c54f30cb2591f22932b2edc2031)) - Instantiate wallet in client ([`e579202`](https://github.com/maidsafe/safe_network/commit/e57920279f352d8c02139138e4edc45556228ad4)) - Use load_from in tests ([`ee46ba1`](https://github.com/maidsafe/safe_network/commit/ee46ba19ab692dbdbab5240c1abea4be24a2093a)) - Store and load from disk ([`33b533f`](https://github.com/maidsafe/safe_network/commit/33b533f99af1b1e20cea5868636b478df9aed9ec)) - Clarify the need for NotADoubleSpendAttempt ([`33b6a87`](https://github.com/maidsafe/safe_network/commit/33b6a872a3f15087e78ec9df8b3aa708960a173b)) - Misc fixes from pr 95 comments ([`9a1a6b6`](https://github.com/maidsafe/safe_network/commit/9a1a6b6d460cd4686044f4ccd65f208c5013e1ff)) - Extend kadclient to up-/download files ([`16ea0a7`](https://github.com/maidsafe/safe_network/commit/16ea0a77993015cf9f00c4933edca0854e13cc87)) - Make long error variants simpler ([`714347f`](https://github.com/maidsafe/safe_network/commit/714347f7ceae28a3c1bfcbcf17a96193d28092ae)) - Clarify docs ([`7876c9d`](https://github.com/maidsafe/safe_network/commit/7876c9d02f4cccf2f3d0f9c23475100927a40ece)) - Remove unnecessary indirection ([`3c8b583`](https://github.com/maidsafe/safe_network/commit/3c8b58386dd90499ee65097378d5edccab801f3d)) - Distinguish transfer modules ([`dd845b9`](https://github.com/maidsafe/safe_network/commit/dd845b970c2e475b0aec8081eba28ce6f1bc6015)) - Additional Register client API ([`72554f3`](https://github.com/maidsafe/safe_network/commit/72554f3f3073189d9c59afb23f98e6cc8c73c811)) - Add additional layer of race prevention ([`e31e4d3`](https://github.com/maidsafe/safe_network/commit/e31e4d34bf75129514218c9ff4ceeed1b84651c3)) - Add &mut self to transfers fn signatures ([`00cce80`](https://github.com/maidsafe/safe_network/commit/00cce808950c5eb0a346ecf07b3a9d40dbfc88de)) - Rename Dbc cmd to SpendDbc ([`bf72aff`](https://github.com/maidsafe/safe_network/commit/bf72aff8e265cb67d0a48e4f5979370e7b77ba15)) - Select majority of same spends ([`17daccb`](https://github.com/maidsafe/safe_network/commit/17daccbd2b42acd1b9727ffa5b4e2e8f0df9142c)) - Connect spends, fees and the msgs ([`75ee18f`](https://github.com/maidsafe/safe_network/commit/75ee18f11787d31b0126dcec96142e663f21da8d)) - Vanishing outputs #92 ([`a41bc93`](https://github.com/maidsafe/safe_network/commit/a41bc935855112bc129d81fdac4f75667088d757)) - Add the transfer fees and spend queue logic ([`e28caec`](https://github.com/maidsafe/safe_network/commit/e28caece21bf214f3ad5cead91cbfe99476bb8b9)) - Update and extend docs ([`8039166`](https://github.com/maidsafe/safe_network/commit/8039166f53839cb56d421421b45b618220f19fd1)) - Use latest sn_dbc ([`c800a27`](https://github.com/maidsafe/safe_network/commit/c800a2758330b91559980d11ad05d48936c5a546)) - Additional cleanup and organisation ([`b075101`](https://github.com/maidsafe/safe_network/commit/b075101a173211e422544db9f11597a1cd770eab)) - Improve file org and some cleanup ([`82323fb`](https://github.com/maidsafe/safe_network/commit/82323fbdb1810bcf1e4c70ed54550499231434bf)) - Make wallet pass sending test ([`c496216`](https://github.com/maidsafe/safe_network/commit/c496216ee15e97a110e30851c42144376676b045)) - Chore: remove commented out code - This is fee related stuff that will be added in later. ([`4646c89`](https://github.com/maidsafe/safe_network/commit/4646c897ae58735e728f1dc730577d506ffd0ef0)) - Impl reissue for tests ([`197e056`](https://github.com/maidsafe/safe_network/commit/197e056ed1628be48c6d4e115fbeb1f02d167746)) - Implement local wallet ([`ae0c077`](https://github.com/maidsafe/safe_network/commit/ae0c077f7af8c63cef28a92ad41478a7bb5fef68)) - Register client API ([`fd7b176`](https://github.com/maidsafe/safe_network/commit/fd7b176516254630eff28f12a1693fc52a9a74a8)) - Network CI tests involves client actions ([`6ad9038`](https://github.com/maidsafe/safe_network/commit/6ad903878c797fc49c85f80bcd56278bbebee434)) - Specify ip and port to listen on ([`4539a12`](https://github.com/maidsafe/safe_network/commit/4539a12004a0321b143d5958bf77b1071e91708d)) - Random query on peer added ([`a6b9448`](https://github.com/maidsafe/safe_network/commit/a6b9448a113bdbdaa012ffa44689f10939ddfe37)) - Client should not be present inside closest_peers ([`6040e2d`](https://github.com/maidsafe/safe_network/commit/6040e2d2be6a8198d5cae73f70e7d815262f3352)) - Validate closest peers ([`24bf659`](https://github.com/maidsafe/safe_network/commit/24bf65976123eba764f5b3193f1e09a92412a135)) - Avoid lost spawned handler ([`9f34249`](https://github.com/maidsafe/safe_network/commit/9f342492dc702656f961991f9e3e5ec991c94e90)) - Update due to libp2p new version ([`b19cafc`](https://github.com/maidsafe/safe_network/commit/b19cafca11cf4469e3f235105a3e53bc07f33204)) - Fix old terminology in comment ([`55e385d`](https://github.com/maidsafe/safe_network/commit/55e385db4d87040b452ac60ef3137ea7ab7e8960)) - Remove commented out tests ([`3a6c508`](https://github.com/maidsafe/safe_network/commit/3a6c5085048ae1cc1fc79afbfd417a5fea4859b6)) - Comment updates ([`2c8137c`](https://github.com/maidsafe/safe_network/commit/2c8137ce1445f734b9a2e2ef14bbe8b10c83ee9a)) - Add file apis and self encryption ([`33082c1`](https://github.com/maidsafe/safe_network/commit/33082c1af4ea92e507db0ab6c1d2ec42d5e8470b)) - Move double spend same hash check ([`ef4bd4d`](https://github.com/maidsafe/safe_network/commit/ef4bd4d53787e53800e7feef1e0575c58c20e5e1)) - Remove some paths to simplify the code ([`139c7f3`](https://github.com/maidsafe/safe_network/commit/139c7f37234da8b79429307b6da6eedbac9daae6)) - Remove unnecessary conversion of hash ([`351ce80`](https://github.com/maidsafe/safe_network/commit/351ce80063367db32778d1384896639cd34b4550)) - Reference latest version of sn_dbc ([`a1702bc`](https://github.com/maidsafe/safe_network/commit/a1702bca4e4b66249f100b36319dc7f50a1af8fc)) - Remove invalid spend broadcasts ([`60e2f29`](https://github.com/maidsafe/safe_network/commit/60e2f2961e1fa08d5700039fa362755a68143ebf)) - Validate parents and doublespends ([`fc95249`](https://github.com/maidsafe/safe_network/commit/fc9524992474abee593c1be203e640cbcb0c9be9)) - Merge pull request #77 from grumbach/cleanup ([`0745a29`](https://github.com/maidsafe/safe_network/commit/0745a29863cd1b6de8798089936e62d834fc5798)) - Remove empty file ([`08db243`](https://github.com/maidsafe/safe_network/commit/08db243d8db1e5891cc97c2403324cc77e3d049c)) - Count self in the close group ([`179072e`](https://github.com/maidsafe/safe_network/commit/179072ec7c66fe6689b77d47ef6bf211254054b6)) - Replace generic Error types with more specific ones ([`08e2479`](https://github.com/maidsafe/safe_network/commit/08e2479d752f23c0343219c88287d6ae4c550473)) - Correct termination of get_closest_peers ([`ac488db`](https://github.com/maidsafe/safe_network/commit/ac488dbcafcf5f999f990eaf156bedf15213570c)) - Implement Client API to use a Kad swarm in client-only mode ([`6ef0ef9`](https://github.com/maidsafe/safe_network/commit/6ef0ef9c7375bb6d690bd464269a1f6c38e188af)) - Use close group var ([`6cc8450`](https://github.com/maidsafe/safe_network/commit/6cc84506304c895cda63d7588d9b938aa8aa6039)) - Boundary of get_closest_peers ([`2e78160`](https://github.com/maidsafe/safe_network/commit/2e781600e52321092ce5a903a9f9106e5374d17d)) - Update to released sn_dbc ([`2161cf2`](https://github.com/maidsafe/safe_network/commit/2161cf223c9cdfe055b11bf2a436b36077392782)) - Feat(spends): match on spend errors - This will allow broadcasting an invalid spend (wether parent or current spend) to respective close group (TBD). ([`600bd37`](https://github.com/maidsafe/safe_network/commit/600bd37945f788f818430bf3e00830e1488bc5ed)) - Feat(dbcs): validate input parents - This verifies that the spend parents are valid, which is a requisite for storing this spend. - After this spend has been stored, it is up to the client to query all close nodes and verify that it is recognised by enough nodes. That then makes the spend valid. - NB: More validations might be needed. ([`1cc8ff9`](https://github.com/maidsafe/safe_network/commit/1cc8ff981c34028d0a4060db81d4e8353bb0706e)) - Integrate to the system ([`145ec30`](https://github.com/maidsafe/safe_network/commit/145ec301fff026ab46f57c62e3093403f0055963)) - Refactor(node): don't have client fn on nodes - This implements a Client and removes the client-specific logic from Node. ([`db9ee40`](https://github.com/maidsafe/safe_network/commit/db9ee4007447c449a89f4b8956e6e207f9c288dd)) - Various minor adjustments ([`7fd46f8`](https://github.com/maidsafe/safe_network/commit/7fd46f8f391be0ef315d0876f3d569c806aa3b70)) - Fix naming ([`9b52e33`](https://github.com/maidsafe/safe_network/commit/9b52e333699454179f298a44d2efd1c62bf49123)) - Use tokio everywhere ([`5cd9f4a`](https://github.com/maidsafe/safe_network/commit/5cd9f4af674a1e19ea64b1092959477afdeb4040)) - Use the closest nodes to put/get data ([`2c3657d`](https://github.com/maidsafe/safe_network/commit/2c3657d58884acd239d82e3099052a970fad8493)) - Disable random restart ([`29f726a`](https://github.com/maidsafe/safe_network/commit/29f726ad86c111f3ac7f4fa858fe7f5ba6b2996d)) - Remove chunk specific api ([`ac754fd`](https://github.com/maidsafe/safe_network/commit/ac754fdf24919065cc1292f4df7e6dab31388fcd)) - Flatten errors ([`9bbee06`](https://github.com/maidsafe/safe_network/commit/9bbee062afe133dea986350ae8480b63bdce131f)) - Implement an in-memory Register storage ([`186f493`](https://github.com/maidsafe/safe_network/commit/186f49374e1897d7ddfc05499783d717a89704cd)) - Implement an in-memory Chunk storage ([`e6bb10e`](https://github.com/maidsafe/safe_network/commit/e6bb10ea9d5e829826520384fbfc3a6c61f7c494)) - Remove deps, remove EnvFilter ([`de04d62`](https://github.com/maidsafe/safe_network/commit/de04d62f6dc155616c14e0f4a07f3b8205398b1b)) - Use tokio executor all over ([`0e9bc3d`](https://github.com/maidsafe/safe_network/commit/0e9bc3da11878ac9357eb76c8cf61fd2a83a8735)) - Chore: some further request division - Also aligns some fn and variable names. ([`51b51a7`](https://github.com/maidsafe/safe_network/commit/51b51a72a0a50a0921ba83145d1b61ad25a6143f)) - Add a basic level of churn to nodes ([`7543586`](https://github.com/maidsafe/safe_network/commit/7543586c0ad461c54bce95458660d6e2b7ee9492)) - Fix naming ([`d748fcd`](https://github.com/maidsafe/safe_network/commit/d748fcd6e6c3ba604fb898b3be8b73e96270e993)) - Add docs + clippy fixes ([`ba7c741`](https://github.com/maidsafe/safe_network/commit/ba7c74175e7082f6a2d4afc64a85be2c56b9d8c9)) - Make req/resp generic ([`5ce1e89`](https://github.com/maidsafe/safe_network/commit/5ce1e89c56cebd9c61f8032c2ca86c258e5f033a)) - Add env filter and strip back testnet bin ([`892c8b3`](https://github.com/maidsafe/safe_network/commit/892c8b3abf332fbbe100bf04c0b04cc9e67be828)) - Include reference impl ([`3374b3b`](https://github.com/maidsafe/safe_network/commit/3374b3b6bcd2e010ef31ec46c5bb87515d8ba6f7)) - Use Error enum ([`500566d`](https://github.com/maidsafe/safe_network/commit/500566d66c08aa89ccd2a0ad43ef99b5d83ce5c3)) - Implement req/resp to store and retrieve chunks ([`a77b33d`](https://github.com/maidsafe/safe_network/commit/a77b33df2a846423eabf8debfcf15f0ac50f085d)) - Use libp2p-quic instead of the quic feature ([`c6ae34f`](https://github.com/maidsafe/safe_network/commit/c6ae34f3a8abb5657e08b234e9f1810ee1435ec1)) - Clippy lints ([`5e63386`](https://github.com/maidsafe/safe_network/commit/5e633868773e42c13326c2f52790c94d4cd88ae0)) - Enable log level through env variable ([`63081bc`](https://github.com/maidsafe/safe_network/commit/63081bc27b6f6d3280ad3e55dddf934177368569)) - Use quic transport protocol ([`9980d85`](https://github.com/maidsafe/safe_network/commit/9980d85708e566a31b4f0da359c62202237ab924)) - Search for xorname ([`7571c17`](https://github.com/maidsafe/safe_network/commit/7571c17df10fb5259dd1ca7d41a8ef9a7857225d)) - 25 nodes and a couple of searches ([`1a22722`](https://github.com/maidsafe/safe_network/commit/1a22722198b5aecaca00dc167c7084d06f39160b)) - Init of search ([`13ac616`](https://github.com/maidsafe/safe_network/commit/13ac6161460a4194d52065d5cc3b2a0f21d36906)) - Receive on cmd channel ([`4c6cada`](https://github.com/maidsafe/safe_network/commit/4c6cadacf3e7b20faabfb4434fdbc74c43c5edb2)) - Refactor out swarm and provide channel ([`55ca268`](https://github.com/maidsafe/safe_network/commit/55ca268a5fe5f90f5f67a37a626fe46ccbe638c8)) - Kadnode attempt w/ tcp ([`f063f84`](https://github.com/maidsafe/safe_network/commit/f063f8442608f074dbaf5c4b15dcb419db145fcf)) - Update safenode/src/stableset/mod.rs ([`e258f6f`](https://github.com/maidsafe/safe_network/commit/e258f6fb0bf9a14fe2ac515f54fab76ffee64f8f)) - Make response stream optional again, respond to sender over stream if existing ([`b827c20`](https://github.com/maidsafe/safe_network/commit/b827c2028f59191a7f84a58f23c9d5dfb3bd7b11)) - Refactor out stable set update from msg processing ([`0bcce42`](https://github.com/maidsafe/safe_network/commit/0bcce425ef56b54095103c5a8cfb3787b8a94696)) - Refactor out stable set msg received event extraction ([`af56c5e`](https://github.com/maidsafe/safe_network/commit/af56c5ec20c84516e2330b9d4077dc30c696df4e)) - Merge pull request #19 from joshuef/ProperlyhandleJoins ([`8f54f27`](https://github.com/maidsafe/safe_network/commit/8f54f27ea0d2237891bb13aa44025e0e6d13be65)) - Properly handle joined nodes before sync ([`bbe5dce`](https://github.com/maidsafe/safe_network/commit/bbe5dce01ab88e33caf9106338506ec98aa48387)) - Unify membership and stable_set ([`48e0465`](https://github.com/maidsafe/safe_network/commit/48e04652f5ddd66f43f87455b4cf884c23bc96e6)) - Update gitignore to remove trunk ([`9bbadd6`](https://github.com/maidsafe/safe_network/commit/9bbadd672ebb1aa4bb66a538b921f5c3691fe12a)) - Share->witness & break up some methods ([`69bc68d`](https://github.com/maidsafe/safe_network/commit/69bc68dad31ef2169398bf3a00c77422f8c33334)) - Some joining, but not enough sync ([`bd396cf`](https://github.com/maidsafe/safe_network/commit/bd396cf46e5d1a55dc74cc18412e5b8816df05b5)) - Accept sync msg, update valid comm targets ([`02e3ee8`](https://github.com/maidsafe/safe_network/commit/02e3ee80fde50d909984e5b80b6b0300d42367bb)) - Send sync msg after handling ([`8c34f90`](https://github.com/maidsafe/safe_network/commit/8c34f90a7ad3c3670b415b9845aac46488a50965)) - Start sending joins ([`1b92b34`](https://github.com/maidsafe/safe_network/commit/1b92b346f07aee6b92f782a66257b148dcb45785)) - Merge pull request #8 from joshuef/RandomPortNodes ([`34b2bfb`](https://github.com/maidsafe/safe_network/commit/34b2bfb7746fcd16f08aa2431181a502135b2865)) - Initial comms by writing 127.0.0.1 ip addre for genesis ([`6190d22`](https://github.com/maidsafe/safe_network/commit/6190d222e04904baad12070f3893c2d0c425238a)) - Add some logging to dirs per node ([`514e815`](https://github.com/maidsafe/safe_network/commit/514e8153bfc33cd5bb12e7998dd065e5f5c30c4c)) - Cargo fix ([`f772949`](https://github.com/maidsafe/safe_network/commit/f772949320519c868a5e2ffc3b611aa138567afd)) - Use a random port @ startup, write config if none exists ([`e7f1da1`](https://github.com/maidsafe/safe_network/commit/e7f1da121e9b7afd2784caeab1fd8b826c47fa85)) - Merge pull request #7 from b-zee/refactor-set-socket-address-by-argument ([`2f58e08`](https://github.com/maidsafe/safe_network/commit/2f58e088edeb8b28077c637ed5d53efdf9535432)) - Rename get_config ([`e17a189`](https://github.com/maidsafe/safe_network/commit/e17a1890d3254abc5e258cf662bfd79e71080949)) - Set socket addr by argument ([`c5831ac`](https://github.com/maidsafe/safe_network/commit/c5831ace461627781066ff2f8a75feda524f2ca7)) - Merge pull request #6 from joshuef/AddTestnetBin ([`874c014`](https://github.com/maidsafe/safe_network/commit/874c01401acf980a226839247514e4bd69a58273)) - Convert safenode to bin ([`e40ac52`](https://github.com/maidsafe/safe_network/commit/e40ac52e83be846c2c026d9618431e0269a8116b)) - Create a basic workspace for the repo ([`0074ea6`](https://github.com/maidsafe/safe_network/commit/0074ea6ce8f4689c9a6bc42e94539fd42e564a7a)) - Initial copy of testnet bin with basic tweaks. ([`fa4b3ea`](https://github.com/maidsafe/safe_network/commit/fa4b3eacb4930749ad229cf2dbd26949b0a77a7e)) - Convert safenode to bin ([`6a318fa`](https://github.com/maidsafe/safe_network/commit/6a318fa7af40360c2ea8b83f670ce3f51b0904bc)) - Create a basic workspace for the repo ([`368f3bc`](https://github.com/maidsafe/safe_network/commit/368f3bcdd1864c41c63904233b260b8d2df0a15a))