There are 61 Cargo.toml files on github containing the string pretty_assertions (as of 2017-10-18). I checked roughly 20 of them via blame. I compared the crate version in Cargo.toml with the most recent pretty_assertions version at the commit date the dependency was introduced.
Only 1 out of 20 crates (5%) was using an outdated version. Thats not a significant number. On the other hand 95% were using the most recent version at the time of introducing pretty_assertions.
So, at first glance it looks like (a) earlier versions of pretty_assertions just had more impact on the crates and (b) a lot of people are not updating their dependencies very regularly. Could that be it?
This would be my guess, and it’s particularly so for the nature of your crate. Presumably, people’s tests (assertions) don’t fire all that often, and so it’s probably not something someone would actively see if there’s a newer version of with better output.
It’d be cool if there was some RSS feed (or something) from crates.io telling someone a cargo.toml dependency in their project has a newer version; an IDE would be an ideal place to surface this, perhaps. Maybe this exists already, don’t know.
I really love the newer version of pretty-assertions, but even so I'm sure a couple of my older projects are still using an older version. I think it's just that you need to manually update the semver version in your Cargo.toml (because * versions are frowned upon), and like all manual things there's a good chance you'll forget about it or never get around to looking up the new version number.
It'd be nice if cargo update could let you know if there are newer versions of a dependency outside the range you've specified in Cargo.toml. I also use the cargo-edit package so adding a dependency is just a case of running cargo add pretty-assertions. But then that adds the strictest version number possible to your Cargo.toml, meaning we're back to the problem mentioned earlier.
cargo add does add a full version number, but an unadorned "1.2.3" is the same as a caret requirement "^1.2.3", which allows newer semver-compatible versions to be used. A simple cargo update should resolve to the newest possible. If it were "=1.2.3", this would allow only an exact match.