It should be implemented framework wise, meaning you should be able to version control anything. From simple collection row to the whole database and even applications
Could be based on Git
Should be completely optional, meaning you can decide to opt-out of this and use single revision of file at time only