-
Notifications
You must be signed in to change notification settings - Fork 259
Feature Gate Activation Schedule
The scheduling of feature gate 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 gate activation so far has been ad-hoc, to help organize and communicate the upcoming feature gate activations the following table will indicate which features will be activated next and on which networks.
- Feature gates are ordered by priority, highest at the top, priority might change and circumvent activation.
- When a feature gate is activated on a network, the epoch will be added to the table by the person who activated the feature gate.
- The feature gate in the first row is implicitly next to be activated on mainnet beta
- Once a feature gate is activated on mainnet beta the person who activated the feature gate must remove it from the table.
- Feature gate owners are responsible for inserting their feature gates into this list following the above principles, exceptions will occur, get consensus from others before re-ordering priority.
- Some feature gates will need to be soaked before being activated on the next network, soaking will delay all lower-priority feature gates, exceptions will occur.
- Feature gates should be activated one at a time per network, exceptions will occur.
To determine which feature gate will be activated next:
- Feature gates must be activated on testnet, then devnet, then finally mainnet beta
- For each network, the next feature gate 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 | Comms Required |
---|---|---|---|---|---|
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 floor is the current minimum supported software version for a cluster. As new feature gates are activated, the version floor is raised to match the software release that the feature gate shipped in. For minor version updates on mainnet-beta the version floor will be raised (and activations will begin) two full epochs after 95% of stake adopts the new minor version.
Testnet | Devnet | Mainnet Beta | |
---|---|---|---|
Current floor | v1.18.13 | v1.18.13 | v1.18.13 |
Next expected floor * | -- | -- | -- |
* These dates are tentative. Please keep an eye out for comms as the dates near
Key | Version | Testnet | Devnet | Description | Owner | Comms Required |
---|---|---|---|---|---|---|
HooKD5NC9QNxk25QuzCssB8ecrEzGt6eXEPBUxWp1LaR | v1.18.13 | 670 | 726 | last restart slot sysvar/syscall | @mvines / @willhickey | |
6Uf8S75PVh91MYgPQSHnjRAPQq6an5BDv9vomrCwDqLe | v1.18.7 | 671 | 730 | deprecate unused legacy vote tx plumbing | @AshwinSekar | |
mrkPjRg79B2oK2ZLgd7S3AfEJaX9B6gAF3H9aEykRUS | v1.18.0 | 672 | 731 | generate duplicate proofs for merkle root conflicts | @AshwinSekar | |
FNKCMBzYUdjhHyPdsKG2LSmdzH8TCHXn3ytj8RNBS4nG | v1.18.1 | 673 | 733 | notify state machine of duplicate proofs | @wen-coding |
Key | Version | Testnet | Devnet | Description | Owner | Comms Required |
---|---|---|---|---|---|---|
7uZBkJXJ1HkuP6R3MJfZs7mLwymBcDbKdqbF51ZWLier | v1.18.2 | 674 | Enable chained Merkle shreds #34916 | @behzadnouri | ||
tvcF6b1TRz353zKuhBjinZkKzjmihXmBAHJdjNYw1sQ | v1.18.8 | 675 | Timely vote credits | @AshwinSekar | Passed governance vote | |
decoMktMcnmiq6t3u7g5BfgcQu91nKZr6RvMYf9z1Jb | v1.18.0 | 676 | Allow commission decreases at any time | @joncinque |
Key | Version | Testnet | Devnet | Description | Owner | Comms Required |
---|---|---|---|---|---|---|
9bn2vTJUsUcnpiZWbu2woSKtTGW3ErZC9ERv88SDqQjK | v2.0.0 | Partitioned epoch rewards | @CriesofCarrots | |||
EenyoWx9UMXYKpR8mW5Jmfmy2fRjzUtM7NduYMY8bx33 | v2.0.0 | Enable account data direct mapping | @alessandrod | |||
Pause until after Breakpoint | ||||||
FuS3FPfJDKSNot99ECLXtp3rueq36hMNStJkPJwWodLh | v2.0.0 | error on invalid curve/op id | @samkim-crypto | |||
BtVN7YjDzNE6Dk7kTT7YTDgMNUZTNgiSJgsdzAeTg2jF | v2.0.0 | Removing unwanted rounding in fee calculation #34982 | @tao-stones | |||
3opE3EzAKnUftUDURkzMgwpNgimBAypW1mNDYH4x4Zg7 | v2.0.0 | Reward full priority fee to validators | @tao-stones | Passed community vote | ||
CGB2jM8pwZkeeiXQ66kBMyBR6Np61mggL7XUsmLjVcrw | v1.18.0 | skip rent rewrites | @jeffwashington | |||
2ry7ygxiYURULZCrypHhveanvP5tzZ4toRwVp89oCNSj | v2.0.0 | Validator applies cost tracker to blocks during replay | @tao-stones | |||
zkhiy5oLowR7HY4zogXjCjeMXyruLqBwSWH21qcFtnv | v2.0.0 | Enable ZK ElGamal Proof program | @samkim-crypto | |||
7bTK6Jis8Xpfrs8ZoUfiMDPazTcdPcTWheZFJTA5Z6X4 | v2.0.0 | SIMD0148: MoveStake and MoveLamports | @2501babe | |||
ffecLRhhakKSGhMuc6Fz2Lnfq4uT9q3iu9ZsNaPLxPc | v2.0.0 | Vote only on full fec sets | @Ashwin-Sekar |
DO NOT ACTIVATE!
Key | Version | Testnet | Devnet | Description | Owner | Comms Required |
---|---|---|---|---|---|---|
EaQpmC6GtRssaZ3PCUM5YksGqUdMLeZ46BQXYtHYakDS | v1.16.0 | include transaction loaded accounts data size in base fee calculation | @taozhu-chicago - requires community gov vote | Yes | ||
HTW2pSyErTj4BV6KBM9NZ9VBUJVxt7sacNWcf76wtzb3 | v1.17.5 | 277 | 368 | blake3 syscall | @jackcmay blocked on user demand | |
9LZdXeKGeBV6hRLdxS1rHbHoEUsKqesCC2ZAPTPKJAbK | v1.17.0 | 430 | 386 | Increase transaction account lock limit | @jstarry - Blocked for mainnet activation pending benchmarking | |
GDH5TVdbTPUpRnXaRyQqiKUa7uZAbZ28Q2N9bhbKoMLm | v1.17.0 | 419 | loosen cpi restrictions | @jstarry -- blocked by direct mapping and perf/cost modelling | ||
8GdovDzVwWU5edz2G697bbB7GZjrUc6aQZLWyNNAtHdg | v1.17.1 | Programify feature gate program | @buffalojoec | |||
2URMmUo78tana2quSMcWBvc6tBMZP83zM9gUMjA6tJiv | v1.18.0 | Switch program deployment to SBPFv2 | @Lichtso | |||
2KKG3C6RBnxQo9jVVrbzsoSh41TDXLK7gBc9gduyxSzW | v1.17.5 | add Redelegate instruction to stake program | @HaoranYi | |||
EBq48m8irRKuE7ZnMTLvLg2UuGSqhe8s8oMqnmja1fJw | v1.17.5 | enable big modular exponentiation | @samkim-crypto | |||
zk1snxsc6Fh3wsGNbbHAJNHiJoYgF29mMnTSusGx5EJ | v1.17.12 | enable zk token proof program | @samkimcrypto |
DO NOT ACTIVATE!
Key | Version | Testnet | Devnet | Description | Owner | Comms Required |
---|---|---|---|---|---|---|
Gz1aLrbeQ4Q6PTSafCZcGWZXz91yVRi7ASFzFEr1U4sa | v1.14.12 | experiments different turbine fanouts for propagating shreds | @behzadnouri | |||
CJzY83ggJHqPGDq8VisV3U91jDJLuEaALZooBrXtnnLU | v1.18.0 | Disable rent fees collection | @Haoran Yi | |||
wLckV1a64ngtcKPRGU4S4grVTestXjmNjxBjaKZrAcn | v1.18.0 | cost model uses number of requested write locks | @apfitzge (held by @willhickey) | |||
CLCoTADvV64PSrnR6QXty6Fwrt9Xc6EdxSJE4wLRePjq | v2.0.0 | SIMD0127: sol_get_sysvar | @2501babe (held by @willhickey) | |||
5TuppMutoyzhUSfuYdhgzD47F92GL1g89KpCZQKqedxP | v1.18.13 | sol_remaining_compute_units syscall | @mvines (held by @willhickey) | |||
chaie9S2zVfuxJKNRGkyTDokLwWxx6kD2ZLsqQHaDD8 | v1.18.12 | Generate duplicate proofs for chained merkle root conflicts | @AshwinSekar | hold until new shred format is turned on |
- General
- Feature Gates
- Technical
- Policy
- Schedule
- Migration
- Restart Instructions