Can I upgrade my Solidity version from 0.8.16 -> 0.8.17 with UUPS and Beacon Proxies


I have contracts here which have been in prod for a year, all either UUPS or BeaconProxy based:

Can I upgrade my solidity version 0.8.16 -> 0.8.17 without any issues with, say, storage layout etc.?


I saw this question, but was unanswered: Can I upgrade solidity version with upgradable contract

Generally, it should be fine to upgrade as long as the most major version number didn't change. For example, 0.7.x to 0.8.x would not be compatible, but 0.8.16 to 0.8.17 should be ok.
However, sometimes Solidity has a storage layout bug, such as what occurred in 0.8.8. Therefore, we recommend using the Hardhat Upgrades plugin to validate and test your upgrade, which would report storage layout conflicts due to Solidity changes. For example, see the validateUpgrade function. (Note that this only applies to Hardhat, not Truffle, because storage layout information from the compiler is only available in Hardhat.)

1 Like