Edge-home-orchestration-go: [Consideration] Semantic Versioning

Created on 30 Dec 2020  ·  5Comments  ·  Source: lf-edge/edge-home-orchestration-go

Our release version is based on the alphabetical order with tree types. Meanwhile, it is quite recommended to open source projects to adopt Semantic Versioning (mostly from CII Best Practice). We have an annual major release but just in case there might be a case for us to release its major/trivial patch versions occasionally. In this case, it is distinguishable for us to adopt the semantic versioning. What do you think?

My humble idea:

  1. As Is (non Semantic Versioning) : Alpha, Baobab, Coconut
  2. To be (Semantic Versioning)

    • Option 1: v1.0.0, v2.0.0, v3.0.0 (v _annual major as numerical order_._critical patches_._trivial patches_)

    • Option 2: vAlpha.0.0, vBaobab.0.0, vCoconut.0.0 (v _annual major as alphabetical order_._critical patches_._trivial patches_)

Suggestion: LET US discuss this issue in the upcoming TSC online meeting in January 2021!!!

enhancement question

Most helpful comment

I like option 1.
For reference, EdgeX Foundry applies semantic versioning to git tags and uses alphabetical versioning to git branches.
https://github.com/edgexfoundry/edgex-go/tags

All 5 comments

I like option 1.
For reference, EdgeX Foundry applies semantic versioning to git tags and uses alphabetical versioning to git branches.
https://github.com/edgexfoundry/edgex-go/tags

I like option 1.
For reference, EdgeX Foundry applies semantic versioning to git tags and uses alphabetical versioning to git branches.
https://github.com/edgexfoundry/edgex-go/tags

@t25kim This is great! Thank you for providing a valuable starting point!

Home Edge has also been using the tags. https://github.com/lf-edge/edge-home-orchestration-go/tags
We can adopt numerical versioning for all releases and use Code names (non Semantic ) for major releases. Generally major releases are accompanied with code names while the minor releases go with just versioning. So similar approach can also be adopted.

I definitely agree to use semantic versioning (there is no other option). Option 1.
If you want to additionally use Code names, you can add them as an alias. Example Ubuntu releases

We have released v1.0.0 as a semantic release recently. So it is DONE and closed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

t25kim picture t25kim  ·  5Comments

t25kim picture t25kim  ·  3Comments

t25kim picture t25kim  ·  3Comments

t25kim picture t25kim  ·  5Comments

MoonkiHong picture MoonkiHong  ·  6Comments