< May 2020 | Russ Allbery > Eagle's Path | July 2020 > |
Along with the normal selection of science fiction and fantasy, a few radical publishers have done book giveaways due to the current political crisis in the United States. I've been feeling for a while like I've not done my homework on diverse political theory, so I downloaded those. (That's the easy part; making time to read them is the hard part, and we'll see how that goes.)
Yarimar Bonilla & Marisol LeBrón (ed.) — Aftershocks of Disaster
(non-fiction anthology)
Jordan T. Camp & Christina Heatherton (ed.) — Policing the Planet
(non-fiction anthology)
Zachary D. Carter — The Price of Peace (non-fiction)
Justin Akers Chacón & Mike Davis — No One is Illegal
(non-fiction)
Grace Chang — Disposable Domestics (non-fiction)
Suzanne Collins — The Ballad of Songbirds and Snakes (sff)
Angela Y. Davis — Freedom is a Constant Struggle (non-fiction)
Danny Katch — Socialism... Seriously (non-fiction)
Naomi Klein — The Battle for Paradise (non-fiction)
Naomi Klein — No is Not Enough (non-fiction)
Naomi Kritzer — Catfishing on CatNet (sff)
Derek Künsken — The Quantum Magician (sff)
Rob Larson — Bit Tyrants (non-fiction)
Michael Löwy — Ecosocialism (non-fiction)
Joe Macaré, Maya Schenwar, et al. (ed.) — Who Do You Serve, Who Do
You Protect? (non-fiction anthology)
Tochi Onyebuchi — Riot Baby (sff)
Sarah Pinsker — A Song for a New Day (sff)
Lina Rather — Sisters of the Vast Black (sff)
Marta Russell — Capitalism and Disbility (non-fiction)
Keeanga-Yamahtta Taylor — From #BlackLivesMatter to Black
Liberation (non-fiction)
Keeanga-Yamahtta Taylor (ed.) — How We Get Free (non-fiction
anthology)
Linda Tirado — Hand to Mouth (non-fiction)
Alex S. Vitale — The End of Policing (non-fiction)
C.M. Waggoner — Unnatural Magic (sff)
Martha Wells — Network Effect (sff)
Kai Ashante Wilson — Sorcerer of the Wildeeps (sff)
This is the first new release of PGP::Sign in 13 years, so it's long-overdue. I have finally updated it in preparation for creating a new, more modern signing key for the Big Eight Usenet hierarchies and issuing control messages with both the old and new keys, using GnuPG v2 for the new key.
The biggest change in this release is that it drops support for all OpenPGP implementations other than GnuPG, and adds support for GnuPG v2. I think some of the other PGP implementations are still around, but I haven't seen them in years and have no way to test against them, so it didn't seem worthwhile to continue to support them. GnuPG v2 support is obviously long-overdue, given that we're getting close to the point where GnuPG v1 will start disappearing from distributions. The default backend is now GnuPG v2, although the module can be configured to use GnuPG v1 instead.
This release also adds a new object-oriented API. When I first wrote this module, it was common in the Perl community to have functional APIs configured with global variables. Subsequently we've learned this is a bad idea for a host of reasons, and I finally got around to redoing the API. It's still not perfect (in particular, the return value of the verify method is still a little silly), but it's much nicer. The old API is still supported, implemented as a shim in front of the new API.
A few other, more minor changes in this release:
Status output from GnuPG is now kept separate from human-readable log and error output for more reliable parsing.
Pass --allow-weak-digest-algos
to GnuPG so it can use old keys
and verify signatures from old keys, such as those created with PGP
2.6.2.
pgp_sign, when called in array context, now always returns "GnuPG" as the version string, and the version passed into pgp_verify is always ignored. Including the OpenPGP implementation version information in signatures is obsolete; GnuPG no longer does it by default and it serves no useful purpose.
When calling pgp_sign multiple times in the same process with whitespace munging enabled, trailing whitespace without a newline could have leaked into the next invocation of pgp_sign, resulting in an invalid signature. Clear any remembered whitespace between pgp_sign invocations.
It also now uses IPC::Run and File::Temp instead of hand-rolling equivalent functionality, and the module build system is now Module::Build.
You can get the latest version from CPAN or from the PGP::Sign distribution page.
< May 2020 | Russ Allbery > Eagle's Path | July 2020 > |