Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

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

Godot's release policy is in constant evolution. The description below provides a general idea of what to expect, but what will actually happen depends on the choices of core contributors and the needs of the community at a given time.

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

Godot вольно следует за Semantic Versioning с системой управления версиями основная.дополнительная.патч, хотя и с интерпретацией каждого термина, адаптированной к сложности игрового движка:

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

    For example, porting Godot projects from Godot 3.x to Godot 4.x requires running the project through a conversion tool, and then performing a number of further adjustments manually for what the tool could not do automatically.

  • The minor version is incremented for feature releases that do not break compatibility in a major way. Minor compatibility breakage in very specific areas may happen in minor versions, but the vast majority of projects should not be affected or require significant porting work.

    This is because Godot, as a game engine, covers many areas like rendering, physics, and scripting. Fixing bugs or implementing new features in one area might sometimes require changing a feature's behavior or modifying a class's interface, even if the rest of the engine API remains backwards compatible.

Совет

Upgrading to a new minor version is recommended for all users, but some testing is necessary to ensure that your project still behaves as expected.

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

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

Совет

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

We call major.minor combinations stable branches. Each stable branch starts with a major.minor release (without the 0 for patch) and is further developed for maintenance releases in a Git branch of the same name (for example patch updates for the 4.0 stable branch are developed in the 4.0 Git branch).

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

Stable branches are supported at least until the next stable branch is released and has received its first patch update. In practice, we support stable branches on a best effort basis for as long as they have active users who need maintenance updates.

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.6 branch.

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

Версия

Дата выпуска

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

Godot 4.3 (master)

June 2024 (estimate)

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

Godot 4.2

November 2023

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

Godot 4.1

Июль 2023

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

Godot 4.0

Март 2023

Конец поддержки No longer supported (last update: 4.0.4).

Godot 3.6 (3.x, LTS)

Q1 2024 (estimate)

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

Godot 3.5

Август 2022

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

Godot 3.4

Ноябрь 2021

Конец поддержки No longer supported (last update: 3.4.5).

Godot 3.3

Апрель 2021

Конец поддержки No longer supported (last update: 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. Это гарантирует, что вы получите исправления багов, обновления безопасности и обновления поддержки платформ (которые особенно важны для мобильных платформ). Вы также получите постоянную поддержку, так как только последняя версия патча поддерживается на официальных платформах сообщества.

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

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

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

While Godot contributors aren't working under any deadlines, we strive to publish minor releases relatively frequently.

In particular, after the very length release cycle for 4.0, we are pivoting to a faster paced development workflow, 4.1 released 4 months after 4.0, and 4.2 released 4 months after 4.1

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

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

Релиз 3.6 все ещё запланирован и должен стать последней стабильной веткой Godot 3.x. Это будет выпуск с долгосрочной поддержкой (LTS), который мы планируем поддерживать до тех пор, пока он все еще нужен пользователям (из-за отсутствия функций в Godot 4.x или из-за опубликованных игр, которые им необходимо постоянно обновлять в соответствии с требованиями платформы).

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

Примечание

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

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

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

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

  • Мелкие доработки юзабилити редактора.

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

При изменении сигнатуры метода любым способом (включая добавление дополнительного параметра) должен быть создан метод совместимости GDExtension. Это гарантирует, что существующие GDExtensions продолжают работать через патч и мелкие релизы, чтобы пользователям не приходилось их перекомпилировать. Смотрите pull request #76446 для получения дополнительной информации.