When the contemporary implementation of the Mojo EDK was developed, support for version skew across process boundaries was not considered as a worthwhile design goal, and so many low-level control protocol features are not tolerant to version skew.
With the subsequent adoption by ARC++ and other products with similarly challenging distribution, packaging, and/or release constraints interested in using Mojo for IPC, maintaining some amount of cross-version compatibility has become an important priority.
Until now that condition has been met by using extreme caution when modifying the EDK to avoid accidentally changing internal protocols in a way that could cause breakage in the face of version skew. However, as we want to continue making improvements to the EDK - adding new primitive features, extending existing capabilities, experimenting with and shipping more efficient inter-process transport mechanisms - it's important that we be able to do so in a way that retains backwards-compatibility when newer features are not in use.
This will allow the EDK to evolve while also allowing embedders adopt new EDK versions at a pace which is suitable to their own requirements.
This is a tracking bug to cover all issues related to that effort.
Comment 1 by roc...@chromium.org
, Feb 24 2017