Skip to content

Commit a1f9257

Browse files
authored
Release: 0.14.0 (#1058)
Update version and write announcement text in changelog.
1 parent cbdb4fb commit a1f9257

File tree

9 files changed

+120
-10
lines changed

9 files changed

+120
-10
lines changed

.rodare.json

+6
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@
102102
"affiliation": "NVIDIA",
103103
"name": "Kirkham, John",
104104
"type": "Other"
105+
},
106+
{
107+
"affiliation": "Perimeter Institute for Theoretical Physics",
108+
"name": "Schnetter, Erik",
109+
"orcid": "0000-0002-4518-9017",
110+
"type": "Other"
105111
}
106112
],
107113
"title": "C++ & Python API for Scientific I/O with openPMD",

CHANGELOG.rst

+103-4
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,131 @@ Changelog
55

66
0.14.0
77
------
8-
**Date:** TBA
8+
**Date:** 2021-07-29
99

10-
...
10+
Resize, Dask, openpmd-pipe and new ADIOS2 Iteration Encoding
1111

12-
...
12+
This release adds support for resizable data sets.
13+
For data-processing, support for Dask (parallel) and Pandas (serial) are added and lazy reader parsing of iterations is now supported.
14+
ADIOS2 adds an experimental variable-based iteration encoding.
15+
An openPMD Series can now be flushed from non-``Series`` objects and write buffers can be requested upfront to avoid unnecessary data copies in some situations.
1316

1417
Changes to "0.13.4"
1518
^^^^^^^^^^^^^^^^^^^
1619

1720
Features
1821
""""""""
1922

23+
- Resizable datasets #829 #1020 #1060 #1063
24+
- lazy parsing of iterations #938
25+
- Expose internal buffers to writers #901
26+
- ``seriesFlush``: Attributable, Writable, Mesh & ParticleSpecies #924 #925
27+
- ADIOS2:
28+
29+
- Implement new ``variableBased`` iteration encoding #813 #855 #926 #941 #1008
30+
- Set a default ``QueueLimit`` of 2 in the ADIOS2/SST engine #971
31+
- Add environment control: ``OPENPMD_ADIOS2_STATS_LEVEL`` #1003
2032
- Conda environment file ``conda.yaml`` added to repo #1004
33+
- CMake: Expose Python LTO Control #980
34+
- HDF5:
35+
36+
- HDF5 1.12.0 fallback APIs: no wrappers and more portable #1012
37+
- Empiric for optimal chunk size #916
38+
- Python:
39+
40+
- ``ParticleSpecies``: Read to ``pandas.DataFrame`` #923
41+
- ``ParticleSpecies``: Read to ``dask.dataframe`` #935 #951 #956 #958 #959 #1033
42+
- Dask: Array #952
43+
- ``pyproject.toml``: build-backend #932
44+
- Tools: add ``openpmd-pipe.py`` command line tool #904 #1062 #1069
45+
- Support for custom geometries #1011
46+
- Default constructors for ``Series`` and ``SeriesIterator`` #955
47+
- Make ``WriteIterations::key_type`` public #999
48+
- ``ParticleSpecies`` & ``RecordComponent`` serialize #963
2149

2250
Bug Fixes
2351
"""""""""
2452

53+
- ADIOS2:
54+
55+
- ``bp4_steps`` test: actually use ``NullCore`` engine #933
56+
- Always check the return status of ``IO::Open()`` and ``Engine::BeginStep()`` in ADIOS2 #1017 #1023
57+
- More obvious error message if datatype cannot be found #1036
58+
- Don't implicitly open files #1045
59+
- fix C++17 compilation #1067
60+
- HDF5:
61+
62+
- Support Parallel HDF5 built w/ CMake #1027
63+
- ``HDF5Auxiliary``: Check String Sizes #979
64+
- Tests:
65+
66+
- Check for existence of the correct files in ``ParallelIOtests`` #944
67+
- FBPIC example filename #950
68+
- ``CoreTest``: Lambda outside unevaluated context #1057
69+
- ``availableChunks``: improve open logic for early chunk reads #1035 #1045
70+
- CMake:
71+
72+
- custom copy for dependent files #1016
73+
- library type control #930
74+
- Fix detection of ``loadChunk()`` calls with wrong type #1022
75+
- Don't flush ``Series`` a second time after throwing an error #1018
76+
- Use ``Series::writeIterations()`` without explicit flushing #1030
77+
- ``Mesh``: ``enable_if`` only floating point APIs #1042
78+
- ``Datatype``: Fix ``std::array`` template #1040
79+
- PkgConfig w/ external variant #1050
80+
- warnings: Unused params and unreachable code #1053 #1055
81+
2582
Other
2683
"""""
2784

2885
- ADIOS2: require version 2.7.0+ #927
86+
- Catch2: 2.13.4+ #940
2987
- pybind11: require version 2.6.2+ #977
88+
- CI:
89+
90+
- Update & NVHPC #1052
91+
- ICC/ICPC & ICX/ICPX #870
92+
- Reintroduce Clang Sanitizer #947
93+
- Brew Update #970
94+
- Source Tools Update #978
95+
- Use specific commit for downloaded samples #1049
96+
- ``SerialIOTest``: fix CI hang in sanitizer #1054 #1056
3097
- CMake:
3198

