Comments (19)
If you're limited to x.y.z
, then perhaps what you can do is increment z
to e.g. 0.7.3
? The convention being that 0.7
is the liboqs release series with particular updates within that, and you're matching the liboqs 0.7 release series with your own updates.
from liboqs-rust.
Is it possible to set version to 0.7.2.1
?
from liboqs-rust.
AFAIK no, that's pretty much the point of this issue.
from liboqs-rust.
@dstebila what do you think?
from liboqs-rust.
I'm afraid that this would get confusing as to which version of liboqs we're packaging though...
from liboqs-rust.
Well, yes, but I don't know what other options there are.
from liboqs-rust.
What do you think about basically moving OQS versioning one position to the left? ie. 0.7.2
-> 7.2.0
?
Another option could be to do 0.7.2
-> 0.72.0
now that I think of it. I kinda like that as it preserves the "0.
-ness" of the release.
Or doing 0.7.2
-> 0.7.200
giving us two positions for patches
from liboqs-rust.
Oooh, I like 0.7.200. I had also thought of the 7.2.0 idea but it seemed too drastic, and would lose the oomph of a 1.0 when it happens.
from liboqs-rust.
Okay at some point I will transition over to that versioning scheme.
from liboqs-rust.
Starting from 0.8.0, we will follow this versioning scheme.
from liboqs-rust.
Oh, crap: this doesn't actually work for versions like 0.8.0
: Rust wants to simplify 001
to 1
which breaks this.
from liboqs-rust.
Perhaps we do need to move to the 0.80.0
scheme...
from liboqs-rust.
One option to resolve this is to version the crates in a semver way uncoupled from liboqs version, but append a build annotation with liboqs version, like libgit2-sys does (crate_ver+liboqs_ver
e.g. 0.8.1+0.8.0
), not sure yet how that treats backwards compatibility though
from liboqs-rust.
TIL that format. It does seem that it's completely ignored and I'm not sure how visible that would be to users, though...
https://doc.rust-lang.org/cargo/reference/resolver.html#version-metadata
from liboqs-rust.
At the very least it's visible in crates.io and Cargo.lock entries; since we already instruct users to do oqs = "*"
in Cargo.toml, it doesn't seem intrusive.
from liboqs-rust.
I mean, specifying oqs = "*"
in the README is in part because I can not be trusted to keep it up to date 🙈
from liboqs-rust.
But if we do the a.b.c+liboqs-e.f.g
approach, how do we bump the version in a way that distinguishes it from the liboqs versioning... 🤔
from liboqs-rust.
I'd assume following semver as close as reasonable, e.g.:
- patch bumps on bugfixes to the rust wrapper API and semver-compatible liboqs bumps
- minor bumps on breaking changes to the rust wrapper and semver-incompatible liboqs-bumps (as long as we're on a
0.y.z
version that allows this per semver rules) - exceptions to the above resolved on case-by-case basis
from liboqs-rust.
I have updated the versioning scheme and we're no longer following upstream.
from liboqs-rust.
Related Issues (20)
- Update NTRU
- ARMv8 compatibility: CI and cross-compiling? HOT 7
- WASM compatibility HOT 2
- Stack overflow when generating a key pair on Windows HOT 2
- Support RustCrypto KEM and Signature traits
- Stack overflow on some tests HOT 6
- How to encrypt message with the symetric key of kem HOT 1
- Clean up clippy lints
- Cmake files are not included in package
- Permit unbundling the library HOT 7
- cargo vendor failure for this crate due to include(.CMake/compiler_opts.cmake) HOT 3
- Compiling fails when encountering new compiler warnings HOT 11
- expose `OQS_PERMIT_UNSUPPORTED_ARCHITECTURE`, for example as cargo feature HOT 3
- Updated liboqs-sys create on crates.io HOT 10
- Don't recompile oqs everytime cargo build is invoked HOT 2
- Support OQS_MINIMAL_BUILD
- Manually-specified variables were not used by the project HOT 8
- Win 10, package compilation step fails to find OpenSSL HOT 6
- Invert no-std logic
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from liboqs-rust.