File tree Expand file tree Collapse file tree 6 files changed +37
-6
lines changed
Expand file tree Collapse file tree 6 files changed +37
-6
lines changed Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ project (OpenFHE C CXX)
2727
2828set (OPENFHE_VERSION_MAJOR 1)
2929set (OPENFHE_VERSION_MINOR 1)
30- set (OPENFHE_VERSION_PATCH 3 )
30+ set (OPENFHE_VERSION_PATCH 4 )
3131set (OPENFHE_VERSION ${OPENFHE_VERSION_MAJOR} .${OPENFHE_VERSION_MINOR} .${OPENFHE_VERSION_PATCH} )
3232
3333set (CMAKE_CXX_STANDARD 17)
Original file line number Diff line number Diff line change 1+ 03/08/2024: OpenFHE 1.1.4 (stable) is released
2+
3+ * Fixes a bug affecting the Google C++ Transpiler code generation (#701 )
4+ * Adds serialization backwards compatibility down to 1.0.4 for the JSON encoding (#571 )
5+ * Shows more information when an exception is thrown (#702 )
6+
7+ 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
8+
1903/04/2024: OpenFHE 1.1.3 (stable) is released
210
311* One internal map is now used for all rotation keys, which reduces memory footprint and key generation time for BGV-like schemes (#546 )
Original file line number Diff line number Diff line change @@ -450,7 +450,7 @@ class BinFHEContext : public Serializable {
450450 std::shared_ptr<BinFHECryptoParams> m_params{nullptr };
451451
452452 // Shared pointer to the underlying additive LWE scheme
453- const std::shared_ptr<LWEEncryptionScheme> m_LWEscheme{std::make_shared<LWEEncryptionScheme>()};
453+ std::shared_ptr<LWEEncryptionScheme> m_LWEscheme{std::make_shared<LWEEncryptionScheme>()};
454454
455455 // Shared pointer to the underlying RingGSW/RLWE scheme
456456 std::shared_ptr<BinFHEScheme> m_binfhescheme{nullptr };
Original file line number Diff line number Diff line change @@ -182,7 +182,7 @@ class OpenFHEException : public std::exception {
182182 OpenFHEException (const OpenFHEException& ex) = default ;
183183
184184 const char * what () const noexcept {
185- return m_errorDescription .c_str ();
185+ return m_errorMessage .c_str ();
186186 }
187187
188188 std::vector<std::string> getCallStackAsVector () {
Original file line number Diff line number Diff line change @@ -1558,8 +1558,25 @@ class SchemeBase {
15581558 // ar(::cereal::make_nvp("pre", m_PRE));
15591559 // ar(::cereal::make_nvp("lvldshe", m_LeveledSHE));
15601560 // ar(::cereal::make_nvp("advshe", m_AdvancedSHE));
1561- ar (::cereal::make_nvp (" fhe" , m_FHE));
1562- ar (::cereal::make_nvp (" schswitch" , m_SchemeSwitch));
1561+
1562+ // try-catch is used for backwards compatibility down to 1.0.x
1563+ // only works for JSON encoding
1564+ // m_FHE was added in v1.1.2
1565+ try {
1566+ ar (::cereal::make_nvp (" fhe" , m_FHE));
1567+ } catch (cereal::Exception&) {
1568+ m_FHE = nullptr ;
1569+ }
1570+
1571+ // try-catch is used for backwards compatibility down to 1.0.x
1572+ // only works for JSON encoding
1573+ // m_SchemeSwitch was added in v1.1.3
1574+ try {
1575+ ar (::cereal::make_nvp (" schswitch" , m_SchemeSwitch));
1576+ } catch (cereal::Exception&) {
1577+ m_SchemeSwitch = nullptr ;
1578+ }
1579+
15631580 uint32_t enabled = 0 ;
15641581 ar (::cereal::make_nvp (" enabled" , enabled));
15651582 Enable (enabled);
Original file line number Diff line number Diff line change @@ -1770,7 +1770,13 @@ class CryptoParametersRNS : public CryptoParametersRLWE<DCRTPoly> {
17701770 ar (cereal::make_nvp (" dnum" , m_numPartQ));
17711771 ar (cereal::make_nvp (" ab" , m_auxBits));
17721772 ar (cereal::make_nvp (" eb" , m_extraBits));
1773- ar (cereal::make_nvp (" ccl" , m_MPIntBootCiphertextCompressionLevel));
1773+ // try-catch is used for backwards compatibility down to 1.0.x
1774+ // m_MPIntBootCiphertextCompressionLevel was added in v1.1.0
1775+ try {
1776+ ar (cereal::make_nvp (" ccl" , m_MPIntBootCiphertextCompressionLevel));
1777+ } catch (cereal::Exception&) {
1778+ m_MPIntBootCiphertextCompressionLevel = COMPRESSION_LEVEL::SLACK;
1779+ }
17741780 }
17751781
17761782 std::string SerializedObjectName () const override {
You can’t perform that action at this time.
0 commit comments