File: changelog.rst

package info (click to toggle)
python-pgpy 0.6.0-1.4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,212 kB
  • sloc: python: 8,448; makefile: 155; sh: 10
file content (346 lines) | stat: -rw-r--r-- 11,397 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
:tocdepth: 2

*********
Changelog
*********

v0.6.0
======

Released: Nov 23, 2022

.. note::

New Features
------------
* added the ability to ignore usage flags

Bugs Fixed
----------
* accept passphrases formatted as ``bytes``
* default to 3DES when no preferred algorithms are supported
* generate TZ-aware datetime objects
* works with Cryptography 38

Other Changes
-------------

* dropped support for Python 2 and Python 3 <= 3.5
* renamed ``PGPOpenSSLCipherNotSupported`` to ``PGPOpenSSLCipherNotSupportedError``
* renamed ``PGPOpenSSLCipherNotSupported`` to ``PGPOpenSSLCipherNotSupportedError``
* renamed ``PGPInsecureCipher`` to ``PGPInsecureCipherError``
* fixed a bunch of typos
* improve code style, increase consistency

v0.5.4
======

Released: April 16, 2021

.. note::

    PGPy v0.5.x is still compatible with Python 2.7 and 3.4. Support for those versions will be dropped in PGPy v0.6.0.

Bugs Fixed
----------

