Release Notes
Release Hash: 5279eaf
Validator Update Required? Yes, by Dec 6th
Fullnode Update Required? Yes, by Dec 12th.
New features and enhancements
Check out all of our AIPs and discussions here
-
[AIP-101] Safe onchain key rotation address mapping for standard accounts
Community Contribution by Alex KahnThe onchain key rotation address mapping has functional issues which inhibit safe mapping of authentication key to originating address for standard accounts. This proposal resolves these issues by adding assorted checks and extra function logic.
-
[AIP-105] Value manipulation move stdlib native utilities
- Rust code-only, public availability in one of the next releases
- Adds a set of new native functions, for value manipulation, that improve functionality and performance:
mem::swap
- Swaps contents of two mutable references.vector::move_range
- (efficiently) Moves range of
elements from one vector to another vector at specific position, keep
the order of the rest of the elements.cmp::compare
- Compares two move values of the same type.bcs::constant_serialized_size
- If the type has known constant (always the same, independent of instance) serialized size in BCS format, allows obtaining it.
- Feature Flag:
NATIVE_MEMORY_OPERATIONS
, they arepublic(friend)
in this release, to be changed topublic
for general availability.
-
[AIP-106] Optimistic Quorum Store
Optimistic Quorum Store is a technique to reduce Quorum Store + Consensus (QS+Consensus) Latency by two network hops (about 180ms in Aptos Mainnet as of October 30, 2024) in the common case. The technique involves proposing quorum store batches in consensus before collecting proof of stores and modifying the consensus voting mechanism to ensure batch availability. While Aptos currently circumvents Quorum Store and inlines transaction payloads into the proposal directly under low throughput cases (up to 100 transactions per block), Optimistic Quorum Store makes Aptos’ QS+Consensus Latency four network hops under all loads in the common case.
- Ecosystem Impact: Reduces validator latency by up to 200ms in mainnet.
- Dependencies: None
- Feature Flag: Per-validator local config:
quorum_store_config.enable_optimistic_quorum_store
-
[AIP-107] New Loader and Code Cache for MoveVM
MoveVM has been changed to be stateless and thread-safe, by moving code caches outside. Module caches were re-implemented and integrated into Aptos block executor. First, module caches are shared across multiple blocks, improving module loading performance. Second, Block-STM implements its own module cache to ensure modules can be published in parallel, without leaking any speculative information.
- Ecosystem Impact: Reduced block execution time (~2x). Enhanced user-experience for module publishing.
- Dependencies: None
- Feature Flag:
ENABLE_LOADER_V2
, possibly enabled in later releases.
Aptos Node
Consensus Observer:
- Several small improvements to reduce the rate of subscription churn for PFNs
- Support for Optimistic Quorum Store Payloads
Networking
- Small metric improvements for better tracking connection creations and terminations
Performance
- Execution pipeline performance improvements by less cloning and smaller critical sections of locks.
Move
VM
- Loader and code caches have been changed for MoveVM. See AIP-107 for more details.
Bug Fixes
- Fixed a bug in timed feature-flags, which was broken due to comparison of time in different units.
- Fixed issue where QS batches are be garbage collected prematurely before final DB commission.
- Fixed potential deadlock on nested DropHelper
- Fixed issue where DB can perform unnecessary synchronous merklization and miss merklization on end of epoch.