Releases: aptos-labs/aptos-core
Releases · aptos-labs/aptos-core
[Testnet] Aptos Node Release v1.3.0
New features and enhancements
Aptos Blockchain
- Implemented “rolling commit” to track the prefix of committed transactions in parallel execution accurately, without introducing overhead compared to the current lazy commit approach that can only commit all the transactions together.
Aptos Frameworks
- AIP-10: Move objects for global access to heterogeneous set of resources stored at a single address on-chain. Objects offer a rich capability model that allows for fine-grained resource control and ownership management. By leveraging the aspects of the account model, objects can directly emit events that may lead to a richer understanding of on-chain actions.
- AIP-12: A new Multisig account standard that is primarily governed by transparent data structures and functions in a smart contract (multisig_account) with more ease of use and more powerful features than the current multied25519-auth-key-based accounts.
- AIP-16: New cryptography natives for hashing and MultiEd25519 PK validation to add support for computing the Blake2b-256 hash function in Move smart contracts, computing SHA2-512, SHA3-512 and RIPEMD-160 hash functions in Move smart contracts, and upgrade MultiEd25519 PK validation to V2 address a bug where a PK with 0 sub-PKs would've been considered valid.
- AIP-18: Introducing SmartVector and SmartTable into aptos move standard library. These two data structures are built for storing on-chain large datasets that either cannot fit into
vector
or are expensive to useTable
. Our preliminary benchmark shows a remarkable saving in gas in terms of storage fee. - Added math libraries. This includes sqrt, mulDiv, exp/log for FixedPoint32, floor_log2, log2, mulDiv and ceil_div for u64 and u128.
Added ability to access chain ID inside aptos_stdlib.
Move Language and VM
- AIP-8: Higher-order Inline Functions for Collections
Proposed functions merged into move-stdlib and aptos-stdlib (as can be seen in the simple_map and vector Move modules).
No decision yet about the shape of those features for large collections like tables and upcoming smart collections. - AIP-9: Resource groups to support storing multiple distinct Move resources together into a single storage slot.
- AIP-17: Reducing Execution Costs by Decoupling Transaction Storage and Execution Charges. This allows for a new gas schedule to lower execution and IO transaction costs by 100x.
Resolved Issues
- Our MultiEd25519 Move module allowed for some invalid MultiEd25519 PKs to be deserialized as ValidatedPublicKey structs. Such incorrectly-deserialized structs would have been caught later on during signature verification. We have fixed this bug to guarantee correct semantics of MultiEd25519 validated PKs. #5822
Security Fixes
- The Move bytecode verifier has a new metering logic to prevent denial of service attacks. Overly complex programs are detected and rejected by the verifier. (released into Mainnet with v1.2.6)
- All Move native function implementations in Rust have been changed to preemptively charge gas before executing any potentially-expensive operation. This precludes DoS attacks. (released into Mainnet with v1.2.6)
Deployment
- Commit hash
3fc3d42b6cfe27460004f9a0326451bcda840a60
- Docker image tag
aptos-node-v1.3.0
Aptos CLI Release v1.0.7
CLI Release 1.0.7
New features
- Execution hash approval command for on-chain governance
Improvements
- Bytecode v6 is now the default, and no longer needed for
--bytecode-version 6
, this supports View functions, u16, u32 and u256 automatically in compiling - Updated CLI help documentation to wrap better in the CLI.
aptos <command> -h
will give short helpaptos <command> --help
will give the longer more detailed help.
Installation instructions
- Installation instructions page
- Managed install
- macOS: Install with brew
- Linux / Windows: install with a python script for other platforms
Aptos Node Hot-fix Release v1.2.6
Aptos Node Hot-fix Release v1.2.6 (validator only)
Several security hot-fixes to limit the resource usage, and make native functions safe.
Aptos CLI Release v1.0.6
aptos-cli-v1.0.6 [indexer grpc][docker] add the docker image building script for index…
Aptos Node Hot-fix Release v1.2.5
What's Changed
- [aptos-vm] change restriction on view functions to support legacy view (1.2.0 hotfix) by @davidiw in #6504
Full Changelog: aptos-node-v1.2.4...aptos-node-v1.2.5
-
If you're running a fullnode, you need this fix for view function to work properly.
-
To read the full change update for release v1.2, see release notes here https://github.com/aptos-labs/aptos-core/releases/tag/aptos-node-v1.2.4
-
Docker image tag
aptos-node-v1.2.5
Aptos Framework Release v1.2.0
aptos-framework-v1.2.0 [aptos-vm] change restriction on view functions to support legacy vie…
Aptos Node Release v1.2.4
New features and enhancements
Aptos blockchain
State synchronization
- Added exponential back-off to reduce timeouts for full nodes in low-bandwidth environments.
- Made several small performance optimizations to reduce latencies and better handle timeouts.
Move lang
New integer types (u16, u32, u256)
- Devnet, testnet and the dev tools (CLI, SDK) now all have experimental support for these new integer types (with mainnet support on the way).
- The new integer types have the same syntax as the existing ones, with arithmetic and casting operations being fully implemented. Library support is currently lacking, but we are actively working on it.
- Right now, to use the new integer types, you need to add an extra argument
--bytecode-version 6
when invoking the Move commands (compile
,test
,publish
etc.), or otherwise you will get an error message suggesting that these types are not available. - On the other hand, if you try to submit a v6-encoded transaction to mainnet, it will be outright rejected due to v6 not being supported there (yet). This is also the reason why we’re making this option disabled by default, at least for now. Bytecode v6 will become the default once support lands on mainnet.
View functions
- View functions are now available! They can be defined with
#[view]
annotation example and called via the view function API Specs. See Reading state with the View function for instructions. - In order to use the new view functions, you need to pass
--bytecode-version 6
to the Aptos CLI.
Compile-time checks for transaction arguments
- Added compile-time checks for transaction arguments. Now the compiler gives you an error if you try to return a value from an entry function or pass a structure as a parameter instead of postponing this error to runtime.
- Notice that if you have an old entry function that does not pass the compiler and you cannot remove it because of compatibility checks, you can use the attribute
#[legacy_entry_fun]
to deactivate the compile-time checks.
Code Upgrade
- Dependencies of packages are now verified to have the same or stricter upgrade policy then the given package
- For compatibility checks, friend functions are now treated similar as private functions, that is, they can be renamed and their type can be changed.
Smart contracts
- Governance: Added support for multi-step proposal - for reference, see AIP 3 .
- Token: Added collection and token mutation functions.
- Cryptography: Added support for in Move for SHA2-512, SHA3-512, RIPEMD-160 and Blake2b-256 hashing.
Aptos Improvement Proposals (AIPs)
With this release, we will be able to enable the functionality outlined in AIT1 to AIT4, they will be submitted on-chain as governance proposal.
- AIP 1 - Proposer selection improvements
- AIP 2 - Multiple Token changes.
- AIP 3 - Multi-step governance proposal
- AIP 4 - Update simple map to reduce gas
Resolved issues
- Apart from the features mentioned above, our team also fixed a couple of bugs that had the potential to crash the validator or DoS the system. We identified these issues as part of our routine third-party auditing and bug bounty program.
Aptos CLI Release v1.0.5
Installation instructions
- Installation instructions page
- We now have support to install with brew for macOS and install with a python script for other platforms
Release notes
Features
- Ability to upgrade the CLI in place with
aptos update
- Can now ignore warnings in
aptos move test --ignore-compile-warnings
- Support u16, u32, u256 in
aptos move run
commands - Support for the latest Move features including beta support of Move macros and inline functions
Bugfixes
- Ensure bytecode version is configurable and set properly for Move scripts
Aptos Node Release v1.2.3
See release v1.2.4 as the latest for v1.2 branch.
Hotfix release aptos-node-v1.1.4
Hotfix release for v1.1.4