diff --git a/CMakeLists.txt b/CMakeLists.txt
index eac3f971d3..7e98b7d75a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -47,9 +47,9 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(OQS_VERSION_MAJOR 0)
-set(OQS_VERSION_MINOR 15)
+set(OQS_VERSION_MINOR 16)
set(OQS_VERSION_PATCH 0)
-set(OQS_VERSION_PRE_RELEASE "")
+set(OQS_VERSION_PRE_RELEASE "-rc1")
set(OQS_VERSION_TEXT "${OQS_VERSION_MAJOR}.${OQS_VERSION_MINOR}.${OQS_VERSION_PATCH}${OQS_VERSION_PRE_RELEASE}")
set(OQS_COMPILE_BUILD_TARGET "${CMAKE_SYSTEM_PROCESSOR}-${CMAKE_HOST_SYSTEM}")
set(OQS_MINIMAL_GCC_VERSION "7.1.0")
diff --git a/RELEASE.md b/RELEASE.md
index 0ad3635522..fdc402faa4 100644
--- a/RELEASE.md
+++ b/RELEASE.md
@@ -1,99 +1,233 @@
-# liboqs version 0.15.0
+# liboqs version 0.16.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/.
+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: and on Github at
+.
-**liboqs** is an open source C library for quantum-resistant cryptographic algorithms. Details about liboqs can be found in [README.md](https://github.com/open-quantum-safe/liboqs/blob/main/README.md). See in particular limitations on intended use.
+**liboqs** is an open source C library for quantum-resistant cryptographic
+algorithms. Details about liboqs can be found in
+[README.md](https://github.com/open-quantum-safe/liboqs/blob/main/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](https://www.openssl.org/docs/manmaster/man7/provider.html) 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](https://github.com/open-quantum-safe/oqs-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
-liboqs 0.15.0 was released on Friday, Nov 14, 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](https://github.com/pq-code-package/slhdsa-c/)**
- - SLH-DSA ACVP tests ([#2237](https://github.com/open-quantum-safe/liboqs/pull/2237))
- - Integrate SLH-DSA-C Library ([#2175](https://github.com/open-quantum-safe/liboqs/pull/2175))
-- Added NTRU back ([#2176](https://github.com/open-quantum-safe/liboqs/pull/2176))
-- Removed all Dilithium implementations ([#2275](https://github.com/open-quantum-safe/liboqs/pull/2275))
-- Replaced SPHINCS+ with SLH-DSA for CMake build option `OQS_ALGS_ENABLED=STD` ([#2290](https://github.com/open-quantum-safe/liboqs/pull/2290))
-- Updated CROSS to version 2.2 ([#2247](https://github.com/open-quantum-safe/liboqs/pull/2247))
-- Included DeriveEncapsulation functionality ([#2221](https://github.com/open-quantum-safe/liboqs/pull/2221))
-- Integrated ML-KEM implementation from ICICLE-PQC ([#2216](https://github.com/open-quantum-safe/liboqs/pull/2216))
-
-## Bug fixes
-- Fixed erroneously disabled LMS variants with build flag `OQS_ENABLE_SIG_STFL_LMS` ([#2310](https://github.com/open-quantum-safe/liboqs/pull/2310))
-- Fixed incorrect import in OV-III-pkc_skc ([#2299](https://github.com/open-quantum-safe/liboqs/pull/2299))
-- Fixed incorrect actual signature length in signature full-cycle speed test ([#2293](https://github.com/open-quantum-safe/liboqs/pull/2293))
-- Fixed ICICLE ML-KEM integration ([#2288](https://github.com/open-quantum-safe/liboqs/pull/2293))
-- Disabled strict aliasing on SPHINCS+-SHAKE ([#2264](https://github.com/open-quantum-safe/liboqs/pull/2264))
-- Fixed typo in `test_kem.c` ([#2281](https://github.com/open-quantum-safe/liboqs/pull/2281))
-- Fixed uninitialized `length_encaps_seed` for NTRU implementations ([#2266](https://github.com/open-quantum-safe/liboqs/pull/2266))
-
-
-- Changed 64 bit add to 32 bit add to wrap on 32 bit counter for AES-CTR AES-NI implementation ([#2252](https://github.com/open-quantum-safe/liboqs/pull/2252))
-- Improved random number generator security ([#2225](https://github.com/open-quantum-safe/liboqs/pull/2225))
-- Avoided invalid compiler options for MSVC ([#2239](https://github.com/open-quantum-safe/liboqs/pull/2239))
-- Added Classic McEliece sanitization patch ([#2218](https://github.com/open-quantum-safe/liboqs/pull/2218))
-
-## Miscellaneous
-- Deprecated `noregress` scripts ([#2295](https://github.com/open-quantum-safe/liboqs/pull/2295))
-- Updated no-pass explanation for constant-time testing ([#2294](https://github.com/open-quantum-safe/liboqs/pull/2294))
-- Fixed weekly test failures in GitHub Action ([#2285](https://github.com/open-quantum-safe/liboqs/pull/2294))
-- Improved algorithm support readability in README.md ([#2286](https://github.com/open-quantum-safe/liboqs/pull/2286))
-- Re-enabled all ACVP tests ([#2283](https://github.com/open-quantum-safe/liboqs/pull/2283))
-- Moved continuous benchmarking to weekly tests ([#2276](https://github.com/open-quantum-safe/liboqs/pull/2276))
-- Linked to contribution wishlist from CONTRIBUTING.md ([#2273](https://github.com/open-quantum-safe/liboqs/pull/2273))
-- Added content:read permission to scorecard workflow ([#2261](https://github.com/open-quantum-safe/liboqs/pull/2261))
-- Added guidance and questions on generative AI use ([#2269](https://github.com/open-quantum-safe/liboqs/pull/2269))
-- Moved `linux_arm_emulated` to extended tests ([#2236](https://github.com/open-quantum-safe/liboqs/pull/2236))
-- Fixed pluralization in docs: "key encapsulation mechanisms (KEMs)" ([#2255](https://github.com/open-quantum-safe/liboqs/pull/2255))
-- Fixed permissions for poutine_analysis job ([#2246](https://github.com/open-quantum-safe/liboqs/pull/2246))
-- Disabled testing on Travis CI ([#2248](https://github.com/open-quantum-safe/liboqs/pull/2248))
-- Upgraded Jinja to 3.1.6 ([#2214](https://github.com/open-quantum-safe/liboqs/pull/2214))
-- Updated license info for ML-KEM ([#2250](https://github.com/open-quantum-safe/liboqs/pull/2250))
-- Fixed typos across codebase ([#2244](https://github.com/open-quantum-safe/liboqs/pull/2244))
-- Restructured basic checks ([#2233](https://github.com/open-quantum-safe/liboqs/pull/2233))
-- Fixed code scanning workflow ([#2217](https://github.com/open-quantum-safe/liboqs/pull/2217))
-- Changed Nix install action to verified ([#2212](https://github.com/open-quantum-safe/liboqs/pull/2212))
-- Removed `armel` comment ([#2231](https://github.com/open-quantum-safe/liboqs/pull/2231))
-- Removed `armel` support from `PLATFORMS.md` ([#2232](https://github.com/open-quantum-safe/liboqs/pull/2232))
-- Added Poutine SASL ([#2213](https://github.com/open-quantum-safe/liboqs/pull/2213))
-- Updated nixpkgs from 24.05 to 25.05 ([#2187](https://github.com/open-quantum-safe/liboqs/pull/2187))
-- Added Custom Timeout to CI ([#2189](https://github.com/open-quantum-safe/liboqs/pull/2189))
-- Updated ACVP to 1.1.0.40 ([#2172](https://github.com/open-quantum-safe/liboqs/pull/2172))
-- Switched to dev mode for 0.14.1 ([#2199](https://github.com/open-quantum-safe/liboqs/pull/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)
-
-
+- **oqs-provider**: A standalone prototype [OpenSSL 3
+provider](https://www.openssl.org/docs/manmaster/man7/provider.html) 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
+.
+- **OQS-OpenSSH**: A prototype integration of liboqs-based authentication and
+key exchange into Secure Shell (SSH) version 2 in our fork of OpenSSH; see
+.
+
+Several [demos](https://github.com/open-quantum-safe/oqs-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
+- Go, via
+- Java, via
+- Python 3, via
+- Rust, via
+
+## Release notes
+
+liboqs 0.16.0-rc1 was released on Wednesday, June 24, 2026.
+
+### Deprecation notice
+
+SPHINCS+ was removed in 0.16.0.
+
+### Security issues
+
+- Fixed uninitialized `encaps_derand` pointer dereference
+[#2460](https://github.com/open-quantum-safe/liboqs/pull/2460)
+- Fixed out-of-bounds read in XMSS/XMSS^MT signature verification
+[077e32a](https://github.com/open-quantum-safe/liboqs/commit/077e32a)
+[#2384](https://github.com/open-quantum-safe/liboqs/pull/2384)
+- Fixed Integer underflow in CROSS `crypto_sign_open()`
+[25d0a9e](https://github.com/open-quantum-safe/liboqs/commit/25d0a9e)
+- Fixed incorrect array size when calling `secure_clean`
+[ab0e07c](https://github.com/open-quantum-safe/liboqs/commit/ab0e07c)
+- Implemented optimization barrier `OQS_MEM_BLACK_BOX` and applied to
+`ct_select` in FrodoKEM
+[#2431](https://github.com/open-quantum-safe/liboqs/pull/2431)
+
+### Significant change
+
+#### FrodoKEM algorithm change
+
+[#2192](https://github.com/open-quantum-safe/liboqs/pull/2192),
+[#2342](https://github.com/open-quantum-safe/liboqs/pull/2342)
+
+Existing FrodoKEM in 0.15.0 was renamed to ephemeral FrodoKEM
+(`KEM_efrodokem_<640|976|1344>_`), and the salted variant of FrodoKEM
+was added under the prior names (`KEM_frodokem_<640|976|1344>_`).
+
+Ephemeral FrodoKEM is recommended for applications where each keypair will
+encapsulate only a small number of shared secrets and ciphertexts. Standard
+(salted) FrodoKEM is recommended for applications where each keypair is
+expected to encapsulate large number of ciphertexts. Please consult
+[upstream](https://github.com/microsoft/PQCrypto-LWEKE/#frodokem-learning-with-errors-key-encapsulation)
+for more details.
+
+#### mldsa-native integration
+
+[#2284](https://github.com/open-quantum-safe/liboqs/pull/2284),
+[#2391](https://github.com/open-quantum-safe/liboqs/pull/2391),
+[#3445](https://github.com/open-quantum-safe/liboqs/pull/3445)
+
+mldsa-native is a secure, fast, and portable C90 implementation of the ML-DSA
+post-quantum signature standard. It also includes optimized builds for x86_64
+and aarch64. It is now the default implementation behind
+`SIG_ml_dsa_<44|65|87>`.
+
+#### Updated HQC implementation
+
+[#2407](https://github.com/open-quantum-safe/liboqs/pull/2407)
+
+The HQC implementations in liboqs were updated to 20250822 spec. Its upstream
+switched from PQClean to the [official repo](https://gitlab.com/pqc-hqc/hqc).
+`KEM_hqc_<1|3|5>` is now enabled by default.
+
+#### MQOM integration and memory-optimized build flag
+
+[#2385](https://github.com/open-quantum-safe/liboqs/pull/2385),
+[#2367](https://github.com/open-quantum-safe/liboqs/pull/2367)
+
+MQOM is a third-round candidate in NIST's Additional Digital Signatures for the
+PQC Standardization Process. Portable, x86_64-optimized, and memory-optimized
+implementations were integrate into liboqs under `OQS_ENABLE_SIG_MQOM`.
+
+A new build flag `OQS_MEMOPT_BUILD` can now be used to switch to
+memory-optimized builds for algorithms that have memory-optimized
+implementations.
+
+#### OpenSSH implementation of NTRU Prime
+
+[#2356](https://github.com/open-quantum-safe/liboqs/pull/2356)
+
+A public-domain OpenSSH implementation of NTRUPrime761 replaced the PQClean
+implementation as the default backend for `KEM_ntruprime_sntrup761`.
+
+### Bug fixes
+
+- Fixed incremental absorption bug in AVX512VL SHA3-512
+[#2442](https://github.com/open-quantum-safe/liboqs/pull/2442)
+- Implemented fallback for when `EVP_DigestSqueeze` is unavailable
+[#2433](https://github.com/open-quantum-safe/liboqs/pull/2433)
+- Added API for detecting stateful signature support at runtime
+[#2434](https://github.com/open-quantum-safe/liboqs/pull/2434)
+- Fixed missing initialization and indexing bug in LMS
+[#2416](https://github.com/open-quantum-safe/liboqs/pull/2416)
+- Fixed erroneous MAYO_OK despite failed sample_solution() attempts in MAYO
+[#2403](https://github.com/open-quantum-safe/liboqs/pull/2403)
+- Limited pytest parallelism to prevent memory exhaustion in constrained
+environment [#2397](https://github.com/open-quantum-safe/liboqs/pull/2397)
+- Fixed cuPQC ML-KEM derand symbol names and `#if/#elif` chains
+[#2396](https://github.com/open-quantum-safe/liboqs/pull/2396)
+- Tightened Windows compiler detection
+[#2394](https://github.com/open-quantum-safe/liboqs/pull/2394)
+- Fixed mismatched macros in LMS
+[#2379](https://github.com/open-quantum-safe/liboqs/pull/2379)
+- Made fuzzers tolerant to disabled algorithms
+[#2359](https://github.com/open-quantum-safe/liboqs/pull/2359)
+- Removed inlined exponentiation in CROSS-RSDPG-1
+[#2357](https://github.com/open-quantum-safe/liboqs/pull/2357)
+- Fixed incorrect arg register update in AVX512 Keccak
+[#2330](https://github.com/open-quantum-safe/liboqs/pull/2330)
+
+### Miscellaneous
+
+- Update mlkem-native to v1.2.0
+[#2470](https://github.com/open-quantum-safe/liboqs/pull/2470)
+
+
+- Removed legacy HQC constant-time test
+[#2467](https://github.com/open-quantum-safe/liboqs/pull/2467)
+- Download Intel SDE from alternative source
+[#2463](https://github.com/open-quantum-safe/liboqs/pull/2463)
+- Updated algorithm support information
+[#2441](https://github.com/open-quantum-safe/liboqs/pull/2441)
+- Added NIST LMS Signature verify KATs
+[#2435](https://github.com/open-quantum-safe/liboqs/pull/2435)
+- Fixed comments on SHA3-AVX512VL assembly file. Thank you Anthony Plank for
+reporting the issue
+[#2438](https://github.com/open-quantum-safe/liboqs/pull/2438)
+- Fixed latent warnings exposed by refreshed CI container images
+[#2430](https://github.com/open-quantum-safe/liboqs/pull/2430)
+- Added common dependencies with `include_only` in `copy_from_upstream`
+[#2382](https://github.com/open-quantum-safe/liboqs/pull/2382)
+- Documented algorithm support levels
+[#2413](https://github.com/open-quantum-safe/liboqs/pull/2413)
+- Updated Dependabot configuration
+[#2420](https://github.com/open-quantum-safe/liboqs/pull/2420)
+- Added @loganaden as codeowner for Kyber
+[#2421](https://github.com/open-quantum-safe/liboqs/pull/2421)
+- Bumped `gitpython` version for `copy_from_upstream`
+[#2414](https://github.com/open-quantum-safe/liboqs/pull/2414)
+- Updated GOVERNANCE.md and CODEOWNERS
+[#2410](https://github.com/open-quantum-safe/liboqs/pull/2410)
+- Added fuzz harness for LMS/XMSS signature verification
+[#2398](https://github.com/open-quantum-safe/liboqs/pull/2398)
+[#2412](https://github.com/open-quantum-safe/liboqs/pull/2412)
+- Added fuzz harness for XMSS signature verification
+[#2399](https://github.com/open-quantum-safe/liboqs/pull/2399)
+[#2400](https://github.com/open-quantum-safe/liboqs/pull/2400)
+- Moved compiler optimization level to CMAKE_BUILD_TYPE
+[#2383](https://github.com/open-quantum-safe/liboqs/pull/2383)
+- Updated pytest package version
+[#2408](https://github.com/open-quantum-safe/liboqs/pull/2408)
+- Demoted armhf to tier 3 supported platform
+[#2406](https://github.com/open-quantum-safe/liboqs/pull/2406)
+- Added Wycheproof tests for ML-DSA
+[#2378](https://github.com/open-quantum-safe/liboqs/pull/2378)
+- Added overflow check for OQS_MEM_calloc arguments
+[#2377](https://github.com/open-quantum-safe/liboqs/pull/2377)
+- Updated Wycheproof tests ML-KEM
+[#2373](https://github.com/open-quantum-safe/liboqs/pull/2373)
+- Updated Zephyr CI tests to recent versions
+[#2369](https://github.com/open-quantum-safe/liboqs/pull/2369)
+- Documented KAT sources and hash verification process
+[#2363](https://github.com/open-quantum-safe/liboqs/pull/2363)
+- Added support for ML-DSA pre-hash sign ACVP test vectors
+[#2362](https://github.com/open-quantum-safe/liboqs/pull/2362)
+- Added external-mu sign gen ACVP tests for ML-DSA
+[#2352](https://github.com/open-quantum-safe/liboqs/pull/2352)
+- Cached ACVP test vectors
+[#2354](https://github.com/open-quantum-safe/liboqs/pull/2354)
+- Added OQS_SIG_sign methods tests in vectors_sig
+[#2350](https://github.com/open-quantum-safe/liboqs/pull/2350)
+- Added the path to the binary include dir
+[#2312](https://github.com/open-quantum-safe/liboqs/pull/2312)
+- Removed local copies of ACVP test vectors
+[#2303](https://github.com/open-quantum-safe/liboqs/pull/2303)
+- New stylesheet for Doxygen-generated documentation
+[#2337](https://github.com/open-quantum-safe/liboqs/pull/2337)
+- Docs: List all optimized implementations
+[#2333](https://github.com/open-quantum-safe/liboqs/pull/2333)
+- Fixed README href formatting
+[#2323](https://github.com/open-quantum-safe/liboqs/pull/2323)
+- Unpined OQS_MINIMAL_BUILD alg list link from specific commit
+[#2326](https://github.com/open-quantum-safe/liboqs/pull/2326)
+
+### New contributors
+
+- Vishnu Ajith (@Vishnu2707)
+- William Bates (@will-bates11)
+- Nelonn (@Nelonn)
+- Abhi S (@abhi-dev-engg)
+- Ryad Benadjila (@rben-dev)
+- Billy Brumley (@bbbrumley)
+- saanvi ratra (@Anusaa35)
+- Harshith Vasireddy (@ode)
+- Laugenbraue (@mmarock)
+- Sam Van de Velde (@samvandevelde)
+- Emil Lundberg (@emlun)
diff --git a/SECURITY.md b/SECURITY.md
index 74908b16e0..560194223b 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -8,8 +8,8 @@ Using any code prior to 0.12.0 is strongly discouraged due to a [known security
| Version | Supported |
| ------- | ------------------ |
-| 0.15.0 | :white_check_mark: |
-| < 0.15 | :x: |
+| 0.16.0 | :white_check_mark: |
+| < 0.16 | :x: |
## Reporting a Vulnerability