blob: 6af5d1c810ff7f79f5e2dad2be73ed97c4f7d0fd [file] [log] [blame]
Matthew Iversen69a6fad2014-02-25 02:10:44 +11001Changelog
2=========
3
Paul Kehrer08120d72014-12-17 21:37:58 -060040.8 - `master`_
5~~~~~~~~~~~~~~~
6
7.. note:: This version is not yet released and is under active development.
8
Alex Gaynor5d66ca52014-12-25 18:39:39 -08009* :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` can
10 now load elliptic curve public keys.
Paul Kehrer836b8302015-01-18 09:42:58 -060011* Added
Paul Kehrer8802a5b2015-02-13 12:06:57 -060012 :attr:`~cryptography.x509.Certificate.signature_hash_algorithm` support to
Paul Kehrerb0a80392015-02-11 23:39:49 -060013 :class:`~cryptography.x509.Certificate`.
14* Added
Paul Kehrer836b8302015-01-18 09:42:58 -060015 :func:`~cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors`
Paul Kehrer48402ff2015-02-16 15:31:52 -060016* :class:`~cryptography.hazmat.primitives.kdf.KeyDerivationFunction` was moved
17 from :mod:`~cryptography.hazmat.primitives.interfaces` to
18 :mod:`~cryptography.hazmat.primitives.kdf`.
Paul Kehrer2636e4a2015-02-13 08:40:36 -060019* :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and
20 :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from
21 :mod:`~cryptography.hazmat.primitives.interfaces` to
22 :mod:`~cryptography.hazmat.primitives.hashes`.
Paul Kehrer7c5c9fe2015-02-14 10:27:14 -060023* :class:`~cryptography.hazmat.primitives.ciphers.CipherContext`,
24 :class:`~cryptography.hazmat.primitives.ciphers.AEADCipherContext`,
25 :class:`~cryptography.hazmat.primitives.ciphers.AEADEncryptionContext`,
26 :class:`~cryptography.hazmat.primitives.ciphers.CipherAlgorithm`, and
27 :class:`~cryptography.hazmat.primitives.ciphers.BlockCipherAlgorithm`
Paul Kehrer4ab60592015-02-13 09:06:48 -060028 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
Paul Kehrer7c5c9fe2015-02-14 10:27:14 -060029 :mod:`~cryptography.hazmat.primitives.ciphers`.
Paul Kehrer4ab60592015-02-13 09:06:48 -060030* :class:`~cryptography.hazmat.primitives.ciphers.modes.Mode`,
31 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithInitializationVector`,
32 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithNonce`, and
33 :class:`~cryptography.hazmat.primitives.ciphers.modes.ModeWithAuthenticationTag`
34 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
35 :mod:`~cryptography.hazmat.primitives.ciphers.modes`.
36* :class:`~cryptography.hazmat.primitives.padding.PaddingContext` was moved
37 from :mod:`~cryptography.hazmat.primitives.interfaces` to
38 :mod:`~cryptography.hazmat.primitives.padding`.
Paul Kehrera308f9f2015-02-16 13:40:03 -060039*
40 :class:`~cryptography.hazmat.primitives.asymmetric.padding.AsymmetricPadding`
41 was moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
42 :mod:`~cryptography.hazmat.primitives.asymmetric.padding`.
Paul Kehrer0d6203f2015-02-16 13:17:14 -060043*
44 :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricSignatureContext`
45 and
46 :class:`~cryptography.hazmat.primitives.asymmetric.AsymmetricVerificationContext`
47 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
48 :mod:`~cryptography.hazmat.primitives.asymmetric`.
Alex Stapletonf48f69d2015-01-18 15:57:28 +000049* :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`,
50 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParametersWithNumbers`,
51 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`,
52 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithNumbers`,
53 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey` and
54 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithNumbers`
55 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
56 :mod:`~cryptography.hazmat.primitives.asymmetric.dsa`
Paul Kehrerfb88e182015-02-12 00:11:08 -060057* :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`,
58 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurveSignatureAlgorithm`,
59 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`,
60 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithNumbers`,
61 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`,
62 and
63 :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithNumbers`
64 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
65 :mod:`~cryptography.hazmat.primitives.asymmetric.ec`.
Alex Stapletonf79c2312014-12-30 12:50:14 +000066* :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`,
67 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithNumbers`,
68 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey` and
69 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithNumbers`
70 were moved from :mod:`~cryptography.hazmat.primitives.interfaces` to
71 :mod:`~cryptography.hazmat.primitives.asymmetric.rsa`.
Paul Kehrer719d5362015-01-01 20:03:52 -060072* Added support for parsing X.509 names. See the
73 :doc:`X.509 documentation</x509>` for more information.
Steven McDonald27e6b9c2015-02-18 16:37:03 +110074* Fixed building against LibreSSL, a compile-time substitute for OpenSSL.
Paul Kehrer77f540d2015-02-20 12:53:04 -060075* FreeBSD 9.2 was removed from the continuous integration system.
Alex Gaynor5d66ca52014-12-25 18:39:39 -080076
Paul Kehrer72572f92015-01-16 08:10:12 -0600770.7.2 - 2015-01-16
78~~~~~~~~~~~~~~~~~~
79
80* Updated Windows wheels to be compiled against OpenSSL 1.0.1l.
81* ``enum34`` is no longer installed on Python 3.4, where it is included in
82 the standard library.
83* Added a new function to the OpenSSL bindings to support additional
84 functionality in pyOpenSSL.
85
Paul Kehrer842e58a2014-12-28 15:17:39 -0700860.7.1 - 2014-12-28
87~~~~~~~~~~~~~~~~~~
88
89* Fixed an issue preventing compilation on platforms where ``OPENSSL_NO_SSL3``
90 was defined.
91
Paul Kehrere8135092014-12-17 14:20:40 -0600920.7 - 2014-12-17
93~~~~~~~~~~~~~~~~
Paul Kehrer98681332014-09-29 21:43:57 -050094
Alex Gaynordf6a5cd2014-11-07 09:36:47 -030095* Cryptography has been relicensed from the Apache Software License, Version
96 2.0, to being available under *either* the Apache Software License, Version
97 2.0, or the BSD license.
Alex Gaynor4c825132014-10-20 21:27:08 -070098* Added key-rotation support to :doc:`Fernet </fernet>` with
99 :class:`~cryptography.fernet.MultiFernet`.
Paul Kehrer214d91d2014-12-18 07:20:04 -0600100* More bit-lengths are now supported for ``p`` and ``q`` when loading DSA keys
Alex Gaynora438e832014-10-19 19:47:05 -0700101 from numbers.
Terry Chiaff5ec862014-10-20 12:15:22 +0800102* Added :class:`~cryptography.hazmat.primitives.interfaces.MACContext` as a
103 common interface for CMAC and HMAC and deprecated
104 :class:`~cryptography.hazmat.primitives.interfaces.CMACContext`.
Paul Kehrerb3a3e5c2014-11-27 11:27:32 -1000105* Added support for encoding and decoding :rfc:`6979` signatures in
106 :doc:`/hazmat/primitives/asymmetric/utils`.
Mark Adams78a7d1c2014-12-12 23:13:12 -0600107* Added
Alex Gaynor993b85a2014-12-15 10:42:45 -0800108 :func:`~cryptography.hazmat.primitives.serialization.load_ssh_public_key` to
Paul Kehrere8135092014-12-17 14:20:40 -0600109 support the loading of OpenSSH public keys (:rfc:`4253`). Only RSA and DSA
110 keys are currently supported.
Paul Kehrere76cd272014-12-14 19:00:51 -0600111* Added initial support for X.509 certificate parsing. See the
112 :doc:`X.509 documentation</x509>` for more information.
Terry Chiac7c82f32014-10-20 12:15:22 +0800113
Paul Kehrer555b1502014-10-15 23:24:57 -05001140.6.1 - 2014-10-15
115~~~~~~~~~~~~~~~~~~
116
117* Updated Windows wheels to be compiled against OpenSSL 1.0.1j.
118* Fixed an issue where OpenSSL 1.0.1j changed the errors returned by some
119 functions.
120* Added our license file to the ``cryptography-vectors`` package.
121* Implemented DSA hash truncation support (per FIPS 186-3) in the OpenSSL
122 backend. This works around an issue in 1.0.0, 1.0.0a, and 1.0.0b where
123 truncation was not implemented.
124
Paul Kehrerc3f11d82014-09-29 20:31:15 -05001250.6 - 2014-09-29
126~~~~~~~~~~~~~~~~
Paul Kehrer1757fe32014-07-07 22:29:23 -0500127
Alex Gaynoref823342014-09-27 12:04:22 -0400128* Added
129 :func:`~cryptography.hazmat.primitives.serialization.load_pem_private_key` to
130 ease loading private keys, and
131 :func:`~cryptography.hazmat.primitives.serialization.load_pem_public_key` to
132 support loading public keys.
Alex Gaynor1658f942014-07-08 00:02:37 -0700133* Removed the, deprecated in 0.4, support for the ``salt_length`` argument to
134 the :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1`
135 constructor. The ``salt_length`` should be passed to
136 :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS` instead.
Paul Kehrerf4fbf392014-08-21 08:36:49 -1000137* Fix compilation on OS X Yosemite.
Paul Kehrer77e95a02014-09-25 12:28:07 -0500138* Deprecated ``elliptic_curve_private_key_from_numbers`` and
139 ``elliptic_curve_public_key_from_numbers`` in favor of
140 ``load_elliptic_curve_private_numbers`` and
141 ``load_elliptic_curve_public_numbers`` on
142 :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600143* Added ``EllipticCurvePrivateKeyWithNumbers`` and
144 ``EllipticCurvePublicKeyWithNumbers`` support.
Paul Kehrerf378e402014-09-27 11:28:42 -0500145* Work around three GCM related bugs in CommonCrypto and OpenSSL.
Paul Kehrer4c773652014-09-27 11:26:02 -0500146
147 * On the CommonCrypto backend adding AAD but not subsequently calling update
148 would return null tag bytes.
149
150 * One the CommonCrypto backend a call to update without an empty add AAD call
151 would return null ciphertext bytes.
152
153 * On the OpenSSL backend with certain versions adding AAD only would give
154 invalid tag bytes.
155
156* Support loading EC private keys from PEM.
Alex Gaynor1658f942014-07-08 00:02:37 -0700157
Paul Kehrer01f0c672014-08-20 20:15:18 -10001580.5.4 - 2014-08-20
159~~~~~~~~~~~~~~~~~~
160
161* Added several functions to the OpenSSL bindings to support new
162 functionality in pyOpenSSL.
163* Fixed a redefined constant causing compilation failure with Solaris 11.2.
164
Paul Kehrer86cf5b12014-08-07 05:38:17 -10001650.5.3 - 2014-08-06
166~~~~~~~~~~~~~~~~~~
167
168* Updated Windows wheels to be compiled against OpenSSL 1.0.1i.
169
Paul Kehrer2456e662014-07-09 19:51:32 -05001700.5.2 - 2014-07-09
171~~~~~~~~~~~~~~~~~~
172
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600173* Add ``TraditionalOpenSSLSerializationBackend`` support to
174 :doc:`/hazmat/backends/multibackend`.
Paul Kehrer2456e662014-07-09 19:51:32 -0500175* Fix compilation error on OS X 10.8 (Mountain Lion).
176
Paul Kehrerf092d732014-07-07 19:42:15 -05001770.5.1 - 2014-07-07
178~~~~~~~~~~~~~~~~~~
179
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600180* Add ``PKCS8SerializationBackend`` support to
181 :doc:`/hazmat/backends/multibackend`.
Paul Kehrerf092d732014-07-07 19:42:15 -0500182
Paul Kehrer3c6a2392014-07-07 08:29:07 -05001830.5 - 2014-07-07
184~~~~~~~~~~~~~~~~
Paul Kehrer50a04852014-05-03 08:57:13 -0500185
Alex Gaynor8f1b8e82014-06-29 20:43:29 -0700186* **BACKWARDS INCOMPATIBLE:**
187 :class:`~cryptography.hazmat.primitives.ciphers.modes.GCM` no longer allows
188 truncation of tags by default. Previous versions of ``cryptography`` allowed
189 tags to be truncated by default, applications wishing to preserve this
Alex Gaynor4efe61a2014-06-29 20:44:53 -0700190 behavior (not recommended) can pass the ``min_tag_length`` argument.
Paul Kehrer8987bcb2014-07-06 09:28:29 -0500191* Windows builds now statically link OpenSSL by default. When installing a
Paul Kehrer3df9a312014-07-06 09:25:29 -0500192 wheel on Windows you no longer need to install OpenSSL separately. Windows
193 users can switch between static and dynamic linking with an environment
194 variable. See :doc:`/installation` for more details.
Paul Kehrer88bac252014-05-21 12:42:13 -0500195* Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDFExpand`.
Paul Kehrer2a947c42014-05-15 17:22:08 -0400196* Added :class:`~cryptography.hazmat.primitives.ciphers.modes.CFB8` support
197 for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.AES` and
198 :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on
199 :doc:`/hazmat/backends/commoncrypto` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer055f9602014-05-20 23:21:26 -0500200* Added ``AES`` :class:`~cryptography.hazmat.primitives.ciphers.modes.CTR`
201 support to the OpenSSL backend when linked against 0.9.8.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600202* Added ``PKCS8SerializationBackend`` and
203 ``TraditionalOpenSSLSerializationBackend`` support to the
204 :doc:`/hazmat/backends/openssl`.
Paul Kehrer21fc5822014-07-04 09:28:55 -0500205* Added :doc:`/hazmat/primitives/asymmetric/ec` and
206 :class:`~cryptography.hazmat.backends.interfaces.EllipticCurveBackend`.
Paul Kehrerd1bac5e2014-06-13 12:34:49 -0500207* Added :class:`~cryptography.hazmat.primitives.ciphers.modes.ECB` support
208 for :class:`~cryptography.hazmat.primitives.ciphers.algorithms.TripleDES` on
209 :doc:`/hazmat/backends/commoncrypto` and :doc:`/hazmat/backends/openssl`.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600210* Deprecated the concrete ``RSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600211 specific providers of the
212 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
213 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600214* Deprecated the concrete ``RSAPublicKey`` in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600215 providers of the
216 :class:`cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`
217 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600218* Deprecated the concrete ``DSAPrivateKey`` class in favor of backend
Paul Kehrera10be692015-02-12 12:58:27 -0600219 specific providers of the
220 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`
221 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600222* Deprecated the concrete ``DSAPublicKey`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600223 providers of the
224 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`
225 interface.
Paul Kehrer45efdbc2015-02-12 10:58:22 -0600226* Deprecated the concrete ``DSAParameters`` class in favor of backend specific
Paul Kehrera10be692015-02-12 12:58:27 -0600227 providers of the
228 :class:`cryptography.hazmat.primitives.asymmetric.dsa.DSAParameters`
229 interface.
Paul Kehrerf2fb02a2014-06-19 10:16:42 -0600230* Deprecated ``encrypt_rsa``, ``decrypt_rsa``, ``create_rsa_signature_ctx`` and
231 ``create_rsa_verification_ctx`` on
232 :class:`~cryptography.hazmat.backends.interfaces.RSABackend`.
Paul Kehrer1262be22014-06-26 16:16:50 -0600233* Deprecated ``create_dsa_signature_ctx`` and ``create_dsa_verification_ctx``
234 on :class:`~cryptography.hazmat.backends.interfaces.DSABackend`.
Paul Kehrerbb91c812014-05-12 15:03:04 -0400235
Paul Kehrer95862012014-05-01 16:48:05 -05002360.4 - 2014-05-03
237~~~~~~~~~~~~~~~~
Paul Kehrer3d4eb6e2014-03-27 16:27:31 -0500238
Paul Kehrerba987452014-04-02 17:12:26 -0500239* Deprecated ``salt_length`` on
240 :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` and added it
Alex Gaynor9963cb32014-07-12 09:35:33 -0700241 to :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`. It will
Alex Gaynor2e49f212014-07-12 10:58:30 -0700242 be removed from ``MGF1`` in two releases per our :doc:`/api-stability`
Alex Gaynor9963cb32014-07-12 09:35:33 -0700243 policy.
244* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.SEED`
245 support.
Ayrx9bea9372014-04-22 21:00:34 +0800246* Added :class:`~cryptography.hazmat.primitives.cmac.CMAC`.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700247* Added decryption support to
248 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
249 and encryption support to
250 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`.
Paul Kehrer80950e52014-05-01 16:48:55 -0500251* Added signature support to
252 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`
253 and verification support to
254 :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`.
Ayrx9bea9372014-04-22 21:00:34 +0800255
Paul Kehrer9c2a11b2014-03-27 13:16:57 -05002560.3 - 2014-03-27
257~~~~~~~~~~~~~~~~
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100258
259* Added :class:`~cryptography.hazmat.primitives.twofactor.hotp.HOTP`.
David Reideea08d92014-02-25 11:06:09 -0800260* Added :class:`~cryptography.hazmat.primitives.twofactor.totp.TOTP`.
Alex Gaynor9963cb32014-07-12 09:35:33 -0700261* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.IDEA`
262 support.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700263* Added signature support to
264 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`
265 and verification support to
266 :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`.
Paul Kehrer1592e5b2014-03-27 14:29:38 -0500267* Moved test vectors to the new ``cryptography_vectors`` package.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100268
Paul Kehrer7f711ee2014-03-03 23:58:45 -04002690.2.2 - 2014-03-03
270~~~~~~~~~~~~~~~~~~
271
Alex Gaynor9963cb32014-07-12 09:35:33 -0700272* Removed a constant definition that was causing compilation problems with
273 specific versions of OpenSSL.
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400274
Matthew Iversen69a6fad2014-02-25 02:10:44 +11002750.2.1 - 2014-02-22
276~~~~~~~~~~~~~~~~~~
Paul Kehrer7f711ee2014-03-03 23:58:45 -0400277
Alex Gaynorcd58b932014-05-01 23:11:06 -0700278* Fix a bug where importing cryptography from multiple paths could cause
279 initialization to fail.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100280
2810.2 - 2014-02-20
282~~~~~~~~~~~~~~~~
283
284* Added :doc:`/hazmat/backends/commoncrypto`.
285* Added initial :doc:`/hazmat/bindings/commoncrypto`.
286* Removed ``register_cipher_adapter`` method from
287 :class:`~cryptography.hazmat.backends.interfaces.CipherBackend`.
288* Added support for the OpenSSL backend under Windows.
289* Improved thread-safety for the OpenSSL backend.
290* Fixed compilation on systems where OpenSSL's ``ec.h`` header is not
291 available, such as CentOS.
292* Added :class:`~cryptography.hazmat.primitives.kdf.pbkdf2.PBKDF2HMAC`.
293* Added :class:`~cryptography.hazmat.primitives.kdf.hkdf.HKDF`.
294* Added :doc:`/hazmat/backends/multibackend`.
Alex Gaynorcd58b932014-05-01 23:11:06 -0700295* Set default random for the :doc:`/hazmat/backends/openssl` to the OS
296 random engine.
297* Added :class:`~cryptography.hazmat.primitives.ciphers.algorithms.CAST5`
298 (CAST-128) support.
Matthew Iversen69a6fad2014-02-25 02:10:44 +1100299
3000.1 - 2014-01-08
301~~~~~~~~~~~~~~~~
302
303* Initial release.
304
Alex Stapletonb9df2782014-03-17 08:09:41 +0000305.. _`master`: https://github.com/pyca/cryptography/