Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement better version numbering #58

Closed
Tracked by #43920
tsmacdonald opened this issue Jun 13, 2024 · 2 comments · Fixed by #82
Closed
Tracked by #43920

Implement better version numbering #58

tsmacdonald opened this issue Jun 13, 2024 · 2 comments · Fixed by #82
Assignees
Labels

Comments

@tsmacdonald
Copy link
Contributor

Currently, Macaw's version is set to 0.1.z, where z is the number of commits in the release since the beginning of time. This makes working with Metabase releases difficult: a backport for an old version of Metabase may depend on some new Macaw behavior, but there could also be breaking changes in the Macaw API. We need a more sophisticated versioning strategy. The proposal is semver-adjacent:

New scheme

  1. [Continue to] use the x.y.z format.
  2. x and y will be set in a new VERSION file that gets slurped by build.clj.
  3. z will be the number of commits since x.y.0.
  4. We will create a git tag for every x.y.0 release to help compute Get query's tables and columns #3.
  5. x will be incremented when there are serious changes to the public API ("serious" is deliberately vague, but is meant to allow us to keep the same major version number if the API-breaking changes are trivially addressable from within Metabase)
  6. y will be incremented when we feel we've written a substantial feature (this is again deliberately vague). This includes both very different internal behavior (e.g., improving our column-finding logic) or additions to the API.
@crisptrutski
Copy link
Collaborator

This was our first idea, but perhaps there's something even simpler we could do? Input welcome.

@crisptrutski
Copy link
Collaborator

I realize that technically we don't need the git tags if we rather use "number of commits since VERSION was last updated", which also seems a bit safer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants