-
-
Notifications
You must be signed in to change notification settings - Fork 478
JSON coverage files should contain a format version #1732
Description
Is your feature request related to a problem? Please describe.
When reading and using the coverage file in JSON format, it was found that the meta sections contains a Coverage.py version that was used to generate the coverage metrics and the report, but not the used JSON format version.
Such a format version is present in status.json but not in coverage.json.
It's recommended to split tool versions from file format versions, as file formats might be more stable then tool versions. Or file versions version asynchronously to tool versions (not a recommended workflow - but possible). Alternatively, complex mappings are needed to translate tool versions to file format versions. Moreover, it might not be indicated in release notes or major version number changes, when a file format was changed too.
Describe the solution you'd like
As meta/version is already used, I suggest meta/format to indicate the file format version.
Describe alternatives you've considered
Creating a mapping from tool version to file format version.
- How to find all JSON format versions since Coverage.py was created?
- How to find which version of Coverage.py used which format version?
- How to find which file format versions are compatible to each other?
Besides this impossible task (except for reading all Git commits ...), having a mapping external to Coverage.py would break the encapsulation and abstraction principle in good programming :).
Additional context
See #1730.
Maybe related