1. A computer-implemented method for creating a new annotation for a data source, the method comprising: generating a first data source version identifier based on a first version of the data source; receiving text of a first annotation; adding a first annotation record to an annotation data store, the first annotation record including the first data source version identifier that was generated and the text of the first annotation; generating a second data source version identifier based on a second version of the data source, the first data source version identifier and the second data source version identifier both being associated with the same data source; receiving text of a second annotation; adding a second annotation record to the annotation data store, the second annotation record including the second data source version identifier that was generated and the text of the second annotation; updating, by a processor, the first annotation record to include both the first data source version identifier and the second data source version identifier; and linking the text of the first annotation to the second annotation record; wherein the first annotation record further includes point information indicating coordinates of at least one part of the first version of the data source that the first annotation is meant to annotate.