Skip to content

Commit

Permalink
Merge pull request #708 from openfheorg/dev
Browse files Browse the repository at this point in the history
Updates to v1.1.4
  • Loading branch information
yspolyakov authored Mar 8, 2024
2 parents 7b08ce1 + 2ff66d5 commit 94fd76a
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 6 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ project (OpenFHE C CXX)

set(OPENFHE_VERSION_MAJOR 1)
set(OPENFHE_VERSION_MINOR 1)
set(OPENFHE_VERSION_PATCH 3)
set(OPENFHE_VERSION_PATCH 4)
set(OPENFHE_VERSION ${OPENFHE_VERSION_MAJOR}.${OPENFHE_VERSION_MINOR}.${OPENFHE_VERSION_PATCH})

set(CMAKE_CXX_STANDARD 17)
Expand Down
8 changes: 8 additions & 0 deletions docs/static_docs/Release_Notes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
03/08/2024: OpenFHE 1.1.4 (stable) is released

* Fixes a bug affecting the Google C++ Transpiler code generation (#701)
* Adds serialization backwards compatibility down to 1.0.4 for the JSON encoding (#571)
* Shows more information when an exception is thrown (#702)

The detailed list of changes is available at https://github.com/openfheorg/openfhe-development/issues?q=is%3Aissue+milestone%3A%22Release+1.1.4%22

03/04/2024: OpenFHE 1.1.3 (stable) is released

* One internal map is now used for all rotation keys, which reduces memory footprint and key generation time for BGV-like schemes (#546)
Expand Down
2 changes: 1 addition & 1 deletion src/binfhe/include/binfhecontext.h
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,7 @@ class BinFHEContext : public Serializable {
std::shared_ptr<BinFHECryptoParams> m_params{nullptr};

// Shared pointer to the underlying additive LWE scheme
const std::shared_ptr<LWEEncryptionScheme> m_LWEscheme{std::make_shared<LWEEncryptionScheme>()};
std::shared_ptr<LWEEncryptionScheme> m_LWEscheme{std::make_shared<LWEEncryptionScheme>()};

// Shared pointer to the underlying RingGSW/RLWE scheme
std::shared_ptr<BinFHEScheme> m_binfhescheme{nullptr};
Expand Down
2 changes: 1 addition & 1 deletion src/core/include/utils/exception.h
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ class OpenFHEException : public std::exception {
OpenFHEException(const OpenFHEException& ex) = default;

const char* what() const noexcept {
return m_errorDescription.c_str();
return m_errorMessage.c_str();
}

std::vector<std::string> getCallStackAsVector() {
Expand Down
21 changes: 19 additions & 2 deletions src/pke/include/schemebase/base-scheme.h
Original file line number Diff line number Diff line change
Expand Up @@ -1558,8 +1558,25 @@ class SchemeBase {
// ar(::cereal::make_nvp("pre", m_PRE));
// ar(::cereal::make_nvp("lvldshe", m_LeveledSHE));
// ar(::cereal::make_nvp("advshe", m_AdvancedSHE));
ar(::cereal::make_nvp("fhe", m_FHE));
ar(::cereal::make_nvp("schswitch", m_SchemeSwitch));

// try-catch is used for backwards compatibility down to 1.0.x
// only works for JSON encoding
// m_FHE was added in v1.1.2
try {
ar(::cereal::make_nvp("fhe", m_FHE));
} catch(cereal::Exception&) {
m_FHE = nullptr;
}

// try-catch is used for backwards compatibility down to 1.0.x
// only works for JSON encoding
// m_SchemeSwitch was added in v1.1.3
try {
ar(::cereal::make_nvp("schswitch", m_SchemeSwitch));
} catch(cereal::Exception&) {
m_SchemeSwitch = nullptr;
}

uint32_t enabled = 0;
ar(::cereal::make_nvp("enabled", enabled));
Enable(enabled);
Expand Down
8 changes: 7 additions & 1 deletion src/pke/include/schemerns/rns-cryptoparameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -1770,7 +1770,13 @@ class CryptoParametersRNS : public CryptoParametersRLWE<DCRTPoly> {
ar(cereal::make_nvp("dnum", m_numPartQ));
ar(cereal::make_nvp("ab", m_auxBits));
ar(cereal::make_nvp("eb", m_extraBits));
ar(cereal::make_nvp("ccl", m_MPIntBootCiphertextCompressionLevel));
// try-catch is used for backwards compatibility down to 1.0.x
// m_MPIntBootCiphertextCompressionLevel was added in v1.1.0
try {
ar(cereal::make_nvp("ccl", m_MPIntBootCiphertextCompressionLevel));
} catch(cereal::Exception&) {
m_MPIntBootCiphertextCompressionLevel = COMPRESSION_LEVEL::SLACK;
}
}

std::string SerializedObjectName() const override {
Expand Down

0 comments on commit 94fd76a

Please sign in to comment.