sn_client 0.94.6

Safe Network Client
Documentation
# 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).

## [Unreleased]

## [0.94.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.5...sn_client-v0.94.6 - 2023-10-22

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.94.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.4...sn_client-v0.94.5 - 2023-10-21

### Other
- updated the following local packages: sn_networking

## [0.94.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.3...sn_client-v0.94.4 - 2023-10-20

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.94.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.2...sn_client-v0.94.3 - 2023-10-20

### Added
- *(client)* stop futher bootstrapping if the client has K_VALUE peers

## [0.94.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.1...sn_client-v0.94.2 - 2023-10-19

### Fixed
- *(network)* emit NetworkEvent when we publish a gossipsub msg

## [0.94.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.94.0...sn_client-v0.94.1 - 2023-10-18

### Other
- updated the following local packages: sn_networking

## [0.94.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.18...sn_client-v0.94.0 - 2023-10-18

### Added
- *(client)* verify register sync, and repay if not stored on all nodes
- *(client)* verify register uploads and retry and repay if failed

### Other
- Revert "feat: keep transfers in mem instead of mem and i/o heavy cashnotes"
- *(client)* always validate storage payments
- repay for data in node rewards tests
- *(client)* remove price tolerance at the client

## [0.93.18]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.17...sn_client-v0.93.18 - 2023-10-18

### Added
- keep transfers in mem instead of mem and i/o heavy cashnotes

## [0.93.17]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.16...sn_client-v0.93.17 - 2023-10-17

### Fixed
- *(transfers)* dont overwrite existing payment transactions when we top up

### Other
- adding comments and cleanup around quorum / payment fixes

## [0.93.16]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.15...sn_client-v0.93.16 - 2023-10-16

### Fixed
- return correct error type
- consider record split an error, handle it for regs

## [0.93.15]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.14...sn_client-v0.93.15 - 2023-10-16

### Other
- updated the following local packages: sn_networking

## [0.93.14]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.13...sn_client-v0.93.14 - 2023-10-13

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.93.13]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.12...sn_client-v0.93.13 - 2023-10-13

### Fixed
- batch download process

## [0.93.12]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.11...sn_client-v0.93.12 - 2023-10-12

### Other
- updated the following local packages: sn_networking

## [0.93.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.10...sn_client-v0.93.11 - 2023-10-12

### Other
- updated the following local packages: sn_networking

## [0.93.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.9...sn_client-v0.93.10 - 2023-10-12

### Other
- more detailed logging when client creating store cash_note

## [0.93.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.8...sn_client-v0.93.9 - 2023-10-11

### Fixed
- expose RecordMismatch errors and cleanup wallet if we hit that

### Other
- *(transfers)* add somre more clarity around DoubleSpendAttemptedForCashNotes
- *(transfers)* remove pointless api

## [0.93.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.7...sn_client-v0.93.8 - 2023-10-11

### Other
- updated the following local packages: sn_networking

## [0.93.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.6...sn_client-v0.93.7 - 2023-10-11

### Added
- showing expected holders to CLI when required
- verify put_record with expected_holders

## [0.93.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.5...sn_client-v0.93.6 - 2023-10-10

### Added
- *(transfer)* special event for transfer notifs over gossipsub

## [0.93.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.4...sn_client-v0.93.5 - 2023-10-10

### Other
- compare files after download twice

## [0.93.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.3...sn_client-v0.93.4 - 2023-10-10

### Other
- updated the following local packages: sn_transfers

## [0.93.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.2...sn_client-v0.93.3 - 2023-10-09

### Other
- updated the following local packages: sn_networking

## [0.93.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.1...sn_client-v0.93.2 - 2023-10-08

### Other
- updated the following local packages: sn_networking

## [0.93.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.93.0...sn_client-v0.93.1 - 2023-10-06

### Added
- feat!(sn_transfers): unify store api for wallet

### Other
- *(client)* dont println for wallet errors

## [0.93.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.9...sn_client-v0.93.0 - 2023-10-06

### Fixed
- *(client)* [**breaking**] unify send_without_verify and send functions

### Other
- *(cli)* reuse the client::send function to send amount from wallet

## [0.92.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.8...sn_client-v0.92.9 - 2023-10-06

### Other
- fix new clippy errors

## [0.92.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.7...sn_client-v0.92.8 - 2023-10-05

### Other
- updated the following local packages: sn_networking, sn_transfers

