This document discusses managing client-server compatibility when deploying updates to an enterprise client. The client queries the server at login to determine the version of shared bundles. It then queries a central repository for any compatible updates. If an update is available that does not require an intervening server upgrade, the client can install the update. Otherwise, the update is ignored and the user is notified that they must first upgrade the server. This approach allows each customer's server to be updated independently while maintaining compatibility between the client and server from a single codebase.