Issues found
Based on crates you own that have been published to crates.io. The best way to monitor these issues is to subscribe to the atom feed in your RSS reader.
nvml-wrapper, nvml-wrapper-sys
The Cargo package has no git commit information
Before publishing a package, make sure all packaged files are committed to the repository, and there are no "dirty" files. Push this commit to crate's public repository.
To protect against supply chain attacks similar to CVE-2024-3094, lib.rs will soon start flagging non-reproducible packages without public source code as suspicious. Currently only git repositories are supported (but may be hosted anywhere, not just GitHub). If you'd like a different SCM supported, please file a feature request.
nvml-wrapper
Dependency thiserror 1.0 is a bit outdated
Consider upgrading to 2.0.12 to get all the fixes and improvements.
Easy way to bump dependencies:
cargo install cargo-edit; cargo upgrade -i
; Also check out Dependabot service on GitHub.
steamworks
Dependency bitflags 1.2 is outdated
Upgrade to 2.9.0 to get all the fixes, and avoid causing duplicate dependencies in projects.
Dependency thiserror 1.0 is a bit outdated
Consider upgrading to 2.0.12 to get all the fixes and improvements.
License MIT / Apache-2.0 is not in SPDX syntax
Use
OR
instead of/
.
steamworks-sys
*-sys crate without links property
If this crate uses C libraries with public symbols, consider adding
links = "steamworks"
to crate'sCargo.toml
to avoid other libraries colliding with them. Note that the links property adds exclusivity to dependency resolution, but doesn't do any linking.This is also needed to protect your crate from duplicate older versions of itself. C symbols are global, and duplicate symbols can cause all sorts of breakage.
Dependency bindgen 0.69.2 is outdated
Upgrade to 0.71.1 to get all the fixes, and avoid causing duplicate dependencies in projects.
In Cargo, different 0.x versions are considered incompatible, so this is a semver-major upgrade.
License MIT / Apache-2.0 is not in SPDX syntax
Use
OR
instead of/
.Missing categories
Categories improve browsing of lib.rs and crates.io. Add
categories = ["game-development"]
to theCargo.toml
.Even if there are no categories that fit precisely, pick one that is least bad. You can also propose new categories in crates.io issue tracker.
Missing keywords
Help users find your crates. Add
keywords = ["sdk", "steamworks", "game"]
(up to 5) to theCargo.toml
. Best keywords are alternative terms or their spellings that aren't in the name or description. Also add a keyword that precisely categorizes this crate and groups it with other similar crates.Optional dependency 'bindgen' exposed as an implicit feature
Cargo automatically makes publicly-available crate features for every optional dependency, unless the dependencies are referenced using
dep:
syntax. Feature 'bindgen' may have been unintentional.Published crate contains binary files
The crate contains binary files (ELF lib, Windows DLL, static library). Crates are meant to be compiled from source. Please check that you haven't published temporary build files by accident. If you have test fixtures, consider excluding them from crates-io tarball, since Cargo doesn't run tests from crates-io packages.
README missing from crate tarball
Cargo sometimes fails to package the
README
file. Ensure the path to theREADME
inCargo.toml
is valid, and points to a file inside the crate's directory.
mcping
Dependency trust-dns-resolver 0.20 is significantly outdated
Upgrade to 0.23.2 to get all the fixes, and avoid causing duplicate dependencies in projects.
Dependency rand 0.8 is a bit outdated
Consider upgrading to 0.9.0 to get all the fixes and improvements.
Dependency thiserror 1 is a bit outdated
Consider upgrading to 2.0.12 to get all the fixes and improvements.
Imprecise dependency requirement byteorder = 1
Cargo does not always pick latest versions of dependencies! Specify the version as
byteorder = "1.5.0"
. IfCargo.lock
ends up having an unexpectedly old version of the dependency, you might get a dependency that lacks features/APIs or important bugfixes that you depend on. This is most likely to happen when using theminimal-versions
flag, used by users of old Rust versions.If you want to keep using truly minimal dependency requirements, please make sure you test them in CI with
-Z minimal-versions
Cargo option, because it's very easy to accidentally use a feature added in a later version.Latest stable release is old
It's been over 4 years. Is this crate still maintained? Make a new release, either to refresh it, or to set
[badges.maintenance] status = "deprecated"
(or
"as-is"
,"passively-maintained"
).If the crate is truly stable, why not make a 1.0.0 release?
mc-legacy-formatting
Buggy README path
The non-local path to readme specified as
\.\./README\.md
exposes a bug in Cargo. Please use a path inside the crate's directory. Symlinks are okay. Please verify the change doesn't break any repo-relative URLs in the README.Dependency bitflags 1.2 is outdated
Upgrade to 2.9.0 to get all the fixes, and avoid causing duplicate dependencies in projects.
Dependency colored 2.0 is a bit outdated
Consider upgrading to 3.0.0 to get all the fixes and improvements.
Latest stable release is old
It's been over 4 years. Is this crate still maintained? Make a new release, either to refresh it, or to set
[badges.maintenance] status = "deprecated"
(or
"as-is"
,"passively-maintained"
).README missing from crate tarball
Cargo sometimes fails to package the
README
file. Ensure the path to theREADME
inCargo.toml
is valid, and points to a file inside the crate's directory.
wrapcenum-derive
License MIT/Apache-2.0 is not in SPDX syntax
Use
OR
instead of/
.
If some of these crates are unmaintained and shouldn't be checked, yank them or add [badges.maintenance]
to their
status = "deprecated"Cargo.toml
.