The Version Cleaner should provides a mechanism to control the number of versions kept (see VersionableAspect ). What versions will be kept is based on 2 criteria: the age of the version and the number of versions. Three parameters intervene: the minimum number of versions kept (minVersionsToKeep), the maximum number of versions kept (maxVersionsToKeep) and the maximum number of days that a version is kept (maxDaysToKeep). If the number of versions is bigger than maxVersionsToKeep then Version Cleaner will delete the older versions until the number of versions decreases to the upper limit (maxVersionsToKeep). Second, if the remaining versions are older than maxVersionsToKeep then the oldest will be deleted but the number of versions kept will always be more than minVersionsToKeep. The implementation ensure that if cluster mode is used, the Version Cleaner will only start on one node at a time. Deletion handlers can be provided to ensure that the version is moved to another location prior to being deleted. The Version Cleaner will be triggered periodically.