Skip to content

2024.12.1.5

Compare
Choose a tag to compare
@MaidSafe-QA MaidSafe-QA released this 18 Dec 13:25
· 4 commits to 3e2c5affcbe35529563d9eea3f686a651fb7f663 since this release

Binary Versions

  • antnode: v0.3.0
  • antctld: v0.11.4
  • antctl: v0.11.4
  • ant: v0.3.0
  • nat-detection: v0.2.12
  • node-launchpad: v0.5.0

Merged Pull Requests

2024-11-07 #2372 -- Python - autonomi client [@dirvine]
2024-11-08 #2394 -- feat: add vault key derivation function in wasm client [@mickvandijke]
2024-11-08 #2387 -- feat(sn_networking): use wasm compatible retry [@b-zee]
2024-11-08 #2355 -- fix(autonomi): fix wasm warnings from cargo check [@b-zee]
2024-11-08 #2414 -- feat(network): accumulate split scratchpads [@RolandSherwin]
2024-11-08 #2408 -- feat(autonomi): keep filesize in metadata [@b-zee]
2024-11-08 #2416 -- ci fix cargo doc autonomi conflict [@b-zee]
2024-11-09 #2422 -- fix: Remove env var requirement for builds [@dirvine]
2024-11-09 #2420 -- fix(launchpad): megabits [@mazzi]
2024-11-10 #2425 -- feat: python safenode module [@dirvine]
2024-11-11 #2428 -- Revert "Merge pull request #2420 from mazzi/fix_stats_mbits" [@mazzi]
2024-11-11 #2429 -- chore: include dep to lock file [@RolandSherwin]
2024-11-11 #2374 -- Tests enable register test and windows support [@ermineJose]
2024-11-12 #2430 -- fix: python publish workflow [@dirvine]
2024-11-13 #2436 -- test: improve vault verbose for e2e tests [@ermineJose]
2024-11-13 #2439 -- populate records_by_bucket during restart [@maqi]
2024-11-14 #2440 -- fix(launchpad): Mbps - Megabits per second [@mazzi]
2024-11-18 #2415 -- chore(test): re-enable can_store_after_restart test [@maqi]
2024-11-19 #2397 -- feat(autonomi): run self encryption non-blocking [@b-zee]
2024-11-19 #2453 -- docs: add CLI wallet docs [@mickvandijke]
2024-11-19 #2454 -- fix(autonomi): wasm test fixup [@b-zee]
2024-11-20 #2423 -- feat: add weboscket feature to node and client [@RolandSherwin]
2024-11-20 #2442 -- chore(logging): add line number to log records [@harismuzaffer]
2024-11-20 #2457 -- Revert "feat(autonomi): run self encryption non-blocking" [@mickvandijke]
2024-11-20 #2450 -- docs: typo [@loziniak]
2024-11-22 #2445 -- Improve upgradability [@maqi]
2024-11-26 #2446 -- chore!: improve ChunkProofVerification [@maqi] [BREAKING]
2024-11-26 #2465 -- Scramble native bootstrap main [@maqi]
2024-11-27 #2458 -- chore(sn_node): move assert_fs dep [@b-zee]
2024-11-27 #2466 -- docs(autonomi): fix timeout doc [@b-zee]
2024-11-27 #2463 -- feat(autonomi): retry failed puts [@b-zee]
2024-11-27 #2467 -- chore(node): rename continuous bootstrap to network discover [@maqi]
2024-11-29 #2469 -- fix(CI): mute clippy warnings (python binding errors) temporarily [@maqi]
2024-11-29 #2464 -- Node side RBS support [@maqi]
2024-11-29 #2468 -- feat: generic Transaction [@grumbach]
2024-11-30 #2377 -- feat: remove external address on too many connection error [@RolandSherwin]
2024-12-01 #2470 -- chore: rename crates in line with autonomi branding [@jacderida]
2024-12-01 #2471 -- chore: rename binaries in line with autonomi branding [@jacderida] [BREAKING]
2024-12-02 #2472 -- fix: use the correct autonomi data dir path [@RolandSherwin]
2024-12-02 #2475 -- chore: rename autonomi-cli crate and binary [@jacderida]
2024-12-02 #2478 -- chore: update more ant_releases references [@jacderida]
2024-12-02 #2479 -- fix: use correct reference to ant-cli crate [@jacderida]
2024-12-03 #2477 -- fix(node): replicate fresh scratchpad if got repaid [@maqi]
2024-12-03 #2474 -- feat!: node support get_closest query from client for RBS [@maqi] [BREAKING]
2024-12-03 #2483 -- fix: other references to autonomi binary [@jacderida]
2024-12-03 #2485 -- fix: use correct crate for ant-cli [@jacderida]
2024-12-03 #2486 -- chore: use ant as the antctl service user [@jacderida]
2024-12-04 #2491 -- feat: more metrics of QuotingMetrics [@maqi]
2024-12-04 #2489 -- docs(autonomi): add example Rust code [@b-zee]
2024-12-04 #2492 -- fix(test): early bail out to avoid test timed out [@maqi]
2024-12-04 #2493 -- fix: use ant_networking for metrics prefix [@jacderida]
2024-12-05 #2494 -- feat: improve parents naming [@grumbach]
2024-12-05 #2496 -- fix(metrics): use the newer crate name for all the metrics [@RolandSherwin]
2024-12-06 #2481 -- feat: add more debug logs to client [@ermineJose]
2024-12-06 #2490 -- docs(autonomi): refactor documentation for API [@b-zee]
2024-12-06 #2499 -- refactor(autonomi): restructure modules and private/public naming [@b-zee]
2024-12-06 #2487 -- feat: impl bootstrap cache [@RolandSherwin]
2024-12-08 #2505 -- chore: remove vagrant directory [@jacderida]
2024-12-09 #2506 -- api: allow creation of a register with optional value [@happybeing]
2024-12-09 #2484 -- chore: libp2p dependent updated to latest [@maqi]
2024-12-09 #2503 -- feat(manager): implement PeersArgs into ant node manager [@RolandSherwin]
2024-12-09 #2508 -- feat!: use a simple network id to differentiate between network [@RolandSherwin]
2024-12-09 #2502 -- chore: remove the websockets feature [@jacderida]
2024-12-10 #2509 -- feat: use secret key from env if no wallets are present [@ermineJose]
2024-12-10 #2516 -- Revert "feat(antctl): impl network_id option while adding node" [@RolandSherwin]
2024-12-10 #2514 -- feat(networking): add TransactionWithPayment [@b-zee]
2024-12-11 #2473 -- chore: cleanup cashnotes and unused spend errors [@grumbach]
2024-12-11 #2520 -- chore: avoid access Distance private field of U256 [@maqi]
2024-12-12 #2521 -- revert: revert PR 2516 [@RolandSherwin]
2024-12-12 #2512 -- feat(bootstrap): skip if the network version does not match ours [@RolandSherwin]
2024-12-12 #2524 -- chore: replace ant-releases branch references [@jacderida]
2024-12-12 #2523 -- fix(cli): store relative file paths in archive instead of absolute wh… [@mickvandijke]
2024-12-12 #2519 -- Feat upgradable smart contracts and updated quotation flow rebased [@grumbach] [BREAKING]
2024-12-12 #2522 -- Transaction fixes and Client API (atop new quoting) [@grumbach]
2024-12-13 #2527 -- feat: further expand close group get to close group x 1.5 [@grumbach]
2024-12-13 #2528 -- CLI updates [@mickvandijke]
2024-12-14 #2531 -- fix: bootstrap node replacement only to be carried out once [@maqi]
2024-12-16 #2534 -- chore: versioning for ant binary [@jacderida]
2024-12-16 #2526 -- feat: create wallet file from env sk [@ermineJose]
2024-12-16 #2510 -- feat: Client::init routine that adds bootstrap peers to routing table [@b-zee]
2024-12-16 #2543 -- refactor(autonomi): deprecate registers [@b-zee]
2024-12-16 #2542 -- Refactor autonomi client API [@b-zee]
2024-12-16 #2541 -- feat(launchpad): add network id arg for testing [@RolandSherwin]
2024-12-16 #2539 -- Merge pr2536 pr2538 [@maqi]
2024-12-17 #2548 -- chore: no longer carryout out bootstrap node replacement [@maqi]

