I was looking for an answer to this for a few hours and had a hard time. For anyone else looking at this:
If your app is published on the App Store, then you do not need to track which version of a manifest a user is currently on. This is because the installed app is updated for all users within a few hours of any new manifest upload being approved. There will not be multiple versions of the app in deployment, only the most recent (and perhaps some instances of the version before most recent).
So, for backwards compatibility, so long as you maintain backwards compatibility of your backend for 48 hours, then you should be in the clear with regards to supporting users through a new version release. Just upload the new version, and all your users will be moved onto that. I'm using 48 hours here to be roughly-safe, as documentation says the update should occur within a few hours.
You can find this information in the Manifest Schema under the 'version' attribute. https://learn.microsoft.com/en-us/microsoftteams/platform/resources/schema/manifest-schema#version
nagamanoj, I understand that for your case, you were changing bot commands. For existing commands you can blue-green the new functionality in the backend. For new commands, all users will be able to use those as soon as they're released, there's not a good way to blue-green those. You'd rather ensure the functionality is robustly tested via another approach before the app update is released.
Hope this helps those looking!