Revision History
It would be great if revision history could be kept, either on individual RealmObjects, groups of RealmObjects, or the Realm as a whole. There could be a way to specify the fidelity of the revisions (e.g. every change or every X minutes) and a way to specify a TTL (e.g. last 30 days). If the Realm is synced, the local Realm could purge its cache of revisions older than the TTL and there could be an API to retrieve these when needed. Additionally, there could a (separate) TTL for permanent deletion of revisions as to keep the Realm from growing too large. Or, alternatively, a way to move revisions to cold storage.
A basic use case for this is editing a document and being able to view a revision history of the document and restore a previous revision. A document could be represented by a single RealmObject that contains several RealmObject and RealmList fields, so I imagine there would need to be a way to have the parent document RealmObject have a reference to a revision anytime any of its child RealmObjects change (of course, based on the fidelity).
