The idea behind document versioning is that text editors, word processing programs and other types of software should be able to handle multiple versions of a single file and provide access to users. This can be done in many different ways. One fundamental aspect of document versioning is tracking changes and tracking the creation of multiple document versions, for example, by numbering file versions in succession.
Along with tracking changes, there is the issue of file integrity or determining whether changes have been made to files. Some programs use hashing features or other indicators to see whether files have been altered. Another useful tool for document versioning services is auto-save features, which can help preserve file changes if the system crashes or some other event jeopardizes an unsaved file.