Pre-upgrade Check Version Specification Debate
From Joomla! Documentation
Summary of what's been discussed.
The original requested way that it should work is illustrated in this example:
Original[edit]
<compatibility>
<version>1.5</version> <version>2.5</version> <version>3.0.1</version> <version>4</version>
<compatibility>
Is interpretted as: Joomla 1.5: compatible Joomla 1.6: not compatible Joomla 1.7: not compatible Joomla 2.5: compatible Joomla 3.0: compatible for 3.0.1 and up in the 3.0 version Joomla 3.1: not compatible Joomla 3.2: not compatible Joomla 3.5: not compatible Joomla 4:0: compatible Joomla 4.1: compatible Joomla 4.2: compatible Joomla 4.5: compatible
End of Original[edit]
It was accidentally coded as:
Accidentally coded as[edit]
<compatibility>
<version>1.5</version> <version>2.5</version> <version>3.0.1</version> <version>4</version>
<compatibility>
Is interpretted as: Joomla 1.5: compatible Joomla 1.6: not compatible Joomla 1.7: not compatible Joomla 2.5: compatible Joomla 3.0: compatible only for 3.0.1 Joomla 3.1: not compatible Joomla 3.2: not compatible Joomla 3.5: not compatible Joomla 4:0: compatible Joomla 4.1: compatible Joomla 4.2: compatible Joomla 4.5: compatible
end of Accidentally coded as[edit]
The above was changed to the original specifications, but some people continued to argue whether "3.0.1" should mean "compatible for 3.0.1 through 3.0.x" or "only for 3.0.1".
Others thought, we shouldn't use either of the above, but should use: http://getcomposer.org/doc/01-basic-usage.md#package-versions
99%-100% of the code is written for the original implementation. The getcomposer approach is not written.