Вышел релиз GitLab 18.1 с бета-версией виртуальных реестров Maven и Duo Code Review в общем доступе

Мы с радостью объявляем о релизе GitLab 18.1 с бета-версией виртуальных реестров Maven, фичей Duo Code Review в общем доступе, выявлением скомпрометированных паролей и компонентами CI/CD для достижения SLSA 1 уровня!

Это лишь несколько из более 110 улучшений, добавленных в этом релизе. Читайте дальше, чтобы узнать обо всех основных изменениях.

Основные улучшения в GitLab 18.1

Бета-версия виртуальных реестров Maven

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Package

Виртуальный реестр Maven упрощает управление зависимостями Maven в GitLab. Без него вам приходится настраивать каждый проект, чтобы он получал зависимости из Maven Central, приватных репозиториев или реестра пакетов GitLab. Такой подход замедляет сборки, которые требуют последовательных запросов к репозиториям, а также усложняет аудит безопасности и отчёты по соответствию требованиям.

Виртуальный реестр Maven решает эти проблемы, собирая несколько вышестоящих репозиториев в одной конечной точке. Инженеры платформы могут настроить загрузку зависимостей из Maven Central, приватных репозиториев и реестров пакетов через один URL. Умное кэширование улучшает производительность сборки и допускает интеграцию с системами аутентификации GitLab. Организации, использующие эту фичу, получают выгоду в виде снижения расходов на конфигурацию, более быстрых сборок, а также улучшенной безопасности и соответствия требованиям.

Виртуальные реестры Maven в настоящее время доступны в бета-версии для пользователей GitLab Premium и Ultimate на GitLab.com и для GitLab с самостоятельным управлением. Релиз этой фичи с общим доступом будет включать дополнительные возможности, такие как веб-версия пользовательского интерфейса для настройки конфигурации реестра, возможность делиться функциональностью вышестоящих зависимостей, правила жизненного цикла для управления кэшированием и улучшенная аналитика. Ограничения текущей бета-версии включают максимум 20 виртуальных реестров для групп высшего уровня и 20 вышестоящих зависимостей для виртуального реестра. Также на период бета-версии доступна настройка только через API.

Мы приглашаем пользователей Enterprise версий поучаствовать в бета-тестировании виртуальных реестров Maven, чтобы помочь нам сформировать финальный релиз. Участники программы получат ранний доступ к возможностям фичи, прямое взаимодействие с продуктовыми командами GitLab и приоритетную поддержку во время пробного периода. Чтобы присоединиться к бета-программе, оставьте заявку с описанием вашего сценария использования в тикете 498139, а ваш фидбек и предложения оставляйте в тикете 543045.

https://www.youtube.com/watch?v=ZkIkaJDEcEE

Документация по виртуальным реестрам Maven и оригинальный эпик.

Duo Code Review теперь в общем доступе

(SaaS: PREMIUM, ULTIMATE, DUO ENTERPRISE; self-managed: PREMIUM, ULTIMATE, DUO ENTERPRISE) Стадия цикла DevOps: Create

Фича Duo Code Review теперь находится в общем доступе и готова к использованию в продакшене. Этот ИИ-ассистент предоставляет разумный и автоматизированный фидбек для ваших мерж-реквестов, трансформируя традиционный процесс ревью кода. Использование Duo Code Review помогает выявлять потенциальные баги, уязвимости и проблемы с качеством кода ещё до того, как код будет проверен другим человеком, что делает весь процесс ревью более эффективным и надёжным. Эта фича включает:

Чтобы запросить ревью кода:

Duo Code Review помогает командам поддерживать качество кода на более высоком уровне, при этом сокращая время, затрачиваемое на циклы ручного ревью. Благодаря раннему выявлению проблем и полезному фидбеку эта фича служит одновременно и как инструмент контроля качества, и как инструмент обучения для команд разработки.

Посмотрите, на что способен Duo Code Review из бета-релиза.

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

Документация по ревью при помощи Duo Code Review и оригинальный эпик.

Duo Code Review is now generally available

Выявление скомпрометированных паролей для нативных учётных данных GitLab

