composer Исправление требования к версии PHP в теговом выпуске

Я использую Composer и недавно сделал ошибку, я не знаю, как исправить.

В версии 2.1.0 моего пакета прекращена поддержка PHP 5.3 и PHP 5.4. Однако я забыл изменить требование к версии в composer.json, который остановился на >=5.3, Этот релиз был отмечен несколько недель назад. С тех пор надзор в composer.json был исправлен, как теперь правильно говорится >=5.5 в версии 2.2.0 и позже.

Проблема здесь в том, что люди, которые имеют PHP 5.3 или PHP 5.4 и устанавливают версию ~2.0теперь получит 2.1.0, так как это последний (предположительно) совпадающий выпуск, после которого их установка не работает.

Как я могу решить эту проблему в SemVer Послушная манера?

2

Решение

Я бы удалил тег из репозитория github и packagist.

Удаление не равно изменению. Вы не перемещаете тег, который может привести к непоследовательной способности повторения.

Удаление тега просто делает его недоступным для любых новых / будущих пользователей. Кто бы ни запустил его сейчас, он либо сломал установку, либо может смело обновиться до более новой версии.

1

Другие решения

Эта часть FAQ кажется наиболее актуальным здесь:

Что мне делать, если я случайно выпустил обратно несовместимое изменение как минорную версию?

Как только вы поймете, что нарушили спецификацию Semantic Versioning, исправьте проблему и выпустите новую минорную версию, которая исправляет проблему и восстанавливает обратную совместимость. Даже при таких обстоятельствах недопустимо модифицировать версии версий. Если это уместно, документируйте версию-нарушитель и сообщите своим пользователям о проблеме, чтобы они знали о версии-нарушителе.

Вы уже выпустили обновленную версию, и это хорошо.

Вы должны определенно не удалить уже выпущенную версию, но вместо этого просто сделайте все возможное, чтобы опубликовать несовместимость для версии 2.1.0 и PHP < 5.5.

1

По вопросам рекламы [email protected]