This ports some of the functionality from the History tab of the page editing interface in SilverStripe and makes it available for other classes.
SilverStripe 3.1+ (3.4 tested)
Packagist listing and installation instructions
I promise it's worth your time to learn how to use Composer. If painless updating isn't your thing though you can download and extract this project, rename the module folder 'version-history', place it in your project root and run a dev/build?flush=1.
Just apply the VersionHistoryExtension
extension to your class (which also has the Versioned extension) and a History tab will be added to the CMS fields.
MyClass:
extensions:
- Versioned("Stage")
- VersionHistoryExtension
This module currently doesn't distinguish between staged and published versions, nor does it support rolling back to a previous version, because I'm using it simply to track changes. If you want to expand the functionality though, feel free to open a pull request!
If this module helped you out and you want to say thanks, you're welcome to make a small donation or shout me a steam game.