Skip to content

Release Notes

1.4.0 | 2025/08/26

  • Encoding and decoding can now be done entirely on the GPU. Previously, the calculation was done on the CPU and then moved to the GPU.
  • The serialization format has been updated. This update is to prepare for new features in development, so if any data structure is stored, it is recommended to read in the data using the latest version of the library and store them again in the new format. Serialized data structure from older versions of the library can be processed, but the serialized data structure from this version and on cannot be processed by older versions.
  • Fixed bug where the engine crashed when trying to rescale a ciphertext or a plaintext in NTT form on the GPU.
  • CUDA 12.9 is now supported.
  • A sample benchmark of the bootstrap function is now released.

1.3.0 | 2025/07/24

  • Secret Key encryption is now available.
  • In-place operation is now available for addition and subtraction. In-place operations are generally faster because smaller amount of memory is accessed. More in-place operations will be supported in future releases.
  • You can now do all operations except decode on a ciphertext or a plaintext that is rescaled. In previous releases, only a subset of operations, such as level down and multiplication, were supported.
  • NTT/INTT is now a public API. These functions can be used to make the calculation faster when a ciphertext or a plaintext is multiplied to several different ciphertexts.

1.2.0 | 2025/06/25

  • Polynomial operations are supported through the following helper functions: evaluate_polynomial, make_power_basis, and weighted_sum
  • A smaller parameter set for multiparty operation for max_level ≤ 1 is now supported.
  • The serialization format has been updated. Serialized data structure from older versions of the library can be processed, but the serialized data structure from this version and on cannot be processed by older versions.
  • Improved the accuracy on ciphertexts that used up a lot of multiplicative levels.

1.1.1 | 2025/06/12

  • Fix bug where NTT was not operating properly on NVIDIA H100 GPUs

1.1.0 | 2025/05/28

  • New features
    • Large bootstrap key that supports faster bootstrapping while using more memory
    • The bootstrapping operation with a rotation key is now about 5% faster
    • Secret key with a custom secret
    • Mod raise function
    • Batch rotate functions to efficiently rotate a ciphertext multiple times
    • Serialize/deserialize functions for data structures
  • Bug fixes
    • Fix bug where segmentation fault occurred on CPU parallel mode with non-power-of-two thread counts

Now that both the mod raise function and the batch rotate functions are here, a naive version of bootstrapping can be implemented.

1.0.3 | 2025/05/21

  • Add error message for trying to exceed the multiplication limit
  • Add nbytes / serialized_nbytes for the data structures
  • Fix bug where bootstrap with a rotation key with stage count set to 4 did not work

1.0.2 | 2025/05/14

  • Reduce error created by the key switching operations
  • Support MacOS 11.0 and up

1.0.1 | 2025/05/08

  • Fix bug where the encrypt function did not use the level parameter
  • Fix bug where the trio ciphertext decrypt function modified the input ciphertext
  • Support CUDA 12.1 / 12.4

1.0.0 | 2025/04/30

  • The first ever public version