Skip to content

Upstream Updates - Mon Jan 26 00:19:39 UTC 2026 #1433

@github-actions

Description

@github-actions

SIMD

Opened

Closed

Agave Wiki

cddaea6c487d774f70ae7279e59a74b6d662eeb3^..34c43434dfad24eedea4e63ed0b049a071dd9bb7

diff --git a/2026-01-22-Testnet-Restart.md b/2026-01-22-Testnet-Restart.md
new file mode 100644
index 0000000..a940b09
--- /dev/null
+++ b/2026-01-22-Testnet-Restart.md
@@ -0,0 +1,137 @@
+
+## Edit
+As of 2026-01-23 testnet is back online. The instructions below are no longer relevant. Nodes that haven't yet joined the cluster will need to update their shred version, download a snapshot, and start normally:
+
+    --expected-shred-version 27350 n+
+***
+This testnet restart is NOT urgent. Follow these instructions when you have time, but don't skip sleep or disrupt other plans for this.
+
+## Summary
+|Attribute|Value|
+|---------|-----|
+|Ledger tool version|v3.1.7|
+|Validator version|Agave: v3.1.7 </br> Frankendancer: v0.809.30106|
+|Snapshot slot|383520371|
+|Restart slot|383520372|
+|Shred version|27350|
+|Expected bank hash|3zk4WMwk6wCTVJXu9UAk2dYWMedCKooDs15XL5u6FkvE|
+
+## Step 1. Stop the validator process if you haven't already
+
+## Step 2: Install the correct version of agave-ledger-tool
+This is necessary to create the correct snapshot in step 3.
+
+Build Agave v3.1.7. Build instructions are available here: https://docs.anza.xyz/cli/install#build-from-source
+
+Confirm that `agave-ledger-tool --version` shows version v3.1.7
+
+## Step 3. Create snapshot
+This command creates a snapshot but removes some activated feature gate accounts.
+
+    agave-ledger-tool --ledger <ledger-path> create-snapshot n+    --snapshots <snapshot-path> n+    --hard-fork 383520372 n+    --deactivate-feature-gate n+        H6iVbVaDZgDphcPbcZwc5LoznMPWQfnJ1AM7L1xzqvt5 n+        fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78in n+        64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnx n+        poUdAqRXXsNmfqAZ6UqpjbeYgwBygbfQLEvWSqVhSnb n+        bnYzodLwmybj7e1HAe98yZrdJTd7we69eMMLgCXqKZm n+    --enable-capitalization-change n+    --  383520371 <snapshot-path>
+
+
+The output should include this at (or near) the end:
+```
+    Successfully created snapshot for slot 383520372, hash 3zk4WMwk6wCTVJXu9UAk2dYWMedCKooDs15XL5u6FkvE: /home/sol/ledger-snapshots/snapshot-383520372-8ioheTv1WSo6227nvqG8bqLFtcdVbo6GRQENZdH97n1V.tar.zst
+    Capitalization change: -4767600 lamports
+    Shred version: 27350
+```
+
+The capitalization change is expected because we deactivated a feature gate.
+
+Note that
+* the bank hash should be 3zk4WMwk6wCTVJXu9UAk2dYWMedCKooDs15XL5u6FkvE
+* the slot number should be 383520372
+* the shred version should be 27350
+
+Once you have created a snapshot, move all the other snapshots to a backup directory, so your snapshot directory contains one full snapshot.
+
+    snapshot-383520372-8ioheTv1WSo6227nvqG8bqLFtcdVbo6GRQENZdH97n1V.tar.zst
+
+If you fail to create a snapshot, see the appendix for possible fixes.
+
+## Step 4: Verify Installed Version
+This is the version we want to use to restart the cluster.
+
+Agave:  `v3.1.7`
+
+Frankendancer: `v0.809.30106`
+
+## Step 5: Update startup config and start your validator
+### Agave
+Add these arguments to your validator startup script:
+
+    --wait-for-supermajority 383520372 n+    --expected-shred-version 27350 n+    --expected-bank-hash 3zk4WMwk6wCTVJXu9UAk2dYWMedCKooDs15XL5u6FkvE n+
+### Frankendancer
+Add these paramethers into `[consensus]` section of the configuration file:
+```
+    expected_shred_version = 27350
+    wait_for_supermajority_at_slot = 383520372
+    expected_bank_hash = "3zk4WMwk6wCTVJXu9UAk2dYWMedCKooDs15XL5u6FkvE"
+```
+
+### Common
+As it starts, the validator will load the snapshot for slot `383520372` and wait for 80% of the stake to come online before producing/validating new blocks.
+
+To confirm your restarted validator is correctly waiting for 80% stake, look for this periodic log message to confirm it is waiting:
+
+    INFO  solana_core::validator] Waiting for 80% of activated stake at slot 383520372 to be in gossip...
+
+And if you have RPC enabled, ask it for the current slot:
+
+    solana --url http://127.0.0.1:8899 slot
+
+Any number other than `383520372` means you did not complete the steps correctly.
+
+Once started, you should see log entries for “active stake” visible in gossip and “waiting for 80% of stake” to be visible. You can track these to see how the stake progresses.
+
+
+***
+
+## Appendix (use this only if step 3 failed)
+
+If you get an error like this:
+
+    Error: Slot 383520371 is not available
+
+Or this:
+
+    Unable to process blockstore from starting slot <slot> to 383520371; the ending slot is less than the starting slot. The starting slot will be the latest snapshot slot, or genesis if the --no-snapshot flag is specified or if no snapshots are found.
+
+Your snapshots directory contains a snapshot that is for a slot `>383520371`. If you also have a snapshot for slot `<=383520371` then move snapshots for slots `>383520371` to a backup directory and run the `agave-ledger-tool` command again. If you do not have a snapshot for slot `<=383520371` then you will need to download a snapshot
+
+If you successfully created a snapshot, resume the instructions above starting at Step 4. If you are unable to create a snapshot, follow the instructions below on downloading a snapshot.
+
+If you could not produce your snapshot locally, follow these appendix steps
+
+### Step 1: Download a snapshot from a known validator
+
+If you are unable to generate a snapshot locally for slot `383520372` you will need to download one from a known validator. Add these lines to your startup script.
+
+    --known-validator 5D1fNXzvv5NjV1ysLjirC4WY92RNsVH18vjmcszZd8on n+    --expected-shred-version 27350 n+
+Remove the flag `--no-snapshot-fetch` in your startup script if it is present.
+
+### Step 2: After download, restart
+
+Verify that you have a new snapshot in your snapshot directory.  If the snapshot is done downloading, stop your validator process.
+
+Add the flag `--no-snapshot-fetch` to your startup script
+
+Resume the instructions above starting at Step 4.
diff --git a/Feature-Gate-Tracker-Schedule.md b/Feature-Gate-Tracker-Schedule.md
index d5241f2..fb29798 100644
--- a/Feature-Gate-Tracker-Schedule.md
+++ b/Feature-Gate-Tracker-Schedule.md
@@ -14,21 +14,21 @@ The version floor is the current minimum supported software version for a cluste
 | Key | SIMD | Agave Version | FD Version | Jito Version | Testnet | Devnet | Description | Owner |
 |-----|------|---------------|------------|--------------|---------|--------|-------------|-------|
 | H6iVbVaDZgDphcPbcZwc5LoznMPWQfnJ1AM7L1xzqvt5 | 0339  | v3.1.0 | v0.806.30102 | v3.1.0 | 883 | 1008 | SIMD-0339: Increase CPI Account Infos Limit | nbelenkov |
+| fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78in | 0317  | v3.1.0 | v0.806.30102 | v3.1.0 | 892 | 1011 | SIMD-0317: Enforce 32 data + 32 coding shreds | bw-solana |
+| 64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnx | 0160  | v3.1.0 | v0.806.30102 | v3.1.0 | 896 | 1012 | SIMD-0160: Static Instruction Limit | tao-stones |
 
 ### Pending Devnet Activation
 | Key | SIMD | Agave Version | FD Version | Jito Version | Testnet | Devnet | Description | Owner |
 |-----|------|---------------|------------|--------------|---------|--------|-------------|-------|
-| fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78in | 0317  | v3.1.0 | v0.806.30102 | v3.1.0 | 892 |  | SIMD-0317: Enforce 32 data + 32 coding shreds | bw-solana |
-| 64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnx | 0160  | v3.1.0 | v0.806.30102 | v3.1.0 | 896 |  | SIMD-0160: Static Instruction Limit | tao-stones |
 | poUdAqRXXsNmfqAZ6UqpjbeYgwBygbfQLEvWSqVhSnb | 0359  | v3.1.0 | v0.806.30102 | v3.1.0 | 897 |  | SIMD-0359: Poseidon Syscall - Enforce Input Length | vadorovsky |
+| bnYzodLwmybj7e1HAe98yZrdJTd7we69eMMLgCXqKZm | 0334  | v3.1.0 | v0.806.30102 | v3.1.0 | 900 |  | SIMD-0334: Fix alt_bn128_pairing Syscall Length Check | samkim-crypto |
 
 
 ### Pending Testnet Activation
 | Key | SIMD | Agave Version | FD Version | Jito Version | Testnet | Devnet | Description | Owner |
 |-----|------|---------------|------------|--------------|---------|--------|-------------|-------|
