Releases: aptos-labs/aptos-core
Aptos CLI Release v2.5.0
aptos-cli-v2.5.0 [CLI] Upgrade processor dep to d44b2d209f57872ac593299c34751a5531b513…
[Indexer][GRPC] Upgrade to node 1.10
Release GRPC compatible with node 1.10.
Changes to the protobuf include
- A new transaction type (validator transactions)
- Remove ModuleBundlePayload - It's not used anywhere anyway
- Add new authentication types - Keyless, and R1
- Add authenticator type to signature and deprecating the old signature field that was only bytes
[Mainnet][Testnet] Aptos Node Release v1.10.0
Please update by: 3/21 5:00PM Pacific
Release Hash: b24f6cd08f84b179e49090c7e51a501c535096ca
CLI Version this release is compatible with: v3.0.2+
Validator Update Required? Y
Fullnode Update Required? Y
Aptos Improvement Proposals (AIPs)
Check out all of our AIPs and discussions here on GitHub.
Breaking Changes
- [AIP-43] Parallelize Digital Assets (Token V2) minting: Allow much higher throughput for Token V2 NFT minting/burning of a single collection.
- Ecosystem Impact: If you are running indexer/calling fullnodes API for TokenV2 - there is a change in minting and burning events being emitted, as well in which resources token data is stored. Onchain contracts are not affected.
- Feature Flag:
concurrent_token_v2
- [AIP-64] Validator transaction type: Introduces a framework for validators to publish quorum-certified on-chain config updates with low latency.
- Ecosystem Impact: Indexers, Explorers, SDKs need to be able to handle a new transaction type
ValidatorTransaction
- Ecosystem Impact: Indexers, Explorers, SDKs need to be able to handle a new transaction type
- [AIP-66] Passkey Accounts: Allows the user to sign transactions and create an account associated with their passkey.
- Ecosystem Impact: Indexers, Explorers, SDKs need to be able to handle a change to the
AnySignature
proto type, where thesignature
field was deprecated and converted to aoneof signature_variant
enum (see PR #12016 for more details) - Feature Flag:
web_authn_signature
- Ecosystem Impact: Indexers, Explorers, SDKs need to be able to handle a change to the
New features and enhancements
- [AIP-47] Aggregators V2: Revamped the concept of Aggregators (which are efficient concurrent counters), allowing them to be concurrently used in control flow, and “snapshots” of their values to be stored in other fields, enabling AIP-43 above, and other things to come.
- Feature Flags:
aggregator_v2_api
,aggregator_v2_delayed_fields
,resource_groups_split_in_vm_change_set
- Feature Flags:
- [AIP-54] Object Code Deployment: Introduces a method to deploy code to objects, allowing more modular and resource efficient development. This simplifies and reduces the amount of steps necessary to deploy to accounts/resource accounts.
- Ecosystem Impact: New CLI commands
- CLI commands have been generated to support this feature. See detail in AIP-54.
- Users are now able to deploy code to objects via the CLI, just how they are able to publish code to addresses/resource accounts,
- Feature Flag:
object_code_deployment
- Ecosystem Impact: New CLI commands
- [AIP-61] Keyless accounts: Allows users to effectively create “keyless” blockchain accounts that are secured via the user’s existing Web 2 account (e.g., their Google account) and not via a secret key, which can be lost very easily.
- Ecosystem Impact: SDK for keyless accounts impacting Dapp and wallet developers
- [AIP-65] Storage Fee for State Bytes Refundable: Updates the Storage Fee charging scheme so that: 1. the per item 1KB free quota is removed, every byte is charged on allocation; 2. an item larger than 1KB is no longer punished by being charged storage fee every time it gets modified and 3. storage fee charged for the bytes are now refundable on item deletion, in addition to the fee for the slot allocation. Creating state items of the size between 200bytes to 4KB will see slight cost increase although the charge is now fully refundable and >1KB items are no longer punished for being modified.
- Feature Flag:
refundable_bytes
- Feature Flag:
- [AIP-66] Passkey Accounts: Allows the user to sign transactions and create an account associated with their passkey.
- Ecosystem Impact: New method for account creation and transaction signing. No SDK available yet.
- Feature Flag:
web_authn_signature
- [AIP-67] Native consensus for JSON Web Keys(JWK): Creates a flow to replicate JWKs on chain for a given list of OpenID Connect (OIDC) providers.
- Required: [AIP-64] Validator transaction type
- Feature Flag:
jwk_consensus
- [AIP-68] Reordering transactions in a block for fairness: Updates the Transaction Shuffler logic to add other aspects of fairness to how transactions are ordered in the block by extending AIP-27 to adjacent transactions (in the proposed order) that match two new categories - module and entry function, to give transactions from non-dominant modules / entry functions a better chance of survival when a potential block cut results from the block gas limit being.
- [AIP-69] Start replication of Google JWKs on chain: Starts the replication of Google JWKs on chain, using the native JWK consensus framework.
- Required: [AIP-67] Native consensus for JSON Web Keys(JWK)
- Ecosystem Impact: Operators need to ensure their nodes have access to the following Google APIs:
https://accounts.google.com/.well-known/openid-configuration
and thejwk_uri
of the response JSON from the API above
Aptos Blockchain
General
- Rust was upgraded to use the 1.75.0 toolchain version.
- Improved backpressure to be able to handle slow and poorly gas-calibrated transactions as well, keeping latency predictable.
Networking
- Implemented latency-aware peer dialing, allowing PFNs to prioritize connections to low-latency peers.
State sync
- Improved the state sync execution pipeline by adopting 4 pipelined phases (instead of 3). This improves syncing throughput and performance under load.
Configuration
-
As outlined in Static Identity for Fullnodes, a fullnode will generate a random network identity if a static identity isn’t configured. This generated identity is now saved to
/opt/aptos/data/ephemeral_identity_key
so it will be retained after any restarts.- Use this command to retrieve your generated peer ID:
aptos key extract-peer --host 1.1.1.1:6180 \ --private-network-key-file /opt/aptos/data/ephemeral_identity_key \ --output-file /path/to/peer-info.yaml
Move
VM
- Added a cache to avoid re-verifying previously verified Move modules during loading.
- Improved performance with per-frame cache for paranoid mode
- Introduced a new native
ValueImpl
which the aggregator can use to define custom serialization/deserialization logic. - Improved devs debugging through refactoring of errors and error forwarding
Gas
- Improved the gas-calibration code
- Added gas charge for type creation
- Added a new binary
remote-gas-profiler
to theaptos-debugger
crate. The tool allows devs to generate a gas profiling report for a transaction on chain.
Resolved Issues
Bug Fixes
- Added new local cache to prevent unneeded operations during Move modules' bytecode verification.
- Enabled the max object nesting check, preventing running out of gas due to ownership cycles
- Feature flag:
MAX_OBJECT_NESTING_CHECK
- Feature flag:
- Fixed the race condition with the order of operations
- Fixed VM error resolver. Errors are now propagated from where they originated and are not ignored.
[Mainnet][Testnet] Aptos Node Release v1.9.7
What's Changed
- [Execution] Increase the default concurrency to 32 by @sitalkedia in #12211
- [consensus] fix the race condition with the order of operations by @zekun000 in #12251
Full Changelog: aptos-node-v1.9.5...aptos-node-v1.9.7
Upgrade requirement
- Validators: required, upgrade before 2/28 end of day
- Fullnodes: optional
Adhoc Release 20240209
Source code not released, please use the pre-build binary or docker image for your deployment.
- Commit hash:
2422bb4d44a8aae9a9666ec2bd9a7c1be03d9941
- Docker image tag: adhoc-20240209
- DIGEST:sha256:571e68e46f48cac7e69d74d4f6aaaa91c546e7f710ee6909b7f9315e82674ccf
Validators: required, upgrade before 2/14 end of day
Fullnodes: optional
[Mainnet][Testnet] Aptos Node Release v1.9.3
Release Notes
Recommended CLI Version: v2.3.2+
Docker Link: aptos-node-v1.9.3
Validator Update: Optional
Full Node Update: Optional
New features and enhancements
Aptos Blockchain
API
- New counters for fullnode API usage of view function and txn simulation calls.
[Mainnet][Testnet] Aptos Node Release v1.9.2
Release Notes
Recommended CLI Version: v2.3.2+
Docker Link: aptos-node-v1.9.2
Validator Update: Required by Jan 19, 2024
Full Node Update: Required by Jan 23, 2024
New features and enhancements
Aptos Blockchain
General
- Rust was upgraded to use the 1.72.1 toolchain version.
API
- View function API now supports BCS arguments as inputs, allowing inputs to be the same as transaction inputs
Blockchain
- Backpressure improvements: detection for when to do backpressure was improved, to avoid sporadically kicking in when system is not overloaded. Backpressure is further tuned to be more aggressive under load, to make sure latency is kept low, and making the blockchain more responsive.
Networking
- Increased the number of outbound connections from 4 to 6 for fullnodes. This improves load balancing of network resources under load.
State sync
- Improved the peer selection algorithm for data requests by leveraging peer monitoring metadata, latency and network topology information.
- Implemented multi-fetch for data requests, allowing nodes to fetch data from multiple peers concurrently. This improves reliability in the face of failures and transient outages.
- Improved the data pre-fetcher to more efficiently tolerate head of line blocking.
- Improved the state sync execution pipeline by adopting 3 pipelined phases (instead of 2). This improves syncing throughput and performance under load.
Aptos Framework
Aptos Improvement Proposals (AIPs)
- [AIP-50] Change commission rates in delegation pools: Allows the pool owner to change the commission rate after delegation pool creation.
- Requires enabling feature flag
commission_change_delegation_pool
- Requires enabling feature flag
- [AIP-52] Automated Account Creation for Sponsored Transactions
- Requires enabling feature flag
sponsored_automatic_account_creation
- Requires enabling feature flag
- We have variety of improvements targeting gas charging and predictable block execution duration. Together they should improve fairness of gas charging, improve latency when there is high load, as well as reduce gas prices most transactions (up to 80% for larger transacitons!):
Aptos CLI Release v2.4.0
aptos-cli-v2.4.0 [CLI] Bump version to 2.4.0 (#11564)
[Testnet] Release v1.9.0
Release Notes
Recommended CLI Version: v2.3.2+
Docker Link: aptos-node-v1.9.0
Validator: Required
Full Node: Required
New features and enhancements
Aptos Blockchain
General
- Rust was upgraded to use the 1.72.1 toolchain version.
Networking
- Increased the number of outbound connections from 4 to 6 for fullnodes. This improves load balancing of network resources under load.
State sync
- Improved the peer selection algorithm for data requests by leveraging peer monitoring metadata, latency and network topology information.
- Implemented multi-fetch for data requests, allowing nodes to fetch data from multiple peers concurrently. This improves reliability in the face of failures and transient outages.
- Improved the data pre-fetcher to more efficiently tolerate head of line blocking.
- Improved the state sync execution pipeline by adopting 3 pipelined phases (instead of 2). This improves syncing throughput and performance under load.
Aptos Improvement Proposals (AIPs)
-
AIP-52: Automated Account Creation for Sponsored Transactions
-
We have variety of improvements targeting gas charging and predictable block execution duration. Together they should improve fairness of gas charging, improve latency when there is high load, as well as reduce gas prices most transactions:
- AIP-58: Gas Schedule Adjustments (https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-58.md)
- AIP-57: Block Output Size Limit and Conflict-Aware Block Gas Limit (https://github.com/aptos-foundation/AIPs/blob/main/aips/aip-57.md)
adhoc release 2023-12-23
docker image tag: adhoc-20231223