Description
Pick initial numbers for each crate and coordinate publishing a release!
In my opinion,
ctru-rs
can release with a generic version number (like1.0
or0.5
), and the same can be said forpthread-3ds
andlinker-fix-3ds
. However, I would like to underline the importance ofctru-sys
's version number, since we could release it with the same version number oflibctru
(which would double down as a "supported version" number). We'd need to be careful about doc generation though, since we wouldn't be able to easily make a patch release.
Originally posted by @Meziu in #97 (comment)
This is an interesting idea I hadn't considered before! For inspiration I thought I'd look at some other sys
crates, and I found this which looks kinda interesting: https://gitlab.com/taricorp/llvm-sys.rs#llvm-compatibility
Basically, we could have a ctru-sys
version 21.2.x
for the current release, and bump the minor version whenever we regenerate bindings for a new patch of libctru
. This would also allow us to make docgen improvements, etc. as a patch version on the crate instead.
In the case of llvm-sys
, they have some checks in place to verify library versions at build time. It might be harder to do that with libctru
, since it's just a static library, but I was thinking there might be some ways to check it with dkp-pacman
/ pacman
, and spit out a build warning if the versions mismatch, which would be displayed if the build failed (link errors etc).
Opening this issue to track + discuss the possibilities.