-| bnYzodLwmybj7e1HAe98yZrdJTd7we69eMMLgCXqKZm | 0334  | v3.1.0 | v0.806.30102 | v3.1.0 |  |  | SIMD-0334: Fix alt_bn128_pairing Syscall Length Check | samkim-crypto |
 | rent6iVy6PDoViPBeJ6k5EJQrkj62h7DPyLbWGHwjrC | 0194  | v3.1.0 | v0.806.30102 | v3.1.0 |  |  | SIMD-0194: Deprecate rent exemption threshold | deanmlittle |
+| CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnB | 0332  | v3.1.0 | v0.808.30014 | v3.1.0 |  |  | SIMD-0332: Reduce ChaCha rounds for Turbine from 20 to 8 | alexpyattaev |
 | Gx4XFcrVMt4HUvPzTpTSVkdDVgcDSjKhDN1RqRS6KDuZ | 0185  | v3.1.0 | v0.808.30014 | v3.1.0 (need to update tip distribution program for VoteStateV4 parsing) |  |  | SIMD-0185: Vote Account V4 | buffalojoec |
-| CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnB | 0332  | v3.1.0 | No version yet | v3.1.0 |  |  | SIMD-0332: Reduce ChaCha rounds for Turbine from 20 to 8 | alexpyattaev |
 | 5xXZc66h4UdB6Yq7FzdBxBiRAFMMScMLwHxk2QZDaNZL | 0321  | v3.1.0 | v0.806.30102 | v3.1.0 |  |  | SIMD-0321: Instruction Data Pointer in VM Register 2 | buffalojoec |
 | BRUoCu28xjjPkDcNm7iY9a8LqgftZko99ioXz84wivXh | 0249  | v4.0.0 | No version yet |  |  |  | SIMD-0249: Delay Commission Updates | jstarry |
diff --git a/_Sidebar.md b/_Sidebar.md
index 194e21b..452e509 100644
--- a/_Sidebar.md
+++ b/_Sidebar.md
@@ -20,4 +20,4 @@
 * **Migration**
   * [Agave v2.0 Migration](Agave-v2.0-Transition-Guide)
 * **Restart Instructions**
-  * [2025-12-11 Testnet Restart](2025-12-11-Testnet-rollback-and-restart)
+  * [2025-01-22 Testnet Restart](2026-01-22-Testnet-Restart)
diff --git a/feature-gate-tracker-schedule.json b/feature-gate-tracker-schedule.json
index 1a3532f..c2ae867 100644
--- a/feature-gate-tracker-schedule.json
+++ b/feature-gate-tracker-schedule.json
@@ -1496,13 +1496,11 @@
       "Status": "1 - Ready for Mainnet-beta",
       "Testnet Epoch": 883,
       "Title": "SIMD-0339: Increase CPI Account Infos Limit"
