Управление версиями и стабильность API

Управление версиями

В версии Scrapy 3 числа: A.B.C

  • A — это основная версия. Это будет редко меняться и будет означать очень большие изменения.

  • B — это номер релиза. Это будет включать в себя множество изменений, включая функции и вещи, которые могут нарушить обратную совместимость, хотя мы стремимся свести данные случаи к минимуму.

  • C — это номер релиза исправления.

Обратная несовместимость явно упоминается в примечаниях к релизу и может потребовать особого внимания перед обновлением.

В выпусках для разработки не используются трехзначные версии, и они обычно выпускаются как версии с суффиксом dev, например 1.3dev.

Примечание

С серией Scrapy 0. *, Scrapy использовал версии с нечетными номерами для для релизов разработки . Начиная с Scrapy 1.0, это уже не так.

Начиная с Scrapy 1.0, все релизы следует считать готовыми к производству.

Например:

  • 1.1.1 — это первый релиз с исправлением ошибок в серии 1.1 (безопасен для использования в производственной среде)

Стабильность API

Стабильность API была одной из основных целей релиза 1.0.

Методы или функции, которые начинаются с одного тире (_), являются частными и никогда не должны считаться стабильными.

Кроме того, имейте в виду, что стабильность не означает завершенность: стабильные API могут расширять новые методы или функции, но существующие методы должны продолжать работать так же.

Политика устаревания

Мы стремимся поддерживать устаревшие функции Scrapy в течение как минимум 1 года.

Например, если функция устарела в версии Scrapy, выпущенной 15 июня 2020 года, данная функция должна продолжать работать в версиях, выпущенных 14 июня 2021 года или ранее.

Любой новый релиз Scrapy после года может удалить поддержку этой устаревшей функции.

Все устаревшие функции, удаленные в выпуске Scrapy, явно упомянуты в примечаниях к релизу.