v3.1.0: enhance the CLI
As reported in #201, the CLI had a couple of problems:
- It didn't allow empty user names, even on platforms where that's supported.
- Its debugging output on
Ambiguous
errors provided no information about the underlying platform credentials.
The first issue was just a bug, now fixed.
The second issue stemmed from the fact that platform-independent code couldn't get at the details of the underlying platform-specific credentials. To fix this, the CredentialAPI had to be extended to provide access to the underlying platform credential's implementation of the std::fmt::Debug
trait, and each of the keying credential stores extended to implement the new API.
To make this API extension backward-compatible, a default implementation was provided that did what the former code did: it revealed nothing. But that allows this release to be a SerVer-compatible dot release, rather than a major release.