The VersionableInterface lists all methods an object has to implement in order to comply with the internal changelog-system.

The mechanism follows parts of the memento-pattern (@see Gang Of Four, Gamma et. al)

For future releases it is planned to extend the capabilities to a full
versioning system.

Since v4.0, the properties' old values are read automatically. Therefore, the properties to be
versioned have to be marked with the annotation "@versionable".


interface VersionableInterface {



  • getVersionActionName() — Returns a human readable name of the action stored with the changeset.
  • getVersionPropertyName() — Returns a human readable name of the property-name stored with the changeset.
  • getVersionRecordName() — Returns a human readable name of the record / object stored with the changeset.
  • renderVersionValue() — Renders a stored value. Allows the class to modify the value to display, e.g. to replace a timestamp by a readable string.