What's Changed
- [Release] Bump gas version on main. by @grao1991 in #19226
- [replay-verify] Support time-based range specification by @vgao1996 in #19203
- Increase gas limits for governance proposal simulation by @vgao1996 in #19222
- [mono-move] Non-generic types and layouts by @georgemitenkov in #19191
- [confidential assets] add governance script to enable APT for confidentiality by @alinush in #19200
- [CI] Add Slack notification on scheduled execution-performance failure by @wrwg in #19208
- [vm] Calibrate e2e benchmark by @georgemitenkov in #19236
- [execution] Replace ArcSwapOption with Mutex for BlockSTM txn inputs by @wqfish in #19219
- [mono-move] Refactor micro-ops, functions into core, move pointers to alloc by @georgemitenkov in #19232
- [mempool] Replace rayon thread pools with tokio spawn_blocking by @wqfish in #19239
- [consensus] Add per-author committed batch metrics by @danielxiangzl in #19245
- [compiler-v2] Implement match of a reference discriminator with nested literals in arms by @vineethk in #19088
- [benchmark] Disable pre-write for native VM executor by @georgemitenkov in #19243
- [move-linter] Package and friend function lint improvements and additions by @vineethk in #19251
- [vm] Remove dead move-ir-compiler binary and its exclusive sub-crates by @georgemitenkov in #19252
- [tests] Optimize aptos-api test suite by @georgemitenkov in #19256
- [mono-vm][cleanup] Remove the stackless exec IR v1 crate by @vineethk in #19257
- [mono-vm] Restructure and update MonoMove runtime docs by @vgao1996 in #19229
- [mono-move] Move micro-ops display to the appropriate crate by @vineethk in #19258
- Network cloning memory overhead by @gregnazario in #18629
- [License] Update license header in
third_partydirectory. by @JoshLind in #19230 - [refactoring] Optimize e2e Move tests by @georgemitenkov in #19254
- [forge] bump deployer version by @aptos-bot in #19249
- [vm] Improve layout caching by @georgemitenkov in #19233
- [tests] Remove redundant shard_context API test duplicates by @georgemitenkov in #19262
- [mono-vm] Split specializer into distinct submodules by @vineethk in #19264
- [trivial] Fix config in verifier by @georgemitenkov in #19279
- [smoke-test] Disable unnecessary tests by @gregnazario in #19266
- Enable batch_v2_rx and opt_qs_v2_payload_rx by default by @ibalajiarun in #19282
- [vm] Avoid cloning ModuleId in caches by @georgemitenkov in #19234
- [consensus] Optimistic verification for secret sharing shares by @ibalajiarun in #19235
- Deserialize DigestKey without compression or validation, to improve speed by @rex1fernando in #19261
- [indexer][test] Add encrypted transaction by @ibalajiarun in #19299
- [encrypted mempool] Add
claimed_entry_funfield toEncryptedPayload, to enable making a claim about the call that an encrypted pending txn is making by @rex1fernando in #19218 - [lint] Suggest using receiver style syntax and vector index notation by @vineethk in #19285
- recalibrate benchmarks by @igor-aptos in #19288
- [lint] Fix unknown lint check errors when skipping lints from higher tiers by @vineethk in #19286
- [dkg] Graceful DigestKey initialization with counters and chain-aware fallback by @ibalajiarun in #19269
- Fix BlockExecutor panic during state sync abort by @ibalajiarun in #19268
- [move-prover] Upgrade z3 and boogie by @rahxephon89 in #19281
- [indexer][test] Replace encrypted payload with proper one by @ibalajiarun in #19304
- Increase min calibrated block gas limit to 20000 by @grao1991 in #19152
- Fix chunky public parameters initialization fns by @rex1fernando in #19295
- [config] Enable CO v2 message sending by default by @ibalajiarun in #19309
- [vm] Strengthen struct API checker correctness checks by @rahxephon89 in #19270
- Rex/cleanup smoke tests by @rex1fernando in #19292
- [encrypted mempool] Modify typescript deserialization code to do subgroup test by @rex1fernando in #19081
- [forge] bump deployer version by @aptos-bot in #19275
- [ci] Parallelize smoke tests with build-once fan-out by @ibalajiarun in #19290
- [consensus] Support all authenticator types for encrypted transactions by @ibalajiarun in #19294
- [ci] Fix smoke test shim to only run when tests are expected by @ibalajiarun in #19317
- [consensus] Fix SecretShareMsg RPC silently dropped by @ibalajiarun in #19315
- [storage] Enable pruning for hot state KV DB by @wqfish in #19263
- Change chunky integer param sizes by @rex1fernando in #19311
- [tracing] Add per-transaction lifecycle tracing by @danielxiangzl in #19207
- [Mempool] Add simple transaction rate limiter. by @JoshLind in #19195
- [mono-move] End-to-end pipeline by @georgemitenkov in #19280
- [forge] bump deployer version by @aptos-bot in #19327
- [keyless] Clarify pepper exp validation safety by @JoshLind in #19340
- [docker] build and release all performance images by @rustielin in #19347
- Calibrate forge realistic env to match mainnet topology by @ibalajiarun in #19337
- [prover] Reimplement state labels with mutation builtins and havoc+assume by @wrwg in #19276
- [vm] Size par_exec thread pool to concurrency_level instead of num_cpus by @wqfish in #19352
- [encrypted mempool] Switch some pairings to multipairings in
aptos-batch-encryption, to increase efficiency by @rex1fernando in #19039 - [multisig] Add script payload support by @gregnazario in #16778
- [consensus] Fix rand manager deadlock in multi-block batches by @danielxiangzl in #19359
- [Smoke Test] Small fixes to prevent sporadic race conditions by @JoshLind in #19358
- [vm] Add per-safe-point pointer layouts for GC root scanning by @vgao1996 in #19355
- Fix final chunky pairing check by adding random scalars by @rex1fernando in #19296
- [flow] Overhaul plugin architecture, fix caching bugs, improve spec inference by @wrwg in #19319
- [dkg] Add ChunkyDKGConfigSeqNum for stall recovery by @ibalajiarun in #19307
- preallocate vec by @rex1fernando in #19064
- [docker] release devnet performance variant of indexer grpc by @rustielin in #19371
- Change hiding KZG and DeKart setup to allow for using preexisting powers of tau by @rex1fernando in #19318
- [encrypted-txns] Per-workload emitter support and decryption pipeline fixes by @ibalajiarun in #19338
- [consensus] Add forge load tests for randomness transactions by @danielxiangzl in #19376
- Enhance aptos-debugger by @rahxephon89 in #19205
- [compiler] Fix visibility check for public structs/enums by @rahxephon89 in #19351
- [mono-move] Add function types and type list interning to global context by @georgemitenkov in #19289
- [deps] bump lz4_flex 0.11.3→0.11.6, quinn-proto 0.11.13→0.11.14 by @zi0Black in #19272
- Confidential asset v1.1.2 minor fixes by @alinush in #19370
- [mono-move] Integrate gas metering into e2e pipeline by @calintat in #19356
- [Network] Add inbound network rate limiter. by @JoshLind in #19346
- Fix MempoolMessageId ordering and improve error handling by @zekun000 in #19385
- Use async snapshot creation with polling by @jkao97 in #19382
- Validate batch metadata limits during payload verification by @ibalajiarun in #19372
- [storage] Extract state KV and merkle truncation helpers from sync_commit_progress by @wqfish in #19403
- [vm] Fix closure comparison by @georgemitenkov in #19391
- update codeowners by @georgemitenkov in #19392
- [dkg] Skip-if-running guard, delayed fetch, and metrics for transcript fetcher by @ibalajiarun in #19364
- [Storage] Enable hot state root hash computation on mainnet by @wqfish in #19419
- [vm] Replace variant_name_placeholder mutex with pre-computed static array by @wqfish in #19411
- [prover] Enable dynamic dispatch in the prover by @wrwg in #19379
- [storage] Extend crash recovery truncation to hot state DBs by @wqfish in #19420
- [consensus] Add state sync trigger metrics by @danielxiangzl in #19395
- [mempool] Avoid cloning SignedTransaction for tracing committed hash by @danielxiangzl in #19437
- Shared data structures and algorithms crate by @vineethk in #19388
- [consensus] Skip state sync for small round gaps by @danielxiangzl in #19430
- [dkg] Graceful PublicParameters initialization with file-based loading and chain-aware fallback by @ibalajiarun in #19291
- [benchmark] Calibration by @georgemitenkov in #19417
- Tighten validation checks by @ibalajiarun in #19405
- [linter] Add mutable_view_function and unsafe_friend_package_entry lint by @GotenJBZ in #19350
- [mono-vm] Representation and perf refactoring within specializer by @vineethk in #19427
- [consensus] Add QsProofOfStore and BlockReceived tracing stages by @danielxiangzl in #19438
- [encrypted mempool] New digest key file format by @rex1fernando in #19429
- [compiler-v2] Fix reference mode leak in stackless bytecode gen by @vineethk in #19369
- [compiler-v2] Fix missing cases in ability transformer by @vineethk in #19368
- [Config] Enable validator-PFN connections for mainnet. by @JoshLind in #19447
- [compiler-v2] Fixing multiple bugs that were a result of not handling
SelectVariantsin different places in the compiler by @vineethk in #19366 - [compiler-v2] Add support for range patterns in
matcharms by @vineethk in #19255 - [build] Install clang 21 from LLVM apt repo in CI rust-setup action by @wqfish in #19451
- [lint] Suggest using index syntax for global storage access by @vineethk in #19298
- [consensus] Per-kind pull counters and inline batch cipher verification by @ibalajiarun in #19442
- [consensus] Add pull loop duration and empty retry metrics by @danielxiangzl in #19449
- [dkg] Add shadow mode for chunky DKG by @ibalajiarun in #19401
- [test] Fix test_large_total_stake div-by-zero in fee distribution by @ibalajiarun in #19462
- [trivial] [spec] turn off the spec of
try_complete_after_grace_periodby @rahxephon89 in #19467 - [compiler] fix ability check for function values by @rahxephon89 in #19397
- [compiler-v2] Removing Move 1 feature gating from the compiler and elsewhere, fully sunset Move 1 by @vineethk in #19320
- [compiler] fix reference safety checker v3 for non-reference Call destinations by @rahxephon89 in #19409
- [mono-move] Add gas design doc by @calintat in #19209
- Confidential assets v1.1.3: add emergency pause by @alinush in #19433
- Adjust quorum store queue handling by @ibalajiarun in #19446
- Update Docker images by @github-actions[bot] in #19424
- [trivial][Move prover] fix benchmark option by @rahxephon89 in #19472
- Bind encrypted payload verification to sender auth keys by @ibalajiarun in #19460
- [forge] bump deployer version by @aptos-bot in #19349
- Harden encrypted transaction decryption handling by @ibalajiarun in #19461
- [storage] Load hot state from DB on restart when persistence is enabled by @wqfish in #19399
- [config] Rename decryption_setup_blob_path to digest_key_blob_path by @ibalajiarun in #19487
- [Config] Update default testnet seeds. by @JoshLind in #19482
- [consensus] Harden SecretShareManager: state preservation, skipped rounds, requester ordering by @ibalajiarun in #19476
- [consensus] Harden SecretShare ingress validation against DoS by @ibalajiarun in #19475
- [vm] Add closure design doc for mono-move runtime by @vgao1996 in #19363
- [vm] Staking-based transaction limits by @georgemitenkov in #19109
- [forge] bump deployer version by @aptos-bot in #19478
- [ci] Calibrate single-node execution performance values by @aptos-bot in #19452
- docs(consensus): fix 'QuorurmCertificate' -> 'QuorumCertificate' in block/block_data doc comments by @MukundaKatta in #19511
- [consensus] Fix proposer_delay_proposal histogram buckets by @danielxiangzl in #19474
- [lint] Fix false positive in needless visibility checker by @vineethk in #19481
- [lint] Create a new lint check for unreachable code warning by @vineethk in #19485
- [consensus] Fix BATCH_NUM_PER_BLOCK histogram buckets by @danielxiangzl in #19473
- Improve replay-verify scheduler observability and resilience by @vgao1996 in #19435
- [smoke-test] Fix aptos-debugger jemalloc HPA hang by @wqfish in #19517
- [storage] Filter pointer-only hot-state slots from JMT update paths by @wqfish in #19498
- [vm] Remove MoveVmExt pass-through wrapper by @georgemitenkov in #19503
- [compiler-v2] Do not inline callees that emit cross-module events by @georgemitenkov in #19507
- [compiler-v2] Implement a new abstraction for derived call graph query caching: fixes many subtle bugs. by @vineethk in #19486
- [cli] Release Aptos CLI 9.2.0 by @gregnazario in #19521
- Fix cli-release workflow job
ifexpression for dry_run by @gregnazario in #19523 - susetting jwk_consensus_config from genesis by @zjma in #19494
- [mono-move] Add gas benchmarks by @calintat in #19470
- [gas] Charge extra gas for encrypted transactions by @ibalajiarun in #19453
- [codeowners] Add dedicated owners for third_party/move/mono-move by @georgemitenkov in #19529
- [docker] release tags always with the git sha by @rustielin in #19463
- [mono-vm][specializer] Move a fusing operation from lowering to destacking phase by @vineethk in #19431
- [mono-vm] Factor specializer pipeline out of the executable and into the specialize crate. by @vineethk in #19454
- [mono-vm][specializer] Remove explicit types from simulated operand stack by @vineethk in #19466
- Switch replay-verify to the main PFN deployments in us-central1 by @sionescu in #19533
- [storage] Verify hot-state proofs in ProvableStateSummary by @wqfish in #19520
- [inspection-service] opens immediately by @rustielin in #19488
- [mono-move] Initial cross-module call support by @calintat in #19510
- [mono-move] Migrate from using the old type representation to the new one by @vineethk in #19530
- [gas profiler] Fix native_gas leak; add consistency-check opt-out by @vgao1996 in #19532
- [mono-move] Add module loader with versioned cache slots by @georgemitenkov in #19506
- [storage] Stable hot state order across restarts by @wqfish in #19539
- [Move][Spec] Fix specs and other miscs by @rahxephon89 in #19310
- [ci] Calibrate single-node execution performance values by @aptos-bot in #19513
- [mono-vm] Unify tests under testsuite by @vineethk in #19556
- [mono-move] Remove global context dependency for specializer by @georgemitenkov in #19551
- [framework] Expose is_encrypted_txn() to Move smart contracts by @ibalajiarun in #19543
- [Rust Setup] Fix linker build issue. by @JoshLind in #19564
- chunky DKG stall recovery fixes by @ibalajiarun in #19538
- [natives] Isolate rayon work on a dedicated pool by @ibalajiarun in #19541
- Fix encrypted transaction validation for multi-signer and unsupported auth types by @ibalajiarun in #19546
- [dkg] Fix security and DoS issues in ChunkyDKG manager by @ibalajiarun in #19544
- [prover] Universal state quantification and other bug fixes in dynamic dispatch handling by @wrwg in #19502
- [mono-move] LoadedModule with ModuleIR to be used in code cache by @georgemitenkov in #19553
- [mono-move] Lazy layout population by @georgemitenkov in #19555
- [consensus] Reject encrypted batches when feature is disabled by @ibalajiarun in #19548
- [storage] Re-write hot state KV in restart replay by @wqfish in #19549
- [forge] bump deployer version by @aptos-bot in #19515
- [mono-move] Combine enum and struct types by @georgemitenkov in #19572
- [paper] Higher-order functions and dynamic dispatch in MVP by @wrwg in #19558
- [cli] Show rich abort info in local simulation vm_status by @vgao1996 in #19490
- [vm] Initial closure runtime for mono-move by @vgao1996 in #19519
- [consensus] Enable sending Batch V2 and OptQS V2 proposals by @ibalajiarun in #19573
- [consensus] Add encrypted-txn-aware transaction shuffler by @ibalajiarun in #19562
- [vm] Versioned enum-based transaction prologue and epilogue by @georgemitenkov in #19468
- [cp][aptos-release-v1.45] [vm] Iterative Drop for nested Move values (security fix) by @aptos-bot in #19606
- [gas] Fold V1_46 changes into V1_45 by @wqfish in #19610
- [cp][aptos-release-v1.45] [storage] sequence kv before tree in snapshot restore by @aptos-bot in #19633
- [cp][aptos-release-v1.45] [consensus] Skip decryption when block has DKG-result vtxn by @aptos-bot in #19638
- [cp][aptos-release-v1.45] [consensus] Cap encrypted decryption by block-execute limit and trusted-setup capacity by @aptos-bot in #19651
- [cp][aptos-release-v1.45] [block-executor] replace rayon BlockSTM pool with plain std-thread pool by @aptos-bot in #19657
- [cp][aptos-release-v1.45] [admin-service] Allow overriding heap profile output path via query param by @aptos-bot in #19660
- [aptos-release-v1.45] Bump version to 1.45.0 by @aptos-bot in #19661
- [cp][aptos-release-v1.45] [storage] Skip drop-log for gen=0 SMTs by @aptos-bot in #19689
- [cp][aptos-release-v1.45] [consensus] Avoid PipelinedBlock Arc cycle by @aptos-bot in #19709
- [cp][aptos-release-v1.45] Fiat-Shamir bug fix by @aptos-bot in #19715
- [cp][aptos-release-v1.45] [storage] Seed hot state KV pruner progress on wipe by @aptos-bot in #19728
- [cp][aptos-release-v1.45] [move] High-limit txn fixes by @aptos-bot in #19762
- [cp][aptos-release-v1.45] [consensus-observer] Preserve decrypted_txns when secret_shared_key is absent by @aptos-bot in #19758
- [cherry-pick][vm] Prevent Display recursion stack overflow on deep Values (1.45) by @vgao1996 in #19773
- [aptos-release-v1.45] Bump version to 1.45.1 by @aptos-bot in #19776
- [cp][aptos-release-v1.45] [mempool] add pull_count label and prev-block latency metric by @aptos-bot in #19777
- [cp][aptos-release-v1.45] [backpressure] tuning per block gas limit by @aptos-bot in #19780
New Contributors
- @MukundaKatta made their first contribution in #19511
Full Changelog: aptos-node-v1.44.0-rc...aptos-node-v1.45.1-rc