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

librashader-spirv-cross has been yanked #111

Closed
GPHemsley opened this issue Sep 4, 2024 · 7 comments
Closed

librashader-spirv-cross has been yanked #111

GPHemsley opened this issue Sep 4, 2024 · 7 comments

Comments

@GPHemsley
Copy link

All versions of librashader-spirv-cross have been yanked (apparently in favor of spirv-cross2 instead of spirv-cross), which means librashader no longer builds.

@GPHemsley
Copy link
Author

A workaround, for those who need it:

[patch.crates-io]
librashader-spirv-cross = { git = "https://github.com/chyyran/spirv_cross.git", rev = "3c11426a9055232e349c25dcf2a03e94512dbe88" }

@chyyran
Copy link
Member

chyyran commented Sep 4, 2024

Oops, thats my bad. I probably shouldn't have done that before making the spirv-cross2 changes.

Unyanked 0.26.0 for librashader-spirv-cross.

@chyyran chyyran closed this as completed Sep 4, 2024
@GPHemsley
Copy link
Author

Two points, though:

  • librashader depends on 0.25.1, and major version 0.x are not considered SemVer-compatible, so 0.26.0 doesn't help.
  • It's my understanding that yanking any release is frowned upon in the Rust ecosystem except in extreme circumstances.

@chyyran
Copy link
Member

chyyran commented Sep 4, 2024

I've unyanked 0.25.1 for now. Will be doing a 0.4.x release to deprecate librashader-spirv-cross later on.

Two justifications for yanking though (and I will be following through after librashader 0.4.x moves over to spirv-cross2)

  • librashader-spirv-cross is explicitly declared an implementation detail, and is effectively a private crate. One of the main impetodes for spirv-cross2 is that people started contributing to librashader-spirv-cross because it was the most active spirv_cross fork, and I don't want people using it.

  • spirv_cross and derivatives (particularly librashader-spirv-cross, because it just updates the C++ apis without checking if the bindings are used properly) are definitely unsound, which is more than enough reason to yank. Again getting rid of these soundness bugs was a major impetus for spirv-cross2, which has a much more carefully designed API around the stable C API.

@chyyran
Copy link
Member

chyyran commented Sep 4, 2024

I'll be moving the planned ABI breaking changes to 0.5.0 since that is more of a major interruption. If you're just working with the runtime APIs going from 0.3.x to 0.4.x will involve no changes on your end, it's mostly going to be breaking on reflect and presets APIs, particularly if you use CompilerAst.

@chyyran chyyran mentioned this issue Sep 4, 2024
@chyyran
Copy link
Member

chyyran commented Sep 7, 2024

Closing the loop on this issue

  • librashader 0.4.0 has been released, which switches completely over to spirv-cross2. While there are semver breaking changes, they are minor fixes if any and I recommend you upgrade as soon as possible.
  • All prior versions of librashader-spirv-cross have been yanked and remain yanked.
  • A 0.25.3 release has been published for librashader-spirv-cross that spews deprecation warnings everywhere. This will be the final version published, and will be yanked upon the release of librashader 0.5.0.

@chyyran
Copy link
Member

chyyran commented Oct 6, 2024

librashader-spirv-cross has been yanked as of the release of librashader 0.5.0

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

No branches or pull requests

2 participants