Versioning Scheme
- Dominant language
- C++
- Stars
- 161
- Forks
- 59
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 7
Description
Versioning of the lib can be tricky since the `openPMD` [base standard](https://github.com/openPMD/openPMD-standard) also has a version and we want to avoid confusion.
The idea I came up with yet was to use always the **same major version** of `openPMD-api` as the base standard and try to support all minor versions of this major (but not previous major versions; see [updater](https://github.com/openPMD/openPMD-updater)).
The only problem comes in when we want to do incompatible API changes *within* a major version, which would break the usual [semantic versioning](https://semver.org/) of `openPMD-api`.
In the README (badges & test) and in `openPMD/version.hpp` defines we then define additional macros (C++: done already; Py: Needs Exposure) that expose which min and max of the openPMD standard are supported.
Of course we could also just do a simple, independent [semantic versioning](https://semver.org/) of `openPMD-api` (with the docs as mentioned above) but I would bet this will confuse people a lot...
Contributor guide
Assessment
This issue has not been assessed yet.