Skip to content

Commit 94fd76a

Browse files
authored
Merge pull request #708 from openfheorg/dev
Updates to v1.1.4
2 parents 7b08ce1 + 2ff66d5 commit 94fd76a

File tree

6 files changed

+37
-6
lines changed

6 files changed

+37
-6
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ project (OpenFHE C CXX)
2727

2828
set(OPENFHE_VERSION_MAJOR 1)
2929
set(OPENFHE_VERSION_MINOR 1)
30-
set(OPENFHE_VERSION_PATCH 3)
30+
set(OPENFHE_VERSION_PATCH 4)
3131
set(OPENFHE_VERSION ${OPENFHE_VERSION_MAJOR}.${OPENFHE_VERSION_MINOR}.${OPENFHE_VERSION_PATCH})
3232

3333
set(CMAKE_CXX_STANDARD 17)

docs/static_docs/Release_Notes.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
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+
19
03/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)

src/binfhe/include/binfhecontext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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};

src/core/include/utils/exception.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff 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() {

src/pke/include/schemebase/base-scheme.h

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff 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);

src/pke/include/schemerns/rns-cryptoparameters.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff 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 {

0 commit comments

Comments
 (0)