diff --git a/Cargo.toml b/Cargo.toml index 698decf..37609a3 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.88" 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..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 @@ -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},