-    }
-  ],
-  "2 - Ready for Devnet": [
+    },
     {
       "Comms Required": null,
       "Description": null,
-      "Devnet Epoch": null,
+      "Devnet Epoch": 1011,
       "Feature ID": "fixfecLZYMfkGzwq6NJA11Yw6KYztzXiK9QcL3K78in",
       "Min Agave Versions": [
         "v3.1.0"
@@ -1523,14 +1521,14 @@
       "SIMDs": [
         "0317"
       ],
-      "Status": "2 - Ready for Devnet",
+      "Status": "1 - Ready for Mainnet-beta",
       "Testnet Epoch": 892,
       "Title": "SIMD-0317: Enforce 32 data + 32 coding shreds"
     },
     {
       "Comms Required": null,
       "Description": null,
-      "Devnet Epoch": null,
+      "Devnet Epoch": 1012,
       "Feature ID": "64ixypL1HPu8WtJhNSMb9mSgfFaJvsANuRkTbHyuLfnx",
       "Min Agave Versions": [
         "v3.1.0"
@@ -1551,10 +1549,12 @@
       "SIMDs": [
         "0160"
       ],
-      "Status": "2 - Ready for Devnet",
+      "Status": "1 - Ready for Mainnet-beta",
       "Testnet Epoch": 896,
       "Title": "SIMD-0160: Static Instruction Limit"
-    },
+    }
+  ],
+  "2 - Ready for Devnet": [
     {
       "Comms Required": null,
       "Description": null,
@@ -1582,9 +1582,7 @@
       "Status": "2 - Ready for Devnet",
       "Testnet Epoch": 897,
       "Title": "SIMD-0359: Poseidon Syscall - Enforce Input Length"
-    }
-  ],
-  "3 - Ready for Testnet": [
+    },
     {
       "Comms Required": null,
       "Description": null,
@@ -1609,10 +1607,12 @@
       "SIMDs": [
         "0334"
       ],
-      "Status": "3 - Ready for Testnet",
-      "Testnet Epoch": "",
+      "Status": "2 - Ready for Devnet",
+      "Testnet Epoch": 900,
       "Title": "SIMD-0334: Fix alt_bn128_pairing Syscall Length Check"
-    },
+    }
+  ],
+  "3 - Ready for Testnet": [
     {
       "Comms Required": null,
       "Description": null,
@@ -1645,7 +1645,7 @@
       "Comms Required": null,
       "Description": null,
       "Devnet Epoch": null,
-      "Feature ID": "Gx4XFcrVMt4HUvPzTpTSVkdDVgcDSjKhDN1RqRS6KDuZ",
+      "Feature ID": "CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnB",
       "Min Agave Versions": [
         "v3.1.0"
       ],
@@ -1653,49 +1653,49 @@
         "v0.808.30014"
       ],
       "Min Jito Versions": [
-        "v3.1.0 (need to update tip distribution program for VoteStateV4 parsing)"
+        "v3.1.0"
       ],
       "Owners": [
-        "buffalojoec"
+        "alexpyattaev"
       ],
       "Planned Testnet Order": 6000,
       "SIMD Links": [
-        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0185-vote-account-v4.md"
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0332-cha-cha-8.md"
       ],
       "SIMDs": [
-        "0185"
+        "0332"
       ],
       "Status": "3 - Ready for Testnet",
       "Testnet Epoch": "",
-      "Title": "SIMD-0185: Vote Account V4"
+      "Title": "SIMD-0332: Reduce ChaCha rounds for Turbine from 20 to 8"
     },
     {
       "Comms Required": null,
       "Description": null,
       "Devnet Epoch": null,
-      "Feature ID": "CHaChatUnR3s6cPyPMMGNJa3VdQQ8PNH2JqdD4LpCKnB",
+      "Feature ID": "Gx4XFcrVMt4HUvPzTpTSVkdDVgcDSjKhDN1RqRS6KDuZ",
       "Min Agave Versions": [
         "v3.1.0"
       ],
       "Min FD Versions": [
-        "No version yet"
+        "v0.808.30014"
       ],
       "Min Jito Versions": [
-        "v3.1.0"
+        "v3.1.0 (need to update tip distribution program for VoteStateV4 parsing)"
       ],
       "Owners": [
-        "alexpyattaev"
+        "buffalojoec"
       ],
       "Planned Testnet Order": 6100,
       "SIMD Links": [
-        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0332-cha-cha-8.md"
+        "https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0185-vote-account-v4.md"
       ],
       "SIMDs": [
-        "0332"
+        "0185"
       ],
       "Status": "3 - Ready for Testnet",
       "Testnet Epoch": "",
-      "Title": "SIMD-0332: Reduce ChaCha rounds for Turbine from 20 to 8"
+      "Title": "SIMD-0185: Vote Account V4"
     },
     {
       "Comms Required": null,
@@ -1792,7 +1792,7 @@
         "v2.3.0"
       ],
       "Min FD Versions": [
-        "v0.709.30000"
+        "No version yet"
       ],
       "Min Jito Versions": [
         "v2.3.0"
diff --git a/v3.1-Release-Schedule.md b/v3.1-Release-Schedule.md
index 510c555..cbee008 100644
--- a/v3.1-Release-Schedule.md
+++ b/v3.1-Release-Schedule.md
@@ -11,7 +11,9 @@ This is a tentative schedule for the stabilization and rollout of Agave v3.1. It
 |7|2025-12-15|||
 |8|2025-12-22|||
 |9|2025-12-29|||
-|10|2026-01-05||Tag Mainnet-beta Upgrade Candidate (MUC) on v3.1 branch. <br/>Testnet: Live downgrade to v3.0, upgrade to MUC (100%). <br/>Mainnet-beta: Ask for volunteers to take 10% of stake to to v3.1|
+|10|2026-01-05|2026-01-19|Tag Mainnet-beta Upgrade Candidate (MUC) on v3.1 branch.|
+|10|2026-01-05||Testnet: Live downgrade to v3.0, upgrade to MUC (100%).|
+|10|2026-01-05|2026-01-22|Mainnet-beta: Ask for volunteers to take 10% of stake to to v3.1|
 |11|2026-01-12||Mainnet-beta: Ask for volunteers to take 25% of stake to v3.1|
 |12|2026-01-19||Mainnet-beta: Recommend all nodes upgrade to v3.1|
 |13|2026-01-26||Create v4.0 branch| 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions