Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Политика релизов Godot

Релизная политика Godot находится в постоянном развитии. Приведённое ниже описание даёт общее представление о том, чего следует ожидать, но то, что произойдёт на самом деле, зависит от выбора основных авторов и потребностей сообщества в конкретный момент времени.

Информация о версионировании

Godot в общих чертах повторяет Семантическое версионирование с системой версий major.minor.patch, хотя и с интерпретацией каждого термина, адаптированной к сложности игрового движка:

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

    Например, перенос проектов Godot с Godot 3.x на Godot 4.x требует запуска проекта через инструмент преобразования, а затем выполнения ряда дополнительных настроек вручную для того, что инструмент не смог сделать автоматически.

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

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

Совет

Обновление до новой минорной версии рекомендуется всем пользователям, но необходимо провести некоторое тестирование, чтобы убедиться, что ваш проект по-прежнему ведёт себя так, как ожидалось.

  • Версия patch увеличивается для выпусков сопровождения, которые направлены на исправление ошибок и проблем безопасности, реализацию новых требований к поддержке платформы и перенос безопасных улучшений. Выпуски патчей обратно совместимы.

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

Совет

Поэтому обновление до новых версий исправлений считается безопасным и настоятельно рекомендуется всем пользователям данной стабильной ветви.

Мы называем комбинации major.minor стабильными ветками. Каждая стабильная ветка начинается с релиза major.minor (без 0 для patch) и дорабатывается для поддерживающих релизов в одноимённой ветке Git (например, обновления патчей для стабильной ветки 4.0 разрабатываются в ветке Git 4.0).

Сроки поддержки релиза

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

Whenever a new major version is released, we make the previous stable branch a long-term supported release, and do our best to provide fixes for issues encountered by users of that branch who cannot port complex projects to the new major version. This was the case for the 2.1 branch, and is the case for the 3.x branch.

В данной серии второстепенных выпусков поддержку получает только последний выпуск исправлений. Если у вас возникла проблема с использованием более раннего выпуска исправлений, обновите его до последнего выпуска исправлений этой серии и проверьте ещё раз, прежде чем сообщать о проблеме на GitHub.

Версия

Дата выпуска

Уровень поддержки

Godot 4.4 (master)

Q1 2025 (estimate)

не стабильный Разрабатывается. Получает новые функции, улучшается удобство использования и производительность, а также исправляются баги в ходе разработки.

Godot 4.3

August 2024

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

Godot 4.2

Ноябрь 2023

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

Godot 4.1

Июль 2023

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

Godot 4.0

Март 2023

Конец поддержки Больше не поддерживается (последнее обновление: 4.0.4).

Godot 3.7 (3.x)

No ETA for now

поддерживается Бета. Получает новые функции, улучшается удобство использования и производительность, а также исправляются баги, в ходе разработки.

Godot 3.6

September 2024

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

Godot 3.5

Август 2022

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

Godot 3.4

Ноябрь 2021

Конец поддержки Больше не поддерживается (последнее обновление: 3.4.5).

Godot 3.3

Апрель 2021

Конец поддержки Больше не поддерживается (последнее обновление: 3.3.4).

Godot 3.2

Январь 2020

Конец поддержки Больше не поддерживается (последнее обновление: 3.2.3).

Godot 3.1

Март 2019

Конец поддержки Больше не поддерживается (последнее обновление: 3.1.2).

Godot 3.0

Январь 2018

Конец поддержки Больше не поддерживается (последнее обновление: 3.0.6).

Godot 2.1

Июль 2016

Конец поддержки Больше не поддерживается (последнее обновление: 2.1.6).

Godot 2.0

Февраль 2016

Конец поддержки Больше не поддерживается (Последнее обновление: 2.0.4.1).

Godot 1.1

Май 2015

Конец поддержки Больше не поддерживается.

Godot 1.0

Декабрь 2014

Конец поддержки Больше не поддерживается.

Легенда: поддерживается Полная поддержка - частичный Частичная поддержка - Конец поддержки Не поддерживается (завершено) - не стабильный Разрабатываемая версия

Предварительные версии Godot не предназначены для использования в производстве и предоставляются только для тестирования.

См. также

См. Переход с Godot 3 на Godot 4 для получения инструкций по переносу проекта с Godot 3.x на 4.x.

Какую версию мне следует использовать для нового проекта?

Мы рекомендуем использовать Godot 4.x для новых проектов, поскольку серия Godot 4.x будет поддерживаться еще долгое время после того, как 3.x перестанет получать обновления в будущем. Одно предостережение заключается в том, что большая часть документации сторонних разработчиков еще не была обновлена для Godot 4.x. Если вам нужно следовать руководству, разработанному для Godot 3.x, мы рекомендуем оставить Переход с Godot 3 на Godot 4 открытым на отдельной вкладке, чтобы проверить, какие методы были переименованы (если вы получаете ошибку скрипта при попытке использовать определенный узел или метод, который был переименован в Godot 4.x).

Если вашему проекту требуется функция, отсутствующая в версии 4.x (например, GLES2/WebGL 1.0), вместо этого вам следует использовать Godot 3.x для нового проекта.

Должен ли я обновить свой проект, чтобы использовать новые версии движка?

Примечание

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

Тем не менее мы делаем все возможное, чтобы минорные и в особенности релизы с патчами были совместимы с существующими проектами.

