What's Changed
- 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
- [gha] do not publish docker on hotfix suffix by @rustielin in #19577
- [trivial][compiler] fix type parameter issues for enums by @rahxephon89 in #19578
- [encrypted mempool] Fix PVSS sigma proof shape check by @rex1fernando in #19587
- [mono-vm] Combining differential and snapshot testing by @vineethk in #19585
- [paper] Resolving supposed unsoundness issue around aborts behavioral predicate by @wrwg in #19584
- [storage] Persist hot-state promotions in epilogue by @wqfish in #19547
- Add onchain signer utilities by @igor-aptos in #19179
- [mono-move] Eager interning of signatures by @georgemitenkov in #19557
- [vm] Iterative Drop for nested Move values (security fix) by @JoshLind in #19596
- [mono-move] Integrate loader into cross-module calls by @calintat in #19581
- [gas] Move V1_46-gated params back to V1_45 by @wqfish in #19614
- [mono-move] Encapsulate ObjectDescriptor and ObjectDescriptorTable by @vgao1996 in #19589
- [mono-move] flesh out u64 arithmetic / bitwise / shift micro-ops by @vgao1996 in #19591
- [vm] Use errors for invariant violations by @georgemitenkov in #19627
- First-class StorageSlot type and derived StorageSlotOrInline by @igor-aptos in #18723
- [storage] sequence kv before tree in snapshot restore by @wqfish in #19625
- fix: add short-circuit for sqrt(0) by @GotenJBZ in #19631
- [consensus] Skip decryption when block has DKG-result vtxn by @ibalajiarun in #19634
- [ts-deps] Upgrade ts deps by @gregnazario in #19637
- [ci] Calibrate single-node execution performance values by @aptos-bot in #19604
- [prover] Improve spec inference: normalize exits, rewrite BPs over vector intrinsics by @wrwg in #19640
- [paper] Draft inference paper for FMCAD 2026 by @wrwg in #19641
- [vm] Optimize Drop for values by @georgemitenkov in #19628
- [Prover] fix modifies-clause bugs and Boogie codegen for
exists S in *+|&mut T|closures by @rahxephon89 in #19611 - [consensus] Cap encrypted decryption by block-execute limit and trusted-setup capacity by @ibalajiarun in #19647
- [paper] update the higher-order paper by @rahxephon89 in #19648
- [block-executor] replace rayon BlockSTM pool with plain std-thread pool by @wqfish in #19643
- avoid recomputing next validator set by @zjma in #19380
- [admin-service] Allow overriding heap profile output path via query param by @wqfish in #19659
- [execution] Fix missing SnapshotModuleView method by @xingyaner in #19496
- [compiler-v2] Type inference: allow more orthogonal constraints by @vineethk in #19652
- [move-linter] Better user control on which lints to run by @vineethk in #19665
- [ci] Bump .node-version to v22.22.2 by @wqfish in #19666
- [block-executor] Fix BlockSTMv2 concurrency and correctness issues by @gelash in #19667
- [prover] Add e2e-tests crate + baseline-aware framework prover helper by @wrwg in #19664
- [prover] fix some bugs in spec inference by @rahxephon89 in #19493
- [forge] Enable BlockSTM v2 on validators for all forge runs by @zekun000 in #19669
- [paper] add state dependent example by @rahxephon89 in #19679
- [storage] Skip drop-log for gen=0 SMTs by @wqfish in #19685
- [move-lint] Fix false positives for needless visibility lint by making test callers visible to the linter. by @vineethk in #19668
- [move docs] Move book back to aptos-core, integrate spec/prover docs, add Aptos Framework Book by @wrwg in #19677
- Prevent untrusted length-based allocation in PROXY protocol parsing by @jmestwa-coder in #19373
- [mono-move] Memory alignment design doc by @vgao1996 in #19636
- [replay-verify] Rework PVC pipeline; tune timeouts and concurrency by @vgao1996 in #19654
- [cli] Allow aptos move replay to handle system transactions by @vgao1996 in #19670
- [paper] add evaluation for inference by @rahxephon89 in #19693
- [paper] add calculator and e2e test for inference paper by @rahxephon89 in #19696
- [prover] User-form behavioral predicates for &mut T parameters by @wrwg in #19698
- [paper] Polish and revise higher-order and inference papers for submission by @wrwg in #19697
- [forge] Probe txn-readiness before emitting + per-client failover in minter by @wrwg in #19588
- [prover] Update commmit hash by @wrwg in #19701
- [consensus] Avoid PipelinedBlock Arc cycle by @ibalajiarun in #19688
- [consensus] Enforce V2-only entries on V2 quorum store wire messages by @ibalajiarun in #19676
- Fiat-Shamir bug fix by @alinush in #19711
- [mono-move] Survey doc: existing native functions and VM capability requirements by @vgao1996 in #19707
- [gas] Source BN254 Fr::one() cost from the correct param by @zjma in #19686
- [jwk-consensus] Clean up state lookup in process_peer_request by @zjma in #19710
- fix gas schedule v64 comment by @zjma in #19722
- [mono-move] Use u8 for shift amount; rename Xor → BitXor by @vgao1996 in #19718
- [consensus] Defer G1 decompression in randomness AugmentedData by @danielxiangzl in #19712
- [vm] Relax upgrade compatibility to allow changing friend/package entry to private entry by @vineethk in #19691
- [mono-move] Move heap object headers to negative offsets by @vgao1996 in #19713
- [storage] Seed hot state KV pruner progress on wipe by @wqfish in #19726
- [mono-vm] Add support for references to locals, along with various bug fixes by @vineethk in #19672
- [compiler] Add public/package/friend visibility to Move constants by @rahxephon89 in #18935
- [docs] Document abort messages and new assert macros in Move book by @calintat in #19704
- [forge] handle deployer resource concurrency more gracefully by @rustielin in #19723
- [mono-move] Loader lazy lowering integration and MS for functions by @georgemitenkov in #19592
- [mono-move] Type substitution APIs by @georgemitenkov in #19705
- [trading-native][schema] Add native-position storage schemas (hash-keyed) by @grao1991 in #19733
- [paper] Update citations to arXiv and add one-pager for higher-order and inference papers by @wrwg in #19729
- [dkg] Validate inbound transcript size before deserialization by @zjma in #19716
- admin-service: return symbolized pprof from /malloc/dump_profile by @ibalajiarun in #19730
- [prover] Align
result_ofandensures_offor&mutparameters by @wrwg in #19743 - [move docs] Document book and framework-book publish URLs by @wrwg in #19752
- [paper] dynamic reference safety paper by @rahxephon89 in #19745
- [forge] pin etna stable test to matching aptos-core SHA by @ibalajiarun in #19756
- [consensus-observer] Preserve decrypted_txns when secret_shared_key is absent by @ibalajiarun in #19749
- [Network] Tweak message count logic in rate limiter. by @JoshLind in #19526
- [move-book] Add move book entries for various new match extensions by @vineethk in #19754
- [move docs] Use highlightjs-move for Move syntax by @gregnazario in #19759
- [consensus] Dump StateComputeResult on commit_info mismatch panic by @ibalajiarun in #19751
- [move] High-limit txn fixes by @georgemitenkov in #19725
- [move-book] add visibility section for constants by @rahxephon89 in #19755
- [forge] Add configurable gas-price multiplier for encrypted txn emitter traffic by @ibalajiarun in #19744
- [consensus] tighten BatchProofQueue ingress checks by @ibalajiarun in #19673
- [ci] Calibrate single-node execution performance values by @aptos-bot in #19663
- [dkg] Publish blake3 hash of digest key and public params by @ibalajiarun in #19760
- [cherry-pick][vm] Prevent Display recursion stack overflow on deep Values (1.46) by @vgao1996 in #19775
- [cp][aptos-release-v1.46] [backpressure] tuning per block gas limit by @aptos-bot in #19781
- [cp][aptos-release-v1.46] [mempool] add pull_count label and prev-block latency metric by @aptos-bot in #19778
- Backport latest fixes to Forge deployer by @sionescu in #19786
- [cp][aptos-release-v1.46] [metrics] Add block-time and txn-cut metrics by @aptos-bot in #19787
- [cp][aptos-release-v1.46] [Network] Improve peer dialing: reduce backoff time and add min-dials-before-backoff by @aptos-bot in #19810
- [cp][aptos-release-v1.46] [qs] fix pos verification for batch v2 by @aptos-bot in #19837
- [cp][aptos-release-v1.46] (Backport) [Network] Improve latency peer pinging logic. by @aptos-bot in #19848
- [cp][aptos-release-v1.46] [txn-tracing] Structured TxnTrace log with per-stage scalar fields by @aptos-bot in #19875
- [aptos-release-v1.46] Bump version to 1.46.0 by @aptos-bot in #19895
- [cp][aptos-release-v1.46] [consensus] skip signing round 0 ledger info by @aptos-bot in #19902
- [cp][aptos-release-v1.46] [cherry-pick] [vm] Make
MoveTypeLayouttrait impls DAG-safe by @aptos-bot in #19906 - [aptos-release-v1.46] Bump version to 1.46.1 by @aptos-bot in #19915
New Contributors
- @xingyaner made their first contribution in #19496
- @jmestwa-coder made their first contribution in #19373
Full Changelog: aptos-cli-v9.2.0...aptos-node-v1.46.1-rc