Highlights
pem has grown support for OpenPGP public and private keys (please don't use PGP if you can help it) and now allows to directly access the payload sans envelope, and possible in-payload headers!
Also lots of polish in all corners!
Special Thanks
This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!
Above and Beyond
Variomedia AG (@variomedia), Tidelift (@tidelift), Sentry (@getsentry), HiredScore (@HiredScore), FilePreviews (@filepreviews), and Daniel Fortunov (@asqui).
Maintenance Sustainers
Adam Hill (@adamghill), Dan Groshev (@si14), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Moving Content AG (@moving-content), Stein Magnus Jodal (@jodal), ProteinQure (@ProteinQure), Jesse Snyder (@jessesnyder), Rivo Laks (@rivol), Tom Ballinger (@thomasballinger), Ionel Cristian Mărieș (@ionelmc), The Westervelt Company (@westerveltco), Philippe Galvan (@PhilippeGalvan), Birk Jernström (@birkjernstrom), Tim Schilling (@tim-schilling), Chris Withers (@cjw296), Christopher Dignam (@chdsbd), Stefan Hagen (@sthagen), Yarden zamir (@Yarden-zamir), and zorazen (@ZoraZen).
Not to forget 3 more amazing humans who chose to be generous but anonymous!
Full Changelog
Removed
- Support for Python 2.7, 3.5, and 3.6 has been dropped.
Added
- Support for RFC 4880 OpenPGP private & public keys:
pem.OpenPGPPublicKey
andpem.OpenPGPPrivateKey
. #72 - Support for intra-payload headers like the ones used in OpenPGP keys using the
meta_headers
property. #75 pem.parse_file()
now accepts alsopathlib.Path
objects.pem.parse()
now also acceptsstr
.- Added
text_payload
,bytes_payload
anddecoded_payload
properties to all PEM objects that allow to directly access the payload without the envelope and possible headers. #74