Version 0.2 brings FLINT 3, Seeded Sampling, and ML-DSA

October 20, 2026

qFALL 0.2 of the math-, tools-, and schemes-crate is available on crates.io. It moves qFALL to FLINT 3.6, adds seeded sampling, several convenience functions, a prototype of ML-DSA, and fixes a few bugs.

All three qFALL crates are available in version 0.2 on crates.io.

What’s New

  • FLINT 3.6: qfall-math now builds upon FLINT 3.6 via flint3-sys instead of FLINT 2.8 via flint-sys.
  • Seeded sampling: Every sampling function of qfall-math has a _seeded variant that takes a 256-bit seed and produces reproducible output. This enables reproducible experiments, key generation, and Known Answer Tests (KATs).
  • Convenience functions: Negation via an implementation of the Neg-trait. Further, we implemented functions for hamming_weight, norm_eucl for polynomials, least absolute residues for all residue class types, and change_modulus/change_q to switch the modulus of existing instances.
  • ML-DSA: qfall-schemes contains a prototype of the signature scheme behind FIPS 204, including all three parameter sets.
  • Bug fixes: Among others, Zq::get_representative_least_absolute_residue now returns signed representatives, and the discrete Gaussian and binomial samplers of MatZq return properly reduced entries.

All details are listed in the release notes of our tutorial, including the new features and bug fixes.

How to Update

Version 0.2 contains breaking changes. Update all three crates at once and make sure your Rust toolchain is 1.88 or newer:

cargo add qfall-math@0.2 qfall-tools@0.2 qfall-schemes@0.2

Alongside a call to cargo clean, this is all it takes for most projects. If your project accesses FLINT directly, e.g. via the unsafe getters of qfall-math, our transition guide walks you through the migration to FLINT 3 step by step.

As new releases of some dependencies broke our version 0.1 releases, all v0.1 releases have been yanked from crates.io. If you need to reproduce results obtained with them, have a look at Using 0.1 Releases Today.