Releases: aptos-labs/aptos-core
[Mainnet] Aptos Node Release v1.24.2
Release Notes
Release Hash: 5279eaf
Validator Update Required? Yes
Fullnode Update Required? Yes
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.
[Testnet] Aptos Node Release v1.24.2
What's Changed
- [cp][aptos-release-v1.24] Updating serialization constant in the API by @github-actions in #15450
Full Changelog: aptos-node-v1.24.1-rc...aptos-node-v1.24.2-rc
Aptos CLI Release v4.6.0
Changelog
[4.6.0] - 2024/11/30
Added
- Add
--node-api-key
flag to aptos move replay to allow for querying the fullnode with an API key. - Add
--chunk-size
flag to allow configuring chunk size for chunked publish mode.
Updated
- Lower the default chunk size for chunked publish mode (
CHUNK_SIZE_IN_BYTES
) from 60,000 to 55,000.
Instructions
Update instructions
If you have already installed the CLI:
- With brew:
brew upgrade aptos
- With the prepackaged CLI:
aptos upgrade
Installation instructions
- Installation instructions page
- Managed install
- macOS: Install with brew
- Linux / Windows: install with a python script for other platforms
[Testnet] Aptos Node Release v1.24.1
Fix units in timed feature flags (#15391) (cherry picked from commit 4d4c200f854db1c223714e49a531b8606e3b73f5)
[Mainnet] Aptos Node Release v1.23.5
Validator Update Required? Yes, by Nov 26th
Fullnode Update Required? No.
What's Changed
- [cp 1.23] Move payload_manager.notify_commit() to after commit by @msmouse in #15359
- [cp][aptos-release-v1.23] [consensus] sync improvements to help slow nodes sync better by @github-actions in #15376
- [1.23] Temporarily loosen backpressures, until module loading improvement speeds up blocks by @igor-aptos in #15368
Full Changelog: aptos-node-v1.23.3...aptos-node-v1.23.5
[Testnet] Aptos Node Release v1.23.5
What's Changed
- [1.23] Temporarily loosen backpressures, until module loading improvement speeds up blocks by @igor-aptos in #15368
Full Changelog: aptos-node-v1.23.4-rc...aptos-node-v1.23.5-rc
[Testnet] Aptos Node Release v1.23.4
What's Changed
- [cp 1.23] Move payload_manager.notify_commit() to after commit by @msmouse in #15359
- [cp][aptos-release-v1.23] [consensus] sync improvements to help slow nodes sync better by @github-actions in #15376
Full Changelog: aptos-node-v1.23.3...aptos-node-v1.23.4-rc
[Mainnet] Aptos Node Release v1.23.3
Validator Update Required? Yes, by Nov 25th
Fullnode Update Required? No.
What's Changed
Full Changelog: aptos-framework-v1.23.0...aptos-node-v1.23.3
Aptos CLI Release v4.5.0
Bug Fixes
- typos in documentation files (#15248) #15248 (leopardracer)
Commits
- 563f9a3: [Consensus Observer] Add sync_for_duration() support. (Josh Lind) #14955
- 85f5e60: [Consensus Observer] Enable CO on validators and VFNs. (Josh Lind) #14955
- b29f09f: [Gas] bump gas version for 1.22 (Sherry Xiao) #14979
- 4d438a5: Update validator.yaml (Guoteng Rao) #14981
- 58b8b39: Update fullnode.yaml (Guoteng Rao) #14981
- f1d0115: Update fullnode.yaml (Guoteng Rao) #14981
- b8b116f: Update validator.yaml (Guoteng Rao) #14981
- 4328b03: StateComputeResult carries real execution result (aldenhu) #14945
- 130aa35: LedgerUpdateOutput drop with default dropper (aldenhu) #14945
- lazy clone #14945 (aldenhu)
- c8511eb: [rosetta] Remove supported currencies with an empty symbol (#14973) (Greg Nazario) #14973
- 8a540dc: [forge][chaos] Expand chaos simulation to six regions (#14860) (Balaji Arun) #14860
- 6d15f10: Add two more experimental CI runner pools to execution-performance workflow (Stelian Ionescu) #14991
- 7d3d83c: [forge] custom profiles & add processor latency metrics (#14924) (Rustie Lin) #14924
- 46364e9: remove dry_run env flag (#14992) (Alan Luong) #14992
- a7f73c0: Comment out disabled fuzzers to prevent them from appearing in the list (#14994) (Andrea Cappa (zi0Black)) #14994
- 4ea40fe: [compiler-v2] Avoid infinite recursion showing types with receiver functions in presence of errors (#14922) (Brian R. Murphy) #14922
- 6d3a0de: [forge] fix processor sdk integration (#14996) (Rustie Lin) #14996
- 00aad9d: inherit from global runs-on config (#14909) (Alan Luong) #14909
- 9b03063: turn off move coverage (#14995) (Young Yang Liauw) #14995
- 02380fb: update instance type for fullnode-sync workflows (#14966) (Alan Luong) #14966
- 51c6917: DB commit takes all arguments by ref (aldenhu) #14988
- extract StateComputeResult to separate file #14988 (aldenhu)
- d672fb9: BlockOutput -> PartialStateComputeResult (aldenhu) #14988
- 2b16fe4: group DB commit arguments to ChunkToCommit (aldenhu) #14988
- 78b3331: remove parent_block_id from BlockExecutor::pre_commit_block() arguments (aldenhu) #14988
- 9bc37be: treat _ as a wildcard, not a var, in function parameter in Move Lang V2+ (#14962) (Brian R. Murphy) #14962
- 71e0302: add more txns to test a sequence of txns (#14998) (Yuun Lim) #14998
- 51894d4: [forge] add a message to the summary on how to cancel a job (#14919) (Rustie Lin) #14919
- 20ba96d: print local testnet log as println and errors as eprintln (#15005) (Maayan) #15005
- 87348fc: [compiler-v2] Revise ability checking for type parameters (#15006) (Wolfgang Grieskamp) #15006
- 1645c96: [compiler-v2] Add missing ability check of receiver function type parameters (#14987) (Wolfgang Grieskamp) #14987
- 79d5257: avoid TransactionToCommit (#14999) (Alden Hu) #14999
- f83c87e: [Prover] Use compiler V2 by default in Move prover (#14948) (Teng Zhang) #14948
- 38aedc2: [compiler-v2] add test cases for lambda (#14791) (Brian R. Murphy) #14791
- fbf09ce: [forge] Split out test suites from main (Perry Randall) #15033
- 52d15b1: use move compiler v2 for forge (Alan Luong) #14967
- 186f0a7: Fix Forge default arguments to the aptos-node Helm chart (Stelian Ionescu) #15038
- 0f78396: calibrate single-node-performance (#15034) (Alden Hu) #15034
- 2297b27: extract ExecutionOutput, DoGetExecutionOutput (aldenhu) #15008
- 52112e7: extract DoStateCheckpoint (aldenhu) #15008
- fbef64e: restructure executor folder (aldenhu) #15008
- 7097148: Update Docker images (#15029) (github-actions[bot]) #15029
- bb6b5c7: [NFT Metadata Crawler] Asset Uploader API, Worker, Throttler (#14837) (Justin Chang) #14837
- cae7cd3: [Compiler V2] Turn on CFG simplification as default optimization (#14923) (Zekun Wang) #14923
- c9315e3: [compiler-v2] Turns on critical edge elimination since it is needed by enums (#14993) (Wolfgang Grieskamp) #14993
- 3c30ff0: [cli] Add .gitignore in new move folders and in .aptos folder (#15024) (Greg Nazario) #15024
- ef1c8eb: [Forge] Bump latency threshold for realistic_env_load_sweep_test. (Josh Lind) #14972
- 26286cd: [Consensus Observer] Parallelize message processing logic. (Josh Lind) #15030
- 28c112a: [forge] Add MempoolToBlockCreation, rm QsBatchToPos, QsPosToProposal (#15036) (Andrew Hariri) #15036
- daa4616: [Consensus Observer] Add startup period before fallback. (Josh Lind) #14990
- 280e15b: [cli 4.2.4] Preparing for CLI release (#15027) (Wolfgang Grieskamp) #15027
- fix num_tasks gauge (#15048) #15048 (Alden Hu)
- 933b2e3: Bump CLI version to 4.2.5 (#15057) (Daniel Porteous (dport)) #15057
- c749aeb: [move] Remove legacy AsyncVM implementation (#15045) (George Mitenkov) #15045
- bf3e91c: [single node benchmark] recalibrate and make thresholds depend on number samples present (Igor) #15049
- 321bbd2: Refactoring ledger info with unverified signatures (#15023) (Satya Vusirikala) #15023
- 31f3820: [cli] Replace unwraps with better error handling (#15061) (Greg Nazario) #15061
- 38e33fe: Optimistic signature verification for signed batch info (#14644) (Satya Vusirikala) #14644
- 31cbbf2: Cleanup developer-docs removal (Stelian Ionescu)
- 3ad32fe: add fa txn (rtso) #15060
- abc74ea: Sync Terraform & Helm changes (Stelian Ionescu) #15066
- c944c77: hardcode enable_storage_sharding (#15063) (Alan Luong) #15063
- ad0b8eb: [cli] Bumping to 4.2.6 to fix in issue with
--move-2
flag (#15064) (Wolfgang Grieskamp) #15064 - 1fa915c: Update auth header for push metrics (#15069) (Alden Hu) #15069
- 63a91dc: deprecate stale fee collection implementation (#12800) (igor-aptos) #12800
- c070f4c: move maybe_evict_cache() off default rayon pool (#15068) (Alden Hu) #15068
- cd49e1c: admin service /threadz dumps waiting and sleeping threads on verbose=true (#15077) (Alden Hu) #15077
- bb0a7c2: Remove Option type in large_packages.move (#14930) (Junha Park) [#14930](https://github.com/aptos-lab...
[Testnet] Aptos Node Release v1.23.3
aptos-node-v1.23.3-rc [cp 1.23] fix deadlock on nested DropHelper (#15325)