Skip to content

Upgrade/v3.0.0#87

Open
i1i1 wants to merge 796 commits intoupgradeable/v2.2.0from
upgrade/v3.0.0
Open

Upgrade/v3.0.0#87
i1i1 wants to merge 796 commits intoupgradeable/v2.2.0from
upgrade/v3.0.0

Conversation

@i1i1
Copy link
Copy Markdown
Contributor

@i1i1 i1i1 commented Nov 17, 2025

This pr is done with only 1 merge commit, so check it out:

$ git show 1ce3912f

Or it is here

This pr might contain errors (especially due to new hash calculation).

Changelog for agave v3.0.0:

  • Consensus was updated to Alpenglow for faster finality
  • CPI Nesting Limit Raised to 8 (before 4)
  • per account CU limit increased by 40% of block CU (and block limit now is 100M CU)
  • AccountDb was rewriten (merkle trees were replaced with LT hash) to utilize io_uring and many other optimizations
  • New snapshot format, old snapshots won't work after this upgrade)
  • Many things were refactored (and moved to sdk from monorepo)

alessandrod and others added 30 commits August 5, 2025 10:19
* xdp: use AsRef for addresses too

This allows passing Arc<Vec<_>> when sending to a static list of peers.

* xdp: tx_loop: allow overriding MACs and IP

This is useful for sending via bonded NICs, skipping the bond device and
targeting the slaved NICs directly so they can be used in zero copy
mode.

Slaved NICs don't have an IP assigned to them, so the source IP can't be
discovered but must be passed explicitly (eg the bond IP).

Overriding MACs can be useful while testing to ensure frames don't leave
the switch/metro.
* fix test_get_slot_entries_with_shred_count_corruption
* fix test_merkle_root_metas_data
#### Problem

As outlined in #7256, we need to get Agave off of crates that depend
back on Agave.

spl-token-2022 is one of those crates

#### Summary of changes

Use spl-token-2022-interface instead. To go with this, we had to also
upgrade to confidential-transfer-proof-extract v0.4.0, which requires
modifications to some tests.

Everything should be very straightforward otherwise, and we get to see
some red lines in the lockfile!
#### Problem

After #7291 landed, #7298 didn't mention any conflicts. However, since
the first one migrated away from spl-memo, and so did #7298, there was
an entry not cleaned up between the two PRs.

#### Summary of changes

Remove the unneeded entry for spl-memo in all lockfiles.
* greedy_scheduler: cache Batches

This avoids a bunch of allocations/deallocations in the hot path

* banking: move Batches to SchedulingCommon

* banking: clean up send_batch(es)
* turbine: move standard_broadcast_run to non-overlapping ports

* turbine: move benchmark broadcast_shreds_bench to non-overlapping ports
…(#7148)

validator: migrate admin_rpc_service
Renaming UPSERT_POPULATE_RECLAIMS to UPSERT_RECLAIM_TEST_DEFAULT
* Renames bpf_account_data_direct_mapping => stricter_abi_and_runtime_constraints.

* Adds InvokeContext::account_data_direct_mapping.

* Separates stricter_abi_and_runtime_constraints from account_data_direct_mapping.

* Rekeys stricter_abi_and_runtime_constraints.

* Adjusts test_serialize_parameters_with_many_accounts().
* move cluster_info::Node to separate module
* update the use path in other files to refer to the new location
…x tests (#7312)

Changing tests to use u64 rather than bool for T during accounts index tests
spl-token dependency replaced with spl-token-interface.
* Remove conformance tests

* Remove transaction builder
* clean up the server spawn API
* remove pub from functions which do not need to be pub
* remove some obviously wrong comments
docs: remove docs/src/operations/validator-initiatives.md
… i64 (#7309)

* Changing addref from a boolean to a counter
* Removed formatting from assert as it can degrade perf
* Remove dead code
mircea-c and others added 26 commits August 20, 2025 11:41
duplicate if clause causes the workflow to fail instead of exiting gracefully
* Simulate transaction with balances

* Return loaded addresses on demand

* add the fee

* New things added unconditionally

* Fix the sim test

* fix the svm example thing

* large enum variant clippy allow

* sorry clippy stuff

* fix tests

* revert dropped README
…… (#7592)

* Reapply "deps: Bump all sdk and spl crates to v3 compatibility (#7492)" (#7556)

This reverts commit f149dec.

* Update gossip test hash and random key generation
* enable reception on multiple IPs for TPU
rekey `reenable_zk_elgamal_proof_program` feature gate
Also update the lone caller to get the type directly
The slot leader map was using the default hasher, despite the fact that
`Slot` is the key. Furthermore, its initialization was doing two
allocations instead of one.

Use `BuildNoHashHasher` and reduce the allocations to one by returning
a lazy iterator in `get_slot_leader`.
* build(deps): bump reqwest from 0.12.22 to 0.12.23

Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.22 to 0.12.23.
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](seanmonstar/reqwest@v0.12.22...v0.12.23)

---
updated-dependencies:
- dependency-name: reqwest
  dependency-version: 0.12.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [solana-keypair](https://github.com/anza-xyz/solana-sdk) from 2.2.1 to 3.0.0.
- [Release notes](https://github.com/anza-xyz/solana-sdk/releases)
- [Commits](https://github.com/anza-xyz/solana-sdk/compare/sdk@v2.2.1...sdk@v3.0.0)

---
updated-dependencies:
- dependency-name: solana-keypair
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* deprecate `zk-token-sdk`

* allow deprecated in the `zk-token-proof` program since it will be removed

* allow deprecated in the `zk-keygen` program until this crate is migrated

* add README to warn that the crate is deprecated

* add a note to use the zk-sdk in the deprecation warning

* fully specify zk-sdk name and add deprecated version

* bump deprecation version to v3
* update docs with build from source instructions

* fix ci failures

* Update docs/src/clusters/available.md

Co-authored-by: Will Hickey <csu_hickey@yahoo.com>

* Update docs/src/cli/install.md

Co-authored-by: Will Hickey <csu_hickey@yahoo.com>

* add version note in installer proposal

* update link to install instructions

* remove out of place instruction

* clarify remote machine instructions

* change capitalization for consistency

* change name to Agave to reflect the actual name

---------

Co-authored-by: Will Hickey <csu_hickey@yahoo.com>
* build(deps): bump thiserror from 2.0.14 to 2.0.16

Bumps [thiserror](https://github.com/dtolnay/thiserror) from 2.0.14 to 2.0.16.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](dtolnay/thiserror@2.0.14...2.0.16)

---
updated-dependencies:
- dependency-name: thiserror
  dependency-version: 2.0.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update all Cargo files

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add some docs for PoH hashes/second rate slower

I ran into this issue, providing some tips that helped me debug my issue

* Update setup-a-validator.md

* Update setup-a-validator.md
* Adding runtime switch for obsolete account marking
update changelog in preparation for v3.0
Base automatically changed from upgrade/v2.3.0 to upgradeable/v2.2.0 December 12, 2025 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.