Detailed Changes

General

Changed

  • For a branding alignment that moves Safe Network to Autonomi, all crates in the workspace prefixedsn- were renamed with an ant- prefix. For example, sn-node was renamed ant-node.
  • To further support this alignment, several binaries were renamed:
    • autonomi -> ant
    • safenode -> antnode
    • safenode-manager -> antctl
    • safenode_rpc_client -> antnode_rpc_client
  • The location of data directories used by the binaries were changed from ~/.local/share/safe to~/.local/share/autonomi. The same is true of the equivalent locations on macOS and Windows.
  • The prefixes of metric names in the safenode binary (now antnode) were changed from sn_ to ant_.

Network

Added

  • Provide Python bindings for antnode.
  • Generic Transaction data type.
  • Upgraded quoting with smart-contract-based pricing. This makes pricing fairer, as more nodes are rewarded and there are less incentives to cheat.
  • Upgraded data payments verification.
  • New storage proof verification which attempts to avoid outsourcing attack.
  • RBS support, dynamic responsible_range based on network_density equation estimation.
  • Node support for client’s RBS get_closest query.
  • More quoting metrics for potential future quoting scheme.
  • Implement bootstrap cache for local, decentralized network contacts.
  • Increased the number of peers returned for the get_closest query result.

Changed

  • The SignedSpend data type was replaced by Transaction.
  • Removed group_consensus on BadNode to support RBS in the future.
  • Removed node-side quoting history check as part of the new quoting scheme.
  • Rename continuous_bootstrap to network_discovery.
  • Convert Distance into U256 via output string. This avoids the need to access thelibp2p::Distance private field because the change for it has not been published yet.
  • For node and protocol versioning we remove the use of various keys in favour of a simple integer between 0 and 255. We reserve the value 1 for the main production network.
  • The websockets feature was removed from the node binary. We will no longer support the ws protocol for connections.