Основная рекомендация - обновлять ваш проект вместе с выходом новых релизов с патчами, например обновление с 4.0.2 до 4.0.3. Это гарантирует, что вы получите исправления багов, обновления безопасности и обновления поддержки платформ (которые особенно важны для мобильных платформ). Вы также получите постоянную поддержку, так как только последняя версия патча поддерживается на официальных платформах сообщества.

Для незначительных релизов вам следует определять целесообразность обновления в каждом конкретном случае. Мы приложили много усилий, чтобы сделать процесс обновления как можно более плавным, но в незначительных релизах могут присутствовать некоторые разрушающие изменения, а также повышенный риск регрессий. Некоторые исправления, включенные в минорные выпуски, могут также изменить ожидаемое поведение класса, что необходимо для исправления некоторых ошибок. Особенно это касается классов, помеченных в документации как экспериментальные.

Первостепенные релизы приносят много нового функционала, но они также удаляют предыдущие функциональные возможности и могут повысить требования к оборудованию. Они также требуют гораздо больше работы для обновления по сравнению со второстепенными релизами. Мы рекомендуем придерживаться основного релиза, с которого вы начинали свой проект, если вы довольны тем, как работает ваш проект в настоящее время. Например, если ваш проект был начат с 3.5, мы рекомендуем обновить до 3.5.2 и, возможно, 3.6 в будущем, но не до 4.0+, если только ваш проект действительно не нуждается в нововведениях, которые появляются с 4.0+.

Когда выйдет следующий релиз?

Хотя разработчики Godot не работают по каким-либо срокам, мы стараемся публиковать небольшие релизы относительно часто.

В частности, после очень длинного цикла релиза для 4.0, мы переходим к более быстрому темпу разработки: 4.1 выпущен уже через 4 месяца после 4.0, и 4.2 еще через 4 месяца после 4.1

Частые минорные релизы позволят нам быстрее выпускать новые функции (возможно, экспериментальные), быстро получать обратную связь от пользователей и проводить итерации для улучшения этих функций и их удобства. Аналогичным образом, общий пользовательский опыт будет улучшаться более стабильно и быстрее дойдет до конечных пользователей.

Сопровождающие релизы (исправления) будут выпускаться по мере необходимости с потенциально очень короткими циклами разработки, чтобы предоставить пользователям текущей стабильной ветки самые последние исправления ошибок.

There is currently no planned release date for the next 3.x minor version, 3.7. The current stable release, 3.6, may be the last stable branch of Godot 3.x. Godot 3.x is supported on a best-effort basis, as long as contributors continue to maintain it.

Каковы критерии совместимости разных версий движка?

Примечание

Этот раздел предназначен для использования контрибуторами, чтобы определить, какие изменения безопасны для данного выпуска. Список не является исчерпывающим; в нем лишь описаны наиболее распространенные ситуации, с которыми сталкиваются разработчики Godot.

Следующие изменения допустимы в выпусках патчей:

  • Исправление ошибки таким образом, чтобы это не оказало существенного негативного влияния на большинство проектов, например, визуальная ошибка или ошибка физики. Физический движок Godot не является детерминированным, поэтому считается, что исправления ошибок физики не нарушают совместимость. Если исправление ошибки оказывает негативное влияние, которое может повлиять на множество проектов, его следует сделать необязательным (например, используя настройки проекта или отдельный метод).

  • Добавление нового необязательного параметра в метод.

  • Мелкие доработки для увеличения удобства использования редактора.

Обратите внимание, что мы склонны быть более консервативными в отношении исправлений, которые мы допускаем в каждом последующем выпуске патча. Например, 4.0.1 может получить более значимые исправления, чем 4.0.4.

Следующие изменения допустимы в минорных выпусках, но не в выпусках патчей:

  • Значительные новые возможности.

  • Переименование параметра метода. В C# параметры метода могут передаваться по имени (но не в GDScript). В результате это может нарушить работу некоторых проектов, использующих C#.

  • Объявление устаревшего метода, переменной класса или класса. Это делается путем добавления флага устаревания к ссылке на класс, который будет отображаться в редакторе. Когда метод помечен как устаревший, его планируется удалить в следующем основном выпуске.

  • Изменения, влияющие на визуальное оформление темы проекта по умолчанию.

  • Исправления ошибок, которые существенно изменяют поведение или выходные данные с целью лучшего соответствия ожиданиям пользователей. Для сравнения, в выпусках исправлений мы можем предпочесть сохранение поведения с ошибками, чтобы не нарушать существующие проекты, которые, вероятно, уже используют ошибку или обходной путь.

  • Оптимизации производительности, приводящие к визуальным изменениям.

Следующие изменения считаются нарушающими совместимость и могут быть выполнены только в новом крупном выпуске:

  • Переименование или удаление метода, переменной класса или класса.

  • Изменение дерева наследования узла, т.е. изменение наследуемого класса.

  • Изменение значения по умолчанию для установки проекта таким образом, который влияет на существующие проекты. Чтобы повлиять только на новые проекты, менеджер проектов должен вместо этого написать измененный project.godot.

Поскольку Godot 5.0 еще не был выпущен, в настоящее время мы не рекомендуем вносить подобные изменения, нарушающие совместимость.

Примечание

При любом изменении сигнатуры метода (включая добавление необязательного параметра) должен быть создан метод совместимости с GDExtension. Это гарантирует, что существующие расширения GDExtension будут работать в патчах и минорных релизах, и пользователям не придётся их перекомпилировать. Дополнительную информацию смотрите в Handling compatibility breakages.