From 96d8f4cfc4cff989324bb8b6663cfe3c51e80ea7 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Bossuat Date: Fri, 24 Oct 2025 15:12:55 +0200 Subject: [PATCH] update changelog --- CHANGELOG.md | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f777088..36920dd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,40 +1,48 @@ # CHANGELOG +## [0.3.1] - 2025-10-24 + +### `poulpy-hal` + - Add bivariate convolution (X, Y) / (X^{N} + 1) with Y = 2^-K + +### `poulpy-core` + - Fix typo in impl of GGLWEToRef for GLWEAutomorphismKey that required the data to be mutable. + ## [0.3.0] - 2025-10-23 - Fixed builds on MACOS ### Breaking changes - - The changes to `poulpy-core` required to break some of the existing API. For example the API `prepare_alloc` has been removed and the trait `Prepare<...>` has been broken down for each different ciphertext type (e.g. GLWEPrepare). To achieve the same functionality, the user must allocated the prepared ciphertext, and then call prepare on it. + - The changes to `poulpy-core` required to break some of the existing API. For example the API `prepare_alloc` has been removed and the trait `Prepare<...>` has been broken down for each different ciphertext type (e.g. GLWEPrepare). To achieve the same functionality, the user must allocated the prepared ciphertext, and then call prepare on it. ### `poulpy-hal` - - Added cross-base2k normalization + - Added cross-base2k normalization ### `poulpy-core` - - Added functionality-based traits, which removes the need to import the low-levels traits of `poulpy-hal` and makes backend agnostic code much cleaner. For example instead of having to import each individual traits required for the encryption of a GLWE, only the trait `GLWEEncryptSk` is needed. + - Added functionality-based traits, which removes the need to import the low-levels traits of `poulpy-hal` and makes backend agnostic code much cleaner. For example instead of having to import each individual traits required for the encryption of a GLWE, only the trait `GLWEEncryptSk` is needed. ### `poulpy-schemes` - - Added basic framework for binary decicion circuit (BDD) arithmetic along with some operations. + - Added basic framework for binary decicion circuit (BDD) arithmetic along with some operations. ## [0.2.0] - 2025-09-15 ### Breaking changes - - Updated the trait `FillUniform` to take `log_bound`. + - Updated the trait `FillUniform` to take `log_bound`. ### `poulpy-hal` - - Added pure Rust reference code for `vec_znx` and `fft64` backend. - - Added cross-backend generic test suite along with macros. - - Added benchmark generic test suite. + - Added pure Rust reference code for `vec_znx` and `fft64` backend. + - Added cross-backend generic test suite along with macros. + - Added benchmark generic test suite. ### `poulpy-backend` - - Added `FFTRef` backend, which provides an implementation relying on the reference code of `poulpy-hal`. - - Added `FFTAvx` backend, which provides a pure Rust AVX/FMA accelerated implementation of `FFTRef` backend. - - Added cross-backend tests between `FFTRef` and `FFTAvx`. - - Added cross-backend tests between `FFTRef` and `FFT64Spqlios`. + - Added `FFTRef` backend, which provides an implementation relying on the reference code of `poulpy-hal`. + - Added `FFTAvx` backend, which provides a pure Rust AVX/FMA accelerated implementation of `FFTRef` backend. + - Added cross-backend tests between `FFTRef` and `FFTAvx`. + - Added cross-backend tests between `FFTRef` and `FFT64Spqlios`. ### `poulpy-core` - - Removed unsafe blocks. - - Added tests suite for `FFTRef` and `FFTAvx` backends. + - Removed unsafe blocks. + - Added tests suite for `FFTRef` and `FFTAvx` backends. ### Other - Fixed a few minor bugs.