## [0.92.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.6...sn_client-v0.92.7 - 2023-10-05

### Added
- feat!(cli): remove concurrency argument

## [0.92.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.5...sn_client-v0.92.6 - 2023-10-05

### Fixed
- *(sn_transfers)* be sure we store CashNotes before writing the wallet file

## [0.92.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.4...sn_client-v0.92.5 - 2023-10-05

### Added
- quorum for records get

### Fixed
- use specific verify func for chunk stored verification

## [0.92.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.3...sn_client-v0.92.4 - 2023-10-05

### Added
- use progress bars on `files upload`

### Other
- pay_for_chunks returns cost and new balance

## [0.92.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.2...sn_client-v0.92.3 - 2023-10-04

### Fixed
- *(wallet)* remove expect statments

## [0.92.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.1...sn_client-v0.92.2 - 2023-10-04

### Fixed
- record_to_verify for store_chunk shall be a Chunk

## [0.92.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.92.0...sn_client-v0.92.1 - 2023-10-04

### Other
- updated the following local packages: sn_networking

## [0.92.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.11...sn_client-v0.92.0 - 2023-10-04

### Added
- improve register API

## [0.91.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.10...sn_client-v0.91.11 - 2023-10-04

### Added
- *(client)* reuse cashnotes for address payments

### Other
- separate method and write test

## [0.91.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.9...sn_client-v0.91.10 - 2023-10-03

### Other
- updated the following local packages: sn_networking

## [0.91.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.8...sn_client-v0.91.9 - 2023-10-03

### Added
- re-attempt when get chunk from network

## [0.91.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.7...sn_client-v0.91.8 - 2023-10-03

### Other
- updated the following local packages: sn_networking

## [0.91.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.6...sn_client-v0.91.7 - 2023-10-02

### Other
- remove all spans.

## [0.91.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.5...sn_client-v0.91.6 - 2023-10-02

### Other
- updated the following local packages: sn_transfers

## [0.91.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.4...sn_client-v0.91.5 - 2023-10-02

### Other
- *(client)* more logs around StoreCost retrieveal

## [0.91.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.3...sn_client-v0.91.4 - 2023-09-29

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.91.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.2...sn_client-v0.91.3 - 2023-09-28

### Added
- client to client transfers

## [0.91.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.1...sn_client-v0.91.2 - 2023-09-27

### Added
- *(networking)* remove optional_semaphore being passed down from apps
- all records are Quorum::All once more

## [0.91.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.91.0...sn_client-v0.91.1 - 2023-09-27

### Added
- *(client)* fail fast when a chunk is missing

## [0.91.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.6...sn_client-v0.91.0 - 2023-09-27

### Added
- deep clean sn_transfers, reduce exposition, remove dead code

## [0.90.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.5...sn_client-v0.90.6 - 2023-09-26

### Other
- updated the following local packages: sn_networking

## [0.90.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.4...sn_client-v0.90.5 - 2023-09-26

### Added
- *(apis)* adding client and node APIs, as well as safenode RPC service to unsubscribe from gossipsub topics

## [0.90.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.3...sn_client-v0.90.4 - 2023-09-25

### Other
- updated the following local packages: sn_transfers

## [0.90.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.2...sn_client-v0.90.3 - 2023-09-25

### Other
- cleanup renamings in sn_transfers

## [0.90.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.1...sn_client-v0.90.2 - 2023-09-25

### Other
- *(client)* serialize ClientEvent

## [0.90.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.90.0...sn_client-v0.90.1 - 2023-09-22

### Added
- *(apis)* adding client and node APIs, as well as safenode RPC services to pub/sub to gossipsub topics

## [0.90.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.23...sn_client-v0.90.0 - 2023-09-21

### Added
- dusking DBCs

### Other
- rename Nano NanoTokens
- improve naming

## [0.89.23]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.22...sn_client-v0.89.23 - 2023-09-21

### Other
- updated the following local packages: sn_networking

## [0.89.22]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.21...sn_client-v0.89.22 - 2023-09-21

### Other
- clarify `files download` usage
- output address of uploaded file

## [0.89.21]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.20...sn_client-v0.89.21 - 2023-09-20

### Other
- updated the following local packages: sn_networking

## [0.89.20]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.19...sn_client-v0.89.20 - 2023-09-20

### Other
- major dep updates

## [0.89.19]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.18...sn_client-v0.89.19 - 2023-09-20

### Other
- allow chunks to be Quorum::One

