Skip to content

Releases: aptos-labs/aptos-core

[Testnet] Aptos Node Release v1.3.0

08 Mar 01:52
3fc3d42
Compare
Choose a tag to compare

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 intovector or are expensive to use Table. 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

03 Mar 17:54
eafa8d2
Compare
Choose a tag to compare

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 help aptos <command> --help will give the longer more detailed help.

Installation instructions

Aptos Node Hot-fix Release v1.2.6

23 Feb 17:16
40d169a
Compare
Choose a tag to compare

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

17 Feb 02:17
397a412
Compare
Choose a tag to compare
aptos-cli-v1.0.6

[indexer grpc][docker] add the docker image building script for index…

Aptos Node Hot-fix Release v1.2.5

06 Feb 20:36
cb4ba0a
Compare
Choose a tag to compare

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

Aptos Framework Release v1.2.0

14 Feb 03:43
cb4ba0a
Compare
Choose a tag to compare
aptos-framework-v1.2.0

[aptos-vm] change restriction on view functions to support legacy vie…

Aptos Node Release v1.2.4

01 Feb 02:57
895ae28
Compare
Choose a tag to compare

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

01 Feb 01:15
Compare
Choose a tag to compare

Installation instructions

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

28 Jan 01:30
Compare
Choose a tag to compare

See release v1.2.4 as the latest for v1.2 branch.

Hotfix release aptos-node-v1.1.4

26 Jan 18:13
Compare
Choose a tag to compare

Hotfix release for v1.1.4