2024.12.1.5
Binary Versions
antnode
: v0.3.0antctld
: v0.11.4antctl
: v0.11.4ant
: v0.3.0nat-detection
: v0.2.12node-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 prefixed
sn-
were renamed with anant-
prefix. For example,sn-node
was renamedant-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 (nowantnode
) were changed fromsn_
toant_
.
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 onnetwork_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 byTransaction
. - Removed
group_consensus
onBadNode
to support RBS in the future. - Removed node-side quoting history check as part of the new quoting scheme.
- Rename
continuous_bootstrap
tonetwork_discovery
. - Convert
Distance
intoU256
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
and255
. We reserve the value1
for the main production network. - The
websockets
feature was removed from the node binary. We will no longer support thews
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 towallet 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