## [0.89.18]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.17...sn_client-v0.89.18 - 2023-09-19

### Other
- updated the following local packages: sn_networking

## [0.89.17]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.16...sn_client-v0.89.17 - 2023-09-19

### Other
- error handling when failed fetch store cost

## [0.89.16]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.15...sn_client-v0.89.16 - 2023-09-19

### Other
- updated the following local packages: sn_networking

## [0.89.15]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.14...sn_client-v0.89.15 - 2023-09-19

### Other
- updated the following local packages: sn_networking

## [0.89.14]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.13...sn_client-v0.89.14 - 2023-09-18

### Other
- updated the following local packages: sn_networking

## [0.89.13]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.12...sn_client-v0.89.13 - 2023-09-18

### Added
- *(client)* download file concurrently

## [0.89.12]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.11...sn_client-v0.89.12 - 2023-09-18

### Added
- serialisation for transfers for out of band sending

### Other
- *(client)* simplify API
- *(cli)* use iter::chunks() API to batch and pay for our chunks

## [0.89.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.10...sn_client-v0.89.11 - 2023-09-15

### Added
- *(client)* pay for chunks in batches

### Other
- *(client)* refactor chunk upload code to allow greater concurrency

## [0.89.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.9...sn_client-v0.89.10 - 2023-09-15

### Other
- updated the following local packages: sn_networking, sn_transfers

## [0.89.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.8...sn_client-v0.89.9 - 2023-09-15

### Other
- *(client)* remove unused wallet_client

## [0.89.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.7...sn_client-v0.89.8 - 2023-09-14

### Added
- *(register)* client to pay for Register only if local wallet has not paymnt for it yet

## [0.89.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.6...sn_client-v0.89.7 - 2023-09-14

### Added
- split upload procedure into batches

## [0.89.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.5...sn_client-v0.89.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.89.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.4...sn_client-v0.89.5 - 2023-09-13

