update changelog

This commit is contained in:
Jean-Philippe Bossuat
2025-10-24 15:12:55 +02:00
parent 122bdce930
commit 96d8f4cfc4

View File

@@ -1,40 +1,48 @@
# CHANGELOG # 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 ## [0.3.0] - 2025-10-23
- Fixed builds on MACOS - Fixed builds on MACOS
### Breaking changes ### 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` ### `poulpy-hal`
- Added cross-base2k normalization - Added cross-base2k normalization
### `poulpy-core` ### `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` ### `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 ## [0.2.0] - 2025-09-15
### Breaking changes ### Breaking changes
- Updated the trait `FillUniform` to take `log_bound`. - Updated the trait `FillUniform` to take `log_bound`.
### `poulpy-hal` ### `poulpy-hal`
- Added pure Rust reference code for `vec_znx` and `fft64` backend. - Added pure Rust reference code for `vec_znx` and `fft64` backend.
- Added cross-backend generic test suite along with macros. - Added cross-backend generic test suite along with macros.
- Added benchmark generic test suite. - Added benchmark generic test suite.
### `poulpy-backend` ### `poulpy-backend`
- Added `FFTRef` backend, which provides an implementation relying on the reference code of `poulpy-hal`. - 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 `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 `FFTAvx`.
- Added cross-backend tests between `FFTRef` and `FFT64Spqlios`. - Added cross-backend tests between `FFTRef` and `FFT64Spqlios`.
### `poulpy-core` ### `poulpy-core`
- Removed unsafe blocks. - Removed unsafe blocks.
- Added tests suite for `FFTRef` and `FFTAvx` backends. - Added tests suite for `FFTRef` and `FFTAvx` backends.
### Other ### Other
- Fixed a few minor bugs. - Fixed a few minor bugs.