Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: 0.15.0 #1391

Merged
merged 11 commits into from
Mar 25, 2023
Merged

Release: 0.15.0 #1391

merged 11 commits into from
Mar 25, 2023

Conversation

ax3l
Copy link
Member

@ax3l ax3l commented Mar 21, 2023

C++17, Error Recovery, ADIOS2 BP5, Append & Read-Linear Modes, Performance & Memory

This release adds error recovery mechanisms, in order to access erroneous datasets, created e.g. by crashing simulations. The BP5 engine of ADIOS2 v2.9 is fully supported by this release, including access to its various features for more fine-grained control of memory usage. Various I/O performance improvements for HDF5 are activated by default. Runtime configuration of openPMD and its backends, e.g. selection of backends and compression, is now consistently done via JSON, and alternatively via TOML for better readability. The data storage/retrieval API now consistently supports all common C++ pointer types (raw and smart pointers), implementing automatic memory optimizations for ADIOS2 BP5 if using unique pointers.

The miminum required C++ version is now C++17. Supported Python versions are Python 3.10 and 3.11.

Thanks to @ax3l, @franzpoeschel, @jeanbez, @guj, @bernhardmgruber and @DerNils-git for contributing to this release!

Which version am I running?

Python

import openpmd_api
print(openpmd_api.__version__)

C++

#include <openPMD/openPMD.hpp>
#include <iostream>

int main() {
    // query compile-time macros:
    std::cout << OPENPMDAPI_VERSION_MAJOR << "."
              << OPENPMDAPI_VERSION_MINOR << "."
              << OPENPMDAPI_VERSION_PATCH << std::endl;
    // there is also: OPENPMDAPI_VERSION_LABEL (e.g. "alpha")

    // or query the runtime API (since 0.12.0):
    std::cout << openPMD::getVersion() << std::endl;
    return 0;
}

CLI

# command line option (since 0.12.0):
openpmd-ls --version

Update version and write announcement text in changelog.
CHANGELOG.rst Show resolved Hide resolved
NEWS.rst Outdated Show resolved Hide resolved
CHANGELOG.rst Outdated Show resolved Hide resolved
CHANGELOG.rst Show resolved Hide resolved
CHANGELOG.rst Show resolved Hide resolved
@ax3l ax3l changed the title [Draft] Release: 0.15.0 Release: 0.15.0 Mar 25, 2023
CHANGELOG.rst Outdated Show resolved Hide resolved
@ax3l ax3l marked this pull request as ready for review March 25, 2023 07:36
CHANGELOG.rst Outdated Show resolved Hide resolved
@ax3l ax3l self-assigned this Mar 25, 2023
@@ -9,7 +9,7 @@ int main()

{
auto f =
io::Series("working/directory/2D_simData.h5", io::Access::CREATE);
io::Series("working/directory/2D_simData.bp", io::Access::CREATE);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@franzpoeschel do you want to have this change in the release?

If so, we need to runtime guard this because we have CI tests that only have h5 installed (intentionally). I would also move this in a separate PR, this PR is purely documentation :)

@ax3l ax3l merged commit 102e907 into openPMD:dev Mar 25, 2023
@ax3l ax3l deleted the doc-0.15.0 branch March 25, 2023 22:40
@ax3l ax3l added this to the 0.15.0 milestone Mar 25, 2023
@ax3l ax3l mentioned this pull request Oct 8, 2024
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants