EsperoTech / yaade

Yaade is an open-source, self-hosted, collaborative API development environment.
MIT License
1.6k stars 71 forks source link

Feature Request - versioning #131

Closed programster closed 10 months ago

programster commented 10 months ago

Let me start by saying thank you so much for making this tool, as I find it really useful.

I see there are no releases or tags for the software either in Github or the docker registry (except nightly for docker images).

ksnip_tmp_TrQXSG

I know that quite often tools are "never done" and there is always more improvements that can be made, or new features added, but could we just start with a version 1.0.0 and every time there is a bug fixed, one bumps up the smallest number, and every time some new functionality gets added, one bumps up the middle number? (Like semver?) It would be great if this could then be applied to the tagged versions that go out to the Docker registry.

If that sounds like too much effort, then would it be possible to tag the built docker images of the docker image with just the date of the build? This way if the need arose, someone could go back a few versions to a build that works for them?

jonrosner commented 10 months ago

Hello,

First off, thank you for the kind words.

Not having versions in Yaade is a conscious decision. The entire database and API of Yaade is backwards compatible up until the very first version. This means an upgrade is always safe and encouraged.

I currently do not see a reason why one would actively decide not to run the latest version of Yaade. I know SemVer is a common concept in library-versioning to communicate safe and unsafe changes, but Yaade is a closed-up system that will never break its API (if we do, then it will be a new project). It might be an anti-pattern to rely on a library's latest tag, but we consider this a best practice in Yaade.

If, after all that, you still want to run a not-latest version. Building the container yourself is quite easy and can be done from any Git commit.