CHANGELOG.txt 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. Python-RSA changelog
  2. ========================================
  3. Version 4.0 - released 2018-09-16
  4. ----------------------------------------
  5. - Removed deprecated modules:
  6. - rsa.varblock
  7. - rsa.bigfile
  8. - rsa._version133
  9. - rsa._version200
  10. - Removed CLI commands that use the VARBLOCK/bigfile format.
  11. - Ensured that PublicKey.save_pkcs1() and PrivateKey.save_pkcs1() always return bytes.
  12. - Dropped support for Python 2.6 and 3.3.
  13. - Dropped support for Psyco.
  14. - Miller-Rabin iterations determined by bitsize of key.
  15. [#58](https://github.com/sybrenstuvel/python-rsa/pull/58)
  16. - Added function `rsa.find_signature_hash()` to return the name of the hashing
  17. algorithm used to sign a message. `rsa.verify()` now also returns that name,
  18. instead of always returning `True`.
  19. [#78](https://github.com/sybrenstuvel/python-rsa/issues/13)
  20. - Add support for SHA-224 for PKCS1 signatures.
  21. [#104](https://github.com/sybrenstuvel/python-rsa/pull/104)
  22. - Transitioned from `requirements.txt` to Pipenv for package management.
  23. Version 3.4.2 - released 2016-03-29
  24. ----------------------------------------
  25. - Fixed dates in CHANGELOG.txt
  26. Version 3.4.1 - released 2016-03-26
  27. ----------------------------------------
  28. - Included tests/private.pem in MANIFEST.in
  29. - Included README.md and CHANGELOG.txt in MANIFEST.in
  30. Version 3.4 - released 2016-03-17
  31. ----------------------------------------
  32. - Moved development to GitHub: https://github.com/sybrenstuvel/python-rsa
  33. - Solved side-channel vulnerability by implementing blinding, fixes #19
  34. - Deprecated the VARBLOCK format and rsa.bigfile module due to security issues, see
  35. https://github.com/sybrenstuvel/python-rsa/issues/13
  36. - Integration with Travis-CI [1], Coveralls [2] and Code Climate [3]
  37. - Deprecated the old rsa._version133 and rsa._version200 submodules, they will be
  38. completely removed in version 4.0.
  39. - Add an 'exponent' argument to key.newkeys()
  40. - Switched from Solovay-Strassen to Miller-Rabin primality testing, to
  41. comply with NIST FIPS 186-4 [4] as probabilistic primality test
  42. (Appendix C, subsection C.3):
  43. - Fixed bugs #12, #14, #27, #30, #49
  44. [1] https://travis-ci.org/sybrenstuvel/python-rsa
  45. [2] https://coveralls.io/github/sybrenstuvel/python-rsa
  46. [3] https://codeclimate.com/github/sybrenstuvel/python-rsa
  47. [4] http://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
  48. Version 3.3 - released 2016-01-13
  49. ----------------------------------------
  50. - Thanks to Filippo Valsorda: Fix BB'06 attack in verify() by
  51. switching from parsing to comparison. See [1] for more information.
  52. - Simplified Tox configuration and dropped Python 3.2 support. The
  53. coverage package uses a u'' prefix, which was reintroduced in 3.3
  54. for ease of porting.
  55. [1] https://blog.filippo.io/bleichenbacher-06-signature-forgery-in-python-rsa/
  56. Version 3.2.3 - released 2015-11-05
  57. ----------------------------------------
  58. - Added character encoding markers for Python 2.x
  59. Version 3.2.1 - released 2015-11-05
  60. ----------------------------------------
  61. - Added per-file licenses
  62. - Added support for wheel packages
  63. - Made example code more consistent and up to date with Python 3.4
  64. Version 3.2 - released 2015-07-29
  65. ----------------------------------------
  66. - Mentioned support for Python 3 in setup.py
  67. Version 3.1.4 - released 2014-02-22
  68. ----------------------------------------
  69. - Fixed some bugs
  70. Version 3.1.3 - released 2014-02-02
  71. ----------------------------------------
  72. - Dropped support for Python 2.5
  73. Version 3.1.2 - released 2013-09-15
  74. ----------------------------------------
  75. - Added Python 3.3 to the test environment.
  76. - Removed dependency on Distribute
  77. - Added support for loading public keys from OpenSSL
  78. Version 3.1.1 - released 2012-06-18
  79. ----------------------------------------
  80. - Fixed doctests for Python 2.7
  81. - Removed obsolete unittest so all tests run fine on Python 3.2
  82. Version 3.1 - released 2012-06-17
  83. ----------------------------------------
  84. - Big, big credits to Yesudeep Mangalapilly for all the changes listed
  85. below!
  86. - Added ability to generate keys on multiple cores simultaneously.
  87. - Massive speedup
  88. - Partial Python 3.2 compatibility (core functionality works, but
  89. saving or loading keys doesn't, for that the pyasn1 package needs to
  90. be ported to Python 3 first)
  91. - Lots of bug fixes
  92. Version 3.0.1 - released 2011-08-07
  93. ----------------------------------------
  94. - Removed unused import of abc module
  95. Version 3.0 - released 2011-08-05
  96. ----------------------------------------
  97. - Changed the meaning of the keysize to mean the size of ``n`` rather than
  98. the size of both ``p`` and ``q``. This is the common interpretation of
  99. RSA keysize. To get the old behaviour, double the keysize when generating a
  100. new key.
  101. - Added a lot of doctests
  102. - Added random-padded encryption and decryption using PKCS#1 version 1.5
  103. - Added hash-based signatures and verification using PKCS#1v1.5
  104. - Modeling private and public key as real objects rather than dicts.
  105. - Support for saving and loading keys as PEM and DER files.
  106. - Ability to extract a public key from a private key (PEM+DER)
  107. Version 2.0
  108. ----------------------------------------
  109. - Security improvements by Barry Mead.