Subject: | Breaking behaviour in $key->user_ids when upgrading from 0.46 to 0.48 |
I was running GnuPG::Interface 0.46 and the following code worked fine:
my $gnupg = GnuPG::Interface->new;
foreach my $key ($gnupg->get_public_keys( $email )){
foreach my $uid ($key->user_ids){
# Do stuff with UID
}
}
Then I just did an "apt-get dist-upgrade" on my Debian Testing machine, and one of the packages it updated was GnuPG::Interface, to version 0.48. Now the above code is broken. It seems that "$uid" in the above code, is no longer a GnuPG::PublicKey, but is now an arrayref of GnuPG::PublicKey's.
One of the other packages this breaks is Mail::GnuPG. I had to patch my local version of Mail::GnuPG to deal with this. I've also submitted a bug report to that package:
https://rt.cpan.org/Ticket/Display.html?id=93797
You may have made this change on purpose, but it's not backwards compatible, breaks existing software, and I don't see it documented anywhere. Please restore the old behavior.