Difference between revisions of "Pre-upgrade Check Version Specification Debate"
From Joomla! Documentation
Line 51: | Line 51: | ||
===Composer=== | ===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] | Others thought, we shouldn't use either of the above, but should use: [http://getcomposer.org/doc/01-basic-usage.md#package-versions Composer] | ||
+ | |||
+ | ===Remove version attribute and replace it with compatibility tag (in the below manner) === | ||
+ | See: | ||
+ | https://github.com/joomla/joomla-cms/issues/594 | ||
===After adding an exclude attribute/parameter=== | ===After adding an exclude attribute/parameter=== |
Revision as of 19:12, 8 December 2012
Summary of what's been discussed.
Original[edit]
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[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
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[edit]
Others thought, we shouldn't use either of the above, but should use: Composer
Remove version attribute and replace it with compatibility tag (in the below manner)[edit]
See: https://github.com/joomla/joomla-cms/issues/594
After adding an exclude attribute/parameter[edit]
After adding an exclude attribute/parameter, the proposal became:
<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[edit]
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.