15 октября 2026 года разработчики Forgejo представили версию 17.0 — очередное крупное обновление открытой платформы для совместной разработки и самостоятельного размещения Git-репозиториев. Релиз включает улучшения системы автоматизации Forgejo Actions, расширенные возможности работы с крупными файлами через Git LFS, новые инструменты управления организациями и поддержку миграции проектов из Bitbucket Data Center.
Forgejo развивается как свободная альтернатива облачным платформам вроде GitHub и GitLab. Её можно развернуть на собственном сервере или в частной инфраструктуре, сохраняя контроль над исходным кодом, учётными записями, настройками доступа и процессами разработки. Это особенно актуально для компаний, которым важно самостоятельно управлять данными, а также для независимых разработчиков и команд открытых проектов.
В версии 17.0 основное внимание уделено не одному крупному нововведению, а последовательному улучшению повседневной работы. Разработчики получили более информативные результаты CI/CD, удобное управление файлами Git LFS, расширенный API для повторного запуска задач и дополнительные возможности взаимодействия с репозиториями. Одновременно появились функции, упрощающие перенос существующих проектов и организацию работы команд.
Forgejo Actions: более удобная работа с CI/CD
Одним из наиболее заметных изменений стала доработка Forgejo Actions — встроенной системы автоматизации, предназначенной для запуска тестов, сборки программ, проверки кода и выполнения других задач жизненного цикла разработки.
В версии 17.0 появилась поддержка сводок по заданиям (job summaries). Эта возможность требует Forgejo Runner версии 13.2 или новее. Сводки позволяют выводить краткие результаты выполнения задачи над журналом её работы. Вместо необходимости просматривать длинный лог разработчик может сразу увидеть ключевые показатели, результаты тестирования и другую важную информацию.
Сводка представляет собой документ в формате Markdown. В ней можно использовать поддерживаемые Forgejo элементы разметки, в том числе таблицы, диаграммы Mermaid и математические формулы KaTeX. Это позволяет оформлять результаты автоматизированных проверок в более наглядном виде.
Например, после выполнения тестов проект может сформировать сводку с количеством успешных и неудачных проверок, продолжительностью тестирования и диаграммой последовательности этапов сборки. Такой формат особенно полезен в крупных проектах, где один запуск CI/CD включает множество заданий и генерирует значительный объём журналов.
Сводки формируются из Markdown-фрагментов, которые отдельные шаги рабочего процесса записывают в файл $FORGEJO_STEP_SUMMARY. Для совместимости с существующими действиями поддерживается и переменная $GITHUB_STEP_SUMMARY. Благодаря этому перенос некоторых рабочих процессов из GitHub Actions становится проще.
Новые возможности API и управление журналами задач
Forgejo 17.0 расширяет HTTP API, используемый для управления рабочими процессами и отдельными заданиями. Это полезно администраторам, которые создают собственные панели мониторинга, интегрируют Forgejo с внешними системами или автоматизируют обслуживание CI/CD.
Теперь API позволяет повторно запускать завершённые рабочие процессы и отдельные задания. Это помогает исправлять ошибки и проверять изменения без необходимости каждый раз создавать новый коммит или запускать весь конвейер заново.
Кроме того, улучшены средства получения журналов:
- Можно повторно запустить завершённый рабочий процесс через соответствующий API-метод.
- Можно отдельно повторить выполнение конкретного завершённого задания.
- При запросе журналов поддерживается фильтрация по подстроке.
- Можно получить журнал определённого шага, используя параметр
step=N. - Помимо обычного текстового представления, журналы можно запросить в формате NDJSON.
- Добавлен отдельный API-метод для получения сведений о конкретном задании.
Повторный запуск имеет определённые ограничения. Полностью завершённый рабочий процесс можно запустить заново, а отдельное завершённое задание допускается повторить даже в ситуации, когда остальные задания этого рабочего процесса ещё выполняются. Незавершённые задания нельзя произвольно перезапускать тем же способом.
Эти изменения повышают удобство диагностики. Например, если тесты завершились с ошибкой на одном этапе, разработчик может изучить только соответствующий журнал и повторить нужное задание, не тратя время на повторное выполнение всей сборки.
Уведомления о состоянии заданий Forgejo Actions
В версии 17.0 расширены возможности вебхуков — механизмов, которые отправляют уведомления во внешние системы при наступлении определённых событий. Теперь уведомления можно привязывать к изменениям состояния отдельных заданий Forgejo Actions.
Это даёт возможность точнее отслеживать ход автоматизированных процессов. Например, команда может настроить уведомления о том, что задание ожидает выполнения, завершилось ошибкой или было отменено. Информацию можно передавать в поддерживаемые системы обмена сообщениями, включая Discord и Matrix, либо отправлять на собственный сервер через HTTP-запрос.
Ранее уведомления о запусках Actions были более ограниченными и в основном ориентировались на завершение процесса. Теперь разработчики могут выбирать интересующие состояния и получать более подробную информацию о происходящем.
Однако обновление требует внимания со стороны администраторов. Старые события вебхуков, связанные с запусками Actions, объявлены устаревшими и планируются к удалению в будущей версии Forgejo. Их нельзя автоматически заменить новыми во всех конфигурациях: изменились некоторые заголовки и структура передаваемых данных, поэтому существующие обработчики могут перестать корректно работать.
Перед обновлением необходимо проверить действующие вебхуки, выяснить, какие события они используют, и убедиться, что внешние системы умеют обрабатывать новые уведомления о рабочих процессах. Переключение следует выполнять после проверки совместимости, а не просто заменять настройки без тестирования.
Git LFS: улучшенное управление крупными файлами
Ещё одно важное направление Forgejo 17.0 — улучшение поддержки Git LFS (Large File Storage). Этот механизм предназначен для хранения крупных файлов, которые неудобно включать непосредственно в историю Git. В качестве примеров можно привести бинарные сборки, графические материалы, видео, архивы данных и большие файлы, используемые при разработке программ.
При обычной работе Git хранит версии файлов в истории репозитория. Если регулярно добавлять большие бинарные объекты, размер репозитория может быстро увеличиваться. Git LFS позволяет хранить содержимое таких файлов отдельно, а в Git-истории оставлять специальные указатели, связывающие коммиты с соответствующими объектами.
В Forgejo 17.0 работа с Git LFS получила ряд улучшений. Интерфейс настроек стал удобнее для навигации и просмотра состояния хранилища. Появились дополнительные возможности обнаружения коммитов, в которых используются определённые LFS-файлы, а также улучшена обработка указателей.
В частности, разработчики могут просматривать список LFS-файлов репозитория, получать сведения об объектах и искать коммиты, которые на них ссылаются. Это облегчает анализ истории проекта и помогает понять, в каких изменениях использовался конкретный крупный файл.
Такие инструменты полезны при обслуживании репозиториев с графикой, медиафайлами и другими бинарными материалами. Если файл больше не нужен или требуется разобраться в его использовании, администратору проще определить связи с историей изменений и принять решение о дальнейшем управлении данными.
При этом Git LFS не отменяет необходимости следить за размером хранилища, резервным копированием и политикой хранения объектов. Само использование LFS не гарантирует автоматического уменьшения всех расходов на хранение: результат зависит от структуры репозитория, частоты изменений и настроек инфраструктуры.
Кнопка Donate и поддержка финансирования проектов
Forgejo 17.0 добавляет поддержку файла FUNDING.yml. Если такой файл присутствует в репозитории, интерфейс может показывать кнопку Donate («Пожертвовать»), через которую посетители получают доступ к указанным проектом вариантам финансовой поддержки.
Аналогичная возможность доступна на страницах профилей пользователей и организаций, если соответствующий файл размещён в репозитории профиля .profile. Это упрощает поиск информации о том, как поддержать разработчиков, работающих над открытым программным обеспечением.
Новая функция особенно полезна для небольших проектов, которые поддерживаются энтузиастами или независимыми командами. Вместо необходимости размещать отдельные инструкции о пожертвованиях в описании репозитория можно использовать стандартизированный файл конфигурации.
На момент выпуска функция реализована в веб-интерфейсе. Наличие кнопки не означает, что Forgejo самостоятельно обрабатывает платежи: она предоставляет пользователям ссылки на варианты финансирования, указанные авторами проекта.
Автодополнение при работе с задачами и запросами на слияние
В Forgejo 17.0 улучшен интерфейс создания задач (issues), запросов на слияние (pull requests) и комментариев. Теперь при вводе специальных символов пользователю предлагаются подходящие задачи и запросы на слияние.
Символ # запускает поиск по задачам и запросам на слияние, а ! позволяет ограничить подсказки запросами на слияние. Результаты можно уточнять дополнительным текстом или номером соответствующего объекта.
Это небольшое, но практичное изменение. При обсуждении исправлений разработчикам часто приходится ссылаться на конкретные задачи, связанные изменения и обсуждения. Автодополнение сокращает количество ручных действий, снижает вероятность ошибок в ссылках и облегчает навигацию по проекту.
Также появилась возможность копировать Markdown-содержимое комментария через меню дополнительных действий. Это удобно, если требуется перенести обсуждение в документацию, другую задачу или внешний инструмент, сохранив исходную разметку.
Управление организациями и приглашениями пользователей
Возможности администрирования организаций получили несколько полезных дополнений. Теперь Forgejo можно настроить так, чтобы добавление пользователя в организацию происходило не автоматически, а через приглашение, которое пользователь должен принять или отклонить.
Поведение включается настройкой [service].ADD_MEMBERS_BY_INVITATIONS = true в файле app.ini. По умолчанию приглашения действуют 14 дней. Они отображаются в профиле организации и отправляются по электронной почте.
Такая схема помогает сделать управление членством более прозрачным. Пользователь может подтвердить участие в организации, прежде чем присоединиться к ней. Это полезно для команд с формализованными процедурами доступа и проектов, в которых важно контролировать, кто именно принимает приглашения.
При этом предусмотрены исключения: провайдеры аутентификации по-прежнему могут добавлять пользователей в организации без дополнительных действий со стороны приглашённого пользователя. Поэтому администраторам следует учитывать используемую схему аутентификации и интеграции.
Ещё одно улучшение позволяет добавлять или приглашать пользователя сразу в несколько команд. Раньше администраторам приходилось последовательно выполнять операции для каждой команды. Теперь можно выбрать несколько команд в одном действии, что особенно удобно для крупных организаций с разделением на разработку, тестирование, документацию и сопровождение.
Миграция репозиториев из Bitbucket Data Center
Для организаций, планирующих сменить платформу размещения исходного кода, Forgejo 17.0 добавляет поддержку миграции репозиториев из Bitbucket Data Center — корпоративного решения для управления Git-проектами.
В ходе переноса можно импортировать не только репозиторий, но и связанные с ним материалы совместной разработки. В частности, поддерживаются запросы на слияние, рецензии, комментарии, включая комментарии к отдельным строкам кода, а также обсуждения и ответы в ветках обсуждений.
Это важно для команд, которым необходимо сохранить историю взаимодействия разработчиков. Простое копирование Git-репозитория переносит исходный код и историю коммитов, но не всегда сохраняет контекст обсуждений, замечания рецензентов и решения, принятые во время проверки изменений.
Для авторизации при миграции используется HTTP-токен доступа. На стороне Bitbucket должно быть включено HTTPS SCM Hosting, поскольку Forgejo выполняет клонирование через HTTPS.
Кроме того, улучшен перенос изображений-аватаров репозиториев при миграции из Gogs, GitLab, Gitea и Forgejo. Это помогает сохранить визуальное оформление проектов после переезда.
Несмотря на новые возможности, миграцию корпоративной инфраструктуры следует планировать отдельно. Перед переносом необходимо проверить права доступа, используемые интеграции, вебхуки, CI/CD, большие файлы и настройки пользователей. После импорта важно провести тестирование и убедиться, что история проекта и связанные материалы доступны в ожидаемом виде.
Изменения, которые важно учесть перед обновлением
В Forgejo 17.0 есть изменение поведения, способное повлиять на отображение документов. Абсолютные ссылки на ресурсы внутри репозитория в отрендеренных документах теперь разрешаются относительно корня этого репозитория. Ранее такие ссылки могли интерпретироваться относительно корня всего экземпляра Forgejo.
Это изменение улучшает совместимость с другими Git-платформами и облегчает перенос проектов, однако в существующих репозиториях отдельные ссылки могут отображаться иначе. При обновлении стоит проверить README-файлы, документацию и другие Markdown-документы, содержащие абсолютные ссылки на внутренние ресурсы.
Также необходимо проверить конфигурации вебхуков Forgejo Actions, поскольку прежние события запусков объявлены устаревшими. Если внешняя система использует старые заголовки или поля полезной нагрузки, её обработчик может потребовать доработки.
Разработчики рекомендуют внимательно ознакомиться с разделом несовместимых изменений в официальных примечаниях к выпуску и сделать полную резервную копию экземпляра перед обновлением. В документации Forgejo также появилась отдельная инструкция по резервному копированию и восстановлению, в которой подчёркивается необходимость сохранять важные секреты, требующиеся для корректного восстановления системы.
Сроки поддержки Forgejo 17.0 и выбор LTS-версии
Forgejo 17.0 относится к обычным стабильным выпускам, а не к ветке с длительным сроком поддержки (LTS). Согласно графику проекта, сопровождение версии 17.0 запланировано до 28 января 2027 года.
Для администраторов, которым важнее длительный период обслуживания, существует Forgejo 15.0 LTS. На момент выпуска версии 17.0 поддержка этой ветки запланирована до 15 июля 2027 года.
- Forgejo 17.0: выпуск 15 октября 2026 года, поддержка до 28 января 2027 года.
- Forgejo 16.0: поддержка до 29 октября 2026 года.
- Forgejo 15.0 LTS: поддержка до 15 июля 2027 года.
Выбор версии зависит от требований инфраструктуры. Командам, которым нужны новые функции, может быть удобнее перейти на 17.0. Организациям, которые предпочитают более продолжительный период сопровождения и не хотят часто обновлять платформу, стоит рассмотреть LTS-ветку.
При этом LTS не означает, что обновления безопасности можно игнорировать: необходимо устанавливать исправления, предусмотренные для выбранной ветки, и следить за официальными объявлениями проекта.
Как обновиться до Forgejo 17.0
Процедура обновления зависит от способа установки — через бинарный файл, контейнерный образ или другой механизм развёртывания. В общем случае проект предлагает заменить используемый бинарный файл или образ контейнера соответствующей версией Forgejo.
Перед началом обновления рекомендуется выполнить следующие действия:
- Создать и проверить резервную копию экземпляра Forgejo.
- Убедиться, что сохранены необходимые конфигурационные файлы, данные репозиториев и секреты.
- Изучить официальный список несовместимых изменений версии 17.0.
- Проверить совместимость используемых действий, Runner и внешних интеграций.
- Проверить конфигурации вебхуков, особенно связанных с Forgejo Actions.
- После обновления протестировать клонирование репозиториев, CI/CD, Git LFS, авторизацию и уведомления.
Для контейнерных установок официальный проект указывает тег 17.0, который позволяет получать актуальные исправления соответствующей ветки 17.0.Y. Конкретные команды обновления следует выбирать в соответствии с используемым способом установки и официальной документацией.
Не стоит выполнять обновление производственного сервера без резервной копии и проверки совместимости. Особенно это важно для организаций, где Forgejo используется как центральное хранилище кода и одновременно обслуживает CI/CD-процессы.
Выводы
Forgejo 17.0 — функциональное обновление платформы, ориентированное на повседневные задачи разработчиков и администраторов. Наиболее существенные изменения затрагивают Forgejo Actions, Git LFS, управление организациями и перенос репозиториев из других систем управления кодом.
Сводки результатов CI/CD делают журналы заданий удобнее для анализа, а расширенный API упрощает повторный запуск отдельных этапов и поиск ошибок. Улучшения Git LFS помогают управлять крупными файлами и находить коммиты, которые на них ссылаются. Поддержка Bitbucket Data Center снижает сложность миграции для организаций, которым необходимо перенести не только код, но и историю обсуждений и проверки изменений.
Обновление также добавляет удобные функции: кнопку Donate для проектов с файлом FUNDING.yml, автодополнение задач и запросов на слияние, приглашения в организации и массовое управление членством в командах.
Однако перед переходом на Forgejo 17.0 следует обратить внимание на два момента: изменения в разрешении абсолютных ссылок внутри документов и устаревание прежних событий вебхуков Actions. Кроме того, версия 17.0 не является LTS-релизом и поддерживается до 28 января 2027 года. Организациям, для которых важен более продолжительный цикл сопровождения, стоит сравнить её с Forgejo 15.0 LTS.
В целом Forgejo продолжает развиваться как самостоятельная платформа для размещения Git-репозиториев и совместной разработки. Версия 17.0 не меняет принцип работы сервиса, но делает автоматизацию, управление крупными проектами и перенос существующей инфраструктуры более удобными. Для команд, использующих Forgejo в производственной среде, обновление может быть полезным при условии предварительной проверки совместимости и грамотной подготовки к миграции.
Часто задаваемые вопросы
Forgejo — открытая платформа для размещения Git-репозиториев и совместной разработки программного обеспечения. Она поддерживает управление исходным кодом, задачи, запросы на слияние, комментарии, организации и автоматизацию CI/CD. Forgejo можно самостоятельно развернуть на собственном сервере или в частной инфраструктуре.
Forgejo 17.0 была выпущена 15 октября 2026 года. Это стабильный, но не LTS-релиз.
К основным изменениям относятся сводки заданий Forgejo Actions, расширенный API для повторного запуска задач и получения журналов, улучшенная поддержка Git LFS, новые уведомления вебхуков, поддержка файла FUNDING.yml, автодополнение при работе с задачами и запросами на слияние, а также миграция репозиториев из Bitbucket Data Center.
Для отображения сводок заданий требуется Forgejo Runner версии 13.2 или новее. Сводки формируются в Markdown и отображаются над журналами выполнения заданий.
В Forgejo 17.0 улучшены навигация и управление LFS-файлами, добавлены представления для поиска коммитов, ссылающихся на конкретные LFS-объекты, и усовершенствована обработка указателей. Это упрощает обслуживание репозиториев, содержащих крупные бинарные файлы.
Да. Forgejo 17.0 поддерживает миграцию из Bitbucket Data Center. Помимо репозиториев, можно перенести запросы на слияние, рецензии, комментарии и обсуждения. Для миграции используется HTTP-токен доступа, а на стороне Bitbucket необходимо включить HTTPS SCM Hosting.
Прежние события вебхуков, связанные с запусками Actions, объявлены устаревшими и планируются к удалению в будущей версии. Администраторам необходимо проверить используемые события и вручную перейти на новые типы уведомлений, предварительно убедившись в совместимости внешних обработчиков.
Поддержка Forgejo 17.0 запланирована до 28 января 2027 года. Это обычная стабильная версия, а не выпуск с длительным сроком поддержки.
Если приоритетом является более длительный период сопровождения, можно рассмотреть Forgejo 15.0 LTS, поддержка которой на момент выхода версии 17.0 запланирована до 15 июля 2027 года. Перед выбором необходимо сравнить нужные функции, требования проекта и сроки поддержки.
Да. Перед обновлением следует создать и проверить резервную копию данных, конфигурации и важных секретов. Также необходимо ознакомиться с несовместимыми изменениями версии 17.0 и проверить работу репозиториев, CI/CD, Git LFS и внешних интеграций после обновления.
Источники и дополнительные материалы
- Официальный анонс Forgejo 17.0 — описание новых функций, изменений и особенностей обновления.
- Официальная страница релизов Forgejo — версии, даты выпусков и сроки поддержки.
- Официальная документация по обновлению Forgejo — рекомендации по подготовке и выполнению обновления.
- Официальный сайт Forgejo — сведения о проекте и ссылки на документацию.
