From b7f8d61566a2be590ef2e629375584496defa11e Mon Sep 17 00:00:00 2001 From: Vicente Adolfo Bolea Sanchez Date: Fri, 29 Dec 2023 16:34:35 -0500 Subject: [PATCH 1/2] bp: workaround for char overflow in bp vers BP files bits assigned to the minor version of ADIOS2 is a single character long, when moving to adios 2.10.0 we run into an ASCII overflow here. This patch uses the next ASCII character after '9' for minor versions after 9. This will buy us sometime to resolve this issue. --- source/adios2/engine/bp5/BP5Writer.cpp | 3 ++- source/adios2/toolkit/format/bp/BPSerializer.cpp | 3 ++- source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/source/adios2/engine/bp5/BP5Writer.cpp b/source/adios2/engine/bp5/BP5Writer.cpp index 82a82886f4..69c0c4ec86 100644 --- a/source/adios2/engine/bp5/BP5Writer.cpp +++ b/source/adios2/engine/bp5/BP5Writer.cpp @@ -1236,7 +1236,8 @@ void BP5Writer::MakeHeader(std::vector &buffer, size_t &position, const st } const std::string majorVersion(std::to_string(ADIOS2_VERSION_MAJOR)); - const std::string minorVersion(std::to_string(ADIOS2_VERSION_MINOR)); + const char minorVersionChar = '0' + ADIOS2_VERSION_MINOR; + const std::string minorVersion(1, minorVersionChar); const std::string patchVersion(std::to_string(ADIOS2_VERSION_PATCH)); // byte 0-31: Readable tag diff --git a/source/adios2/toolkit/format/bp/BPSerializer.cpp b/source/adios2/toolkit/format/bp/BPSerializer.cpp index 57c9100fc9..51b9a224f5 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.cpp +++ b/source/adios2/toolkit/format/bp/BPSerializer.cpp @@ -232,7 +232,8 @@ void BPSerializer::PutMinifooter(const uint64_t pgIndexStart, const uint64_t var }; const std::string majorVersion(std::to_string(ADIOS2_VERSION_MAJOR)); - const std::string minorVersion(std::to_string(ADIOS2_VERSION_MINOR)); + const char minorVersionChar = '0' + ADIOS2_VERSION_MINOR; + const std::string minorVersion(1, minorVersionChar); const std::string patchVersion(std::to_string(ADIOS2_VERSION_PATCH)); const std::string versionLongTag("ADIOS-BP v" + majorVersion + "." + minorVersion + "." + diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp index fc28640bae..46e8c59b45 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp +++ b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.cpp @@ -61,7 +61,8 @@ void BP4Serializer::MakeHeader(BufferSTL &b, const std::string fileType, const b } const std::string majorVersion(std::to_string(ADIOS2_VERSION_MAJOR)); - const std::string minorVersion(std::to_string(ADIOS2_VERSION_MINOR)); + const char minorVersionChar = '0' + ADIOS2_VERSION_MINOR; + const std::string minorVersion(1, minorVersionChar); const std::string patchVersion(std::to_string(ADIOS2_VERSION_PATCH)); // byte 0-31: Readable tag From 22976bfc6a625fc4bf5fc0407bf629f33ef54712 Mon Sep 17 00:00:00 2001 From: Vicente Adolfo Bolea Sanchez Date: Fri, 29 Dec 2023 14:26:49 -0500 Subject: [PATCH 2/2] Bump version to v2.10.0-rc1 --- CMakeLists.txt | 2 +- ReadMe.md | 2 +- docs/user_guide/source/conf.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91b7beb8e7..1a3b2a8534 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,7 @@ endif() include(${CMAKE_CURRENT_LIST_DIR}/cmake/ADIOSFunctions.cmake) -setup_version(2.9.0) +setup_version(2.10.0) project(ADIOS2 VERSION ${ADIOS2_VERSION}) diff --git a/ReadMe.md b/ReadMe.md index 3ff8b526b0..96fa7c26f0 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -71,7 +71,7 @@ Once ADIOS2 is installed refer to: ## Releases -* Latest release: [v2.9.2](https://github.com/ornladios/ADIOS2/releases/tag/v2.9.2) +* Latest release: [v2.10.0-rc1](https://github.com/ornladios/ADIOS2/releases/tag/v2.10.0-rc1) * Previous releases: [https://github.com/ornladios/ADIOS2/releases](https://github.com/ornladios/ADIOS2/releases) diff --git a/docs/user_guide/source/conf.py b/docs/user_guide/source/conf.py index 329de1fc7d..f3f49453d4 100644 --- a/docs/user_guide/source/conf.py +++ b/docs/user_guide/source/conf.py @@ -74,7 +74,7 @@ # The short X.Y version. version = u'2' # The full version, including alpha/beta/rc tags. -release = u'2.9.0' +release = u'2.10.0-rc1' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.