IR evolution

To handle IR (Intermediate Representation) evolution and breaking changes.
A system that allows breaking compatibility while allowing old applications to run must be introduced.
Have a IR version number, that is the same as the OpenGL version.
The standard specification tells what the version means in terms of compatibility and features.
Every OpenGL application that has an IR with it must have information in it about what version the IR is.

This way you can break backwards compatibility while allowing old applications to run.
A driver could support multiple versions and thus handle the applications as needed.
Allowing old and new applications to continue running on newer drivers while allowing the API/IR to change and evolve with breaking changes.
If the driver doesn’t support the IR version specified by the application IR information, then a “OpenGL IR version not supported by GPU driver” error message should be shown to the user.