### Added
- *(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

## [0.89.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.3...sn_client-v0.89.4 - 2023-09-12

### Added
- utilize stream decryptor

## [0.89.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.2...sn_client-v0.89.3 - 2023-09-12

### Other
- updated the following local packages: sn_networking

## [0.89.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.1...sn_client-v0.89.2 - 2023-09-12

### Other
- *(metrics)* rename network metrics and remove from default features list

## [0.89.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.89.0...sn_client-v0.89.1 - 2023-09-12

### Added
- add tx and parent spends verification
- chunk payments using UTXOs instead of DBCs

### Other
- use updated sn_dbc

## [0.89.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.16...sn_client-v0.89.0 - 2023-09-11

### Added
- [**breaking**] Clients add a tolerance to store cost

## [0.88.16]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.15...sn_client-v0.88.16 - 2023-09-11

### Other
- utilize stream encryptor

## [0.88.15]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.14...sn_client-v0.88.15 - 2023-09-08

### Added
- *(client)* repay for chunks if they cannot be validated

### Other
- *(client)* refactor to have permits at network layer
- *(refactor)* remove wallet_client args from upload flow
- *(refactor)* remove upload_chunks semaphore arg

## [0.88.14]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.13...sn_client-v0.88.14 - 2023-09-07

### Other
- updated the following local packages: sn_networking

## [0.88.13]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.12...sn_client-v0.88.13 - 2023-09-07

### Other
- updated the following local packages: sn_networking

## [0.88.12]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.11...sn_client-v0.88.12 - 2023-09-05

### Other
- updated the following local packages: sn_networking, sn_transfers

## [0.88.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.10...sn_client-v0.88.11 - 2023-09-05

### Added
- encryptioni output to disk

## [0.88.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.9...sn_client-v0.88.10 - 2023-09-05

### Other
- updated the following local packages: sn_networking

## [0.88.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.8...sn_client-v0.88.9 - 2023-09-04

### Added
- feat!(protocol): make payments for all record types

### Fixed
- fix permissions for public register creation

### Other
- *(release)* sn_registers-v0.2.4
- utilize encrypt_from_file

## [0.88.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.7...sn_client-v0.88.8 - 2023-09-04

### Other
- Add client and protocol detail

## [0.88.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.6...sn_client-v0.88.7 - 2023-09-01

### Other
- *(transfers)* store dbcs by ref to avoid more clones
- *(client)* make unconfonfirmed txs btreeset, remove unnecessary cloning
- *(client)* remove one signed_spend clone

## [0.88.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.5...sn_client-v0.88.6 - 2023-09-01

### Other
- updated the following local packages: sn_networking

## [0.88.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.4...sn_client-v0.88.5 - 2023-08-31

### Other
- remove unused async

## [0.88.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.3...sn_client-v0.88.4 - 2023-08-31

### Other
- updated the following local packages: sn_protocol, sn_transfers

## [0.88.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.2...sn_client-v0.88.3 - 2023-08-31

### Other
- some logging updates

## [0.88.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.1...sn_client-v0.88.2 - 2023-08-31

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.88.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.88.0...sn_client-v0.88.1 - 2023-08-31

### Added
- *(cli)* expose 'concurrency' flag
- *(cli)* increase put parallelisation

### Other
- *(client)* reduce default concurrency
- *(client)* improve download concurrency.

## [0.88.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.29...sn_client-v0.88.0 - 2023-08-30

### Added
- refactor to allow greater upload parallelisation
- one transfer per data set, mapped dbcs to content addrs
- [**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

### Other
- *(node)* refactor churn test order
- *(deps)* bump tokio to 1.32.0
- *(client)* refactor client wallet to reduce dbc clones
- *(client)* pass around content payments map mut ref
- *(client)* reduce transferoutputs cloning
- *(client)* error out early for invalid transfers
- *(node)* reenable payment fail check

## [0.87.29]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.28...sn_client-v0.87.29 - 2023-08-30

### Other
- updated the following local packages: sn_networking

## [0.87.28]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.27...sn_client-v0.87.28 - 2023-08-29

### Other
- updated the following local packages: sn_networking

## [0.87.27]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.26...sn_client-v0.87.27 - 2023-08-24

### Other
- updated the following local packages: sn_registers, sn_transfers

## [0.87.26]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.25...sn_client-v0.87.26 - 2023-08-22

### Other
- updated the following local packages: sn_networking

## [0.87.25]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.24...sn_client-v0.87.25 - 2023-08-22

### Fixed
- fixes to allow upload file works properly

## [0.87.24]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.23...sn_client-v0.87.24 - 2023-08-21

### Other
- updated the following local packages: sn_networking

## [0.87.23]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.22...sn_client-v0.87.23 - 2023-08-21

### Other
- updated the following local packages: sn_networking

## [0.87.22]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.21...sn_client-v0.87.22 - 2023-08-18

### Added
- remove client and node initial join flow

## [0.87.21]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.20...sn_client-v0.87.21 - 2023-08-18

### Other
- updated the following local packages: sn_protocol

## [0.87.20]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.19...sn_client-v0.87.20 - 2023-08-17

### Fixed
- *(client)* start bootstrap when we are connected to one peer

## [0.87.19]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.18...sn_client-v0.87.19 - 2023-08-17

### Other
- updated the following local packages: sn_networking

## [0.87.18]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.17...sn_client-v0.87.18 - 2023-08-17

### Fixed
- *(client)* use boostrap and fire Connecting event

## [0.87.17]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.16...sn_client-v0.87.17 - 2023-08-17

### Other
- updated the following local packages: sn_networking

## [0.87.16]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.15...sn_client-v0.87.16 - 2023-08-16

### Added
- *(client)* do not use cached proofs

## [0.87.15]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.14...sn_client-v0.87.15 - 2023-08-16

### Added
- overpay by default to allow margin

## [0.87.14]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.13...sn_client-v0.87.14 - 2023-08-15

### Other
- updated the following local packages: sn_networking

## [0.87.13]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.12...sn_client-v0.87.13 - 2023-08-11

### Added
- *(transfers)* add resend loop for unconfirmed txs
- *(networking)* ensure we always use the highest price we find
- *(networking)* enable returning less than majority for store_cost
- *(client)* use store cost queries to pre populate cost and RT

### Fixed
- *(client)* only_store_cost_if_higher missing else added

### Other
- remove client inactivity random storage query
- *(node)* resend unconfirmed txs before asserting
- *(cli)* print cost info
- *(networking)* remove logs, fix typos and clippy issues
- overpay in advance to avoid storage cost calculation inconsistent

## [0.87.12]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.11...sn_client-v0.87.12 - 2023-08-10

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.87.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.10...sn_client-v0.87.11 - 2023-08-10

### Other
- updated the following local packages: sn_networking

## [0.87.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.9...sn_client-v0.87.10 - 2023-08-08

### Added
- *(transfers)* add get largest dbc for spending

### Fixed
- *(node)* prevent panic in storage calcs

### Other
- tidy store cost code

## [0.87.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.8...sn_client-v0.87.9 - 2023-08-07

### Other
- updated the following local packages: sn_networking

## [0.87.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.7...sn_client-v0.87.8 - 2023-08-07

### Added
- rework register addresses to include pk

### Other
- rename network addresses confusing name method to xorname

## [0.87.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.6...sn_client-v0.87.7 - 2023-08-04

### Other
- updated the following local packages: sn_networking

## [0.87.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.5...sn_client-v0.87.6 - 2023-08-03

### Other
- updated the following local packages: sn_networking

## [0.87.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.4...sn_client-v0.87.5 - 2023-08-03

### Other
- updated the following local packages: sn_networking

## [0.87.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.3...sn_client-v0.87.4 - 2023-08-02

### Fixed
- do not create genesis when facuet already funded

## [0.87.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.2...sn_client-v0.87.3 - 2023-08-01

### Other
- *(client)* reattempt to get_spend_from_network
- add more verificaiton for payments

## [0.87.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.1...sn_client-v0.87.2 - 2023-08-01

### Other
- updated the following local packages: sn_protocol

## [0.87.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.87.0...sn_client-v0.87.1 - 2023-08-01

### Added
- *(cli)* add no-verify flag to cli

### Other
- fix double spend and remove arbitrary wait
- *(node)* verify faucet transactions before continuing
- *(netowrking)* change default re-attempt behaviour

## [0.87.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.11...sn_client-v0.87.0 - 2023-08-01

### Other
- *(register)* [**breaking**] hashing the node of a Register to sign it instead of bincode-serialising it

## [0.86.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.10...sn_client-v0.86.11 - 2023-07-31

### Other
- updated the following local packages: sn_networking

## [0.86.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.9...sn_client-v0.86.10 - 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.86.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.8...sn_client-v0.86.9 - 2023-07-31

### Other
- updated the following local packages: sn_networking

## [0.86.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.7...sn_client-v0.86.8 - 2023-07-28

### Other
- updated the following local packages: sn_networking

## [0.86.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.6...sn_client-v0.86.7 - 2023-07-28

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.86.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.5...sn_client-v0.86.6 - 2023-07-28

### Other
- adapt all logging to use pretty record key

## [0.86.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.4...sn_client-v0.86.5 - 2023-07-27

### Other
- updated the following local packages: sn_networking

## [0.86.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.3...sn_client-v0.86.4 - 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.86.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.2...sn_client-v0.86.3 - 2023-07-26

### Other
- updated the following local packages: sn_networking

## [0.86.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.1...sn_client-v0.86.2 - 2023-07-26

### Other
- updated the following local packages: sn_networking

## [0.86.1]https://github.com/maidsafe/safe_network/compare/sn_client-v0.86.0...sn_client-v0.86.1 - 2023-07-25

### Added
- *(replication)* replicate when our close group changes

### Fixed
- *(client)* keep an active `ClientEvent` receiver

### Other
- *(client)* get k_value from const fn

## [0.86.0]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.55...sn_client-v0.86.0 - 2023-07-21

### Added
- *(protocol)* [**breaking**] make Chunks storage payment required

### Other
- tokens transfers task in data_with_churn tests to use client apis instead of faucet helpers

## [0.85.55]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.54...sn_client-v0.85.55 - 2023-07-20

### Other
- cleanup error types

## [0.85.54]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.53...sn_client-v0.85.54 - 2023-07-19

### Added
- using kad::record for dbc spend ops
- *(CI)* dbc verfication during network churning test

## [0.85.53]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.52...sn_client-v0.85.53 - 2023-07-19

### Other
- updated the following local packages: sn_protocol

## [0.85.52]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.51...sn_client-v0.85.52 - 2023-07-18

### Other
- updated the following local packages: sn_networking

## [0.85.51]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.50...sn_client-v0.85.51 - 2023-07-18

### Added
- safer registers requiring signatures
- *(networking)* remove LostRecordEvent

### Fixed
- address PR comments
- client

## [0.85.50]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.49...sn_client-v0.85.50 - 2023-07-18

### Other
- updated the following local packages: sn_networking

## [0.85.49]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.48...sn_client-v0.85.49 - 2023-07-17

### Other
- updated the following local packages: sn_networking

## [0.85.48]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.47...sn_client-v0.85.48 - 2023-07-17

### Added
- *(networking)* upgrade to libp2p 0.52.0

### Other
- *(networking)* log all connected peer count

## [0.85.47]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.46...sn_client-v0.85.47 - 2023-07-17

### Added
- *(client)* keep storage payment proofs in local wallet

## [0.85.46]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.45...sn_client-v0.85.46 - 2023-07-12

### Other
- client to upload paid chunks in batches

## [0.85.45]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.44...sn_client-v0.85.45 - 2023-07-11

### Other
- updated the following local packages: sn_networking

## [0.85.44]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.43...sn_client-v0.85.44 - 2023-07-11

### Fixed
- *(client)* publish register on creation

## [0.85.43]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.42...sn_client-v0.85.43 - 2023-07-11

### Other
- updated the following local packages: sn_networking

## [0.85.42]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.41...sn_client-v0.85.42 - 2023-07-10

### Other
- updated the following local packages: sn_networking

## [0.85.41]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.40...sn_client-v0.85.41 - 2023-07-10

### Added
- client query register via get_record
- client upload Register via put_record

## [0.85.40]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.39...sn_client-v0.85.40 - 2023-07-06

### Other
- updated the following local packages: sn_networking

## [0.85.39]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.38...sn_client-v0.85.39 - 2023-07-06

### Added
- PutRecord response during client upload
- client upload chunk using kad::put_record

### Other
- *(release)* sn_cli-v0.79.0/sn_logging-v0.2.0/sn_node-v0.86.0/sn_testnet-v0.1.76/sn_networking-v0.3.11

## [0.85.38]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.37...sn_client-v0.85.38 - 2023-07-05

### Added
- carry out validation for record_store::put

## [0.85.37]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.36...sn_client-v0.85.37 - 2023-07-04

### Other
- demystify permissions

## [0.85.36]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.35...sn_client-v0.85.36 - 2023-07-03

### Added
- append SAFE_PEERS to initial_peers after restart

### Fixed
- *(text)* data_churn_test creates clients parsing SAFE_PEERS env

### Other
- reduce SAMPLE_SIZE for the data_with_churn test
- some client log tidy up

## [0.85.35]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.34...sn_client-v0.85.35 - 2023-06-29

### Other
- updated the following local packages: sn_networking

## [0.85.34]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.33...sn_client-v0.85.34 - 2023-06-28

### Other
- updated the following local packages: sn_networking

## [0.85.33]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.32...sn_client-v0.85.33 - 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.32]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.31...sn_client-v0.85.32 - 2023-06-28

### Other
- updated the following local packages: sn_networking

## [0.85.31]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.30...sn_client-v0.85.31 - 2023-06-28

### Added
- *(node)* dial without PeerId

## [0.85.30]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.29...sn_client-v0.85.30 - 2023-06-27

### Other
- updated the following local packages: sn_networking

## [0.85.29]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.28...sn_client-v0.85.29 - 2023-06-27

### Other
- updated the following local packages: sn_networking

## [0.85.28]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.27...sn_client-v0.85.28 - 2023-06-26

### Other
- updated the following local packages: sn_networking

## [0.85.27]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.26...sn_client-v0.85.27 - 2023-06-26

### Other
- updated the following local packages: sn_networking

## [0.85.26]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.25...sn_client-v0.85.26 - 2023-06-26

### Other
- *(release)* sn_cli-v0.78.9/sn_logging-v0.1.4/sn_node-v0.83.55/sn_testnet-v0.1.59/sn_networking-v0.1.24

## [0.85.25]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.24...sn_client-v0.85.25 - 2023-06-26

### Other
- payment proof map to use xorname as index instead of merkletree nodes type

## [0.85.24]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.23...sn_client-v0.85.24 - 2023-06-24

### Other
- updated the following local packages: sn_networking

## [0.85.23]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.22...sn_client-v0.85.23 - 2023-06-23

### Other
- updated the following local packages: sn_networking

## [0.85.22]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.21...sn_client-v0.85.22 - 2023-06-23

### Added
- forward chunk when not being the closest
- repliate to peers lost record

### Fixed
- client upload to peers closer to chunk

## [0.85.21]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.20...sn_client-v0.85.21 - 2023-06-23

### Other
- updated the following local packages: sn_networking

## [0.85.20]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.19...sn_client-v0.85.20 - 2023-06-22

### Other
- *(client)* initial refactor around uploads

## [0.85.19]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.18...sn_client-v0.85.19 - 2023-06-22

### Fixed
- improve client upload speed

## [0.85.18]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.17...sn_client-v0.85.18 - 2023-06-21

### Other
- updated the following local packages: sn_networking, sn_protocol

## [0.85.17]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.16...sn_client-v0.85.17 - 2023-06-21

### Other
- *(network)* remove `NetworkEvent::PutRecord` dead code

## [0.85.16]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.15...sn_client-v0.85.16 - 2023-06-21

### Other
- remove unused error variants
- *(node)* obtain parent_tx from SignedSpend
- *(release)* sn_cli-v0.77.46/sn_logging-v0.1.3/sn_node-v0.83.42/sn_testnet-v0.1.46/sn_networking-v0.1.15

## [0.85.15]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.14...sn_client-v0.85.15 - 2023-06-20

### Added
- *(network)* validate `Record` on GET
- *(network)* validate and store `ReplicatedData`
- *(node)* perform proper validations on PUT
- *(network)* validate and store `Record`

### Fixed
- *(node)* store parent tx along with `SignedSpend`

### Other
- *(docs)* add more docs and comments

## [0.85.14]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.13...sn_client-v0.85.14 - 2023-06-20

### Other
- updated the following local packages: sn_networking

## [0.85.13]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.12...sn_client-v0.85.13 - 2023-06-20

### Added
- pay 1 nano per Chunk as temporary approach till net-invoices are implemented
- committing storage payment SignedSpends to the network
- nodes to verify input DBCs of Chunk payment proof were spent

### Other
- specific error types for different payment proof verification scenarios
- include the Tx instead of output DBCs as part of storage payment proofs

## [0.85.12]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.11...sn_client-v0.85.12 - 2023-06-20

### Other
- updated the following local packages: sn_networking

## [0.85.11]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.10...sn_client-v0.85.11 - 2023-06-16

### Fixed
- reduce client mem usage during uploading

## [0.85.10]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.9...sn_client-v0.85.10 - 2023-06-15

### Added
- add double spend test

### Fixed
- parent spend issue

## [0.85.9]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.8...sn_client-v0.85.9 - 2023-06-14

### Added
- include output DBC within payment proof for Chunks storage

## [0.85.8]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.7...sn_client-v0.85.8 - 2023-06-14

### Other
- updated the following local packages: sn_networking

## [0.85.7]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.6...sn_client-v0.85.7 - 2023-06-14

### Added
- *(client)* expose req/resp timeout to client cli

## [0.85.6]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.5...sn_client-v0.85.6 - 2023-06-13

### Other
- *(release)* sn_cli-v0.77.12/sn_logging-v0.1.2/sn_node-v0.83.10/sn_testnet-v0.1.14/sn_networking-v0.1.6

## [0.85.5]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.4...sn_client-v0.85.5 - 2023-06-12

### Added
- remove spendbook rw locks, improve logging

### Other
- remove uneeded printlns
- *(release)* sn_cli-v0.77.10/sn_record_store-v0.1.3/sn_node-v0.83.8/sn_testnet-v0.1.12/sn_networking-v0.1.4

## [0.85.4]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.3...sn_client-v0.85.4 - 2023-06-09

### Other
- manually change crate version

## [0.85.3]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.2...sn_client-v0.85.3 - 2023-06-09

### Other
- more replication flow statistics during mem_check test

## [0.85.2]https://github.com/maidsafe/safe_network/compare/sn_client-v0.85.1...sn_client-v0.85.2 - 2023-06-07

### Added
- bail out if empty list of addreses is provided for payment proof generation
- *(client)* add progress indicator for initial network connections
- attach payment proof when uploading Chunks
- collect payment proofs and make sure merkletree always has pow-of-2 leaves
- node side payment proof validation from a given Chunk, audit trail, and reason-hash
- use all Chunks of a file to generate payment the payment proof tree
- Chunk storage payment and building payment proofs

### Fixed
- remove progress bar after it's finished.

### 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
- small log wording updates
- exposing definition of merkletree nodes data type and additional doc in code
- making Chunk payment proof optional for now
- moving all payment proofs utilities into sn_transfers crate

## [0.85.1]https://github.com/jacderida/safe_network/compare/sn_client-v0.85.0...sn_client-v0.85.1 - 2023-06-06

### Added
- refactor replication flow to using pull model