(SaaS: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

GitLab.com теперь проверяет безопасность учётных данных вашего аккаунта при входе на GitLab.com. Если ваш пароль был замечен в одной из известных утечек, GitLab отобразит баннер с соответствующей информацией и отправит email-уведомление с инструкцией по обновлению учётных данных.

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

Обратите внимание: Эта фича доступна только для нативных имён пользователей и паролей GitLab. Учётные данные из поставщиков SSO не проверяются.

Документация по выявлению скомпрометированных паролей и оригинальный тикет.

Compromised password detection for native GitLab credentials

Компоненты CI/CD для достижения SLSA 1 уровня

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

Теперь вы можете достичь соответствия SLSA 1 уровня, используя новые компоненты GitLab CI/CD для подписи и проверки метаданных происхождения артефактов, соответствующих требованиям SLSA, которые генерирует обработчик заданий GitLab. Эти компоненты — оболочка для фичи Sigstore Cosign в виде переиспользуемых модулей, которые легко интегрировать в процессы CI/CD.

Документация по компонентам CI/CD для достижения SLSA 1 уровня и оригинальный эпик.

Achieve SLSA Level 1 compliance with CI/CD components

Другие улучшения в GitLab 18.1

Несколько совпадений для каждого файла при поиске по коду

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Foundations

Точный поиск кода (в бета-версии) теперь объединяет несколько результатов поиска из одного файла в единое представление. Это улучшение:

Это изменение делает более эффективными поиск и понимание структуры кода в ваших репозиториях.

https://www.youtube.com/watch?v=ZkIkaJDEcEE

Документация по точному поиску кода и оригинальный эпик.

Улучшенная проверка файлов CODEOWNERS с проверкой прав доступа

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Create

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

Улучшенная проверка проверяет первые 200 уникальных ссылок на пользователей и группы в вашем файле CODEOWNERS и подтверждает, что:

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

Документация по проверке файла CODEOWNERS и оригинальный эпик.

Просмотр в VS Code логов заданий из нижестоящих конвейеров

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create

Расширение GitLab Workflow для VS Code теперь отображает логи заданий из нижестоящих конвейеров непосредственно в вашем редакторе. Ранее для просмотра этих логов требовалось переключиться на веб-интерфейс GitLab.

View downstream pipeline job logs in VS Code

Документация по CI/CD в VS Code и оригинальный тикет.

Фильтр для ботов и пользователей-людей

(self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

В установленных инстансах GitLab часто может быть большое количество пользователей-людей и ботов. Теперь можно фильтровать список пользователей на панели администратора по типу пользователя. Фильтрация пользователей может помочь вам:

Filter for bot and human users

Документация по фильтрации пользователей по типу и оригинальный тикет.

Идентификатор ORCID в профиле пользователя

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

GitLab теперь поддерживает идентификаторы ORCID в профилях пользователей, что делает GitLab более доступным и ценным для исследователей и академического сообщества. ORCID (Open Researcher and Contributor ID) предоставляет исследователям постоянный цифровой идентификатор, который отличает их от других исследователей и поддерживает автоматическую связь между исследователями и их профессиональной деятельностью, обеспечивая надлежащее признание их работы.

ORCID identifier in user profile

Документация по настройке профиля пользователя и оригинальный тикет.

Подписка на уведомления от конвейеров сервисных аккаунтов

(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

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

Документация по настройке уведомлений и оригинальный тикет.

Просмотр неактивных личных токенов доступа

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Software Supply Chain Security

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

https://www.youtube.com/watch?v=wx2D39UdUoQ

Документация по личным токенам доступа и оригинальный тикет.

Поддержка эпиков для представлений GitLab Query Language (бета-версия)

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Plan

Мы значительно улучшили представления GitLab Query Language (GLQL). Теперь можно использовать эпик в качестве типа в своих запросах для поиска эпиков по группам и выполнять запросы по родительскому эпику.

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

Документация по эпикам в GitLab Query Language и оригинальный тикет.

Улучшили ревью мерж-реквеста с помощью панели ревью

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Create

При ревью мерж-реквеста бывает полезно просмотреть все свои комментарии и обратную связь, прежде чем закончить ревью. Раньше этот процесс был разделён на окончательный комментарий и дополнительное всплывающее окно с комментариями, ждущими ответа. Это мешало увидеть полную картину.

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

Enhanced merge request review experience with review panel

Документация по завершению ревью мерж-реквеста и оригинальный тикет.

Новый аргумент accessLevels для projectMembers в GraphQL API

(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE) Стадия цикла DevOps: Tenant Scale

Мы рады объявить о добавлении аргумента accessLevels в поле projectMembers в нашем API для GraphQL. Используйте этот аргумент для фильтрации участников проекта по уровню доступа непосредственно из вызова API. Раньше приходилось извлекать весь список участников проекта и применять фильтры локально, что значительно увеличивало вычислительную нагрузку. Теперь анализ разрешений проекта и создание графов доступа происходит быстрее и эффективнее с точки зрения ресурсов. Это улучшение особенно ценно для организаций, управляющих крупномасштабными развёртываниями со сложными структурами разрешений.

Документация по полю projectMembers в GraphQL API и оригинальный тикет.