aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog76
1 files changed, 64 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index eccb261..1739cfc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -28,9 +28,54 @@ history is also available from Git.
28 28
29LibreSSL Portable Release Notes: 29LibreSSL Portable Release Notes:
30 30
314.1.0 - In development 314.2.0 - In development
32 32
33 * Portable changes 33 * Portable changes
34 * Internal improvements
35 - Cleaned up code implementing block cipher modes of operation.
36 Includes untangling a horrible #ifdef mess and removing a few
37 instances of undefined behavior.
38 - Removed assembly implementations of AES using bit slicing (BS-AES)
39 and vector permutation (VP-AES).
40 - Integrated AES-NI into the AES API.
41 - Removed OPENSSL_SMALL_FOOTPRINT and OPENSSL_FIPSAPI.
42 - Lots of cleanup and removal of code with undefined behavior in
43 the block cipher modes of operation implementations.
44 - Implemented constant time EC field element operations to allow
45 implementing elliptic curve operations without bignum arithmetic.
46 - Implemented an EC method using homogeneous projective coordinates.
47 This allows exception-free elliptic curve arithmetic in constant
48 time.
49 - Started cleaning up the openssl speed implementation.
50 - The last SIGILL-based CPU capability detection was removed.
51 Instead, capabilities are now detected using a constructor on
52 library load, which improves the incomplete coverage by calls
53 to OPENSSL_init_crypto() on various entry points.
54 * Compatibility changes
55 - Removed the -msie_hack option from the openssl(1) ca subcommand.
56 - Removed parameters of the 239-bit prime curves from X9.62, H.5.2:
57 prime239v1, prime239v2, prime239v3.
58 - Increased default MAC salt length used by PKCS12_set_mac(3) to 16
59 per recommendation of NIST SP 800-132.
60 - Encrypted PKCS#8 key files now use a default password-based key
61 derivation function that is acceptable in the present millenium.
62 - Of the old *err() only PEMerr(), RSAerr(), and SSLerr() remain.
63 * New features
64 - Allow specifying ALPN in nc(1) via -Talpn="http/1.1,http:/1.0".
65 * Bug fixes
66 - Avoid pointer arithmetic on NULL for memory BIOs.
67 * Documentation
68 - Rewrote most of the EC documentation from scratch to be at least
69 somewhat accurate and intelligible.
70 * Testing and proactive security
71 - Added a testing framework that will help deduplicating lots of
72 ad-hoc code in the regression tests.
73
744.1.0 - Stable release
75
76 * Portable changes
77 - Added initial experimental support for loongarch64.
78 - Fixed compilation for mips32 and reenable CI.
34 - Fixed CMake builds on FreeBSD. 79 - Fixed CMake builds on FreeBSD.
35 - Fixed the --prefix option for cmake --install. 80 - Fixed the --prefix option for cmake --install.
36 - Fixed tests for MinGW due to missing sh(1). 81 - Fixed tests for MinGW due to missing sh(1).
@@ -46,8 +91,9 @@ LibreSSL Portable Release Notes:
46 These make use of the SHA-NI instruction if it is available and 91 These make use of the SHA-NI instruction if it is available and
47 replace the perl-generated assembly optimized for museum pieces. 92 replace the perl-generated assembly optimized for museum pieces.
48 These are not yet enabled in libressl-portable. 93 These are not yet enabled in libressl-portable.
49 - New SHA-256 assembly implementation for aarch64 making use of the 94 - New SHA-256 and SHA-512 assembly implementations for aarch64
50 ARM Cryptographic Extension (CE). Not yet enabled in portable. 95 making use of the ARM Cryptographic Extension (CE). Not yet
96 enabled in libressl-portable.
51 - New simplified, readable MD5 implementation for amd64. 97 - New simplified, readable MD5 implementation for amd64.
52 - Rewrote BN_bn2binpad() and its lebin siblings. 98 - Rewrote BN_bn2binpad() and its lebin siblings.
53 - The BIGNUMs in EC_GROUP and EC_POINT are now heap allocated. 99 - The BIGNUMs in EC_GROUP and EC_POINT are now heap allocated.
@@ -60,8 +106,11 @@ LibreSSL Portable Release Notes:
60 - Replaced combinations of BN_MONT_CTX_new/set with an internal 106 - Replaced combinations of BN_MONT_CTX_new/set with an internal
61 BN_MONT_CTX_create(). 107 BN_MONT_CTX_create().
62 - Replaced BN_bn2hex() reimplementation in openssl(1) ca with 108 - Replaced BN_bn2hex() reimplementation in openssl(1) ca with
63 a poper API call. 109 a proper API call.
64 - Fixed integer overflows due to signed shift in obj_dat.c. 110 - Fixed integer overflows due to signed shift in obj_dat.c.
111 - Improved some X509_VERIFY_PARAM internals and avoid an out of
112 bounds read from public API.
113 - Imported ML-KEM 768 and 1024 from BoringSSL (not yet public API).
65 * Compatibility changes 114 * Compatibility changes
66 - Added an OPENSSL_INIT_NO_ATEXIT flag for OPENSSL_init_crypto(). 115 - Added an OPENSSL_INIT_NO_ATEXIT flag for OPENSSL_init_crypto().
67 It has no effect since LibreSSL doesn't call atexit(). 116 It has no effect since LibreSSL doesn't call atexit().
@@ -70,6 +119,9 @@ LibreSSL Portable Release Notes:
70 - EC_METHOD is no longer public and the API exposing it has been 119 - EC_METHOD is no longer public and the API exposing it has been
71 removed. This includes EC_GROUP_new(), EC_GFp_mont_method(), 120 removed. This includes EC_GROUP_new(), EC_GFp_mont_method(),
72 EC_GROUP_method_of() and EC_METHOD_get_field_type(). 121 EC_GROUP_method_of() and EC_METHOD_get_field_type().
122 - The precomputation stubs for EC_GROUP were removed.
123 - The API setting Jacobian projective coordinates for a point was
124 removed as were EC_POINTs_{mul,make_affine}().
73 - All elliptic curves over fields with less than 224 bits and a 125 - All elliptic curves over fields with less than 224 bits and a
74 few more were removed from the built-in curves. This includes 126 few more were removed from the built-in curves. This includes
75 all WTLS curves and P-192. 127 all WTLS curves and P-192.
@@ -78,25 +130,25 @@ LibreSSL Portable Release Notes:
78 - Removed the -C option to generate "C code" from the openssl(1) 130 - Removed the -C option to generate "C code" from the openssl(1)
79 dh, dhparam, dsaparam, ecparam, and x509 subcommands. 131 dh, dhparam, dsaparam, ecparam, and x509 subcommands.
80 - Removed #error in headers when OPENSSL_NO_* is defined. 132 - Removed #error in headers when OPENSSL_NO_* is defined.
81 - EC_METHOD is no longer public and all public API directly using
82 it was removed. This includes EC_GROUP_new(), EC_GFp_mont_method()
83 EC_{GROUP,POINT}_method_of() and EC_METHOD_get_field_type().
84 - The precomputation stubs for EC_GROUP were removed.
85 - The API setting Jacobian projective coordinates for a point was
86 removed as were EC_POINTs_{mul,make_affine}().
87 - CRYPTO_set_mem_functions() now matches OpenSSL 1.1 and 133 - CRYPTO_set_mem_functions() now matches OpenSSL 1.1 and
88 CRYPTO_set_mem_ex_functions() was removed. 134 CRYPTO_set_mem_ex_functions() was removed.
89 - X509_NAME_print() and X509_OBJECT_up_ref_count() are no longer public. 135 - The tls_session_secret_cb_fn type now matches OpenSSL 1.1.
136 - Unexport X509_NAME_print() and X509_OBJECT_up_ref_count().
90 - const corrected UI_OpenSSL() and BN_MONT_CTX_copy(). 137 - const corrected UI_OpenSSL() and BN_MONT_CTX_copy().
91 - Support OPENSSL_NO_FILENAMES. 138 - Support OPENSSL_NO_FILENAMES.
139 - Support SSL_OP_NO_RENEGOTIATION and SSL_OP_ALLOW_CLIENT_RENEGOTIATION.
140 - Export PKCS12_key_gen_uni() again.
92 * New features 141 * New features
93 - libtls has a new tls_peer_cert_common_name() API call to retrieve 142 - libtls has a new tls_peer_cert_common_name() API call to retrieve
94 the peer's common name without having to inspect the PEM. 143 the peer's common name without having to inspect the PEM.
95 - Imported ML-KEM 768 and 1024 from BoringSSL (not yet public API).
96 * Bug fixes 144 * Bug fixes
97 - Plugged a leak in eckey_compute_pubkey(). 145 - Plugged a leak in eckey_compute_pubkey().
98 - Again allow the magic values -1, -2 and -3 for the salt length 146 - Again allow the magic values -1, -2 and -3 for the salt length
99 of an RSA-PSS key in the EVP_PKEY_CTX_ctrl_str() interface. 147 of an RSA-PSS key in the EVP_PKEY_CTX_ctrl_str() interface.
148 - Fixed a few memory leaks in legacy code.
149 * Documentation
150 - The remaining undocumented public EVP API is now documented.
151 - Reorganization of existing documentation for clarity and accuracy.
100 * Testing and proactive security 152 * Testing and proactive security
101 - Improved regress coverage of the EC code. 153 - Improved regress coverage of the EC code.
102 154