engine_version should be a required field in browser releases
What type of issue is this?
Schema issue
What is the issue?
Currently it's possible to add a browser release without adding an engine_version field.
What behavior were you expecting?
engine_version should be a required field as it's a prerequisite for mirroring to work.
What version(s) of BCD is the issue present in?
- [X] The current BCD release
- [X] The current version of the
mainbranch
Do you have anything more you want to share?
The lack of schema validation for this field led to issues with chrome data not mirroring to edge for the latest releases (see https://github.com/mdn/browser-compat-data/pull/22842), it also led to a data issue where edge was given an explicit value rather than mirroring (also fixed in that PR).
Yeah, I think this would be great. We do have some historical data for Internet Explorer and Opera for which we haven't stored an engine_version. Would be good to require it for everything else, though. And indeed, mirroring needs this information.
See: https://github.com/mdn/browser-compat-data/pull/25789
This appears to not be a breaking change, because the requirement isn't reflected in the exported TypeScript definitions. We could merge engine and engine_version into an engine: { name, version } object if we need to, and that would be a breaking change.