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.16.1 #1676

Merged
merged 23 commits into from
Jan 16, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
414ac04
Release: 0.16.1
ax3l Oct 8, 2024
c3e43ef
Fix new_version.py
franzpoeschel Oct 8, 2024
74ab5d3
Update version in windows.yml
franzpoeschel Oct 8, 2024
401b103
Reformat with yapf3
franzpoeschel Oct 8, 2024
f6c7f96
Fix greedy Regex parsing
franzpoeschel Oct 8, 2024
dd8b4c8
Changelog: Add PRs #1681 #1679 #1678
franzpoeschel Oct 10, 2024
3b14a00
Fix: CMake Internal Control (#1678)
ax3l Oct 8, 2024
987018e
Revert "CMake Tar: TOML11 3.7.1 (#1673)" (#1679)
franzpoeschel Oct 9, 2024
3087ffd
Replace deprecated makeSuite with loadTestsFromTestCase (#1681)
franzpoeschel Oct 10, 2024
a08640a
Doc: Fix Shipped Internally (#1682)
ax3l Oct 11, 2024
9a89862
`PYBIND11_FINDPYTHON=ON` (#1684)
ax3l Oct 11, 2024
d50c311
Fix ICX build (#1690)
franzpoeschel Oct 29, 2024
82cfac5
Fix Leftover ADIOS1 Mentions (#1683)
ax3l Oct 30, 2024
4f64a83
Explicitly specify ADIOS2 components in openPMDConfig.cmake (#1693)
franzpoeschel Nov 8, 2024
df7ed0e
Remove mpirun_workaround.sh (#1698)
franzpoeschel Nov 19, 2024
c805d69
Properly check for empty HDF5_VERSION in CMake (#1702)
franzpoeschel Dec 4, 2024
f878e86
HDF5: Delete and re-create attribute when overwriting with diff. type…
franzpoeschel Dec 4, 2024
299870c
TOUCH IOTask: Avoid setting files as dirty in non-write modes (#1704)
franzpoeschel Dec 13, 2024
4c47466
Changelog
franzpoeschel Dec 20, 2024
d9d16e9
Use ULONG for particle patches
franzpoeschel Jan 14, 2025
0e96a44
Upgrade appleclang14 build to MacOS 13
franzpoeschel Dec 4, 2024
171aef6
Update Changelog
ax3l Jan 14, 2025
51fe973
Release Date
ax3l Jan 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -328,8 +328,7 @@ jobs:
-DopenPMD_USE_MPI=ON \
-DopenPMD_USE_HDF5=ON \
-DopenPMD_USE_ADIOS2=ON \
-DopenPMD_USE_INVASIVE_TESTS=ON \
-DMPIEXEC_EXECUTABLE=".github/workflows/mpirun_workaround.sh"
-DopenPMD_USE_INVASIVE_TESTS=ON
cmake --build build --parallel 2
cd build
ctest --output-on-failure
5 changes: 2 additions & 3 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,12 @@ jobs:
-DopenPMD_USE_MPI=ON \
-DopenPMD_USE_HDF5=ON \
-DopenPMD_USE_ADIOS2=ON \
-DopenPMD_USE_INVASIVE_TESTS=ON \
-DMPIEXEC_EXECUTABLE=".github/workflows/mpirun_workaround.sh"
-DopenPMD_USE_INVASIVE_TESTS=ON
cmake --build build --parallel 3
ctest --test-dir build --verbose

appleclang14_py:
runs-on: macos-12
runs-on: macos-13
if: github.event.pull_request.draft == false
steps:
- uses: actions/checkout@v4
Expand Down
52 changes: 0 additions & 52 deletions .github/workflows/mpirun_workaround.sh

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:

python3.exe -m pip wheel .
if(!$?) { Exit $LASTEXITCODE }
python3.exe -m pip install openPMD_api-0.16.0.dev0-cp39-cp39-win_amd64.whl
python3.exe -m pip install openPMD_api-0.16.1-cp39-cp39-win_amd64.whl
if(!$?) { Exit $LASTEXITCODE }

python3.exe -c "import openpmd_api as api; print(api.variants)"
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,41 @@
Changelog
=========

0.16.1
------
**Date:** 2025-01-15

New Backends, Extension, Perf. & Memory

This is the 0.16.0 release but with internal version bumps where they were missing.

Changes to "0.16.0"
^^^^^^^^^^^^^^^^^^^

Bug Fixes
"""""""""

- HDF5: Delete and re-create attribute when overwriting with diff. type #1697
- TOUCH IOTask: Avoid setting files as dirty in non-write modes #1704
- Fix CMake variables for controlling internal dependencies #1678
- Bump toml11 dependency to ``v4.2.0`` by default #1679
- Set ``PYBIND11_FINDPYTHON=ON`` #1684
- Properly check for empty ``HDF5_VERSION`` in CMake #1702
- Fix ICX build #1690
- Explicitly specify ADIOS2 components in openPMDConfig.cmake #1693
- Example 12: Use ``ULONG`` for particle patches #1710

Other
"""""

- Replace deprecated Python unittest API call #1681
- Remove ``mpirun_workaround.sh`` #1698
- CI: Upgrade appleclang14 build to MacOS 13 #1703
- Docs:

- Fix Shipped Internally #1682
- Fix leftover ADIOS2 mentions #1683

0.16.0
------
**Date:** 2024-10-07
Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ contact:
orcid: https://orcid.org/0000-0003-1943-7141
email: [email protected]
title: "openPMD-api: C++ & Python API for Scientific I/O with openPMD"
version: 0.16.0-dev
version: 0.16.1
repository-code: https://github.com/openPMD/openPMD-api
doi: 10.14278/rodare.27
license: LGPL-3.0-or-later
Expand Down
14 changes: 9 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
cmake_minimum_required(VERSION 3.22.0)

project(openPMD VERSION 0.16.0) # LANGUAGES CXX
project(openPMD VERSION 0.16.1) # LANGUAGES CXX

# the openPMD "markup"/"schema" standard version
set(openPMD_STANDARD_VERSION 1.1.0)
Expand Down Expand Up @@ -314,7 +314,7 @@ endif()
string(CONCAT openPMD_HDF5_STATUS "")
# version: lower limit
if(openPMD_HAVE_HDF5)
if(HDF5_VERSION STREQUAL "")
if("${HDF5_VERSION}" STREQUAL "")
message(WARNING "HDF5_VERSION is empty. Now assuming it is 1.8.13 or newer.")
else()
if(HDF5_VERSION VERSION_LESS 1.8.13)
Expand Down Expand Up @@ -360,20 +360,24 @@ if(openPMD_HDF5_STATUS)
endif()

# external library: ADIOS2 (optional)
set(openPMD_REQUIRED_ADIOS2_COMPONENTS CXX)
if(openPMD_HAVE_MPI)
list(APPEND openPMD_REQUIRED_ADIOS2_COMPONENTS MPI)
endif()
if(openPMD_USE_ADIOS2 STREQUAL AUTO)
find_package(ADIOS2 2.7.0 CONFIG)
find_package(ADIOS2 2.7.0 CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS})
if(ADIOS2_FOUND)
set(openPMD_HAVE_ADIOS2 TRUE)
else()
set(openPMD_HAVE_ADIOS2 FALSE)
endif()
elseif(openPMD_USE_ADIOS2)
find_package(ADIOS2 2.7.0 REQUIRED CONFIG)
find_package(ADIOS2 2.7.0 REQUIRED CONFIG COMPONENTS ${openPMD_REQUIRED_ADIOS2_COMPONENTS})
set(openPMD_HAVE_ADIOS2 TRUE)
else()
set(openPMD_HAVE_ADIOS2 FALSE)
endif()
# TODO: Check if ADIOS2 is parallel when openPMD_HAVE_MPI is ON
unset(openPMD_REQUIRED_ADIOS2_COMPONENTS)

# external library: pybind11 (optional)
include(${openPMD_SOURCE_DIR}/cmake/dependencies/pybind11.cmake)
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ Required:
* CMake 3.22.0+
* C++17 capable compiler, e.g., g++ 7+, clang 7+, MSVC 19.15+, icpc 19+, icpx

Shipped internally in `share/openPMD/thirdParty/`:
Shipped internally (downloaded by CMake unless `openPMD_SUPERBUILD=OFF` is set):
* [Catch2](https://github.com/catchorg/Catch2) 2.13.10+ ([BSL-1.0](https://github.com/catchorg/Catch2/blob/master/LICENSE.txt))
* [pybind11](https://github.com/pybind/pybind11) 2.13.0+ ([new BSD](https://github.com/pybind/pybind11/blob/master/LICENSE))
* [NLohmann-JSON](https://github.com/nlohmann/json) 3.9.1+ ([MIT](https://github.com/nlohmann/json/blob/develop/LICENSE.MIT))
Expand Down Expand Up @@ -304,7 +304,7 @@ export CMAKE_PREFIX_PATH=$HOME/somepath:$CMAKE_PREFIX_PATH
Use the following lines in your project's `CMakeLists.txt`:
```cmake
# supports: COMPONENTS MPI NOMPI HDF5 ADIOS2
find_package(openPMD 0.16.0 CONFIG)
find_package(openPMD 0.16.1 CONFIG)

if(openPMD_FOUND)
target_link_libraries(YourTarget PRIVATE openPMD::openPMD)
Expand Down Expand Up @@ -332,7 +332,7 @@ set(openPMD_INSTALL OFF) # or instead use:
set(openPMD_USE_PYTHON OFF)
FetchContent_Declare(openPMD
GIT_REPOSITORY "https://github.com/openPMD/openPMD-api.git"
GIT_TAG "0.16.0")
GIT_TAG "0.16.1")
FetchContent_MakeAvailable(openPMD)
```

Expand Down
74 changes: 37 additions & 37 deletions cmake/dependencies/catch.cmake
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
function(find_catch2)
if(TARGET Catch2::Catch2)
message(STATUS "Catch2::Catch2 target already imported")
elseif(openPMD_catch_src)
message(STATUS "Compiling local Catch2 ...")
message(STATUS "Catch2 source path: ${openPMD_catch_src}")
if(NOT IS_DIRECTORY ${openPMD_catch_src})
message(FATAL_ERROR "Specified directory openPMD_catch_src='${openPMD_catch_src}' does not exist!")
endif()
elseif(openPMD_catch_tar)
message(STATUS "Downloading Catch2 ...")
message(STATUS "Catch2 source: ${openPMD_catch_tar}")
elseif(openPMD_USE_INTERNAL_CATCH)
message(STATUS "Downloading Catch2 ...")
message(STATUS "Catch2 repository: ${openPMD_catch_repo} (${openPMD_catch_branch})")
if(openPMD_catch_src)
message(STATUS "Compiling local Catch2 ...")
message(STATUS "Catch2 source path: ${openPMD_catch_src}")
if(NOT IS_DIRECTORY ${openPMD_catch_src})
message(FATAL_ERROR "Specified directory openPMD_catch_src='${openPMD_catch_src}' does not exist!")
endif()
elseif(openPMD_catch_tar)
message(STATUS "Downloading Catch2 ...")
message(STATUS "Catch2 source: ${openPMD_catch_tar}")
elseif(openPMD_catch_branch)
message(STATUS "Downloading Catch2 ...")
message(STATUS "Catch2 repository: ${openPMD_catch_repo} (${openPMD_catch_branch})")
endif()
endif()
if(TARGET Catch2::Catch2)
# nothing to do, target already exists in the superbuild
elseif(openPMD_USE_INTERNAL_CATCH OR openPMD_catch_src OR openPMD_catch_tar)
if(openPMD_catch_src)
add_subdirectory(${openPMD_catch_src} _deps/localCatch2-build/)
elseif(openPMD_USE_INTERNAL_CATCH AND openPMD_catch_src)
add_subdirectory(${openPMD_catch_src} _deps/localCatch2-build/)
elseif(openPMD_USE_INTERNAL_CATCH AND (openPMD_catch_tar OR openPMD_catch_branch))
include(FetchContent)
if(openPMD_catch_tar)
FetchContent_Declare(fetchedCatch2
URL ${openPMD_catch_tar}
URL_HASH ${openPMD_catch_tar_hash}
BUILD_IN_SOURCE OFF
)
else()
include(FetchContent)
if(openPMD_catch_tar)
FetchContent_Declare(fetchedCatch2
URL ${openPMD_catch_tar}
URL_HASH ${openPMD_catch_tar_hash}
BUILD_IN_SOURCE OFF
)
else()
FetchContent_Declare(fetchedCatch2
GIT_REPOSITORY ${openPMD_catch_repo}
GIT_TAG ${openPMD_catch_branch}
BUILD_IN_SOURCE OFF
)
endif()
FetchContent_MakeAvailable(fetchedCatch2)

# advanced fetch options
mark_as_advanced(FETCHCONTENT_BASE_DIR)
mark_as_advanced(FETCHCONTENT_FULLY_DISCONNECTED)
mark_as_advanced(FETCHCONTENT_QUIET)
#mark_as_advanced(FETCHCONTENT_SOURCE_DIR_FETCHEDCatch2)
mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED)
#mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED_FETCHEDCatch2)
FetchContent_Declare(fetchedCatch2
GIT_REPOSITORY ${openPMD_catch_repo}
GIT_TAG ${openPMD_catch_branch}
BUILD_IN_SOURCE OFF
)
endif()
FetchContent_MakeAvailable(fetchedCatch2)

# advanced fetch options
mark_as_advanced(FETCHCONTENT_BASE_DIR)
mark_as_advanced(FETCHCONTENT_FULLY_DISCONNECTED)
mark_as_advanced(FETCHCONTENT_QUIET)
#mark_as_advanced(FETCHCONTENT_SOURCE_DIR_FETCHEDCatch2)
mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED)
#mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED_FETCHEDCatch2)
elseif(NOT openPMD_USE_INTERNAL_CATCH)
find_package(Catch2 2.13.10 CONFIG REQUIRED)
message(STATUS "Catch2: Found version '${Catch2_VERSION}'")
Expand Down
74 changes: 37 additions & 37 deletions cmake/dependencies/json.cmake
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
function(find_json)
if(TARGET nlohmann_json::nlohmann_json)
message(STATUS "nlohmann_json::nlohmann_json target already imported")
elseif(openPMD_json_src)
message(STATUS "Compiling local nlohmann_json ...")
message(STATUS "nlohmann_json source path: ${openPMD_json_src}")
if(NOT IS_DIRECTORY ${openPMD_json_src})
message(FATAL_ERROR "Specified directory openPMD_json_src='${openPMD_json_src}' does not exist!")
endif()
elseif(openPMD_json_tar)
message(STATUS "Downloading nlohmann_json ...")
message(STATUS "nlohmann_json source: ${openPMD_json_tar}")
elseif(openPMD_USE_INTERNAL_JSON)
message(STATUS "Downloading nlohmann_json ...")
message(STATUS "nlohmann_json repository: ${openPMD_json_repo} (${openPMD_json_branch})")
if(openPMD_json_src)
message(STATUS "Compiling local nlohmann_json ...")
message(STATUS "nlohmann_json source path: ${openPMD_json_src}")
if(NOT IS_DIRECTORY ${openPMD_json_src})
message(FATAL_ERROR "Specified directory openPMD_json_src='${openPMD_json_src}' does not exist!")
endif()
elseif(openPMD_json_tar)
message(STATUS "Downloading nlohmann_json ...")
message(STATUS "nlohmann_json source: ${openPMD_json_tar}")
elseif(openPMD_json_branch)
message(STATUS "Downloading nlohmann_json ...")
message(STATUS "nlohmann_json repository: ${openPMD_json_repo} (${openPMD_json_branch})")
endif()
endif()
if(TARGET nlohmann_json::nlohmann_json)
# nothing to do, target already exists in the superbuild
elseif(openPMD_USE_INTERNAL_JSON OR openPMD_json_src OR openPMD_json_tar)
if(openPMD_json_src)
add_subdirectory(${openPMD_json_src} _deps/localnlohmann_json-build/)
elseif(openPMD_USE_INTERNAL_JSON AND openPMD_json_src)
add_subdirectory(${openPMD_json_src} _deps/localnlohmann_json-build/)
elseif(openPMD_USE_INTERNAL_JSON AND (openPMD_json_tar OR openPMD_json_branch))
include(FetchContent)
if(openPMD_json_tar)
FetchContent_Declare(fetchednlohmann_json
URL ${openPMD_json_tar}
URL_HASH ${openPMD_json_tar_hash}
BUILD_IN_SOURCE OFF
)
else()
include(FetchContent)
if(openPMD_json_tar)
FetchContent_Declare(fetchednlohmann_json
URL ${openPMD_json_tar}
URL_HASH ${openPMD_json_tar_hash}
BUILD_IN_SOURCE OFF
)
else()
FetchContent_Declare(fetchednlohmann_json
GIT_REPOSITORY ${openPMD_json_repo}
GIT_TAG ${openPMD_json_branch}
BUILD_IN_SOURCE OFF
)
endif()
FetchContent_MakeAvailable(fetchednlohmann_json)

# advanced fetch options
mark_as_advanced(FETCHCONTENT_BASE_DIR)
mark_as_advanced(FETCHCONTENT_FULLY_DISCONNECTED)
mark_as_advanced(FETCHCONTENT_QUIET)
#mark_as_advanced(FETCHCONTENT_SOURCE_DIR_FETCHEDnlohmann_json)
mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED)
#mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED_FETCHEDnlohmann_json)
FetchContent_Declare(fetchednlohmann_json
GIT_REPOSITORY ${openPMD_json_repo}
GIT_TAG ${openPMD_json_branch}
BUILD_IN_SOURCE OFF
)
endif()
FetchContent_MakeAvailable(fetchednlohmann_json)

# advanced fetch options
mark_as_advanced(FETCHCONTENT_BASE_DIR)
mark_as_advanced(FETCHCONTENT_FULLY_DISCONNECTED)
mark_as_advanced(FETCHCONTENT_QUIET)
#mark_as_advanced(FETCHCONTENT_SOURCE_DIR_FETCHEDnlohmann_json)
mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED)
#mark_as_advanced(FETCHCONTENT_UPDATES_DISCONNECTED_FETCHEDnlohmann_json)
elseif(NOT openPMD_USE_INTERNAL_JSON)
find_package(nlohmann_json 3.9.1 CONFIG REQUIRED)
message(STATUS "nlohmann_json: Found version '${nlohmann_json_VERSION}'")
Expand Down
Loading
Loading