This document summarizes the versioning system used in Graspeo. It discusses: 1) Existing versioning systems like Mercurial and Git and their limitations with media files. 2) Graspeo's solution of creating a new version for each significant modification to an item, space, or resource. 3) How versioning works in Graspeo by creating snapshots of items and storing them in a separate versions collection with links to the original item. 4) The process of restoring an earlier version, including recursively updating item links and contents.