* Fixed compatibility break with Python < 3.8 (#368)
* Fixed importing ABCs from ``collections`` (#328)

Other Changes
-------------

* Documentation updates


v0.5.3
======

Released: October 6, 2020

.. warning::

    This is the last release that will support Python 2.7 and 3.4. Future releases will require Python 3.5 or greater.

Bugs fixed
----------

* Passphrases are now encoded as utf-8 instead of latin-1 (#294)
* PGPUIDs without a selfsig no longer cause crashes (#315)
* Fixed dash un-escaping to be applied unconditionally (#341, #342)
* Fix the ordering of one-pass signatures (#302)

Other Changes
-------------

* Updated unit tests to use `gpg 1.10 <https://pypi.org/project/gpg/1.10.0/>`_
* Lots of documentation updates and cleanup

v0.5.2
======

Released: August 1, 2019

Bugs Fixed
----------

 * Signature subpackets of type 0 cause an infinite parse loop (#252)

v0.5.0
======
Released: August 1, 2019

New Features
------------

 * Add support for Curve25519
 * Greatly improved Elliptic Curve Point format handling code (special thanks @rot42)
 * Add support for IssuerFingerprint subpackets (thanks @J08nY)
 * Add support for Key Revocation signatures

Bugs Fixed
----------

 * PGPy now correctly resynchronizes the block cipher stream when decrypting EncryptedDataPackets (the ones without MDC). (#160)
 * PGPy now correctly defaults to SHA256 for keys that have no hash preferences set

Other Changes
-------------

 * updated library dependencies and unit tests

v0.4.3
======

Released: August 16, 2017

Bugs Fixed
----------

 * Private key checksum calculations were not getting stored for ECDSA keys; this has been fixed.
 * The test suite gpg wrappers have been replaced with use of the `gpg <https://pypi.python.org/pypi/gpg/1.8.0>`_ package. (#171)

v0.4.2
======

Released: August 9, 2017

New Features
------------

 * Packets with partial body lengths can now be parsed. For now, these packets are converted to have definite lengths instead. (#95) (#208)

Bugs Fixed
----------
 * Private key checksums are now calculated correctly (#172)
 * PGPKey.decrypt was mistakenly using message.issuers instead of message.encrypters when determining whether or not the key was eligible
   to attempt decrypting the message (#183)
 * Fixed an issue with parsing some cleartext messages (#184)
 * Fixed signing already-encrypted messages (encrypt-then-sign) (#186) (#191)
 * PGP*.from_blob now correctly raises an exception if given zero-length input (#199) (#200)
 * Fixed an issue where PGPKey.decrypt would fail with an arcane traceback if the key is passphrase-protected and not unlocked. (#204)

v0.4.1
======

Released: April 13, 2017

Bugs Fixed
----------
 * Fixed an issue with dearmoring ASCII-armored PGP blocks with windows-style newlines (#156)
 * Improved the robustness of the code that tunes the hash count for deriving symmetric encryption keys (#157)
 * Fixed an issue with how public keys are created from private keys that was causing exports to become malformed (#168)
 * Added explicit support for Python 3.6 (#166)

New Features
------------
 * Added support for Brainpool Standard curves for users who have OpenSSL 1.0.2 available

v0.4.0
======

Released: April 21, 2016

Bugs Fixed
----------
 * Armorable.from_blob was incorrectly not accepting bytes objects; this has been fixed (#140)
 * Fixed an issue where string-formatting PGPUID objects would sometimes raise an exception (#142)
 * Occasionally, the ASN.1 encoding of DSA signatures was being built in a way that although GPG could parse and verify them,
   it was incorrect, and PGPy incorrectly failed to verify them. (#143)
 * Fixed an issue where keys with expiration dates set would have the wrong value returned from the ``key.is_expired`` property (#151)
 * Fixed an issue where PGPy would try to incorrectly coerce non-ASCII-compatible characters to ASCII-compatible bytes, potentially resulting in mojibake. (#154)

New Features
------------
 * ECDSA and ECDH keys can now be loaded (#109, #110)
 * Keys can be generated with the following algorithms:

   - RSA
   - DSA
   - ECDSA
   - ECDH

 * Keys can now be passphrase-protected. It is also possible to change the passphrase on a key that is already protected. (#149)
 * ECDSA keys can now be used to sign and verify (#111)
 * ECDH keys can now be used to encrypt and decrypt
 * It is now possible to recover a public key from a private key (#92)
 * Marker packets are now understood

Other Changes
-------------
 * Removed support for Python 3.2, as multiple dependency libraries have already done so
 * Added explicit support for Python 3.5
 * Updated library dependencies where required or useful
 * Reworked some IO-intensive routines to be less IO-intensive, and therefore faster

v0.3.0
======

Released: November 19, 2014

PGPy v0.3.0 is a major feature release.

.. warning::
    The API changed significantly in this version. It is likely that anything using a previous version will need to be
    updated to work correctly with PGPy 0.3.0 or later.

Bugs Fixed
----------
 * When keys are exported, any certification signatures that are marked as being non-exportable are now skipped (#101)
 * When the wrong key is used to validate a signature, the error message in the raised exception
   now makes that clear (#106)

New Features
------------
 * Standalone signatures can now be generated
 * Can now specify which User ID to use when signing things (#121)
 * Can now create new User IDs and User Attributes (#118)
 * Can now add new User IDs and User Attributes to keys (#119)
 * Timestamp signatures can now be generated
 * Can now sign keys, user ids, and user attributes (#104)
 * Can now create new PGPMessages (#114)
 * Key flags are now respected by PGPKey objects (#99)
 * Multiple signatures can now be validated at once in cases where that makes sense, such as when validating
   self-signatures on keys/user ids (#120)
 * Message signatures can now be verified (#117)
 * Messages can now be encrypted/decrypted using a passphrase (#113)
 * Cleartext messages can now be created and signed (#26)
 * Cleartext messages with inline signatures can now be verified (#27)
 * Messages can now be loaded (#102)
 * Messages can now be compressed (#100)

Other Changes
-------------
 * CRC24 computation is now much faster than previous versions (#68)
 * PGPKey and PGPKeyring APIs have changed significantly (#76)
 * String2Key computation is now much faster than previous versions (#94)
 * key material parts are now stored as integers (or ``long`` on Python 2.x) (#94)

v0.2.3
======

Released: July 31, 2014

PGPy v0.2.3 is a bugfix release

Bugs Fixed
----------
 * Fixed an issue where explicitly selecting a key and then trying to validate with it would erroneously raise an exception as though the wrong key were selected.

v0.2.2
======

Released: July 31, 2014

PGPy v0.2.2 is primarily a bugfix release.

Bugs Fixed
----------
 * Fixed a typo that would cause TypeError to be raised as bytecode was being generated (#85)
 * Fixed an issue where unicode input on Python 2.7 could result in unexpected UnicodeDecodeError exceptions being raised

New Features
------------
 * Switched the main parse loop to use a bytearray instead of slicing a bytes, resulting in a ~160x speedup in parsing large blocks of passing. (#87)

v0.2.1
======

Released: July 31, 2014

PGPy v0.2.1 is primarily a bugfix release.

Bugs Fixed
----------

 * Critical bit on signature subpackets was being ignored, and when set, causing a ValueError to be raised when trying to parse it.
   The critical bit is now being parsed and masked out correctly. (#81)
 * No longer raises exceptions on unrecognized subpackets; instead, it now treats them as opaque.
 * No longer raises exceptions on unrecognized packets; instead, it now treats them as opaque.
   This also applies to signature and key packets with versions other than v4.
 * Fixed an issue where a User ID packet that lacked both a comment and an email address was failing to be found by the uid regex in KeyCollection.
 * Fixed an issue where an old-format packet header with a length_type set longer than needed was resulting in the packet getting truncated.
 * Fixed an issue where parsing a subpacket with a 2-byte length was erroneously being parsed as a 5-byte length.
 * Fixed an issue where parsing a subpacket with a 5-byte length where the value was < 8434 was causing an error
 * Fixed an issue where a packet or subpacket reporting a value marked reserved in RFC 4880 would cause ValueError to be raised during parsing.
 * Key material marked as public key algorithm 20 (Reserved - Formerly ElGamal Encrypt or Sign) is now parsed as ElGamal key material.
 * Fixed an issue where parsing a new-format packet header length where the first octet was 223 was erroneously reported as being malformed.

New Features
------------
 * Added support for parsing the 'Preferred Key Server' signature subpacket
 * Added support for loading unsupported or unrecognized signature subpackets.
 * Added support for loading unsupported or unrecognized packets.

v0.2.0
======

Released: July 20, 2014

Starting with v0.2.0, PGPy is now using the BSD 3-Clause license. v0.1.0 used the MIT license.

New Features
------------

 * Subkeys can now be accessed and used for actions supported by PGPKeyring (#67)
 * DSA:

   - Signing of binary documents now works (#16)
   - Verification of signatures of binary documents now works (#15)

 * Can now decrypt secret key material that was encrypted using:

   - Camellia128 (#36)
   - Camellia192 (#37)
   - Camellia256 (#38)
   - AES128 (#32)
   - AES192 (#33)
   - AES256 (#34)
   - Blowfish (#31)
   - Triple-DES (#30)
   - IDEA (#29)

 * PGP packets generated by PGPy now exclusively use new-style header lengths (#47)
 * GPG Trust Packets are now understood and fully parsed (#14)
 * Lots more packet types are now fully parsed

Known Issues
------------

 * Signing with 1024-bit DSA keys does not work with OpenSSL 0.9.8 (#48) - this primarily affects Mac OS X.
 * Verifying signatures signed with any DSA key length other than 2048-bits does not work with OpenSSL 0.9.8 -
   this primarily affects Mac OS X.

Bugs Fixed
----------

 * PGP blocks loaded from ASCII armored blocks now retain their ASCII headers (#54)
 * PGP new-style packet headers were not being properly parsed in all cases
 * Many unit test enhancements

v0.1.0
======

Released: May 02, 2014

 * Initial release.