-
Notifications
You must be signed in to change notification settings - Fork 59
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
Switch spirv_headers to SemVer #197
Comments
If we wanted to continue to encode the spirv spec - we might be able to encode it into the patch version instead. However, I'd much rather just stick to regular SemVer without any fancy additions like this. @antiagainst also suggested just publishing this crate under a new name ( |
To restore some order to the world I'll yank both rspriv 0.8.0 and spirv_headers 1.5.1 while we wait for a reply. (And alternatively just publish v2 of spirv_headers right after, if we care) so we can work this out in the meantime. @kvark any objections to yanking these versions? |
much appreciated, thank you! |
We could possibly use Version Metadata to include the spirv version, that ends up looking like |
Since inheriting the `spirv` crate and dropping the `spirv_headers` crate in #204, and following up on a choice in #197 to no longer have the SPIR-V major/minor version in our crate version which disallows us from making any breaking changes to the crate, we reset the version to `0.1.0` and embedded the SPIR-V version via _version metadata_ instead. This stale comment in the README was still indicating as such though, confusing users in e.g. #252 that our `spirv` crate was somehow exposing SPIR-V 1.3 (should have been 0.3 by that logic which is the current latest version). Remove it entirely. Note also that since #225 / #226 our version metadata is no longer the SPIR-V version/revision but the Vulkan SDK tag that it was released with. The SPIR-V version isn't bumped often enough to match extensions in new SDK releases, making the SDK tag more indicative of the included API surface instead.
Since inheriting the `spirv` crate and dropping the `spirv_headers` crate in #204, and following up on a choice in #197 to no longer have the SPIR-V major/minor version in our crate version which disallows us from making any breaking changes to the crate, we reset the version to `0.1.0` and embedded the SPIR-V version via _version metadata_ instead. This stale comment in the README was still indicating as such though, confusing users in e.g. #252 that our `spirv` crate was somehow exposing SPIR-V 1.3 (should have been 0.3 by that logic which is the current latest version). Remove it entirely. Note also that since #225 / #226 our version metadata is no longer the SPIR-V version/revision but the Vulkan SDK tag that it was released with. The SPIR-V version isn't bumped often enough to match extensions in new SDK releases, making the SDK tag more indicative of the included API surface instead.
Since inheriting the `spirv` crate and dropping the `spirv_headers` crate in #204, and following up on a choice in #197 to no longer have the SPIR-V major/minor version in our crate version which disallows us from making any breaking changes to the crate, we reset the version to `0.1.0` and embedded the SPIR-V version via _version metadata_ instead. This stale comment in the README was still indicating as such though, confusing users in e.g. #252 that our `spirv` crate was somehow exposing SPIR-V 1.3 (should have been 0.3 by that logic which is the current latest version). Remove it entirely. Note also that since #225 / #226 our version metadata is no longer the SPIR-V version/revision but the Vulkan SDK tag that it was released with. The SPIR-V version isn't bumped often enough to match extensions in new SDK releases, making the SDK tag more indicative of the included API surface instead.
See #117 and #196
Because spirv_headers doesn't follow SemVer, making changes to it, and keeping downstream dependencies from breaking we should switch over to SemVer and ditch the Vulkan / SPIR-V numbering scheme and instead just document which SPIR-V version corresponds to the current crate version. This should solve most of the problems in the future (but may introduce some confusion around which SPIR-V version is exposed instead).
I think it's probably better to have that confusion during development, rather then breaking downstream builds.
The text was updated successfully, but these errors were encountered: