I would like to develop a smart contract using the OpenZeppelin library. Is it okay to change the pragma version of all including libraries to fixed 0.8.21 version? Currently, it is ^0.8.20.
What would happen if I just change my main contract version to fixed 0.8.21 version?
You don't need to change that.
^0.8.20 means any version larger than
0.8.20 can be used because of the caret symbol. You only need to mention the version in config file in your config file of whatever tool using, hardhat, foundry etc.
Thank you so much for your reply. I know the config file but the problem is that the audits argue about any floating version in the main smart contract and the used libraries.