We have released LibreSSL 2.9.0, which will be arriving in the
LibreSSL directory of your local OpenBSD mirror soon.
This is the first development release from the 2.9 series, which will
eventually be part of OpenBSD 6.5. It includes the following changes:
* CRYPTO_LOCK is now automatically initialized, with the legacy
callbacks stubbed for compatibility.
* Added the SM3 hash function from the Chinese standard GB/T 32905-2016.
* Added more OPENSSL_NO_* macros for compatibility with OpenSSL.
* Added extensive interoperability tests between LibreSSL and OpenSSL
1.0 and 1.1.
* Added additional wycheproof tests and related bug fixes.
* Simplified sigalgs option processing and handshake signing algorithm
* Added the ability to use the RSA PSS algorithm for handshake signatures.
* Added bn_rand_interval() and use it in code needing ranges of random
* Added functionality to derive early, handshake, and application
secrets as per RFC8446.
* Added handshake state machine from RFC8446.
* Removed some ASN.1 related code from libcrypto that had not been used
since around 2000.
* Unexported internal symbols and internalized more record layer structs.
* Added support for assembly optimizations on 32-bit ARM ELF targets.
* Improved protection against timing side channels in ECDSA signature generation.
* Coordinate blinding was added to some elliptic curves. This is the
last bit of the work by Brumley et al. to protect against the
* Ensure transcript handshake is always freed with TLS 1.2.
* Fixed warnings about clock_gettime on Windows Visual Studio builds.
* Fixed CMake builds on systems where getpagesize is defined as an
The LibreSSL project continues improvement of the codebase to reflect modern,
safe programming practices. We welcome feedback and improvements from the
broader community. Thanks to all of the contributors who helped make this