I stumbled across this today:
It is possible to specify both a registry version and a git or path location. The git or path dependency will be used locally (in which case the version is checked against the local copy), and when published to a registry like crates.io, it will use the registry version.
This likely means we can stop doing the "update dependencies to point at registry, release, update again to point back at git" dance in our releases.