github aptos-labs/aptos-core aptos-node-v1.2.3
Aptos Node Release v1.2.3

20 months ago

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 --byatecode-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.

Smart contracts

  • ChainId: Mirrored aptos_framework::chain_id::get() via anaptos_stdlib::type_info::chain_id() native.
  • 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.

Don't miss a new aptos-core release

NewReleases is sending notifications on new releases.