Skip to content

Commit b5d3dac

Browse files
authored
liboqs 0.14.0 release candidate 1 (#2180)
* Prepare 0.14.0 release candidate 1 [full tests] [extended tests] Signed-off-by: Spencer Wilson <[email protected]> * Update release notes with deprecation and security info [skip ci] Signed-off-by: Spencer Wilson <[email protected]> --------- Signed-off-by: Spencer Wilson <[email protected]>
1 parent 4215362 commit b5d3dac

File tree

4 files changed

+61
-72
lines changed

4 files changed

+61
-72
lines changed

CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
4242
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
4343
set(CMAKE_C_VISIBILITY_PRESET hidden)
4444
set(OQS_VERSION_MAJOR 0)
45-
set(OQS_VERSION_MINOR 13)
46-
set(OQS_VERSION_PATCH 1)
47-
set(OQS_VERSION_PRE_RELEASE "-dev")
45+
set(OQS_VERSION_MINOR 14)
46+
set(OQS_VERSION_PATCH 0)
47+
set(OQS_VERSION_PRE_RELEASE "-rc1")
4848
set(OQS_VERSION_TEXT "${OQS_VERSION_MAJOR}.${OQS_VERSION_MINOR}.${OQS_VERSION_PATCH}${OQS_VERSION_PRE_RELEASE}")
4949
set(OQS_COMPILE_BUILD_TARGET "${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_HOST_SYSTEM}")
5050
set(OQS_MINIMAL_GCC_VERSION "7.1.0")

RELEASE.md

Lines changed: 55 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
liboqs version 0.13.0
2-
=====================
1+
liboqs version 0.14.0-rc1
2+
=========================
33

44
About
55
-----
@@ -27,91 +27,80 @@ liboqs can also be used in the following programming languages via language-spec
2727
Release notes
2828
=============
2929

30-
This is version 0.13.0 of liboqs. It was released on April 16, 2025.
30+
This is release candidate 1 for version 0.14.0 of liboqs. It was released on June 25, 2025.
3131

32-
This release improves support for NIST Additional Signatures Round 2 candidates: CROSS and MAYO implementations are updated and support is added for UOV. This release also adds a new KEM API for deterministic key generation (only supported by ML-KEM at the moment). Finally, this release adds support for ML-KEM implementations from 2 new sources: formally verified portable C, AVX2, and AArch64 implementations from [PQCP's mlkem-native](https://github.com/pq-code-package/mlkem-native) and a GPU accelerated CUDA implementation from [Nvidia cuPQC](https://developer.nvidia.com/cupqc).
32+
This release contains a security fix for secret-dependent branching in HQC. It introduces support for SNOVA, a NIST Additional Signatures Round 2 candidate, and a new optimized implementation of SHA3 using AVX-512VL instructions. Additionally, this is the first liboqs release to include the [stable 1.0.0 version of PQ Code Package's mlkem-native](https://github.com/pq-code-package/mlkem-native/releases/tag/v1.0.0).
3333

34-
OQS is running a survey to better understand our community. We would like to hear from organizations and individuals about their interest in and use of the Open Quantum Safe project. Please take a few minutes to fill out the survey: https://linuxfoundation.surveymonkey.com/r/oqssurvey
34+
This release also introduces a number of improvements to testing and infrastructure. The OQS project is now publishing benchmarking data on https://openquantumsafe.org/benchmarking and code coverage data on https://coveralls.io/github/open-quantum-safe/liboqs.
35+
36+
Deprecation notice
37+
==================
38+
39+
This will be the last release of liboqs to include Dilithium (that is, the NIST Round 3 version of Dilithium, prior to its standardization by NIST as ML-DSA in FIPS 204). Applications should switch to ML-DSA (FIPS 204). Please contact us if you have any concerns.
40+
41+
Security issues
42+
===============
43+
44+
- CVE-2025-52473: Disabled compiler optimizations for HQC to avoid secret-dependent branches. Thank you to Zhenzhi Lai and Zhiyuan Zhang from from the University of Melbourne and the Max Planck Institute for Security and Privacy for identifying the issue.
3545

3646
What's New
3747
----------
3848

39-
This release continues from the 0.12.0 release of liboqs.
49+
This release continues from the 0.13.0 release of liboqs.
4050

4151
### Key encapsulation mechanisms
4252

43-
- New API: Added a deterministic key generation and API for KEMs (only ML-KEM supported at the moment).
44-
- ML-KEM: Changed the default ML-KEM implementation to [PQCP's mlkem-native](https://github.com/pq-code-package/mlkem-native). There are three variants: Portable C, AVX2, and AArch64. Large parts of these implementations are formally verified: all of the C code is verified for memory and type safety using [CBMC](https://github.com/diffblue/cbmc) and the functional correctness of the core AArch64 assembly routines is verified using [HOL-Light](https://github.com/jrh13/hol-light).
45-
- ML-KEM: Added support for the ML-KEM implementation from [Nvidia cuPQC](https://developer.nvidia.com/cupqc), a GPU accelerated cryptography library.
46-
- ML-KEM: Implementation from mlkem-native upstream updated to add Pair-wise Consistency Test (PCT) and Intel CET support.
47-
- ML-KEM: Improved testing of ML-KEM keys.
48-
- HQC: Disabled HQC by default until [a new security flaw](https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/Wiu4ZQo3fP8) is fixed.
53+
- HQC: Disabled compiler optimizations to avoid secret-dependent branching in certain configurations. HQC remains disabled by default.
54+
- ML-KEM: Updated the default ML-KEM implementation to [PQCP's mlkem-native v1.0.0](https://github.com/pq-code-package/mlkem-native/releases/tag/v1.0.0).
4955

5056
### Digital signature schemes
5157

52-
- ML-DSA: Improved testing for ML-DSA.
53-
- CROSS: Updated to NIST Additional Signatures Round 2 version.
54-
- MAYO: Updated to NIST Additional Signatures Round 2 version.
55-
- UOV: Added support for UOV algorithm from NIST Additional Signatures Round 2.
58+
- New API: added an API function to check if a signature scheme supports signing with a context string.
59+
- SNOVA: added [SNOVA](https://snova.pqclab.org/) from NIST Additional Signature Schemes Round 2.
5660

5761
### Other changes
5862

59-
- Added support for loongarch64 architecture.
63+
- Added an AVX512VL-optimized backend for SHA3.
64+
- Improved memory management throughout the codebase.
6065

6166
---
6267

6368
Detailed changelog
6469
------------------
6570

6671
## What's Changed
67-
* Bump version to 0.12.1-dev by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2015
68-
* Add loongarch64 support by @zhaixiaojuan in https://github.com/open-quantum-safe/liboqs/pull/2010
69-
* Minor changes to ML_DSA ACVP tests by @abhinav-thales in https://github.com/open-quantum-safe/liboqs/pull/2007
70-
* Update upload-artifact action to v4 by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2017
71-
* Remove hardcoded build paths & modify basic workflow to build in random path by @iyanmv in https://github.com/open-quantum-safe/liboqs/pull/2019
72-
* Trigger liboqs-java and liboqs-rust downstream CI by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2021
73-
* #1830 update scorecard to v5 (gh action 2.4.0) by @planetf1 in https://github.com/open-quantum-safe/liboqs/pull/1890
74-
* Update PQClean commit and delete patch for HQC by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2026
75-
* Bump jinja2 from 3.1.4 to 3.1.5 in /scripts/copy_from_upstream in the pip group by @dependabot in https://github.com/open-quantum-safe/liboqs/pull/2036
76-
* Avoid unresolved symbols from libcrypto when compiled with OQS_DLOPEN_OPENSSL by @ueno in https://github.com/open-quantum-safe/liboqs/pull/2043
77-
* Update to public Ubuntu 24.04 ARM runner by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2050
78-
* NVIDIA: Adding cuPQC as a backend for ML-KEM. by @stevenireeves in https://github.com/open-quantum-safe/liboqs/pull/2044
79-
* Update ACVP vectors for KEM and DSA by @abhinav-thales in https://github.com/open-quantum-safe/liboqs/pull/2051
80-
* CI: Check unresolved symbols when compiled with OQS_DLOPEN_OPENSSL by @ueno in https://github.com/open-quantum-safe/liboqs/pull/2058
81-
* Fix failing zephyr CI workflows, pinning v0.27.4 by @bhess in https://github.com/open-quantum-safe/liboqs/pull/2063
82-
* Update sig_stfl Doxygen documentation by @pablo-gf in https://github.com/open-quantum-safe/liboqs/pull/2059
83-
* Import ML-KEM from mlkem-native/PQ code package by @bhess in https://github.com/open-quantum-safe/liboqs/pull/2041
84-
* Update example files by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2071
85-
* GitHub runner updates by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2069
86-
* Disable cupqc-buildcheck by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/2075
87-
* Add threat model by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2033
88-
* Update CROSS to version 2.0 by @rtjk in https://github.com/open-quantum-safe/liboqs/pull/2078
89-
* improving CONTRIBUTING.md for maintainability [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/2081
90-
* Ensure that building against liboqs build directory works by @levitte in https://github.com/open-quantum-safe/liboqs/pull/2086
91-
* Added alg_version details to test output by @pablo-gf in https://github.com/open-quantum-safe/liboqs/pull/2080
92-
* Add checks for ML-KEM keys by @abhinav-thales in https://github.com/open-quantum-safe/liboqs/pull/2009
93-
* Update actions/cache to v4.2.2 by @mkannwischer in https://github.com/open-quantum-safe/liboqs/pull/2093
94-
* Add Nix flake by @aidenfoxivey in https://github.com/open-quantum-safe/liboqs/pull/1970
95-
* Update MAYO to NIST round 2 by @bhess in https://github.com/open-quantum-safe/liboqs/pull/2095
96-
* Update mlkem-native to v1.0.0-beta by @mkannwischer in https://github.com/open-quantum-safe/liboqs/pull/2092
97-
* Add references to security response process by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2077
98-
* Bump version to 0.13.0-dev [skip ci] by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2099
99-
* Add UOV by @mkannwischer in https://github.com/open-quantum-safe/liboqs/pull/2094
100-
* Add bitflip test for trivial SUF-CMA forgeries by @rtjk in https://github.com/open-quantum-safe/liboqs/pull/2090
101-
* Update MAYO version in algorithm datasheet by @bhess in https://github.com/open-quantum-safe/liboqs/pull/2103
102-
* Add DeriveKeyPair API by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2070
103-
* Update nist-round in UOV and MAYO data sheet by @bhess in https://github.com/open-quantum-safe/liboqs/pull/2105
104-
* build: search unistd.h separately from sys/random.h for getentropy by @mkroening in https://github.com/open-quantum-safe/liboqs/pull/2104
105-
* Add support caveat by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2114
106-
* Temporarily disable HQC by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2122
107-
* Fix PR workflow runs by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2123
72+
* Switch to dev mode after 0.13.0 release by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/2125
73+
* Restrict -Wno-maybe-uninitialized to GCC and fix stack size typo by @alraddady in https://github.com/open-quantum-safe/liboqs/pull/2111
74+
* Promote @SWilson4 from Committer to Maintainer [skip ci] by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/2120
75+
* Update Nix flake inputs by @aidenfoxivey in https://github.com/open-quantum-safe/liboqs/pull/2126
76+
* Change cuPQC upstream repo by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/2115
77+
* Integrate SNOVA into liboqs by @vacuas in https://github.com/open-quantum-safe/liboqs/pull/2109
78+
* Update ACVP vectors to latest release by @abhinav-thales in https://github.com/open-quantum-safe/liboqs/pull/2131
79+
* Add a function to check if context string is supported by @M-AlNoaimi in https://github.com/open-quantum-safe/liboqs/pull/2142
80+
* Skip failing CI test by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2157
81+
* Use OQS_MEM_cleanse() instead of memset() by @Hussain1811 in https://github.com/open-quantum-safe/liboqs/pull/2158
82+
* Check for NULL dereference before using secure free by @Hussain1811 in https://github.com/open-quantum-safe/liboqs/pull/2151
83+
* Update mlkem-native to v1.0.0 by @mkannwischer in https://github.com/open-quantum-safe/liboqs/pull/2146
84+
* test: Use secure free for freeing secret key objects by @Hussain1811 in https://github.com/open-quantum-safe/liboqs/pull/2149
85+
* tests: Remove unused variables by @Hussain1811 in https://github.com/open-quantum-safe/liboqs/pull/2152
86+
* Wycheproof by @h2parson in https://github.com/open-quantum-safe/liboqs/pull/2145
87+
* tests: Check OQS_STATUS of RNG and fstore functions by @Hussain1811 in https://github.com/open-quantum-safe/liboqs/pull/2153
88+
* Adjust constant-time test exception for mlkem-native by @mkannwischer in https://github.com/open-quantum-safe/liboqs/pull/2162
89+
* Continuous Benchmarking using Github Actions by @pablo-gf in https://github.com/open-quantum-safe/liboqs/pull/2134
90+
* test: Add basic kem fuzz testing by @nathaniel-brough in https://github.com/open-quantum-safe/liboqs/pull/2133
91+
* Increase alert threshold for continuous benchmarking by @pablo-gf in https://github.com/open-quantum-safe/liboqs/pull/2166
92+
* Benchmarking comments only on alerts by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2168
93+
* Adding code coverage by @aidenfoxivey in https://github.com/open-quantum-safe/liboqs/pull/2148
94+
* Add AVX512VL-Optimized SHA3/SHAKE Implementations by @mdcornu in https://github.com/open-quantum-safe/liboqs/pull/2167
95+
* Zeroize memory in SHA3 implementation by @aidenfoxivey in https://github.com/open-quantum-safe/liboqs/pull/2171
96+
* Disable compiler optimizations for HQC by @SWilson4 in https://github.com/open-quantum-safe/liboqs/commit/4215362acbf69b88fe1777c4c052f154e29f9897
10897

10998
## New Contributors
110-
* @zhaixiaojuan made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2010
111-
* @stevenireeves made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2044
112-
* @pablo-gf made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2059
113-
* @levitte made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2086
114-
* @mkannwischer made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2093
115-
* @mkroening made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2104
116-
117-
**Full Changelog**: https://github.com/open-quantum-safe/liboqs/compare/0.12.0...0.13.0
99+
* @alraddady made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2111
100+
* @vacuas made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2109
101+
* @M-AlNoaimi made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2142
102+
* @Hussain1811 made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2158
103+
* @h2parson made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2145
104+
* @mdcornu made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/2167
105+
106+
**Full Changelog**: https://github.com/open-quantum-safe/liboqs/compare/0.13.0...0.14.0-rc1

SECURITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ Using any code prior to 0.12.0 is strongly discouraged due to a [known security
88

99
| Version | Supported |
1010
| ------- | ------------------ |
11-
| 0.13.0 | :white_check_mark: |
12-
| < 0.13 | :x: |
11+
| 0.14.0 | :white_check_mark: |
12+
| < 0.14 | :x: |
1313

1414
## Reporting a Vulnerability
1515

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ set_target_properties(oqs
134134
ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
135135
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
136136
VERSION ${OQS_VERSION_TEXT}
137-
SOVERSION 7
137+
SOVERSION 8
138138
# For Windows DLLs
139139
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
140140

0 commit comments

Comments
 (0)