32-
- Expose Python LTO Control #980
3399
- Require only C-in-CXX MPI component #710
100+
- Unused setter in ``openpmd_option`` #1015
101+
- Docs:
102+
103+
- describe high-level concepts #997
104+
- meaning of ``Writable::written()`` #946
105+
- ``Iteration::close``/``flush`` fix typo #988
106+
- ``makeConstant`` & parallel HDF5 #1041
107+
- ADIOS2 memory usage for various encoding schemes #1009
108+
- ``dev``-branch centered development #928
109+
- limit docutils to 0.16, Sphinx to <4.0 #976
110+
- Sphinx: rsvg converter for LaTeX #1001
111+
- Update GitHub issue templates #1034
112+
- Add ``CITATION.cff`` #1070
113+
- Benchmark 8b: "pack" parameter #1066
114+
- Move quoted lines from ``IOTasks`` #1061
115+
- describe iteration encodings #1064
116+
- describe regexes for showing only attributes or datasets in new ADIOS2 schema #1068
117+
- Tests & Examples:
118+
119+
- ADIOS2 SST tests: start reader a second after the writer #981
120+
- ADIOS2 Git sample #1019 #1051
121+
- Parallel Benchmark (8): 4D is now 3D #1010 #1047
122+
- ``RecordComponent``: Remove unimplemented scaling #954
123+
- MSVC: Proper ``__cplusplus`` macro #919
124+
- Make ``switchType`` more comfortable to use #931
125+
- Split ``Series`` into an internal and an external class #886 #936 #1031 #1065
126+
- Series: ``fileBased`` more consequently throws ``no_such_file_error`` #1059
127+
- Retrieve paths of objects in the openPMD hierarchy #966
128+
- Remove duplicate function declarations #998
129+
- License Header: Update 2021 #922
130+
- Add Dependabot #929
131+
- Update author order for 0.14.0+ #1005
132+
- Download samples: optional directory #1039
34133

35134

36135
0.13.4

CITATION.cff

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ contact:
2525
orcid: https://orcid.org/0000-0003-1943-7141
2626
2727
title: "openPMD-api: C++ & Python API for Scientific I/O with openPMD"
28-
version: 0.14.0-dev
28+
version: 0.14.0
2929
repository-code: https://github.com/openPMD/openPMD-api
3030
doi: 10.14278/rodare.27
3131
license: LGPL-3.0-or-later

NEWS.rst

+3
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,11 @@ Upgrade Guide
77
------
88

99
ADIOS 2.7.0 is now the minimally supported version for ADIOS2 support.
10+
Catch2 2.13.4 is now the minimally supported version for tests.
1011
pybind11 2.6.2 is now the minimally supported version for Python support.
1112

13+
In ``RecordComponent::loadChunk``, the optional last argument ``targetUnitSI`` was removed as it has not been implemented yet and had thus no function.
14+
1215

1316
0.13.0
1417
------

README.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -407,9 +407,11 @@ Further thanks go to improvements and contributions from:
407407
* [Paweł Ordyna (HZDR)](https://github.com/pordyna):
408408
report on NVCC warnings
409409
* [Dmitry Ganyushin (ORNL)](https://github.com/dmitry-ganyushin):
410-
Dask dataframe support
410+
Dask prototyping & ADIOS2 benchmarking
411411
* [John Kirkham (NVIDIA)](https://github.com/jakirkham):
412412
Dask guidance & reviews
413+
* [Erik Schnetter (PITP)](https://github.com/eschnett):
414+
C++ API bug fixes
413415

414416
### Grants
415417

docs/source/conf.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
# The short X.Y version.
8686
version = u'0.14.0'
8787
# The full version, including alpha/beta/rc tags.
88-
release = u'0.14.0-dev'
88+
release = u'0.14.0'
8989

9090
# The language for content autogenerated by Sphinx. Refer to documentation
9191
# for a list of supported languages.

docs/source/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ openPMD-api version supported openPMD standard versions
4242
======================== ===================================
4343
``2.0.0+`` ``2.0.0+`` (not released yet)
4444
``1.0.0+`` ``1.0.1-1.1.0`` (not released yet)
45-
``0.13.1`` (beta) ``1.0.0-1.1.0``
45+
``0.13.1-0.14.0`` (beta) ``1.0.0-1.1.0``
4646
``0.1.0-0.12.0`` (alpha) ``1.0.0-1.1.0``
4747
======================== ===================================
4848

include/openPMD/version.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#define OPENPMDAPI_VERSION_MAJOR 0
3131
#define OPENPMDAPI_VERSION_MINOR 14
3232
#define OPENPMDAPI_VERSION_PATCH 0
33-
#define OPENPMDAPI_VERSION_LABEL "dev"
33+
#define OPENPMDAPI_VERSION_LABEL ""
3434
/** @} */
3535

3636
/** maximum supported version of the openPMD standard (read & write, compile-time)

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def build_extension(self, ext):
156156
setup(
157157
name='openPMD-api',
158158
# note PEP-440 syntax: x.y.zaN but x.y.z.devN
159-
version='0.14.0.dev',
159+
version='0.14.0',
160160
author='Axel Huebl, Franz Poeschel, Fabian Koller, Junmin Gu',
161161
162162
maintainer='Axel Huebl',

0 commit comments

Comments
 (0)