We'been using a similar approach with sh404SEF and Josetta for some times. I'd suggest the whole <compatibility> tag is further split with a "product" tag like so:
... as described in RFC ...
This opens the door to further compatibility specifications, without changing the version specification format itself. The most obvious use being for PHP or database version:
<versions from="2.5.8" to="2.5.99" />
<versions from="3.0.0" to="3.99.99" />
<versions from="5.3.8" />
<versions from="99.9.9" />
<versions from="0.0.0" />
[EDIT]I realized reasons to include this change may not be obvious, so here is a bit more details. The current RFC is for a "version" check format, or protocol, design.
The current implementation is for checking installed extensions and warning users before upgrading Joomla to a newer version.
Now, this very same version check specification for extensions could also be used unchanged in other areas. Most notably, the Joomla installer could then check if PHP, or the database used is compatible with the current website setup prior to installing or upgrading an extension and thus maybe breaking the site.
We don't have to implement that now, but by adding an intermediary tag below <compatibility>, we ensure the same file format can be used in many other areas.
Note: The same could be achieved using an attribute (<compatiblity item="joomla">) and having multiple <compatiblity> tags, I just find it harder to read and more confusing.
See all about sh404sef and Josetta at https://weeblr.com
I don't reply to PM anymore. Thanks for using sh404SEF