
Мы с радостью объявляем о релизе GitLab 19.4 с управлением инструментами сервера GitLab MCP, ограничением доступа к внешним серверам MCP, потоком анализа контекста уязвимостей и поддержкой Kotlin, Dart и Scala в Advanced SAST!
В релиз также вошли команда /goal в GitLab Duo CLI, визуальный конструктор собственных потоков, новые инструменты MCP, обнаружение вредоносных пакетов и расширенные возможности контроля расходов GitLab Credits и GitLab Flex. Читайте дальше, чтобы узнать обо всех изменениях.
GitLab 19.4 вышел 17 сентября 2026 года.
В этом месяце GitLab отмечает Jimmy — участника сообщества четвёртого уровня. Он вносил изменения в кодовую базу GitLab, client-go и провайдер Terraform, чтобы токенами, сервисными аккаунтами и push-зеркалами можно было полностью управлять средствами инфраструктуры как кода.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE; Dedicated for Government: FREE, PREMIUM, ULTIMATE)
Раньше правила управления инструментами ИИ-агентов можно было применять только к внутренним инструментам GitLab Duo Agent Platform. Для инструментов, доступных GitLab Duo Agent Platform и сторонним агентам через сервер GitLab MCP, действовали фиксированные правила, которые нельзя было изменить.
Теперь инструментами сервера GitLab MCP можно управлять там же, где и внутренними инструментами платформы. Они отображаются рядом с ними в настройках GitLab Duo для группы и проекта. Для каждого инструмента можно выбрать режим:
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE; Dedicated for Government: PREMIUM, ULTIMATE)
Теперь можно разрешать или запрещать доступ как ко всему внешнему серверу MCP (Model Context Protocol), так и к отдельным инструментам на нём.
Это позволяет задать границы работы ИИ-агентов Duo Agent Platform: они смогут обращаться только к тем инструментам MCP, которые разрешены для выполнения их действий, сессий и задач.
Правила одинаково действуют во всех средах запуска агентов:
Фича находится в бета-версии. Поделиться отзывом можно в тикете #628378.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Vulnerability Context Flow собирает контекст, который помогает эффективнее разбирать уязвимости и принимать обоснованные решения.
Поток анализирует три категории:
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Advanced SAST теперь сканирует код на Kotlin, Dart и Scala с тем же глубоким анализом распространения недоверенных данных, который используется для Java, Python и других поддерживаемых языков. Возможности реализованы на архитектуре Software Factory с отдельными фронтендами для языков и выбором правил с учётом фреймворков.
Все три расширения проверены на репозиториях с реальным кодом, в который намеренно внесены уязвимости. Результаты показывают путь данных от источника до потенциально опасной операции.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Данные GitLab о лицензиях теперь содержат выражения SPDX, включая составные объявления, например MIT OR Apache-2.0 и GPL-2.0-only WITH Classpath-exception-2.0. Раньше такие лицензии отображались в списке зависимостей как unknown и не учитывались политиками согласования лицензий.
Теперь составные лицензии отображаются вместе с операторами AND, OR и WITH. Политики согласования могут разрешать или запрещать их так же, как зависимости с одной лицензией.
Выражения из CycloneDX SBOM поддерживаются с GitLab 19.3. В этом релизе они также добавлены в синхронизируемые GitLab данные о лицензиях. Инстансы без доступа к интернету получат выражения только после загрузки данных о лицензиях версии v3.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
В GitLab Duo CLI появилась слеш-команда /goal, которая позволяет поручить агенту достижение цели без заранее заданного списка шагов. Для этого используется управляемый поток, который выполняется локально и ориентируется на поставленную цель.
Вы описываете цель, а GitLab Duo берёт на себя реализацию и проверку. Независимый оценщик определяет, достигнута ли цель или исчерпан лимит итераций. При этом вы сохраняете контроль: в любой момент можно приостановить работу, изменить цель или перенаправить агента.
Для команды необходимы GitLab 19.3 или новее и GitLab Duo CLI 9.17.0 или новее.
Чтобы начать, выполните /goal <task>. Например:
/goal Fix the failing tests in spec/models/user_spec.rb
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Теперь потоки агентов GitLab Duo можно запускать прямо из Slack, не переходя в интерфейс GitLab.
Упомяните @GitLab в канале или цепочке обсуждения Slack, чтобы запустить поток, получить ответ на вопрос по кодовой базе или создать тикет GitLab на основе переписки. GitLab Duo в реальном времени отправляет сообщения о ходе работы в ту же цепочку. Ответы можно оценить кнопками с поднятым или опущенным большим пальцем.
Интеграция доступна в экспериментальном режиме. Оставить отзыв можно в тикете #624364.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Создавайте собственные потоки для проектов GitLab с помощью нового визуального редактора в расширении GitLab для VS Code. Поток можно собрать из компонентов Agent, Custom tool и AI task либо отредактировать его YAML напрямую.
Откройте YAML-файл потока в VS Code и выберите Open GitLab Flow Builder. Чтобы проверить поток, нажмите Run — откроется консоль выполнения. Когда поток будет готов, выберите Publish, чтобы опубликовать его в каталоге ИИ.
Конструктор доступен в бета-версии начиная с GitLab для VS Code 6.87.0. Для его использования включите настройку gitlab.featureFlags.flowBuilder в VS Code.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Новые инструменты позволяют агентам запускать, проверять и контролировать CI/CD из любого клиента MCP:
save_pipeline — запускает, перезапускает или отменяет конвейер без переключения инструментов;get_job — возвращает метаданные задания вместе с журналом выполнения. Агент может самостоятельно прочитать лог неудачной сборки и определить причину ошибки.Раньше агенты не могли запускать и проверять конвейеры через MCP.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Инструменты сервера GitLab MCP теперь позволяют агентам выполнить полный цикл работы с мерж-реквестом:
save_merge_request — создаёт и обновляет мерж-реквест;get_merge_request — получает подробные сведения о мерж-реквесте, включая новые категории данных: диффы, конфликты и подтверждения;save_merge_request_review — публикует комментарии ревью к отдельным строкам, объединяя комментарии к диффу и итоговое описание в одном вызове;accept_merge_request — выполняет слияние после прохождения проверок, а также может подтвердить мерж-реквест или отозвать подтверждение.Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Новые инструменты сервера GitLab MCP дают агентам контекст, необходимый для правильного выбора проекта и участников работы:
list_projects — находит проекты и получает сведения о них;get_user — получает сведения о пользователе для назначения ответственным и упоминаний.Раньше получить информацию о проектах и пользователях через сервер GitLab MCP было невозможно.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Новые инструменты позволяют агентам изучать структуру проекта, читать историю коммитов и предлагать изменения через сервер GitLab MCP:
list_repository_tree — просматривает дерево файлов;list_tags — перечисляет ссылки на теги;list_releases — получает сведения об опубликованных релизах;get_commit — получает метаданные, дифф или заметки коммита;list_commits — постранично просматривает историю ветки;add_commit — одним вызовом создаёт коммит с одной или несколькими операциями над файлами. При необходимости можно создать новую ветку от заданной ссылки или из исходного проекта;fork_repository — создаёт форк проекта. Агент может перейти от изучения исходного репозитория к предложению изменений, не покидая клиент MCP.Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Инструмент semantic_code_search переименован в semantic_search. Как и раньше, он ищет код по смыслу, а не по точному имени символа или файла.
Вместе с переименованием появился параметр scope: в будущих релизах он позволит искать и другие типы индексируемых данных тем же инструментом. Пока scope принимает только значение code.
Спасибо arun kumar за этот вклад!
Документация и оригинальный мерж-реквест.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Сервер GitLab MCP теперь предоставляет инструменты для поиска, чтения, создания и обновления рабочих элементов: тикетов, эпиков, задач, инцидентов, целей и ключевых результатов.
get_work_item — получает подробные сведения об одном элементе;list_work_items — ищет элементы в группе или проекте;save_work_item — создаёт или обновляет рабочий элемент любого типа.Поскольку тикеты и эпики относятся к рабочим элементам, get_work_item и save_work_item также покрывают возможности существующих get_issue и create_issue.
Инструмент save_note позволяет агенту комментировать рабочий элемент или мерж-реквест и отвечать в существующей цепочке обсуждения. С его появлением переименованы прежние инструменты create_merge_request_note и create_workitem_note.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Раньше для события Merge request поддерживались только действия Approved, Marked ready и Merge conflict. Запустить поток или внешнего агента сразу после создания мерж-реквеста без сторонних инструментов было невозможно.
Теперь в качестве действия триггера можно выбрать Created. Когда пользователь открывает черновой или готовый мерж-реквест и GitLab формирует дифф, запускается ваш поток или внешний агент. Это удобно для предварительного ревью или добавления контекста из связанных тикетов.
Для настройки откройте AI > Triggers в проекте либо выберите триггер при включении потока.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Раньше важные сведения о сессии агента приходилось искать на перегруженной панели. Теперь статус, временные отметки и пользователь, запустивший сессию, видны в обзорной строке. На правой панели сведения об идентификации, выполнении и дополнительная информация собраны в отдельные группы с понятными названиями.
Новый раздел Linked items отдельно показывает то, что запустило сессию, и результаты её работы: мерж-реквесты, рабочие элементы, задания и комментарии.
На боковой панели GitLab Duo подробности сессии теперь находятся в сворачиваемой строке, закреплённой внизу. Они остаются под рукой и не мешают работе.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
В GitLab Duo Agent Platform теперь можно отдельно выбирать модель для Developer Flow.
Администратор может назначить этому потоку конкретную модель ИИ независимо от остальных возможностей платформы. Команды получают больше контроля над выбором моделей.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
В GitLab Duo Agent Platform появилась поддержка трёх моделей с открытыми весами: GLM 5.3, Kimi K3 и MiniMax M3.
В GitLab Duo Agentic Chat любую из них можно выбрать для собственных диалогов. Пользователи с ролью Owner в группе и администраторы также могут назначить их моделями по умолчанию для Agentic Chat, других агентов, потоков и возможностей платформы.
Документация и оригинальный мерж-реквест.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Раньше остановить автоматический запуск потока можно было только удалением триггера. При этом терялась вся его конфигурация, включая сложные фильтры.
Теперь триггер можно отключить, сохранив настройки, и в любой момент включить снова с помощью нового переключателя.
Для управления триггерами откройте AI > Triggers.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Раньше обнаружение ложных срабатываний SAST, устранение уязвимостей с GitLab Duo, обнаружение ложных срабатываний при поиске секретных ключей и автоматическое исправление зависимостей приходилось включать отдельно в каждом проекте.
Теперь к группе или проекту можно применить профиль Automated Triage and Remediation, задав уровни критичности и режимы запуска одним действием. Можно выбрать готовый профиль либо настроить каждый поток самостоятельно:
Профили доступны только через GraphQL API. Необходима GitLab Duo Agent Platform с включёнными базовыми потоками для группы верхнего уровня. Большинство потоков расходует GitLab Credits.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Теперь в окне просмотра файла видно, кто его заблокировал и какие действия вам доступны.
Раньше отображалась только метка Locked: нельзя было узнать, кто установил блокировку и можете ли вы снять её самостоятельно. Теперь рядом с меткой появляется всплывающая панель с именем пользователя. Если у вас есть необходимые права, на панели доступно действие разблокировки. Если прав нет, GitLab объясняет причину.
Для заблокированного каталога панель содержит прямую ссылку на конкретный файл, который мешает внести изменения.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Команды безопасности могут массово назначать, обновлять и удалять сроки устранения обнаруженных уязвимостей с помощью GraphQL-мутации bulkSetVulnerabilityFindingsDueDates.
Один запрос поддерживает до 1000 UUID находок. В ответ возвращаются количество назначенных, удалённых и пропущенных обновлений, а также структурированные ошибки.
Это позволяет связать сроки устранения уязвимостей с существующими соглашениями об уровне обслуживания (SLA) и автоматизацией рабочих процессов.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Теперь покрытие сканерами для всей иерархии группы можно увидеть на одной странице. Раньше Security Inventory показывал покрытие по отдельным подгруппам, но не давал общего результата для всей группы.
Новый виджет объединяет данные всех проектов группы и её подгрупп. Для каждого сканера отображаются доля и количество проектов, в которых он включён, не включён, работает с ошибками или имеет устаревшие результаты. В раскрывающемся списке можно выбрать отдельный сканер, например SAST или Dependency Scanning.
Выберите статус, чтобы отфильтровать список проектов, и включите сканеры там, где проверки ещё не настроены.
В Security Inventory также появился выбор отображаемых столбцов. Нажмите Display, чтобы показать или скрыть Vulnerabilities, Tool coverage и Security attributes.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Когда сканер секретных ключей находит утёкший персональный токен доступа GitLab в публичном проекте, автоматическое реагирование отзывает его. До GitLab 19.4 для отзыва использовалось только одно правило обнаружения, которое охватывало лишь старый формат токенов.
Токены, созданные в GitLab 18.3 и новее, используют маршрутизируемый формат либо его версионированный вариант. GitLab обнаруживал такие токены и сообщал о них, но не отзывал.
В GitLab 19.4 и новее отзыв учитывает все три правила обнаружения персональных токенов доступа:
gitlab_personal_access_token;gitlab_personal_access_token_routable;gitlab_personal_access_token_routable_versioned.Отзыв также распространяется на находки GitLab Secret Scanning for Source Code и анализатора на основе Gitleaks. Менять конфигурацию не нужно: инстансы с включённым автоматическим реагированием сразу получают расширенное покрытие.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE; Dedicated for Government: FREE, PREMIUM, ULTIMATE)
Вместе с GitLab вышел GitLab Runner 19.4 — масштабируемый агент сборки, который выполняет задания CI/CD и возвращает результаты в инстанс GitLab. Runner работает совместно с GitLab CI/CD, встроенным сервисом непрерывной интеграции с открытым исходным кодом.
Новые возможности:
gitlab_runner_job_router_get_job_duration_seconds добавлены метки runner и system_id.PUT-запрос о завершении задания добавлен ключ окружения.services_cap_add и services_cap_drop.Исправления ошибок:
409 приводили к отключению менеджеров Runner на час.job_id и runner_controller_id создавали неограниченное число уникальных комбинаций значений в гистограмме.got null для полей, допускающих nil, если у них был тег TOML, но отсутствовал тег JSON.get_sources без сообщения об ошибке.FF_USE_ADAPTIVE_REQUEST_CONCURRENCY появлялось необоснованное предупреждение Request bottleneck.-.Полный список изменений приведён в CHANGELOG GitLab Runner.
Документация и оригинальный тикет.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Раньше при вставке скопированной таблицы в ячейку её содержимое всегда объединялось с существующей таблицей. Из-за этого было сложно создать вложенную таблицу.
Теперь можно выбрать способ вставки:
Для вставки вложенной таблицы также можно использовать сочетание клавиш Command+Option+V в macOS или Control+Alt+V в Windows и Linux.
Обычная вставка через Control+V или Command+V работает как прежде.
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
Раньше Dependency Scanning находил только пакеты с известными CVE. Вредоносные пакеты — распространяемые через опечатки в названиях, скомпрометированные аккаунты сопровождающих или внедрённое вредоносное ПО — не приводили к появлению находок.
В GitLab 19.4 обнаружение таких пакетов доступно в бета-версии. Dependency Scanning сопоставляет зависимости с базой GitLab malware advisories, чтобы выявлять угрозы ещё до того, как они станут широко известны.
Находки появляются в Dependency List и Vulnerability Report с красной меткой Malware и всегда имеют критический уровень опасности Critical. Они используют идентификатор с префиксом GLAM- вместо CVE.
Вредоносные пакеты также можно блокировать до слияния с помощью правила malware в политиках подтверждения мерж-реквестов.
Дополнительная настройка не требуется. Поддерживаются npm, PyPI, Maven, Go, NuGet, Cargo и RubyGems. Те же данные используются при непрерывном сканировании уязвимостей; инстансы без доступа к интернету загружают их вручную.
Поделиться отзывом можно в тикете #606036.
Документация и оригинальный тикет.
(SaaS: ULTIMATE)
Панели безопасности теперь доступны на уровне организации.
Пользователи могут просматривать данные по всем её группам верхнего уровня:
Документация и оригинальный тикет.
(SaaS: ULTIMATE; self-managed: ULTIMATE; Dedicated: ULTIMATE)
В GitLab 19.4 сервер GitLab MCP получил новые инструменты управления уязвимостями:
list_vulnerabilities — выводит уязвимости проекта с необязательной фильтрацией по критичности и типу отчёта и с курсорной пагинацией;get_vulnerability — получает полные сведения об уязвимости по числовому идентификатору, преобразуя его в глобальный формат gid://gitlab/Vulnerability/<id>;save_vulnerability — объединяет пять операций изменения уязвимостей: отклонение с необязательным комментарием и причиной, подтверждение, возврат в состояние обнаруженной, изменение критичности с обязательным комментарием и создание связанного тикета.Эти инструменты позволяют ИИ-агентам разбирать уязвимости и выполнять действия по их устранению через сервер GitLab MCP.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
В GitLab 19.3 появились email-уведомления о достижении порогов зарезервированного объёма и об отключении возможности после исчерпания лимита. Но заблаговременных предупреждений о самом лимите расходов не было: первое письмо приходило, когда использование уже остановилось.
Теперь GitLab отправляет менеджерам платёжного аккаунта письмо, когда расход по требованию для отдельной возможности достигает 50% или 80% её ежемесячного лимита. В письме указаны возможность и размер лимита в кредитах.
Отправляется уведомление только о наибольшем из пересечённых порогов, не более одного раза для каждой возможности за расчётный период. Лимиты меньше 10 долларов не учитываются, чтобы небольшие ограничения не создавали лишних уведомлений.
Документация и оригинальный тикет.
(self-managed: PREMIUM, ULTIMATE)
В GitLab 19.4 по умолчанию включены флаги:
geo_proxy_fetch_ssh_to_primary;geo_proxy_push_ssh_to_primary.Проксирование Geo SSH повышает надёжность операций fetch и push по SSH через вторичный сайт Geo, когда операция перенаправляется на первичный сайт. Оно также исправляет давние ошибки, в том числе сбои push с дополнительными параметрами и fetch из крупных репозиториев.
Необходимые действия для Cloud Native GitLab
Если развёртывание Cloud Native GitLab использует встроенный NGINX Ingress, необходимо выполнить одно из действий:
Иначе операции fetch и push по SSH через вторичные сайты Geo могут зависать или завершаться по тайм-ауту.
Подробности приведены в документации по устранению неполадок проксирования Geo SSH.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Раньше при наличии временных пробных кредитов весь расход сначала списывался из этого общего пула. Ежемесячные кредиты, включённые в подписку каждого пользователя, оставались неиспользованными до исчерпания пробного пула и сбрасывались в конце месяца.
Теперь GitLab сначала расходует включённые кредиты пользователя и только после их исчерпания обращается к общему пулу временных пробных кредитов.
Порядок использования Monthly Commitment Pool, One-Time Charge credits и On-Demand credits остался прежним; это изменение не влияет на ваш счёт.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE; Dedicated: PREMIUM, ULTIMATE)
Раньше экспорт расхода кредитов содержал одну строку на день. Он показывал общий расход подписки, но не позволял понять, на что именно потрачены кредиты. Распределение расходов по командам, проектам и отдельным автоматизациям приходилось оценивать приблизительно.
Теперь экспорт возвращает ZIP-архив с двумя CSV-файлами: привычной ежедневной сводкой и подробным файлом, в котором каждой оплачиваемой операции соответствует отдельная строка.
В строке указаны продукт, тип потока, сессия, пользователь, пространство имён, проект, количество использованных кредитов и токенов. Экспорт выполняется в фоне. Когда файл будет готов, GitLab отправит ссылку на скачивание по электронной почте.
Документация и оригинальный тикет.
(SaaS: PREMIUM, ULTIMATE; self-managed: PREMIUM, ULTIMATE)
Лимиты кредитов ограничивают количество GitLab Credits, доступное каждому пользователю. До этого релиза настроить их можно было только через GraphQL API. Чтобы изменить лимиты даже для нескольких пользователей, приходилось вручную составлять мутации.
Новая страница Credit caps позволяет задать единый лимит по умолчанию и индивидуальные исключения, выбирая пользователей через поиск.
Страница доступна в разделе GitLab Credits владельцам групп на GitLab.com и администраторам GitLab Self-Managed. GraphQL-мутации по-прежнему поддерживаются для автоматизированного изменения лимитов.
Документация и оригинальный тикет.
(self-managed: PREMIUM, ULTIMATE)
Теперь при сбое синхронизации группы LDAP доступна его причина. Ошибка сохраняется в группе вместе с именами участников, которые её вызвали, — не более пяти. На странице участников отображается предупреждение об ошибке. Например, блокировку синхронизации из-за ограничения доменов электронной почты можно определить прямо в интерфейсе.
Новый параметр group_filter позволяет ограничить набор записей LDAP, которые считаются группами.
Журнал аудита теперь различает события, которые раньше записывались одинаково: создание и удаление связей с группами LDAP и блокировка пользователей при синхронизации LDAP получили отдельные типы событий.
Спасибо Sergey Pechenko за эти улучшения!
Документация и оригинальный мерж-реквест.
Изменения участников: мерж-реквест !250622, мерж-реквест !253816, мерж-реквест !252957, мерж-реквест !247146.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Теперь виджет сообщает, когда GitLab ещё проверяет мерж-реквест. Пока проверка конфликтов не завершена, вместо Merge conflicts must be resolved отображается Checking for merge conflicts.
При отказе в выполнении rebase показывается конкретная причина, например Source branch is protected from force push, вместо общего предложения повторить попытку. Так можно принимать решения с учётом фактического состояния мерж-реквеста.
Закреплённая строка заголовка, которая остаётся видимой при прокрутке мерж-реквеста, теперь сразу обновляется после перевода в черновик или готовое состояние. Перезагрузка страницы больше не требуется.
Спасибо Amartya Mishra, Gerardo Navarro и Mahaveer A за эти улучшения!
Документация и оригинальный мерж-реквест.
Изменения участников: мерж-реквест !253806, мерж-реквест !251657, мерж-реквест !252050, мерж-реквест !251290.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
Участники сообщества добавили новые инструменты сервера GitLab MCP:
get_project и list_project_members — получение метаданных проекта и списка его участников;list_branches — просмотр веток репозитория;list_merge_requests — просмотр мерж-реквестов всей группы;get_duo_session — получение сессии GitLab Duo, чтобы узнать, что сделал агент при предыдущем запуске.Они поставляются вместе с остальными новыми инструментами MCP в 19.4 и подчиняются тем же правилам управления инструментами, которые уже установлены вашей командой.
Спасибо Dhairya Majmudar, Giannis Kepas и Mahaveer A за этот вклад!
Документация и оригинальный мерж-реквест.
Изменения участников: мерж-реквест !248155, мерж-реквест !250316, мерж-реквест !250430, мерж-реквест !251379, мерж-реквест !252619.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
На странице создания файла появились вкладки Write и Preview, которые давно доступны на странице редактирования. Теперь можно проверить отображение Markdown- или AsciiDoc-файла ещё до первого коммита.
Предпросмотр учитывает изменения имени файла: если во время редактирования заменить расширение .txt на .md, включится соответствующий механизм отображения. Если убрать расширение Markdown, предпросмотр в реальном времени остановится.
Для сниппетов также появился предпросмотр Markdown в реальном времени. Он доступен через контекстное меню редактора.
Спасибо skkzsh за этот вклад!
Документация и оригинальный мерж-реквест.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
В релиз также вошли следующие изменения:
GET /projects/:id/jobs/:job_id/artifacts?file_type=junit.Dependency-Scanning.v2 позволяют самостоятельно увеличить лимиты времени разрешения зависимостей.Спасибо Andreas Kunze, André Düwel, Paweł Farys, Praveen Arimbrathodiyil, Niklas van Schrick и BoxBoxJason за эти улучшения!
Документация и оригинальный мерж-реквест.
Изменения участников: мерж-реквест !252518, мерж-реквест !252350, мерж-реквест !250636, мерж-реквест !248600, мерж-реквест !249426, мерж-реквест !249893.
(SaaS: FREE, PREMIUM, ULTIMATE; self-managed: FREE, PREMIUM, ULTIMATE; Dedicated: FREE, PREMIUM, ULTIMATE)
В этом релизе также улучшен интерфейс:
/internal_note помечает комментарий как внутренний при его создании. Её можно использовать в шаблонах комментариев и сохранённых ответах./type Epic повышает тикет до эпика, как и /promote_to Epic.Спасибо Radek Antoniuk, Viktor Chekryzhov, Priyansh Garg, Aryann Dwivedi, skkzsh и Jordan Labrosse за эти улучшения!
Документация и оригинальный мерж-реквест.
Изменения участников: мерж-реквест !250014, мерж-реквест !248574, мерж-реквест !243383, мерж-реквест !241880, мерж-реквест !253987, мерж-реквест !250484.
Оригинал: GitLab 19.4 release notes. Материалы GitLab Docs распространяются по лицензии Creative Commons Attribution-ShareAlike 4.0 International; этот перевод публикуется на тех же условиях.