liboqs version 0.15.0-rc1
The Open Quantum Safe (OQS) project has the goal of developing and prototyping quantum-resistant cryptography. More information on OQS can be found on our website: https://openquantumsafe.org/ and on Github at https://github.com/open-quantum-safe/.
liboqs is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in README.md. See in particular limitations on intended use.
liboqs can be used with the following Open Quantum Safe application integrations:
- oqs-provider: A standalone prototype OpenSSL 3 provider enabling liboqs-based quantum-safe and hybrid key authentication and exchange for TLS 1.3, X.509 certificate generation and CMS operations.
- OQS-BoringSSL: A prototype integration of liboqs-based authentication and key exchange into TLS 1.3 in our fork of BoringSSL; see https://github.com/open-quantum-safe/boringssl.
- OQS-OpenSSH: A prototype integration of liboqs-based authentication and key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see https://github.com/open-quantum-safe/openssh.
Several demos are available for using the above libraries in applications, including Apache, Chromium, curl, haproxy, nginx, and Wireshark.
liboqs can also be used in the following programming languages via language-specific wrappers:
- C++, via https://github.com/open-quantum-safe/liboqs-cpp
- Go, via https://github.com/open-quantum-safe/liboqs-go
- Java, via https://github.com/open-quantum-safe/liboqs-java
- Python 3, via https://github.com/open-quantum-safe/liboqs-python
- Rust, via https://github.com/open-quantum-safe/liboqs-rust
Release notes
Release candidate 1 for liboqs 0.15.0 was released on Oct 22, 2025.
Deprecation notice
liboqs 0.15.0 is the last version to officially support SPHINCS+. SPHINCS+ will be removed in the 0.16.0 release and replaced by SLH-DSA. liboqs 0.15.0 also removes support for Dilithium.
Security issues
None reported
Significant changes
- Integrated SLH-DSA implementation from pq-code-package/slhdsa-c
- Added NTRU back #2176
- Removed all Dilithium implementations (#2275)
- Replaced SPHINCS+ with SLH-DSA for CMake build option
OQS_ALGS_ENABLED=STD(#2290) - Updated CROSS to version 2.2 #2247
- Included DeriveEncapsulation functionality (Issue #2135) #2221
- Integrated ML-KEM implementation from ICICLE-PQC #2216
Bug fixes
- Fixed incorrect import in OV-III-pkc_skc (#2299)
- Fixed incorrect actual signature length in signature full-cycle speed test (#2293)
- Fixed ICICLE ML-KEM integration (#2288)
- Disabled strict aliasing on SPHINCS+-SHAKE (#2264)
- Fixed typo in
test_kem.c(#2281) - Fixed uninitialized
length_encaps_seedfor NTRU implementations (#2266)
- Changed 64 bit add to 32 bit add to wrap on 32 bit counter for AES-CTR AES-NI implementation #2252
- Improved random number generator security #2225
- Avoided invalid compiler options for MSVC #2239
- Added Classic McEliece sanitization patch #2218
Miscellaneous
- Deprecated
noregressscripts (#2295) - Updated no-pass explanation for constant-time testing (#2294)
- Fixed weekly test failures in GitHub Action (#2285)
- Improved algorithm support readability in README.md (#2286)
- Re-enabled all ACVP tests (#2283)
- Moved continuous benchmarking to weekly tests (#2276)
- Linked to contribution wishlist from CONTRIBUTING.md (#2273)
- Added content:read permission to scorecard workflow (#2261)
- Added guidance and questions on generative AI use (#2269)
- Moved
linux_arm_emulatedto extended tests #2236 - Fixed pluralization in docs: "key encapsulation mechanisms (KEMs)" #2255
- Fixed permissions for poutine_analysis job #2246
- Disabled testing on Travis CI #2248
- Upgraded Jinja to 3.1.6 #2214
- Updated license info for ML-KEM #2250
- Fixed typos across codebase #2244
- Restructured basic checks #2233
- Fixed code scanning workflow #2217
- Changed Nix install action to verified #2212
- Removed
armelcomment #2231 - Removed
armelsupport fromPLATFORMS.md#2232 - Added Poutine SASL #2213
- Updated nixpkgs from 24.05 to 25.05 #2187
- Added Custom Timeout to CI #2189
- Updated ACVP to 1.1.0.40 #2172
- Switched to dev mode for 0.14.1 #2199
New contributors
- Ganyu (Bruce) Xu (@xuganyu96)
- Ethan Li (@lir2002)
- @nonam3e (associated with Ingonyama)
- Saito Masataka (@saitomst)
- @max-p-log-p
- Vibhav Tiwari (@vibhav950)
- Dmitry (@mdqst)
- Rodrigo Martín (@RodriM11)
- @sukrucildirr
- Kitsios Konstantinos (@kitsiosk)