Azure Cosmos DB now provides the ability to access the change feed (https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed). A common pattern to implement eventing patterns is
1. Store every version/change as a separate item
2. Read the change feed to merge/consolidate changes and trigger appropriate actions downstream.
You can also expire old versions using TTL: https://docs.microsoft.com/en-us/azure/cosmos-db/time-to-live
An error occurred while saving the commentJoel Oughton commented
If you're using .NET you can also use Nebula. It implements a simplified versioning pattern over the top of the Cosmos DB SDK. You get versioned read/write consistency for entities with a simple version identifier. This gives you un-delete, restore to previous version etc out of the box without needing to use change feed support directly.
Disclaimer: I'm the author.