aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog163
1 files changed, 153 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index c03ff15..52aa44d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
1Because this project is maintained both in the OpenBSD tree using CVS and in 1Because this project is maintained both in the OpenBSD tree using CVS and in
2Git, it can be confusing following all of the changes. 2Git, it can be confusing following all of the changes.
3 3
4Most of the libssl and libcrypto source code is is here in OpenBSD CVS: 4Most of the libssl and libcrypto source code is here in OpenBSD CVS:
5 5
6 https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/ 6 https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/
7 7
@@ -28,12 +28,95 @@ history is also available from Git.
28 28
29LibreSSL Portable Release Notes: 29LibreSSL Portable Release Notes:
30 30
314.0.0 - In development 314.1.0 - In development
32 32
33 * Portable changes 33 * Portable changes
34 - Added initial Emscripten support in CMake builds 34 - Added initial experimental support for loongarch64.
35 - Fixed compilation for mips32 and reenable CI.
36 - Fixed CMake builds on FreeBSD.
37 - Fixed the --prefix option for cmake --install.
38 - Fixed tests for MinGW due to missing sh(1).
39 * Internal improvements
40 - Cleaned up the error implementation.
41 - Many bug fixes and simplifications in the EC ASN.1 code.
42 - Corrected DER encoding for EC keys and parameters.
43 - Polished EC_POINT_{oct2point,point2oct}() internals.
44 - Rewrote the wNAF code for fast ECDSA verification.
45 - Improved the code setting compressed coordinates for EC points.
46 - Reworked CPU capabilities detection for amd64 and aarch64.
47 - New SHA-1, SHA-256 and SHA-512 assembly implementations for amd64.
48 These make use of the SHA-NI instruction if it is available and
49 replace the perl-generated assembly optimized for museum pieces.
50 These are not yet enabled in libressl-portable.
51 - New SHA-256 and SHA-512 assembly implementations for aarch64
52 making use of the ARM Cryptographic Extension (CE). Not yet
53 enabled in libressl-portable.
54 - New simplified, readable MD5 implementation for amd64.
55 - Rewrote BN_bn2binpad() and its lebin siblings.
56 - The BIGNUMs in EC_GROUP and EC_POINT are now heap allocated.
57 - Rewrote TS_ASN1_INTEGER_print_bio().
58 - Improved bit counter handling in MD5.
59 - Simplified and cleaned up the BN_RECP_CTX internals.
60 - Improved SM4 to match other symmetric ciphers more closely.
61 - Rewrote X509_NAME_oneline() and X509_NAME_print() using CBS/CBB.
62 - CRLs are now cached in the issuer cache like certificates.
63 - Replaced combinations of BN_MONT_CTX_new/set with an internal
64 BN_MONT_CTX_create().
65 - Replaced BN_bn2hex() reimplementation in openssl(1) ca with
66 a poper API call.
67 - Fixed integer overflows due to signed shift in obj_dat.c.
68 - Fixed a few memory leaks in legacy code.
69 - Improved some X509_VERIFY_PARAM internals and avoid an out of
70 bounds read from public API.
71 - Imported ML-KEM 768 and 1024 from BoringSSL (not yet public API).
72 * Compatibility changes
73 - Added an OPENSSL_INIT_NO_ATEXIT flag for OPENSSL_init_crypto().
74 It has no effect since LibreSSL doesn't call atexit().
75 - Elliptic curve parameters are only accepted if they encode a
76 built-in curve.
77 - EC_METHOD is no longer public and the API exposing it has been
78 removed. This includes EC_GROUP_new(), EC_GFp_mont_method(),
79 EC_GROUP_method_of() and EC_METHOD_get_field_type().
80 - The precomputation stubs for EC_GROUP were removed.
81 - The API setting Jacobian projective coordinates for a point was
82 removed as were EC_POINTs_{mul,make_affine}().
83 - All elliptic curves over fields with less than 224 bits and a
84 few more were removed from the built-in curves. This includes
85 all WTLS curves and P-192.
86 - It is no longer necessary to set RSA_FLAG_SIGN_VER to use the
87 sign and verify handlers set with RSA_meth_set_{sign,verify}.
88 - Removed the -C option to generate "C code" from the openssl(1)
89 dh, dhparam, dsaparam, ecparam, and x509 subcommands.
90 - Removed #error in headers when OPENSSL_NO_* is defined.
91 - CRYPTO_set_mem_functions() now matches OpenSSL 1.1 and
92 CRYPTO_set_mem_ex_functions() was removed.
93 - The tls_session_secret_cb_fn type now matches OpenSSL 1.1.
94 - Unexport X509_NAME_print() and X509_OBJECT_up_ref_count().
95 - const corrected UI_OpenSSL() and BN_MONT_CTX_copy().
96 - Support OPENSSL_NO_FILENAMES.
97 - Support SSL_OP_NO_RENEGOTIATION and SSL_OP_ALLOW_CLIENT_RENEGOTIATION.
98 - Export PKCS12_key_gen_uni() again.
99 * New features
100 - libtls has a new tls_peer_cert_common_name() API call to retrieve
101 the peer's common name without having to inspect the PEM.
102 * Bug fixes
103 - Plugged a leak in eckey_compute_pubkey().
104 - Again allow the magic values -1, -2 and -3 for the salt length
105 of an RSA-PSS key in the EVP_PKEY_CTX_ctrl_str() interface.
106 * Documentation
107 - The remaining undocumented public EVP API is now documented.
108 Reorganization of existing documentation for clarity and accuracy.
109 * Testing and proactive security
110 - Improved regress coverage of the EC code.
111
1124.0.0 - Stable release
113
114 * Portable changes
115 - Added initial Emscripten support in CMake builds.
35 - Removed timegm() compatibility layer since all uses were replaced 116 - Removed timegm() compatibility layer since all uses were replaced
36 with OPENSSL_timegm(). Cleaned up the corresponding test harness. 117 with OPENSSL_timegm(). Cleaned up the corresponding test harness.
118 - The mips32 platform is no longer actively supported.
119 - Fixed Windows support for dates beyond 2038.
37 * Internal improvements 120 * Internal improvements
38 - Cleaned up parts of the conf directory. Simplified some logic, 121 - Cleaned up parts of the conf directory. Simplified some logic,
39 fixed memory leaks. 122 fixed memory leaks.
@@ -66,29 +149,68 @@ LibreSSL Portable Release Notes:
66 - Made most error string tables const. 149 - Made most error string tables const.
67 - Removed handling for SSLv2 client hello messages. 150 - Removed handling for SSLv2 client hello messages.
68 - Improvements in the openssl(1) speed app's signal handler. 151 - Improvements in the openssl(1) speed app's signal handler.
69 - Added support for TLS PRF in the EVP KDF API. 152 - Cleaned up various X509v3_* extension API.
153 - Unified the X.509v3 extension methods.
154 - Cleaned up cipher handling in SSL_SESSION.
155 - Removed get_cipher from SSL_METHOD.
156 - Rewrote CRYPTO_EX_DATA from scratch. The only intentional change of
157 behavior is that there is now a hard limit on the number of indexes
158 that can be allocated.
159 - Removed bogus connect() call from netcat.
160 - Uses of atoi() and strtol() in libcrypto were replaced with
161 strtonum().
162 - Introduced crypto_arch.h which will contain the architecture
163 dependent code and defines rather than the public opensslconf.h.
164 - OPENSSL_cpu_caps() is now architecture independent.
165 - Reorganized the DES implementation to use fewer files and removed
166 optimizations for ancient processors and compilers.
167 * New features
168 - Added CRLfile option to the cms command of openssl(1) to specify
169 additional CRLs for use during verification.
70 * Documentation improvements 170 * Documentation improvements
71 - Removed documentation of no longer existing API. 171 - Removed documentation of no longer existing API.
172 - Unified the description of the obsolete ENGINE parameter that
173 needs to remain in many functions and should always be NULL.
72 * Testing and proactive security 174 * Testing and proactive security
73 - Switched the remaining tests to new certs. 175 - Switched the remaining tests to new certs.
74 * Compatibility changes 176 * Compatibility changes
177 - Protocol parsing in libtls was changed. The unsupported TLSv1.1
178 and TLSv1.0 protocols are ignored and no longer enable or disable
179 TLSv1.2 in surprising ways.
180 - The dangerous EVP_PKEY*_check(3) family of functions was removed.
181 The openssl(1) pkey and pkeyparam commands no longer support the
182 -check and -pubcheck flags.
75 - The one-step hashing functions, MD4(), MD5(), RIPEMD160(), SHA1(), 183 - The one-step hashing functions, MD4(), MD5(), RIPEMD160(), SHA1(),
76 all SHA-2, and HMAC() no longer support returning a static buffer. 184 all SHA-2, and HMAC() no longer support returning a static buffer.
77 Callers must pass in a correctly sized buffer. 185 Callers must pass in a correctly sized buffer.
186 - Support for Whirlpool was removed. Applications still using this
187 should honor OPENSSL_NO_WHIRLPOOL.
78 - Removed workaround for F5 middle boxes. 188 - Removed workaround for F5 middle boxes.
79 - Removed the useless pem2.h, a public header that was added since 189 - Removed the useless pem2.h, a public header that was added since
80 it was too hard to add a prototype to one file. 190 it was too hard to add a single prototype to one file.
191 - Removed conf_api.h and the public API therein.
192 - Removed ssl2.h, ssl23.h and ui_compat.h.
193 - Numerous conf and attribute functions were removed. Some unused
194 types were removed, others were made opaque.
195 - Removed the deprecated HMAC_Init() function.
196 - Removed OPENSSL_load_builtin_modules().
197 - Removed X509_REQ_{get,set}_extension_nids().
198 - X509_check_trust() and was removed, X509_VAL was made opaque.
81 - Only specified versions can be set on certs, CRLs and CSRs. 199 - Only specified versions can be set on certs, CRLs and CSRs.
82 - Prepared X509_REQ_{get,set}_extension_nids() for removal.
83 - Removed unused PEM_USER and PEM_CTX types from pem.h. 200 - Removed unused PEM_USER and PEM_CTX types from pem.h.
84 - Removed typdefs for COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, 201 - Removed typdefs for COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE,
85 STORE_METHOD, and SSL_AEAD_CTX. 202 STORE_METHOD, and SSL_AEAD_CTX.
86 - i2d_ASN1_OBJECT() now returns -1 on error like most other i2d_*. 203 - i2d_ASN1_OBJECT() now returns -1 on error like most other i2d_*.
87 - SPKAC support was removed from openssl(1) 204 - SPKAC support was removed from openssl(1).
88 - Added TLS1-PRF support to the EVP interface. 205 - Added TLS1-PRF support to the EVP interface.
89 - Cleaned up various X509v3_* extension API. 206 - Support for attributes in EVP_PKEYs was removed.
90 - Unified the X.509v3 extension methods. 207 - The X509at_* API is no longer public.
91 - Removed ssl2.h and ssl23.h. 208 - SSL_CTX_set1_cert_store() and SSL_CIPHER_get_handshake_digest()
209 were added to libssl.
210 - The completely broken UI_UTIL password API was removed.
211 - The OpenSSL pkcs12 command and PKCS12_create() no longer support
212 setting the Microsoft-specific Local Key Set and Cryptographic
213 Service Provider attributes.
92 * Bug fixes 214 * Bug fixes
93 - Made ASN1_TIME_set_string() and ASN1_TIME_set_string_X509() match 215 - Made ASN1_TIME_set_string() and ASN1_TIME_set_string_X509() match
94 their documentation. They always set an RFC 5280 conformant time. 216 their documentation. They always set an RFC 5280 conformant time.
@@ -115,6 +237,20 @@ LibreSSL Portable Release Notes:
115 ALPN callback. 237 ALPN callback.
116 - Avoid pushing a spurious error onto the error stack in 238 - Avoid pushing a spurious error onto the error stack in
117 ssl_sigalg_select(). 239 ssl_sigalg_select().
240 - Made fatal alerts fatal in QUIC.
241
2423.9.2 - Stable release
243
244 * Bugfixes
245 - OpenBSD 7.5 errata 003. A missing bounds check could lead to a crash
246 due to dereferencing a zero-sized allocation.
247
2483.9.1 - Stable release
249
250 * Portable changes
251 - Updated tests with expiring certificates
252 - CET-related build fixes for Windows and macOS targets
253 - update libtls linker script to include libssl and libcrypto again
118 254
1193.9.0 - Development release 2553.9.0 - Development release
120 256
@@ -193,6 +329,13 @@ LibreSSL Portable Release Notes:
193 stack. 329 stack.
194 - Made in-place decryption work for EVP_chacha20_poly1305(). 330 - Made in-place decryption work for EVP_chacha20_poly1305().
195 331
3323.8.4 - Stable release
333
334 * Portable changes
335 - Updated tests with expiring certificates
336 - CET-related build fixes for Windows and macOS targets
337 - update libtls linker script to include libssl and libcrypto again
338
1963.8.3 - Stable release 3393.8.3 - Stable release
197 340
198 * Portable changes 341 * Portable changes