browser-compat-data icon indicating copy to clipboard operation
browser-compat-data copied to clipboard

engine_version should be a required field in browser releases

Open lukewarlow opened this issue 1 year ago • 1 comments

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 main branch

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).

lukewarlow avatar Apr 16 '24 11:04 lukewarlow

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.

Elchi3 avatar Apr 16 '24 11:04 Elchi3

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.

caugner avatar Jan 28 '25 14:01 caugner