Open
Description
The need for releases was mentioned in #206.
So far everyone was just using master (good) or vendored-old-master (not-so-good).
Versioning scheme situation is complicated, because we have two implementations. We need to indicate compatibility, but allow separate releases of bug fixes etc. I see two reasonable choices:
0.x.y
- wherex
is common between go-jsonnet and cpp-jsonnet. All changes to stdlib or the language will need to be reflected inx
part. That would makex
increment much faster than it currently does. They
part would freely change in go-jsonnet and cpp-jsonnet.0.x.y.z
- wherex.y
is common between go-jsonnet and cpp-jsonnet.x
would be for breaking changes,y
for safe additions to the language/stdlib,z
for implemenation changes.
I like (1) a bit more.
I would also add a suffix -go
and -cpp
to all versions, so that when we get a bug report we immediately know which implementation they are referring to.