Pre-upgrade Check Version Specification Debate: Difference between revisions
From Joomla! Documentation
No edit summary |
|||
| Line 52: | Line 52: | ||
Others thought, we shouldn't use either of the above, but should use: [http://getcomposer.org/doc/01-basic-usage.md#package-versions Composer] | Others thought, we shouldn't use either of the above, but should use: [http://getcomposer.org/doc/01-basic-usage.md#package-versions Composer] | ||
==After adding an exclude attribute/parameter== | |||
<pre><compatibility> | <pre><compatibility> | ||
<version>3.5</version> | <version>3.5</version> | ||
Revision as of 00:04, 9 December 2012
Summary of what's been discussed.
Original
The original requested way that it should work is illustrated in this example:
<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
Accidentally coded as
<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
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".
Composer
Others thought, we shouldn't use either of the above, but should use: Composer
After adding an exclude attribute/parameter
<compatibility> <version>3.5</version> <version>4.2.2</version> <version>6</version> <version exclude_only="true">6.1.3</version> <version>7</version> <version exclude_only="true">7.0</version> <version exclude_only="true">8</version> <compatibility>
is interpreted as:
- Joomla 3.0: not compatible
- Joomla 3.1: not compatible
- Joomla 3.2: not compatible
- Joomla 3.5: compatible
- Joomla 4.0: not compatible
- Joomla 4.1: not compatible
- Joomla 4.2: compatible from 4.2.2 and up
- Joomla 4.5: compatible
- Joomla 5.0: not compatible
- Joomla 5.1: not compatible
- Joomla 5.2: not compatible
- Joomla 5.5: not compatible
- Joomla 6.0: compatible
- Joomla 6.1: compatible for all (above and below) except 6.1.3
- Joomla 6.2: compatible
- Joomla 6.5: compatible
- Joomla 7.0: not compatible
- Joomla 7.1: compatible
- Joomla 7.2: compatible
- Joomla 7.5: compatible
- Joomla 8.0: not compatible
- Joomla 8.1: not compatible
- Joomla 8.2: not compatible
- Joomla 8.5: not compatible
Notes
99%-100% of the code is written for the original implementation. The getcomposer approach is not written.
The original implementation did not ask for a x.y.z version to be able to be excluded. If a feature like that is needed, e.g. <not_version>3.0.7</not_version>, it can be implemented.