-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Feature Activation Schedule
Alexander Meißner edited this page Oct 26, 2022
·
149 revisions
The scheduling of feature activations is be based on the following principles:
- Relative priority
- The same order on each network
Those two principles will not always agree, exceptions will occur.
Feature activation so far has been ad-hoc, to help organize and communicate the upcoming feature activations the following table will indicate which features will be activated next and on which networks.
- Features are ordered by priority, highest at the top, priority might change and circumvent activation.
- When a feature is activated on a network, the epoch will be added to the table by the person who activated the feature.
- The feature in the first row is implicitly next to be activated on mainnet beta
- Once a feature is activated on mainnet beta the person who activated the feature must remove it from the table.
- Feature owners are responsible for inserting their features into this list following the above principles, exceptions will occur, get consensus from others before re-ordering priority.
- Some features will need to be soaked before being activated on the next network, soaking will delay all lower-priority features, exceptions will occur.
- Features should be activated one at a time per network, exceptions will occur.
To determine which feature will be activated next:
- Features must be activated on Testnet, then Devnet, then mainnet beta
- For each network, the next feature that has not been enabled will be enabled next
Given the following schedule:
- nWBqjr3gpETbiaVj3CBJ3HFC5TMdnJDGt21hnvSTvVZ will be activated on testnet next
- DpJREPyuMZ5nDfU6H3WTqSqUFSXAfw8u7xqmWtEwJDcP will be activated on devnet next
- 7GUcYgq4tVtaqNCKT3dho9r4665Qp5TxCZ27Qgjx3829 will be activated on mainnet beta next
Key | Version | Testnet | Devnet | Description |
---|---|---|---|---|
7GUcYgq4tVtaqNCKT3dho9r4665Qp5TxCZ27Qgjx3829 | v1.10.24 | 331 | 332 | Executables incur CPI data costs |
DpJREPyuMZ5nDfU6H3WTqSqUFSXAfw8u7xqmWtEwJDcP | v1.10.25 | 333 | quick bail on panic | |
7g9EUwj4j7CS21Yx1wvgWLjSZeh5aPq8x9kpoPwXM8n8 | v1.10.3 | 334 | limit secp256k1 recovery id | |
nWBqjr3gpETbiaVj3CBJ3HFC5TMdnJDGt21hnvSTvVZ | v1.10.1 | check physical overlapping regions |
The version ceiling is the currently recommended software version for a cluster. A feature introduced in any higher software version is incompatible with the given cluster
Testnet | Devnet | Mainnet Beta |
---|---|---|
v1.14.4 | v1.13.2 | v1.10.39 |
Key | Version | Testnet | Devnet | Description | Owner |
---|---|---|---|---|---|
Features below are pending Mainnet Beta activation | - | - | - | - | - |
ALBk3EWdeAg2WAGf6GPDUf1nynyNqCdEVmgouG7rpuCj | v1.10.29 | 339 | 342 | prevent closing active vote accounts | @willhickey |
4Di3y24QFLt5QEUPZtbnjyfQKfm6ZMTfa6Dw1psfoMKU | v1.10.10 | 326 | 324 | drops redundant turbine propagation path | @behzadnouri |
HTW2pSyErTj4BV6KBM9NZ9VBUJVxt7sacNWcf76wtzb3 | v1.10.0 | 277 | 368 | blake3 syscall | @jstarry |
HH3MUYReL2BvqqA3oEcAa7txju5GY6G4nxJ51zvsEjEZ | v1.10.34 | 350 | 372 | preserves rent_epoch for rent exempt accounts | @behzadnouri |
812kqX67odAp5NFwM8D2N24cku7WTm9CHUTFUXaDkWPn | v1.10.32 | 353 | 386 | restricts rent-paying accounts lifetime extension | @behzadnouri |
sigrs6u1EWeHuoKFkY8RR7qcSsPmrAeBBPESyf5pnYe | v1.10.35 | 357 | 375 | sign repair requests | @jbiseda |
3gtZPqvPpsbXZVCx6hceMfWxtsmrjMzmg8C7PLKSxS2d | v1.10.0 | 315 | 387 | filter votes outside of slot hashes | @AshwinSekar |
Features below are pending Devnet activation | - | - | - | - | - |
437r62HoAdUb63amq3D7ENnBLDhHT2xY8eFkLJYVKK4x | v1.11.0 | 348 | add DeactivateDelinquent instruction to stake program | @mvines | |
St8k9dVXP97xT6faW24YmRSYConLbhsMJA4TJTBLmMT | v1.11.0 | 349 | add GetMinimumDelegation instruction to stake program | @brooksprumo | |
sTKz343FM8mqtyGvYWvbLpTThw3ixRM4Xk8QvZ985mw | v1.11.0 | 351 | allow undelegated stakes to be below the minimum delegation | @joncinque | |
BUS12ciZ5gCoFafUHWW8qaFMMtwFQGVxjsDheWLdqBE2 | v1.11.0 | 355 | automatically rewind stake credits when zero vote-account credits | @CriesofCarrots | |
54KAoNiUERNoWWUhTWWwXgym94gzoXFVnHyQwPA18V9A | v1.11.2 | 356 | fail libsec256k1_verify if count appears wrong | @jackcmay | |
G74BkWBzmsByZ1kxHy44H3wjwp5hp7JbrGRuDpco22tY | v1.11.8 | 360 | fix root in vote state updates | @carllin | |
3EPmAX94PvVJCjMeFfRFvj4avqCPL8vv3TGsZQg7ydMx | v1.11.5 | 361 | add Redelegate instruction to stake program | @mvines | |
Ff8b1fBeB86q8cjq47ZhsQLgv5EkHu3G1C99zjUfAzrq | v1.14.1 | 315 | new vote state update instructions | @AshwinSekar | |
86HpNqzutEZwLcPxS6EHDcMNYWk6ikhteg9un7Y2PBKE | v1.14.1 | 365 | Compact vote state updates to lower block size | @AshwinSekar | |
FQnc7U4koHqWgRvFaBJjZnV8VPg6L6wWK33yJeDp4yvV | v1.11.0 | 373 | stake split instruction uses rent sysvar | @jstarry | |
GTUMCZ8LTNxVfxdrw7ZsDFTxXb7TutYkzJnFwinpE6dg | v1.10.4 | 379 | disable the deprecated BPF loader | @jackcmay | |
Features below are pending Testnet activation | - | - | - | - | - |
6iyggb5MTcsvdcugX7bEKbHV8c6jdLbpHwkncrgLMhfo | v1.11.0 | stop adding hashes for skipped slots to recent blockhashes | @jstarry | ||
3NKRSwpySNwD3TvP5pHnRmkAQRsdkXWRr1WaQh8p4PWX | v1.11.0 | reject callx r10 bpf instructions | @jackcmay | ||
8199Q2gMD2kwgfopK5qqVWuDbegLgpuFUFHCcUJQDN8b | v1.11.0 | error on syscall / bpf function hash collisions | @jackcmay | ||
3uRVPBpyEJRo1emLCrq38eLRFGcu6uKSpUXqGvU8T7SZ | v1.13.5 | check syscall outputs do not overlap | @Lichtso | ||
7Vced912WrRnfjaiKRiNBcbuFw7RrnLv3E3z95Y4GTNc | v1.11.4 | enable early verification of account modifications | @Lichtso | ||
9k5ijzTbYPtjzu8wj2ErH9v45xecHzQ1x4PMYMMxFgdM | v1.11.4 | cap number of accounts passed to bpf program instructions | @jstarry | ||
GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLm | v1.11.5 | loosen cpi restrictions | @jstarry | ||
CveezY6FDLVBToHDcvJRmtMouqzsmj4UXYh5ths5G5Uv | v1.11.0 | Calculate vote credits for VoteStateUpdate per vote dequeue to match credit awards for Vote instruction | @AshwinSekar | ||
28s7i3htzhahXQKqmS2ExzbEoUypg9krwvtK2M9UWXh9 | v1.11.0 | updates rewards at epoch boundary using cached accounts | @behzadnouri | ||
8sKQrMQoUHtQSUP83SPG4ta2JDjSAiWs7t5aJ9uEd6To | v1.11.5 | use default units per instruction in fee calculation | @taozhu-chicago | ||
8Zs9W7D9MpSEtUWSQdGniZk2cNmV22y6FLJwCx53asme | v1.14.3 | enable the ExtendProgram ix for the bpf upgradeable loader | @jstarry | ||
GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLm | v1.14.0 | Loosen CPI restrictions and charge compute for ix data len | @jstarry | ||
9LZdXeKGeBV6hRLdxS1rHbHoEUsKqesCC2ZAPTPKJAbK | v1.14.3 | Increase transaction account lock limit | @jstarry | ||
B9cdB55u4jQsDNsdTK525yE9dmSc5Ga7YBaBrDFvEhM9 | v1.12.0 | disable CPI setting is_executable and rent_epoch |
@Lichtso | ||
9gxu85LYRAcZL38We8MYJ4A9AwgBBPtVBAqebMcT1241 | v1.12.0 | cap accounts data allocations per transaction | @brooksprumo | ||
GQALDaC48fEhZGWRj9iL5Q889emJKcj3aCvHF7VCbbF4 | v1.15.0 | limit max instruction trace length | @Lichtso | ||
SVn36yVApPLYsa8koK3qUcy14zXDnqkNYWyUh1f4oK1. | v1.15.0 | ignore slot when calculating an account hash | @jeffwashington | ||
5GpmAKxaGsWWbPp4bNXFLJxZVvG92ctxf7jQnzTQjF3n | v1.15.0 | Epoch Accounts Hash | @brooksprumo | ||
CpkdQmspsaZZ8FVAouQTtTWZkc8eeQ7V3uj7dWz543rZ | v1.14.? | on bank load account, do not try to fix up rent_epoch (this will be a no-op on mnb) | @jeffwashington | ||
7rcw5UtqgDTBBv2EcynNfYckgdAaH1MAsCjKgXMkN7Ri | v1.10.18 | enable curve25519 syscalls | @samkim-crypto |
- General
- Feature Gates
- Technical
- Schedule
- Testnet