What about CalVer? https://calver.org/
There have been TinkerPop versions in the past which were quite different
1, 2, 3.
I would expect a version 4 (as some proposals suggested).
It seems that this major version number is part of the product name more
than just a version.


On Wed, Sep 27, 2023 at 4:14 PM Cole Greer <cole.gr...@improving.com.invalid>
wrote:

> Hi everyone,
>
> I think now is a good time to start thinking about 3.7.x development from
> master into 3.7-dev and to setup master to take breaking changes for the
> next major release. I opted to delay this after the last release to
> temporarily save some of the admin burden of 4 active branches.
>
> I think this gives a good opportunity to revisit our versioning scheme.
> The current scheme (
> https://tinkerpop.apache.org/docs/current/dev/developer/#versioning) is
> EPOCH.MAJOR.MINOR.PATCH, where EPOCH has been fixed at 3 since 2015, and
> the PATCH digit has never been utilized.
>
> I suggest that we move to a more standard semantic versioning scheme (
> https://semver.org/) with just MAJOR.MINOR.PATCH starting with 4.0.0. I
> would expect the MAJOR and MINOR numbers to essentially retain the same
> roles as they have now (4.x.x -> 5.0.0 would be comparable to 3.6.x ->
> 3.7.0). I don’t expect we would utilize the PATCH release often, but I
> would for it to be a formalized process for publishing partial releases
> (perhaps only updating a single component) which can hopefully skip much of
> the overhead of a full release. We’ve previously deployed release-candidate
> convenience binaries for some GLV’s in the past for certain users in this
> fashion, it would be good to bring this into a proper release.
>
> I believe this versioning system is more aligned with what most developers
> are used to. Additionally, I hope that dropping the EPOCH value will allow
> us to be a little more aggressive with changes in major releases (perhaps
> introducing a type system or schema capability).
>
> It would also be useful if we started publishing end-of-life dates for
> major releases to give users a clearer picture of expected support. I would
> suggest as a starting point 1 year of active support (adding new features,
> acting as the main target branch for non-breaking changes) and 2 years of
> security support (branch is kept open for critical bug fixes and security
> patches). If we plan to maintain roughly 1 major release per year, this
> remains somewhat in line with current support timelines. We would
> presumably retain the right to do additional releases for a branch beyond
> the promised support window if we ever deemed it necessary.
>
> Let me know if you have any thoughts on this change. If there is no
> feedback, I will assume a lazy consensus in favour of adopting semantic
> versioning and moving the master branch to 4.0.0-SNAPSHOT development.
> There are still some details to be worked out regarding patch releases
> under the new system (it isn’t completely fleshed out for the current
> system either). I intend to follow up soon with a more specific patch
> release proposal depending on the feedback here.
>
> Thanks,
>
> Cole Greer
>

Reply via email to