Fixed

  • Populate records_by_bucket during restart so that proper quoting can be retained after restart.
  • Scramble libp2p native bootstrap to avoid patterned spike of resource usage.
  • Replicate fresh ScratchPad.
  • Accumulate and merge ScratchPad on record get.
  • Remove an external address if it is unreliable.
  • Bootstrap nodes were being replaced too frequently in the routing table.

Client

Added

  • Provide Python bindings.
  • Support for generic Transaction data type.
  • Upgraded quoting with smart contract.
  • Upgraded data payments with new quoting.
  • Retry failed PUTs. This will retry when chunks failed to upload.
  • WASM function to generate a vault key from a wallet signature.
  • Use bootstrap cache mechanism to initialize Client object.
  • Exposed many types at top-level, for more ergonomic use of the API. Together with more examples on function usage.
  • Deprecated registers for the client, planning on replacing them fully with transactions and pointers.
  • Wait a short while for initial network discovery to settle before quoting or uploading tasks begin.
  • Stress tests for the register features of the vault.
  • Improved logging for vault end-to-end test cases.
  • More debugging logging for the client API and evmlib.
  • Added support for adding a wallet from an environment variable if no wallet files are present.
  • Provide wallet export command to export a wallet’s private key.

Changed

  • Added and modified documentation in various places to improve developer experience.
  • Renamed various methods to 'default' to private uploading, while public will have _public
    suffixed. Also has various changes to allow more granular uploading of archives and data maps.
  • Archives now store relative paths to files instead of absolute paths.
  • The wallet create --private-key command has been changed to wallet import.

Fixed

  • Files now download to a specific destination path.
  • Retry when the number of quotes obtained are not enough.
  • Return the wallet from an environment variable rather than creating a file.
  • Error when decrypting a wallet that was imported without the 0x prefix.
  • Issue when selecting a wallet that had multiple wallet files (unencrypted & encrypted).

Launchpad

Added

  • Added --network-id and --antnode-path args for testing