Обратная совместимость (BC)

Обратная совместимость («Backward Compatibility», чаще упоминается как «BC») — свойство программного обеспечения позволяющее старым возможностям работать на новых версиях.

Как правило, обратная совместимость это некая политика или договорённость в конкретном ПО о том, каким образом будет поддерживаться старый функционал и как будет на него влиять ввод новых возможностей.

Виды обратной совместимости можно поделить примерно на следующии три типа:

  • Отсутствие обратной совместимости — в таком случае все старые возможности будут удалены в следующей версии, всё что будет реализовано на текущий момент, практически гарантированно не заработает на новой.
  • Мягкая обратная совместимость — в данном случае подразумевается что возможности текущей версии ПО, которые хотят удалить или заменить в будущих, помечаются тем или иным образом и удаляются в будущих версиях. Как правило, для него используется процесс депрекации возможностей.
  • Полная обратная совместимость — это когда старые возможности никогда не выводятся из ПО и продолжают работать в новых версиях. Так, новые версии, почти никогда не сломают то, что было написано ранее и под старые версии.

Обратная совместимость в Drupal

Drupal можно отнести к категории ПО с «мягкой обратной совместимостью».

Ядро, в соответствии с семантическим версионированием, гарантирует что API и возможности мажорной версии могут быть удалены только в новой мажорной версии.

Начиная с Drupal 8 используется механизм депрекации устаревших возможностей. Так, возможности что были помечены в Drupal 8 устаревшими были удалены в Drupal 9, аналогично, то что пометят устаревшим в Drupal 9 будет удалено в Drupal 10.

🌱 Помогите нам сделать документацию лучше!

Вся документация Druki с отрытым исходным кодом. Нашли ошибку или неточность? Создайте pull request.

Редактировать текущий документ Обсудить улучшение

Или узнайте как контрибутить.

🤔 По-прежнему нужна помощь?

Не нашли ответа на свой вопрос? Попросите помощи у сообщества!

Задайте вопрос на GitHub Смотрите другие ресурсы сообщества