-
Notifications
You must be signed in to change notification settings - Fork 15
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
How to version this crate #1
Comments
Yes. The master branch is quite experimental and might make breaking changes at any time. I think at the very least two parallel versions should be exist: the master branch and the latest release branch. The master branch does not necessarily need to be published on crates.io in my opinion. So we could maybe exclusively publish that latest release. I'll look into what openssl is doing. |
The openssl-src crate, from my understanding, is using the following versioning from the semver spec:
Following that logic, the current version should be There is a potential issue however since it is stated that:
This means that using this versioning a newer libzmq release would not take precedence over a older one. |
I found this issue in cargo relating to this. To sum it up, right now the build metadata is ignored (which is in accordance to the specs). This means that lets say we publish |
We could consider the libzmq gitsubmodule as part of the crate when versioning. This way someone could depend on a specific libzmq version if he wants. Here is a an example:
But this seems kinda tricky and potentially error prone. |
We could also only change the crate's build metadata but that would force new users to use the lastest stable release (since the previous is yanked). Moreover, if the Here is an example:
|
We could also directly map to libzmq's version but that would not allow use to introduce any API changes exclusive to the crate. Since we likely want this crate to potentially build on currently unsupported platforms (such as windows), this is not realistic. |
I think the first versioning scheme, should work pretty well. |
I added versioning information to the readme to make that clear. |
This is intended as a discussion issue, aimed at resolving these two questions:
openssl
crate uses is a good idea.master
branch tracks libzmq's master. I guess that's fine, but I'm not sure if it's a good idea to publish unreleased snapshots of the libzmq source code tocrates.io
.The text was updated successfully, but these errors were encountered: