attic-labs / noms

The versioned, forkable, syncable database
Apache License 2.0
7.44k stars 266 forks source link

Proposal: separate format version from library/http version #3867

Open aboodman opened 4 years ago

aboodman commented 4 years ago

Right now versioning is not very clear in Noms. It was created before Go modules existed, so it's not entirely our fault, but anyway.

I have mod-ularlized Noms awhile ago, so we should also adopt Go's versioning convention. Namely, the Noms git repo should be tagged using semver.

Currently, we have the following git tags:

!? git tag -l
last-js
latest
v7
v7.3
v7.4

v7 contained the snapshot of the last version of the Noms format before we started changing it in preparation for a major new version 8. v7.3 and v7.4 are incremental updates on the way to 8. Currently the code says: const NomsVersion = "7.18", so I guess we stopped tagging the repo at some point.

In any case, I no longer have any plans to do a major new version of the format rolling up a bunch of changes so I think we can just call 7.18 the current stable format version and be done with that.

That still leaves the library version. I think that we should version the library according to Go conventions and version the data format separately.

Concrete proposal