Skip to content

2024.08.2.3

Compare
Choose a tag to compare
@MaidSafe-QA MaidSafe-QA released this 27 Aug 14:23

Binary Versions

  • faucet v0.4.32
  • nat-detection v0.2.2
  • node-launchpad v0.3.12
  • safe v0.94.1
  • safenode v0.110.1
  • safenode-manager v0.10.2
  • safenodemand v0.10.2
  • safenode_rpc_client v0.6.27
  • sn_auditor v0.2.4

🔦 Highlights

  • Increasing the relay server's circuit bytes limit reduces incoming connection errors. We expect this to improve earnings for home nodes.
  • The Launchpad has several new features:
    • The user can choose a different drive for the node's data directory.
    • New sections in the UI: Options and Help.
    • A navigation bar has been added with Status, Options and Help sections.
    • The node's logs can be viewed from the Options section.
  • The node manager start command waits for the node to connect to the network before attempting to start the next node. See the detailed changelog for further details.
  • Several new metrics are available for the node. See the detailed changelog for more information.

Merged Pull Requests

2024-07-23 #2001 -- chore: remove push triggers for release workflow [@jacderida]
2024-07-23 #2000 -- chore(node): increase bad node & bootstrap interval [@RolandSherwin]
2024-07-26 #1981 -- LocalFirst Swarm [@joshuef]
2024-07-29 #2006 -- refactor: remove some lazy_static deps; unused dep [@b-zee]
2024-07-29 #2008 -- feat(launchpad): user interface tweaks [@mazzi]
2024-07-29 #1997 -- feat(manager): optionally set the different ports when running local network [@RolandSherwin]
2024-07-29 #2009 -- chore(launchpad): popup crate and del unused code [@mazzi]
2024-07-29 #2005 -- chore(client): debug resend spend [@maqi]
2024-07-31 #2015 -- chore: correct logging of cash_note and confirmed_spend disk ops [@maqi]
2024-07-31 #2018 -- chore(cli): [#2014] explicitly show the uploaded file's address [@mickvandijke]
2024-07-31 #2017 -- fix(node): check whether already received an incoming payment [@maqi]
2024-07-31 #2016 -- chore(cli): [#2012] show download time per file [@mickvandijke]
2024-08-01 #2007 -- chore(node): trust a parent spend with majority [@maqi]
2024-08-02 #2020 -- chore(node): check confirmed_spend existence [@maqi]
2024-08-05 #2022 -- fix(ci): clean out target directory to save space [@RolandSherwin]
2024-08-05 #2003 -- chore(node): [#1999] panic on upnp event GatewayNotFound [@mickvandijke]
2024-08-05 #2021 -- feat(metrics): track the bad node count [@RolandSherwin]
2024-08-05 #2023 -- fix(node): terminate make_payment process during unrecoverable error [@maqi]
2024-08-06 #2024 -- docs: update readme about transfers [@grumbach]
2024-08-06 #2013 -- fix(manager): dynamic sleep interval during start and upgrade [@RolandSherwin]
2024-08-07 #2026 -- fix(network): add peer to blocklist only after informing it [@RolandSherwin]
2024-08-07 #2027 -- fix(node): avoid deserialise error cause a confirmed_spend to be non-exist [@maqi]
2024-08-07 #2029 -- fix(metrics): update current wallet balance after forwarding rewards [@RolandSherwin]
2024-08-07 #2028 -- refactor(network): remove some unused network events [@RolandSherwin]
2024-08-08 #2031 -- feat(network): expose bandwidth per transport protocol [@RolandSherwin]
2024-08-12 #2034 -- test: verification involving child key [@maqi]
2024-08-15 #2043 -- feat(node): prune unrelevant records if accumulated too many [@maqi]
2024-08-16 #2047 -- fix: save node registry on every upgrade [@jacderida]
2024-08-19 #2041 -- feat(launchpad): new layout sections and features [@mazzi]
2024-08-19 #2040 -- feat(metrics): export metadata via the metrics port [@RolandSherwin]
2024-08-19 #2051 -- feat(metrics): expose values from QuotingMetrics [@RolandSherwin]
2024-08-21 #2053 -- feat(networking): increase circuit bytes limit [@b-zee]
2024-08-26 #2063 -- refactor(metrics): revert store cost metrics breaking change [@RolandSherwin]

Detailed Changes

Network

Added

  • The node will now report its bandwidth usage through the metrics endpoint.
  • The metrics server has a new /metadata path which will provide static information about the node, including peer ID and version.
  • The metrics server exposes more metrics on store cost derivation. These include relevant record count and number of payments received.
  • The metrics server exposes metrics related to bad node detection.
  • Test to confirm main key can’t verify signature signed by child key.
  • Avoid excessively high quotes by pruning records that are not relevant.

Changed

  • Bad node detection and bootstrap intervals have been increased. This should reduce the number of messages being sent.
  • The spend parent verification strategy was refactored to be more aligned with the public network.
  • Nodes now prioritize local work over new work from the network, which reduces memory footprint.
  • Multiple GET queries to the same address are now de-duplicated and will result in a single query being processed.
  • Improve efficiency of command handling and the record store cache.
  • A parent spend is now trusted with a majority of close group nodes, rather than all of them. This increases the chance of the spend being stored successfully when some percentage of nodes are slow to respond.

Fixed

  • The amount of bytes a home node could send and receive per relay connection is increased. This solves a problem where transmission of data is interrupted, causing home nodes to malfunction.
  • Fetching the network contacts now times out and retries. Previously we would wait for an excessive amount of time, which could cause the node to hang during start up.
  • If a node has been shunned, we inform that node before blocking all communication to it.
  • The current wallet balance metric is updated more frequently and will now reflect the correct state.
  • Avoid burnt spend during forwarding by correctly handling repeated CashNotes and confirmed spends.
  • Fix logging for CashNote and confirmed spend disk ops
  • Check whether a CashNote has already been received to avoid duplicate CashNotes in the wallet.

Node Manager

Added

  • The local run command supports --metrics-port, --node-port and --rpc-port arguments.
  • The start command waits for the node to connect to the network before attempting to start the next node. If it takes more than 300 seconds to connect, we consider that a failure and move to the next node. The --connection-timeout argument can be used to vary the timeout. If you prefer the old behaviour, you can use the --interval argument, which will continue to apply a static, time-based interval.

Changed

  • On an upgrade, the node registry is saved after each node is processed, as opposed to waiting until the end. This means if there is an unexpected failure, the registry will have the information about which nodes have already been upgraded.

Launchpad

Added

  • The user can choose a different drive for the node's data directory.
  • New sections in the UI: Options and Help.
  • A navigation bar has been added with Status, Options and Help sections.
  • The node's logs can be viewed from the Options section.

Changed

  • Increased spacing for title and paragraphs.
  • Increased spacing on footer.
  • Increased spacing on box titles.
  • Moved Discord Username from the top title into the Device Status section.
  • Made the general layout of Device Status more compact.

Client

Added

  • The safe files download command now displays duration per file.

Changed

  • Adjust the put and get configuration scheme to align the client with a more realistic network which would have some percentage of slow nodes.
  • Improved spend logging to help debug the upload process.

Fixed

  • Avoid a corrupt wallet by terminating the payment process during an unrecoverable error.