Gitea 1.24: новые API, более удобный Markdown и улучшенные инструменты администратора

Самостоятельный сервис Git Gitea 1.24 выпущен с улучшенными показателями производительности, поддержкой двухфакторной аутентификации, улучшенным рендерингом Markdown и многим другим.
Gitea, легковесная платформа с открытым исходным кодом для размещения репозиториев Git, по назначению похожая на GitHub, GitLab или Bitbucket, но спроектированная так, чтобы быть простой, быстрой и удобной для самостоятельного размещения, только что выпустила версию 1.24.
Одним из наиболее значимых изменений в этом выпуске является то, что Gitea использует исключительно свою внутреннюю конфигурацию Git, полностью игнорируя общесистемную «/etc/gitconfig». Этот шаг устраняет давние конфликты, возникающие из-за переопределения внешней конфигурации, путём применения «GIT_CONFIG_NOSYSTEM=1» ко всем командам Git.
Пользователям, которые ранее настраивали «/etc/gitconfig», необходимо будет перенести свои настройки во внутренний файл конфигурации Gitea, который обычно находится по адресу «{AppDataPath}/home/.gitconfig».
Кроме того, формат журнала маршрутизатора стал более понятным и последовательным, что помогает администраторам легче отслеживать и устранять неполадки в веб-запросах. Кроме того, рендеринг в формате Markdown теперь больше соответствует поведению GitHub, с новыми опциями для обнаружения и отключения проблемных блоков математического кода по умолчанию.
Безопасность также повышается за счёт введения глобальной настройки для принудительной двухфакторной аутентификации с помощью TOTP или WebAuthn для всех пользователей. Эта новая опция гарантирует, что пользователи без включённой двухфакторной аутентификации всё равно смогут входить в систему и просматривать общедоступный контент, но не смогут читать или записывать репозитории через API или веб-интерфейс.
Что касается новых функций, то Gitea 1.24 значительно улучшает рабочие процессы совместной работы и контроль доступа к репозиториям. В частности, он предоставляет анонимный доступ к закрытым и непубличным репозиториям, позволяя администраторам предоставлять ограниченный публичный доступ к коду, задачам и вики-страницам без полного открытия репозитория. Такой детальный контроль доступа подходит для проектов, требующих конфиденциальности с контролируемым доступом.
Другие улучшения, ориентированные на пользователя, включают:
- Поддержка закрытых файлов README в организациях с доступом «.profile-private» только для участников.
- Панель с деревом файлов на странице просмотра файлов для более удобной навигации по содержимому репозитория.
- Темы значков для списков файлов, повышающие визуальную наглядность.
- Возможность выбрать адрес электронной почты для отправки изменений через веб-интерфейс.
- Поддержка базовой аутентификации для каналов RSS и Atom.

Что касается производительности, то в этом выпуске реализовано несколько оптимизаций серверной части. Пакетный запрос сокращает количество избыточных обращений к базе данных при просмотре коммитов, а кэширование ключей GPG, электронных писем и пользователей ещё больше снижает нагрузку на базу данных.
Сложные запросы, лежащие в основе пользовательских панелей мониторинга и тепловых карт, были оптимизированы с помощью новых индексов и стратегий кэширования, что в некоторых случаях позволило увеличить скорость работы до шести раз.
Кроме того, разбиение на страницы на пользовательских панелях было упрощено до кнопок «предыдущая» и «следующая», что упрощает навигацию даже при наличии миллионов записей. API списка запросов на вытягивание теперь позволяет избежать создания нескольких подпроцессов за счёт использования базового репозитория Git для получения коммитов, что значительно повышает скорость отклика.
В Gitea 1.24 также представлены усовершенствованные инструменты для управления проектами, в том числе полноэкранный режим для досок Kanban, улучшающий видимость задач. Отслеживание рабочего времени теперь доступно на уровне организации, что позволяет администраторам получать подробные сводки с фильтрацией по временным периодам, репозиториям, этапам и участникам, что способствует более эффективному управлению ресурсами.
Кроме того, отслеживание задач упрощается благодаря сортировке по эксклюзивным меткам для определения приоритетности, расширению списка подзадач для более подробного контекста и возможности отложить проверку конфликтов в неактивных запросах на вытягивание, чтобы снизить нагрузку на сервер.
Наконец, разработчики оценят расширенный охват API с конечными точками для управления артефактами действий, регистрации бегунов и отправки событий рабочего процесса. Новые флаги CLI упрощают настройку групп LDAP, а промежуточное ПО обеспечивает приоритетность запросов для защиты от вредоносных парсеров.
Что касается пользовательского интерфейса, то были улучшены представления коммитов, формы запросов на вытягивание и журналы заданий. Процесс создания коммита теперь поддерживает выбор из нескольких адресов электронной почты, что упрощает управление идентификацией при совместном редактировании.
Для получения дополнительной информации см. объявление.
Редактор: Анастасия Богатырчук