Читаем changelog: breaking change, deprecated, hotfix, backport

Тема дорожной карты · Английский для IT

🔊 Словарь терминов с произношением →

Changelog — история изменений проекта по версиям, и у него есть стандарт Keep a Changelog, который используют тысячи проектов. Разделы внутри версии: Added — добавлено, Changed — изменено, Deprecated — объявлено устаревшим, Removed — удалено, Fixed — исправлено, Security — исправления безопасности; сверху раздел Unreleased для ещё не выпущенного. Release notes — то же, но написанное для пользователей, с контекстом и инструкциями. Ключевые слова: breaking change — несовместимое изменение, требующее правок у пользователей; помечается восклицательным знаком, словом BREAKING или отдельным разделом Breaking changes; backward compatible / backwards compatible — обратно совместимый; deprecated — устаревшее, ещё работает, будет удалено; deprecation warning — предупреждение при использовании; removed — удалено; sunset — дата отключения; end of life (EOL) — окончание поддержки версии; LTS — версия с длительной поддержкой; hotfix — срочное исправление в проде, обычно патч-версия; bugfix release / maintenance release — выпуск с исправлениями; backport — перенос исправления в старую ветку (backported to 1.x); forward port — обратное; regression — сломалось то, что работало; known issues — известные проблемы; upgrade notes / migration guide — как обновиться; minimum supported version — минимальная поддерживаемая версия зависимости; dropped support for — прекращена поддержка (dropped support for Node 16); bumped — поднята версия зависимости; pinned — зафиксирована; vendored — скопирована в репозиторий; reverted — откачено; experimental / preview / GA; nightly / canary / beta / RC; yanked — версия отозвана из реестра (термин PyPI и crates.io); changelog entry; release candidate; cut a release — «нарезать» релиз, создать релизную ветку или тег; ship — выпустить; tag; milestone; release train — регулярный график релизов; feature freeze — заморозка функциональности перед релизом; code freeze.

Как произносится

Changelog /ˈtʃeɪndʒlɒɡ/, release notes /rɪˈliːs noʊts/, breaking /ˈbreɪkɪŋ/, compatible /kəmˈpætəbl/ (ударение на второй слог, «кэмпЭтэбл»), compatibility /kəmˌpætəˈbɪləti/, deprecated /ˈdɛprəkeɪtɪd/, deprecation /ˌdɛprəˈkeɪʃən/, removed /rɪˈmuːvd/, sunset /ˈsʌnsɛt/, hotfix /ˈhɒtfɪks/, backport /ˈbækpɔːrt/, regression /rɪˈɡrɛʃən/, migration /maɪˈɡreɪʃən/, bumped /bʌmpt/, pinned /pɪnd/, vendored /ˈvɛndərd/, reverted /rɪˈvɜːrtɪd/, yanked /jæŋkt/, candidate /ˈkændɪdət/, milestone /ˈmaɪlstoʊn/, freeze /friːz/, maintenance /ˈmeɪntənəns/ (ударение на первый слог), unreleased /ˌʌnrɪˈliːst/, LTS по буквам, EOL по буквам, GA по буквам.

Как употребляется

Фрагмент changelog в формате Keep a Changelog:

## [3.0.0] — 2026-09-15 ### Breaking changes — The --config flag now expects YAML; JSON configs are no longer read. See the migration guide. ### Added — Native ARM64 builds. ### Deprecated — legacyAuth option; will be removed in 4.0. ### Fixed — Regression in retry logic introduced in 2.9.1 (#1234). Backported to 2.9.x. ### Security — Bumped openssl to 3.0.15 (CVE-2026-1234).

Фразы: Read the breaking changes before you bump the major. — Прочитай несовместимые изменения перед обновлением мажорной версии. We cut a release every two weeks; feature freeze is on Monday. — Релиз каждые две недели, заморозка фич в понедельник. Hotfix is out as 2.9.2. — Хотфикс вышел как 2.9.2. That version was yanked; upgrade to 1.4.1. — Ту версию отозвали, обновись до 1.4.1. Dropped support for Python 3.8. — Прекращена поддержка Python 3.8.

Ловушки

Первая ловушка — deprecated как «удалённое»: устаревшее продолжает работать; удалённое — removed. Вторая — не читать Breaking changes при обновлении мажорной версии: по semver именно там всё, что сломается. Третья — compatible с ударением на первый слог. Четвёртая — backward compatible и forward compatible путать: обратная совместимость — новая версия понимает старые данные; прямая — старая версия переживает новые данные. Пятая — hotfix как любое исправление: это срочное исправление в проде вне обычного цикла. Шестая — backport как «откат»: это перенос исправления в старую ветку, а откат — rollback или revert. Седьмая — maintenance с ударением на второй слог. Восьмая — release notes переводить как «заметки о выпуске» в русской документации: устоявшийся вариант — «примечания к выпуску» или просто release notes.

Связанные понятия

Полезные ресурсы