On the web, we have no way to track changes to content over time. As a result, we have to build custom applications to support version history, for example Wikipedia (MediaWiki).

    As a result, if you want to see the version history of a website, you must rely on the archives from a trusted third party, such as Archive.org (the "wayback machine").

    With lack of protocol support, there is no browser support for traversing the history of web pages, or to see the authorship of each change to the document.

    The Hypermedia protocol brings version history and authorship to the web.

    Document Change History

      The Hypermedia protocol supports versioning natively. Each version of a document is represented a set of signed Change blobs. Each Change references the previous version of the document that the changes are based upon.

      Because each Change is signed, you can determine precise authorship for each step of the document history.

      Each change provides a series of document operations that describes how the document is changing. For example: changing a block of content, moving a block node, or changing metadata such as the document title.

      To view the current state of a document at a given version, the changes are deterministically sorted, and then evaluated in order.

      Authors with permission are allowed to sign Ref blobs, which point to the current version of a document. This allows a document owner (or editor) to include Changes from other authors, without giving them access to the document. Refs enable document branches and change requests (like Github Pull Requests).

    Comment History

      Comments in the Hypermedia protocol are editable with a version history, although they utilize a more lightweight strategy because Comments tend to be smaller, and a single author is allowed to edit them.

      A Hypermedia Comment blob contains the full content of the Comment.