Tools not handling version resolution with embedded metadata

I've noticed that lots of tools are not handling correctly package version resolution if it contains metadata (+some.other.stuff appeneded).

cargo seems to work, but crates.io seem to ignore these, so does cargo-udeps, and cargo-crev (which I'm the author of, so I'd love to fix it).

Does anyone know why would that be, and what should these tools change to handle them correctly?

Here is the github issue I created in a repository of the project using it in case more context is needed: Release with metadata seems to break a lot of tools · Issue #688 · rust-rocksdb/rust-rocksdb · GitHub

I haven't looked at the udeps/crev behaviour in detail, but crates.io at least is acting correctly. It shows the semver greatest stable version and 6.20.3 is greater than 0.8.0.

1 Like

Oh yeah. I have not noticed. That's more of an issue.

Hmmm... Seems that after I upgraded cargo-crev to latest version it does work again, and similarly cargo-udeps.

So I'm guessing that latest version of cargo the library must have fixed something here.

A lot of libraries also rely on cargo-metadata, maybe there was an issue there that got fixed?