From b929921c55b78dc9797e8aed03bd3a1c05f202a8 Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Mon, 19 Oct 2026 18:58:37 +0100 Subject: [PATCH 1/2] Update to version 0.2 of qfall-math --- Cargo.toml | 12 ++++++------ README.md | 4 ++++ src/compression/lossy_compression_fips203.rs | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 698decf..41f258d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "qfall-tools" -version = "0.1.0" +version = "0.2.0" edition = "2024" -rust-version = "1.87" # due to wit_bindgen dependency +rust-version = "1.86" description = "Common sub-modules and procedures in lattice-based constructions" readme = "README.md" homepage = "https://qfall.github.io" @@ -15,12 +15,12 @@ autobenches = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -qfall-math = "0" -flint-sys = "0.7" -sha2 = "0" +qfall-math = "0.2" +flint3-sys = { version="3.6.0", features=["gmp-mpfr-sys"]} +sha2 = "0.11" serde = {version="1", features=["derive"]} serde_json = "1" -typetag = "0" +typetag = "0.2" criterion = { version = "0.8", features = ["html_reports"] } [profile.bench] diff --git a/README.md b/README.md index e6e9bb7..d9690ee 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,10 @@ assert!(psf.check_domain(&preimage)); assert_eq!(a * preimage, target); ``` +## SemVer and Backward Compatibility +While this library is not stable yet, i.e. pre-version 1.0.0, we may introduce API-breaking changes in MINOR version updates. +Therefore, we recommend to fix the used version `version = "0.y"` in your `Cargo.toml`. + ## Bugs Please report bugs through the [GitHub issue tracker](https://github.com/qfall/tools/issues). diff --git a/src/compression/lossy_compression_fips203.rs b/src/compression/lossy_compression_fips203.rs index ec2d735..075f036 100644 --- a/src/compression/lossy_compression_fips203.rs +++ b/src/compression/lossy_compression_fips203.rs @@ -8,7 +8,7 @@ //! Implements lossy (de-)compression as specified in FIPS 203, i.e. ML-KEM / Kyber. -use flint_sys::fmpz_poly::fmpz_poly_set_coeff_fmpz; +use flint3_sys::fmpz_poly_set_coeff_fmpz; use qfall_math::{ integer::{MatPolyOverZ, PolyOverZ, Z}, integer_mod_q::{MatPolynomialRingZq, ModulusPolynomialRingZq, PolynomialRingZq}, From ba0c0564b3bc5f5e48b4eee8ced8568099017769 Mon Sep 17 00:00:00 2001 From: jnsiemer Date: Mon, 19 Oct 2026 23:02:33 +0100 Subject: [PATCH 2/2] Update min-required Rust version based on dependency sha2 --- Cargo.toml | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 41f258d..37609a3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,7 +2,7 @@ name = "qfall-tools" version = "0.2.0" edition = "2024" -rust-version = "1.86" +rust-version = "1.88" description = "Common sub-modules and procedures in lattice-based constructions" readme = "README.md" homepage = "https://qfall.github.io" diff --git a/README.md b/README.md index d9690ee..b7b699d 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ This `tools`-crate collects common sub-modules and features used by lattice-base ## Quick-Start First, ensure that you use a Unix-like distribution (Linux or MacOS). Setup [WSL](https://learn.microsoft.com/en-us/windows/wsl/install) if you're using Windows. This is required due to this crate's dependency on FLINT. -Then, make sure your `rustc --version` is `1.87` or newer. +Then, make sure your `rustc --version` is `1.88` or newer. Furthermore, it's required that `m4`, a C-compiler such as `gcc`, and `make` are installed. ```bash