Skip to content

Commit d0d0413

Browse files
dstebilaSWilson4
andauthored
Create liboqs 0.12.0 release candidate 1 (#2006)
* Update version numbers for 0.12.0-rc1 Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> * Update list of supported versions Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> * Update release notes for 0.12.0-rc1 Fixes #1990 and #2004. Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> * Fix typo and workding [skip ci] Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca> Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com> * Revise wording on API removal Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> * Update release date for rc1 [skip ci] Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> --------- Signed-off-by: Douglas Stebila <dstebila@uwaterloo.ca> Signed-off-by: Douglas Stebila <dstebila@users.noreply.github.com> Co-authored-by: Spencer Wilson <spencer.wilson@uwaterloo.ca>
1 parent 3224d55 commit d0d0413

File tree

4 files changed

+67
-91
lines changed

4 files changed

+67
-91
lines changed

CMakeLists.txt

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

RELEASE.md

Lines changed: 61 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
liboqs version 0.11.0
2-
=====================
1+
liboqs version 0.12.0-rc1
2+
=========================
33

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

30-
This is version 0.11.0 of liboqs. It was released on September 27, 2024.
30+
This is release candidate 1 for version 0.12.0 of liboqs. It was released on November 29, 2024.
3131

32-
This release updates ML-KEM implementations to their [final FIPS 203](https://csrc.nist.gov/pubs/fips/203/final) versions. This release still includes the NIST Round 3 version of Kyber for interoperability purposes, but we plan to remove Kyber Round 3 in a future release. Additionally, this release adds support for MAYO and CROSS digital signature schemes from [NIST Additional Signatures Round 1](https://csrc.nist.gov/Projects/pqc-dig-sig/round-1-additional-signatures) along with stateful hash-based signature schemes [XMSS](https://datatracker.ietf.org/doc/html/rfc8391) and [LMS](https://datatracker.ietf.org/doc/html/rfc8554). Finally, this release provides formally verified implementations of Kyber-512 and Kyber-768 from [libjade](https://github.com/formosa-crypto/libjade/releases/tag/release%2F2023.05-2).
32+
This release updates the ML-DSA implementation to the [final FIPS 204](https://csrc.nist.gov/pubs/fips/204/final) version. This release still includes the NIST Round 3 version of Dilithium for interoperability purposes, but we plan to remove Dilithium Round 3 in a future release.
3333

34-
LMS and XMSS are disabled by default due to the security risks associated with their use in software. See the note on stateful hash-based signatures in [CONFIGURE.md](https://github.com/open-quantum-safe/liboqs/blob/0.11.0/CONFIGURE.md#stateful-hash-based-signatures).
34+
Deprecation notice
35+
==================
36+
37+
This will be the last release of liboqs to include Kyber (that is, the NIST Round 3 version of Kyber, prior to its standardization by NIST as ML-KEM in FIPS 203). Applications should switch to ML-KEM (FIPS 203).
38+
39+
The addition of ML-DSA FIPS 204 final version to liboqs has introduced a new signature API which includes a context string parameter. We are planning to remove the old version of the API without a context string in the next release to streamline the API and bring it in line with NIST specifications. Users who have an opinion on this removal are invited to provide input at https://github.com/open-quantum-safe/liboqs/issues/2001.
3540

3641
What's New
3742
----------
3843

39-
This release continues from the 0.10.1 release of liboqs.
44+
This release continues from the 0.11.0 release of liboqs.
4045

4146
### Key encapsulation mechanisms
4247

43-
- Kyber: Added formally-verified portable C and AVX2 implementations of Kyber-512 and Kyber-768 from [libjade](https://github.com/formosa-crypto/libjade/releases/tag/release%2F2023.05-2).
44-
- ML-KEM: Updated portable C and AVX2 implementations of ML-KEM-512, ML-KEM-768, and ML-KEM-1024 to FIP 203 version.
45-
- Kyber: Patched ARM64 implementations of Kyber-512, Kyber-768, and Kyber-1024 to work with AddressSanitizer.
48+
- HQC: Fixed correctness bug in decapsulation. Thank you to Célian Glénaz and Dahmun Goudarzi from Quarkslab for identifying the issue.
49+
- Kyber: This is the last release of liboqs to include Kyber.
50+
- ML-KEM: Improved testing of ML-KEM.
4651

4752
### Digital signature schemes
4853

49-
- LMS/XMSS: Added implementations of stateful hash-based signature schemes: [XMSS](https://datatracker.ietf.org/doc/html/rfc8391) and [LMS](https://datatracker.ietf.org/doc/html/rfc8554).
50-
- MAYO: Added portable C and AVX2 implementations of MAYO signature scheme from NIST Additional Signatures Round 1.
51-
- CROSS: Added portable C and AVX2 implementations of CROSS signature scheme from NIST Additional Signatures Round 1.
54+
- LMS: Fixed crashing bug.
55+
- ML-DSA: Removed FIPS 204-ipd (initial public draft) and replaced it with FIPS 204 final version.
56+
- Added new API for digital signatures with context strings; see https://github.com/open-quantum-safe/liboqs/issues/2001 for plan to remove old API without context string.
57+
- Added fuzzing tests for signature schemes.
58+
- Added benchmarking for stateful hash-based signature schemes.
5259

5360
### Other changes
5461

55-
- Added callback API to use custom implementations of AES, SHA2, and SHA3.
56-
- Refactor SHA3 implementation to use OpenSSL's EVP_DigestSqueeze() API.
62+
- Updated CBOM format to version 1.6.
63+
- Added a function `OQS_thread_stop` to be called by multi-threaded applications to properly deallocate resources in a threaded execution.
64+
- Added preprocessor macros conveying liboqs version information.
5765

5866
---
5967

6068
Detailed changelog
6169
------------------
6270

63-
* [NFCI] Move Keccak rhotates tables to rodata by @aaupov in https://github.com/open-quantum-safe/liboqs/pull/1739
64-
* Document Fix by @pi-314159 in https://github.com/open-quantum-safe/liboqs/pull/1735
65-
* Add option to dynamically load libcrypto.so.* by @ueno in https://github.com/open-quantum-safe/liboqs/pull/1603
66-
* Allow windows linking of test programs by @matlimatli in https://github.com/open-quantum-safe/liboqs/pull/1751
67-
* Refactor OpenSSL Implementation of SHA3 SHAKE to use new Squeeze API by @Eddy-M-K in https://github.com/open-quantum-safe/liboqs/pull/1694
68-
* remove "maximum" words for most length fields by @wangweij in https://github.com/open-quantum-safe/liboqs/pull/1747
69-
* add compile_commands.json to .gitignore by @carsonRadtke in https://github.com/open-quantum-safe/liboqs/pull/1754
70-
* Fix linking of test programs on msys by @d0p1s4m4 in https://github.com/open-quantum-safe/liboqs/pull/1758
71-
* restrict Windows platform support documentation [skip ci] by @baentsch in https://github.com/open-quantum-safe/liboqs/pull/1762
72-
* Add workflow dispatch to action by @ryjones in https://github.com/open-quantum-safe/liboqs/pull/1778
73-
* Bump jinja2 from 3.1.3 to 3.1.4 in /scripts/copy_from_upstream by @dependabot in https://github.com/open-quantum-safe/liboqs/pull/1782
74-
* Algorithm selection clarification by @beldmit in https://github.com/open-quantum-safe/liboqs/pull/1784
75-
* Use OPENSSL_cleanse if OpenSSL is used by @bencemali in https://github.com/open-quantum-safe/liboqs/pull/1773
76-
* Errors not printed out when OPENSSL_NO_STDIO is set by @bencemali in https://github.com/open-quantum-safe/liboqs/pull/1774
77-
* Add Stateful Signature (XMSS and LMS) by @ashman-p in https://github.com/open-quantum-safe/liboqs/pull/1650
78-
* Forward-declare OQS_SIG in sig_stfl.h by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1820
79-
* Move Linux ARM64 "build" test from CircleCI to GitHub Actions by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1814
80-
* Fix test_alg_info.py on Windows platform by @qnfm in https://github.com/open-quantum-safe/liboqs/pull/1821
81-
* Increment version string to 0.10.2-dev by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1813
82-
* Add XMSS-SHA256_{10, 16, 20}_192 parameters by @cothan in https://github.com/open-quantum-safe/liboqs/pull/1817
83-
* Add XMSS-SHAKE256_{10, 16, 20}_192 parameters by @cothan in https://github.com/open-quantum-safe/liboqs/pull/1818
84-
* Add XMSS-SHAKE256_{10, 16, 20}_256 parameters by @cothan in https://github.com/open-quantum-safe/liboqs/pull/1819
85-
* Create scorecard.yml (OpenSSF) by @planetf1 in https://github.com/open-quantum-safe/liboqs/pull/1708
86-
* Expose callback API for replacing low-level cryptographic primitives by @ueno in https://github.com/open-quantum-safe/liboqs/pull/1832
87-
* Add MAYO signature scheme from NIST onramp by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1707
88-
* Bump zipp from 3.4.0 to 3.19.1 in /scripts/copy_from_upstream in the pip group by @dependabot in https://github.com/open-quantum-safe/liboqs/pull/1836
89-
* Update and fix CI status badges by @anvega in https://github.com/open-quantum-safe/liboqs/pull/1844
90-
* Use `cmake -LA -N` instead of `cmake -LA` in CI by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1848
91-
* Fix passes.json entries for MAYO by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1852
92-
* ML-KEM NIST tests, fix order of d and z by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1854
93-
* Move from CircleCI to GitHub Actions by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1849
94-
* Add a convenience script for consistent astyle formatting by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1861
95-
* Quick fixes from Trail of Bits audit Week 1 by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1869
96-
* Check return value of fscanf in LMS/XMSS KAT tests by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1874
97-
* Fix downstream CI trigger by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1857
98-
* Don't hardcode OPENSSL_ROOT_DIR to /usr on Linux by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1873
99-
* Fix overflow in stateful sigs tests by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1887
100-
* Integrate Kyber from libjade by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/1745
101-
* Use explicit_memset if available. NetBSD has support for it: by @loganaden in https://github.com/open-quantum-safe/liboqs/pull/1872
102-
* Disable erroring TravisCI build by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1901
103-
* Update OpenSSH downstream branch to OQS-v9 by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1898
104-
* Fix incorrect formatting in unix.yml by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/1902
105-
* CMakeLists: add ppc case to known archs by @barracuda156 in https://github.com/open-quantum-safe/liboqs/pull/1816
106-
* Remove old ad hoc CI for Apple M1 by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1907
107-
* Add ML-KEM / FIPS203 final by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1899
108-
* Update checkout action in weekly.yml by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/1908
109-
* Add CROSS by @rtjk in https://github.com/open-quantum-safe/liboqs/pull/1881
110-
* Refactor liboqs CI and update Ubuntu images by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1909
111-
* Check workflows for issues during CI by @jplomas in https://github.com/open-quantum-safe/liboqs/pull/1916
112-
* Patch Kyber to fix ASAN error on ARM64 by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/1922
113-
* Change README links to be doxygen-friendly by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1927
71+
## What's Changed
72+
73+
* 0.11.0 release by @praveksharma in https://github.com/open-quantum-safe/liboqs/pull/1939
74+
* Bump version to 0.11.1-dev by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1940
75+
* Remove hardcoded build patch from test script by @iyanmv in https://github.com/open-quantum-safe/liboqs/pull/1938
76+
* Don't include dlfcn.h for Windows by @steenrasmussen in https://github.com/open-quantum-safe/liboqs/pull/1936
77+
* Update CBOM format to upstream v1.6 by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1834
78+
* Downgrade zephyr container to v0.26.14 to avoid build failures by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1949
79+
* Fix for Zephyr CI by @Frauschi in https://github.com/open-quantum-safe/liboqs/pull/1953
80+
* Add a basic fuzz testing harness for Dilithium2 by @nathaniel-brough in https://github.com/open-quantum-safe/liboqs/pull/1905
81+
* [#1823] replace malloc/calloc/strdup/free with openssl allocator by @songlingatpan in https://github.com/open-quantum-safe/liboqs/pull/1926
82+
* Add benchmarking for stateful hash based schemes: speed_sig_stfl by @cr-marcstevens in https://github.com/open-quantum-safe/liboqs/pull/1952
83+
* Update CODEOWNERS by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/1943
84+
* Add new API to cleanup OpenSSL threads. by @ashman-p in https://github.com/open-quantum-safe/liboqs/pull/1959
85+
* Adapt existing sig fuzz harness including more algorithms by @nathaniel-brough in https://github.com/open-quantum-safe/liboqs/pull/1955
86+
* add C++ linking test by @aidenfoxivey in https://github.com/open-quantum-safe/liboqs/pull/1971
87+
* Make random/functions deterministic during fuzzing by @nathaniel-brough in https://github.com/open-quantum-safe/liboqs/pull/1974
88+
* Remove SPHINCS+ aarch64 code by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1972
89+
* Remove macos-12 runner due to GitHub deprecation. by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1977
90+
* Revert "Disable erroring TravisCI build" by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1960
91+
* imported fix from CROSS upstream: endianness-aware csprng by @rtjk in https://github.com/open-quantum-safe/liboqs/pull/1983
92+
* chore: Add CI badges to README.md by @ChinoUkaegbu in https://github.com/open-quantum-safe/liboqs/pull/1987
93+
* Update PLATFORMS.md / re-enable CROSS on s390x by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1988
94+
* Avoid OpenSSL functions are unconditionally called at OQS_destroy by @ueno in https://github.com/open-quantum-safe/liboqs/pull/1982
95+
* Test Improvements for ML-KEM by @abhinav-thales in https://github.com/open-quantum-safe/liboqs/pull/1947
96+
* Fix LMS crash by @ashman-p in https://github.com/open-quantum-safe/liboqs/pull/1998
97+
* Set ML-KEM alg_version to "FIPS203" by @SWilson4 in https://github.com/open-quantum-safe/liboqs/pull/1997
98+
* Add ML-DSA / FIPS 204 final by @bhess in https://github.com/open-quantum-safe/liboqs/pull/1919
99+
* Add defines for OQS version components by @dstebila in https://github.com/open-quantum-safe/liboqs/pull/2000
114100

115101
## New Contributors
116-
* @aaupov made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1739
117-
* @pi-314159 made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1735
118-
* @ueno made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1603
119-
* @matlimatli made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1751
120-
* @Eddy-M-K made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1694
121-
* @wangweij made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1747
122-
* @carsonRadtke made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1754
123-
* @d0p1s4m4 made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1758
124-
* @ryjones made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1778
125-
* @bencemali made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1773
126-
* @qnfm made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1821
127-
* @anvega made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1844
128-
* @loganaden made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1872
129-
* @barracuda156 made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1816
130-
* @rtjk made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1881
131-
* @jplomas made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1916
132-
133-
**Full Changelog**: https://github.com/open-quantum-safe/liboqs/compare/0.10.1...0.11.0
102+
103+
* @steenrasmussen made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1936
104+
* @nathaniel-brough made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1905
105+
* @songlingatpan made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1926
106+
* @cr-marcstevens made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1952
107+
* @aidenfoxivey made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1971
108+
* @ChinoUkaegbu made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1987
109+
* @abhinav-thales made their first contribution in https://github.com/open-quantum-safe/liboqs/pull/1947
110+
111+
**Full Changelog**: https://github.com/open-quantum-safe/liboqs/compare/0.11.0...0.12.0-rc1

SECURITY.md

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

99
| Version | Supported |
1010
| ------- | ------------------ |
11-
| 0.11.0 | :white_check_mark: |
12-
| < 0.11 | :x: |
11+
| 0.12.0 | :white_check_mark: |
12+
| < 0.12 | :x: |
1313

1414
## Reporting a Vulnerability
1515
Please follow [this information to report a vulnerability](https://openquantumsafe.org/liboqs/security.html#reporting-security-bugs).
16-
17-

src/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ set_target_properties(oqs
121121
ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
122122
LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib"
123123
VERSION ${OQS_VERSION_TEXT}
124-
SOVERSION 6
124+
SOVERSION 7
125125
# For Windows DLLs
126126
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin")
127127

0 commit comments

Comments
 (0)