How do you deal with versioning?
Shouldn't the query include some kind of version id along with the query id and variables so that the server is able to serve multiple versions at the same time?
We will make an assumption that all your persisted query can be referenced by a unique ID (i.e., a hash of the query string). In this case, if the server has all current and old queries persisted, then no versioning is needed. The server can continue to serve older and new queries.
In the event you don't use unique IDs on your server (i.e., persistgraphql used auto-incrementing IDs at the time of this answer), then you'll need to figure an alternative solution. For example, you could prefix the ID with the version of the client app. In all honesty, though, I would highly recommend going with the unique ID approach for identifying persisted queries.