EDIT: Originally I thought it was just on new keyrings, so this bug was originally around creating keyrings, but I was mistaken.
This:
gpg --no-default-keyring --keyring /tmp/test.gpg --recv-key $keyid
Used to create a new keybox (/tmp/test.gpg) and import $keyid from the keyserver. Now it creates an empty keybox and does nothing with it:
$ gpg --no-default-keyring --keyring /tmp/test.gpg --recv-key $keyid gpg: keybox '/tmp/test.gpg' created gpg: key XXXXXXXXXXXXXXXX: no user ID gpg: Total number processed: 1 $ gpg --no-default-keyring --keyring /tmp/test.gpg --fingerprint $
Importing from a local file does, however still work.
It turns out that even if a keyring *exists* and has keys on it, it still doesn't do anything:
$ gpg --no-default-keyring --keyring /tmp/test.gpg --fingerprint DA94104883842826 gpg: error reading key: No public key $ gpg --no-default-keyring --keyring /tmp/test.gpg --recv-key DA94104883842826 gpg: key DA94104883842826: no user ID gpg: Total number processed: 1 $ gpg --no-default-keyring --keyring /tmp/test.gpg --fingerprint DA94104883842826 gpg: error reading key: No public key
This is problematic when trying to create, say, a new keyring for a keysigning party.