GitLab 19.5 릴리즈 노트

GitLab 19.5가 2026년 10월 15일 출시되었습니다. 이번 릴리즈에서는 GitLab MCP(Model Context Protocol) 서버와 GitLab Secrets Manager가 GA로 출시되었습니다. MCP 서버를 이용하면 Claude Code나 Cursor 같은 MCP 호환 에이전트에서 더 다양한 GitLab 도구와 GitLab Duo Agent Platform의 에이전트·플로를 사용할 수 있습니다. Secrets Manager는 OpenBao를 기반으로 CI Secret을 중앙에서 관리합니다. AI 거버넌스 대시보드는 Claude Code·Cursor·Codex 등 외부 연결 에이전트(ECA)까지 지원 범위를 넓혔으며(베타), 기본 브랜치가 아닌 브랜치의 취약점 추적 기능도 GA로 출시되었습니다. GitLab Duo CLI에서는 /goal 명령이 GA로 출시되고 자동 모드, 설정 파일, 이미지 컨텍스트, 개선된 첫 실행 경험이 추가되었으며, Code Review Flow는 후속 리뷰를 지원합니다. 이 밖에도 GitLab Observability 베타, 보안 구성 프로필 사용자 지정, Markdown 표 정렬과 고정 헤더, 비즈니스 로직 보안 분석기(비공개 베타) 등 43가지 업데이트를 소개합니다.
본 내용은 GitLab의 릴리즈 노트를 번역 및 재편집한 내용이며 원문은 GitLab 19.5 Release에서 확인할 수 있습니다.
주요 기능
1. GitLab MCP 서버 GA
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이전에는 MCP 클라이언트에서 사용할 수 있는 GitLab 도구가 제한적이었습니다. GitLab MCP 서버가 GA로 출시되면서 Claude Code나 Cursor 같은 MCP 호환 에이전트가 더 다양한 GitLab 도구와 GitLab Duo Agent Platform의 에이전트·플로를 이용할 수 있습니다. 덕분에 에이전트는 GitLab 워크플로의 더 많은 작업을 처리하고, 사용 중인 도구를 벗어나지 않은 채 Agent Platform의 에이전트와 플로도 실행할 수 있습니다.
2. GitLab Secrets Manager GA
- SaaS, Self-Managed: PremiumUltimate
- 애드온: GitLab Secrets Manager
중앙화된 Secret 저장소가 없으면 크리덴셜이 권한 범위가 필요 이상으로 넓은 CI/CD 변수, 로컬 설정 파일, 개별 볼트(vault)에 흩어지기 쉬워 관리·보호·감사가 어려워집니다. GitLab Secrets Manager가 GitLab.com과 GitLab Self-Managed에서 GA로 출시되었습니다. OpenBao를 기반으로 하며 기존 그룹·프로젝트 권한을 그대로 사용하므로 별도의 접근 모델을 유지할 필요가 없습니다. 각 CI Secret은 환경, 브랜치, 보호 브랜치 규칙에 따라 필요한 Job으로 범위가 제한되고, 생성·조회·수정·삭제마다 감사 로그가 남습니다. GitLab Secrets Manager는 GitLab Credits를 소비합니다. 30일 무료 체험을 시작하거나 그룹 또는 인스턴스에서 활성화할 수 있습니다.
3. 외부 연결 에이전트(ECA)를 AI 거버넌스에 연결 (베타)
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
이전에는 AI 거버넌스 대시보드가 GitLab Duo Agent Platform 에이전트의 활동만 보여 주었습니다. 대시보드에서는 Agent Platform 에이전트의 세션과 도구 호출, 사용한 MCP, 사용자의 프롬프트 입력과 에이전트의 출력을 확인할 수 있습니다. GitLab 19.5부터는 한 번만 glab govern setup을 실행하면 GitLab CLI(glab)를 통해 Claude Code, Cursor, Codex 같은 외부 연결 에이전트(Externally Connected Agents, ECA)를 GitLab AI 거버넌스에 연결해, 거버넌스 가시성을 Agent Platform 에이전트 밖으로 넓힐 수 있습니다. Allow external agents와 Store AI audit events가 켜져 있으면 보안·컴플라이언스 팀은 GitLab 밖에서 실행되는 ECA를 Agent Platform 에이전트와 함께 확인합니다. 조건을 충족하는 에이전트 세션은 실행한 사용자와 에이전트, 프로젝트, 시각이 함께 기록됩니다. 세션과 도구 호출 내역은 AI 거버넌스 대시보드와 AI 감사 이벤트 보고서에서 확인할 수 있습니다. 감사 이벤트는 감사 이벤트 스트리밍을 통해 SIEM으로도 전달됩니다. 도구 출력은 전송되지 않으며, 실패한 도구 호출의 짧은 오류 메시지만 예외입니다. 이 기능은 베타이며, 피드백은 이슈 633489에 남길 수 있습니다.
4. 기본이 아닌 브랜치 추적 GA
- SaaS, Self-Managed, GitLab Dedicated: Ultimate
기본이 아닌 브랜치 추적(Non-default branch tracking)이 GA로 출시되어, 기본 브랜치 외의 브랜치에서도 취약점을 추적할 수 있습니다. 가장 좋은 결과를 얻으려면 환경별 브랜치(project-qa, project-prod)나 배포 플랫폼별 브랜치(project-iOS, project-android)처럼 수명이 긴 소수의 릴리즈 브랜치를 대상으로 지정합니다. 이번 릴리즈의 기능은 다음과 같습니다.
- 보안 구성 페이지에서 기본 추적 브랜치에 더해 브랜치 또는 태그를 3개까지 추가로 추적합니다.
- 취약점 보고서에서 추적 ref별로 필터링합니다.
- 프로젝트 수준 보안 대시보드에서 브랜치별로 필터링합니다.
- 추적 브랜치의 취약점 상태를 갱신합니다.
- 취약점 관리 정책이 추적 브랜치를 각각 따로 평가하고, 해당 브랜치의 취약점만 갱신합니다.
5. 서브그룹 멤버십으로 GitLab Duo 접근 제한
- Self-Managed, GitLab Dedicated: FreePremiumUltimate
관리자가 GitLab Duo의 Restrict access based on group membership 설정에서 최상위 그룹뿐 아니라 어느 서브그룹이든 선택할 수 있습니다. 그룹 계층 구조를 재구성하지 않고도 GitLab Duo Agent Platform 접근을 특정 팀이나 파일럿 그룹으로 한정할 수 있습니다. 이전에는 이 설정이 최상위 그룹만 받았기 때문에, 모든 사용자가 하나의 최상위 그룹에 속한 조직은 GitLab Duo Agent Platform 접근을 일부 사용자로 제한할 지원되는 방법이 없었습니다. 이제 서브그룹을 선택하면 해당 서브그룹의 직접 구성원에게 접근 권한이 부여됩니다. GitLab Self-Managed와 GitLab Dedicated에서 GitLab Duo Agent Platform 파일럿을 운영하거나 부서별로 순차적으로 접근을 열기가 쉬워집니다.
Agentic Core (에이전틱 코어)
1. GitLab Duo CLI의 /goal 명령 GA
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
GitLab Duo CLI의 /goal 슬래시 명령이 GitLab Duo CLI 9.27.0에서 GA로 출시되었습니다. 개방형 목표를 설명하면 GitLab Duo가 이를 로컬에서 실행되는 통제된 목표 지향 플로에 맡깁니다. 플로는 작업을 구현하고 결과를 검증합니다. /goal <작업> 형식으로 실행하며, 예를 들면 다음과 같습니다.
/goal Fix the failing tests in spec/models/user_spec.rb
GitLab 19.5(GitLab Duo CLI 9.24.0)에서는 /settings의 Run suggested prompts as /goal sessions 설정이 제안 프롬프트를 채팅 메시지 대신 /goal 세션으로 실행합니다. /goal에는 GitLab 19.3 이상과 GitLab Duo CLI 9.17.0 이상이 필요합니다.
2. GitLab Duo CLI 자동 모드
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
GitLab Duo CLI에 자동 모드(auto mode)가 추가되었습니다. 자동 모드에서는 GitLab Duo가 승인을 먼저 요청하지 않고 도구를 사용하므로, 긴 작업이 셸 명령, git 작업, MCP 도구 호출마다 멈추지 않고 실행됩니다. 자동 모드는 조직의 통제를 따릅니다.
- 자동 모드는 기본적으로 꺼져 있습니다. 관리자, Owner, Maintainer가 인스턴스·그룹·프로젝트 단위로 설정을 켤 수 있고, 관리자와 그룹 Owner는 인스턴스 또는 그룹 전체에 대해 Always off로 고정할 수도 있습니다.
- 에이전트 도구 거버넌스가 계속 적용되어, Always Deny로 설정된 도구는 차단된 상태로 유지됩니다.
자동 모드를 사용하려면 GitLab Duo CLI 9.22.0 이상이 필요합니다. > 프롬프트 아래의 모드가 auto로 표시될 때까지 Tab 키를 누릅니다. 자동 모드는 신뢰하는 리포지터리와 버려도 되는 브랜치에서만 사용하십시오.
3. 설정 파일로 GitLab Duo CLI 구성
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
개인 설정 파일이나 조직에서 관리하는 설정 파일로 GitLab Duo CLI를 구성할 수 있습니다. 설정 파일에는 /settings 패널에서 선택한 값이 저장됩니다. 파일을 직접 편집하거나 컨테이너 이미지 등에 미리 만들어 둘 수도 있습니다. 시스템 관리자는 모바일 기기 관리(MDM) 도구나 그룹 정책으로 관리형 설정 파일을 각 머신에 배포할 수 있습니다. 관리형 파일의 설정은 설정 파일, 명령줄 옵션, 환경 변수보다 우선하며 사용자가 변경할 수 없습니다. 관리형 파일에 없는 설정은 사용자가 계속 제어합니다. 설정 파일에는 GitLab Duo CLI 9.26.0 이상, 관리형 설정 파일에는 9.27.0 이상이 필요합니다.
4. Code Review Flow의 후속 리뷰
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이전에는 GitLab Duo에 Merge request(MR)를 다시 리뷰해 달라고 하면 새 리뷰로 처리되어, 이미 해결된 내용을 비롯해 이전 지적이 반복될 수 있었습니다. 이제 Code Review Flow는 앞선 GitLab Duo 리뷰의 댓글과 사용자 답글을 참고해 변경 사항을 검토합니다. 마지막 리뷰 이후 추가된 줄에 집중하고, 같은 지적을 되풀이하지 않으며, 해결되지 않은 항목은 요약에 표시합니다. 코드가 올바른 이유를 스레드에 답글로 설명하면 GitLab Duo는 해당 지적을 다시 제기하지 않습니다. 후속 리뷰를 시작하려면 GitLab Duo에 Merge request를 다시 리뷰하도록 요청합니다. Start a new review on push가 켜져 있으면 변경 사항을 푸시할 때 GitLab Duo가 후속 리뷰를 자동으로 시작합니다.
5. Amazon Bedrock 자체 호스팅 모델용 IAM 역할
- Self-Managed, GitLab Dedicated: PremiumUltimate
이전에는 AI Gateway가 Amazon Bedrock 모델에 사용하는 AWS 크리덴셜을 지정할 수 없어, 단일 AWS ID가 모든 모델에 접근할 수 있어야 했습니다. 이번 릴리즈부터 모델마다 IAM 역할을 지정할 수 있고, AI Gateway는 해당 모델을 호출할 때 그 역할을 맡습니다(assume). 역할이 다른 AWS 계정에 있어도 각 모델은 필요한 AWS 접근 권한만 갖습니다.
6. GitLab Duo CLI 이미지 컨텍스트
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이전에는 GitLab Duo CLI가 텍스트 파일은 읽을 수 있었지만 스크린샷이나 다이어그램을 컨텍스트로 사용할 수 없었습니다. 이제 CLI를 대화형 또는 헤드리스 모드로 로컬에서 실행하면, 리포지터리의 이미지와 같은 프로젝트의 이슈·Merge request·댓글에 첨부된 이미지를 읽을 수 있습니다. 이미지 컨텍스트에는 GitLab Duo CLI 9.27.0 이상과 GitLab 관리형 모델이 필요합니다.
7. GitLab Duo CLI 첫 실행 경험 개선
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
GitLab Duo CLI가 터미널을 벗어나지 않고 신규 사용자의 시작을 돕습니다.
- 처음 실행하면 온보딩 카드가 MCP 서버 연결과 GitLab 플러그인 설치를 안내합니다.
- 새 세션을 열 때마다 열려 있는 Merge request와 이슈를 바탕으로 제안된 프롬프트가 표시됩니다. Merge request 프롬프트의 경우 소스 브랜치가 있으면 GitLab Duo가 먼저 해당 브랜치를 체크아웃합니다.
- 상태 표시줄에 브랜치, 프로젝트, Merge request,
/goal진행 상황, MCP 상태가 표시됩니다. - 설정 화면이 토큰 생성 링크를 제공하고, 저장하기 전에 토큰을 검증합니다.
- 프롬프트의 팁과
/whatsnew명령이 새 기능을 안내합니다.
전체 경험을 사용하려면 GitLab Duo CLI 9.28.0 이상으로 업데이트하십시오.
8. MCP 서버 CI/CD 아티팩트 도구
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이전에는 에이전트가 CI/CD Job의 빌드 아티팩트 안에서 무언가를 확인하려면 파일 하나를 읽기 위해 전체 압축 파일을 내려받아 풀어야 했습니다. 이제 get_artifact_file MCP 도구로 에이전트가 Job 아티팩트의 파일 하나를 직접 읽을 수 있습니다. 로그, 생성된 보고서, 테스트 픽스처 모두 해당합니다.
9. MCP 서버 GitLab Duo 에이전트 및 플로 도구
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
새 GitLab Duo 에이전트·플로 도구로 모든 MCP 클라이언트에서 GitLab Duo 에이전트와 플로를 호출하고 추적할 수 있습니다.
start_duo_session: 세션을 시작합니다.get_duo_session: 세션의 현재 상태를 읽습니다.list_duo_sessions: 세션 기록을 페이지 단위로 조회합니다.list_duo_agents_and_flows: 프로젝트에서 활성화된 GitLab Duo 에이전트와 플로를 나열합니다.
10. MCP 서버 그룹 도구
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이전에는 MCP로 GitLab에 연결한 에이전트가 ID나 경로를 직접 지정해 주지 않으면 사용자가 접근할 수 있는 그룹과 서브그룹을 알아낼 방법이 없었습니다. 새 list_groups 도구는 에이전트가 조직의 그룹 계층 구조를 스스로 탐색하게 합니다. 에이전트는 식별자를 추측하지 않고 올바른 그룹을 먼저 찾은 뒤 작업할 수 있습니다.
11. MCP 서버 툴셋 선택
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
GitLab MCP 서버가 노출할 툴셋(toolset)을 선택할 수 있습니다. 필요하지 않은 도구가 하나 늘어날 때마다 LLM의 컨텍스트 윈도우 공간이 낭비되고, 여러 MCP 서버를 동시에 사용하는 경우 특히 LLM을 혼동시킬 위험이 있습니다.
12. IDE의 새 Agentic Chat UI GA
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
GitLab 19.3에서 베타로 도입된 VS Code와 JetBrains IDE의 GitLab Duo Agentic Chat UI 개편이 GA로 출시되어 기본 레이아웃이 되었습니다. 이를 사용하기 위해 베타·실험 기능을 켤 필요가 없습니다. 새 레이아웃에는 탭이 없으며, 같은 화면에서 대화를 시작하고, 채팅 기록을 보고, 에이전트와 모델을 선택합니다. 새 레이아웃은 다음 버전부터 기본값입니다.
- GitLab for VS Code 7.2.0 이상
- JetBrains IDE용 GitLab Duo 플러그인 3.50.0 이상
Software Development Flow를 사용하거나 실행한 플로를 보려면 패널에서 클래식 레이아웃으로 전환하십시오.
13. GitLab MCP 서버 새 속도 제한
- SaaS: FreePremiumUltimate
지금까지는 에이전트가 MCP로 GitLab에 연결할 때 워크플로에 필요한 것보다 빠르게 재연결하거나 재시도해도 이를 막는 장치가 없었고, GitLab.com에서는 이것이 비용으로 이어졌습니다. 10월 15일부터 GitLab.com의 GitLab MCP 서버는 사용자당 분당 요청 수를 Free 티어 60회, Premium·Ultimate 티어 600회로 제한합니다. 재연결과 재시도도 모두 한도에 포함됩니다. 에이전트가 속도 제한(HTTP 429) 오류를 받기 시작하면 상위 티어로 올리기 전에 에이전트의 재연결·재시도 설정을 먼저 확인하십시오.
14. GitLab Duo로 리뷰어 추천
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
이전 버전에서는 승인 규칙을 하나하나 확인하고 누가 Merge request를 리뷰할 시간이 있을지 짐작해야 했습니다. 아니면 그룹 전체를 지정하고 누군가 맡아 주기를 기다렸습니다. 이제 Recommend Reviewers Flow로 리뷰어를 추천받을 수 있으며, 이 플로는 GA로 출시되었습니다. 승인 규칙마다 가용성, 업무량, 시간대, 최근 활동을 고려해 필요한 최소 인원의 리뷰어를 추천합니다. 추천 결과는 Merge request 사이드바의 Recommended 섹션에 표시되며, 사용자 위에 마우스를 올리면 추천 이유를 볼 수 있습니다. 시작하려면 최상위 그룹에서 플로를 켭니다. 플로는 Merge request가 생성될 때 실행되며, 초안(draft)을 준비 완료로 바꿀 때 실행되도록 트리거를 만들 수도 있습니다. 새 추천을 받으려면 Refresh를 선택합니다.
15. Software Development Flow에 업데이트된 IDE 확장 필요
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
Software Development Flow가 다른 플로와 같은 기반인 GitLab Duo Agent Platform 플로 레지스트리에서 실행됩니다. IDE에서 플로는 이전과 같은 방식으로 동작하며, 이후의 수정과 개선은 이 버전에 반영됩니다. Software Development Flow를 계속 사용하려면 에디터 확장을 다음 버전 이상으로 업데이트하십시오.
- GitLab for VS Code 6.85.0
- JetBrains IDE용 GitLab Duo 플러그인 3.40.0
- GitLab for Visual Studio 0.79.0
16. GA된 API로 플로 트리거
- SaaS, Self-Managed, GitLab Dedicated: PremiumUltimate
이전 버전에서는 CI/CD 파이프라인, 스크립트 등 자동화에서 GitLab Duo Agent Platform 플로를 트리거하는 API 엔드포인트가 실험 기능이어서 프로덕션에서 믿고 쓸 수 있는지 판단하기 어려웠습니다. 이제 Flows API의 플로 트리거 엔드포인트가 GA로 출시되어 GitLab REST API 호환성 파괴 변경 정책(breaking changes policy)을 따르므로, 이를 기반으로 프로덕션 자동화를 구축할 수 있습니다.
통합 DevOps 및 보안
1. 자식 파이프라인이 부모 Job에 선택적으로 의존
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
많은 개발 팀이 대규모 CI/CD 구성을 부모·자식 파이프라인으로 나누어 각 부분을 관리하기 쉽게 만듭니다. 지금까지는 특정 파일이 변경될 때만 실행되는 테스트처럼 조건이 맞을 때만 실행되는 부모 Job에 자식 파이프라인 Job이 안전하게 의존할 수 없었습니다. 부모 Job이 건너뛰어지면 자식 Job이 실패해, 팀은 중복 Job이나 깨지기 쉬운 스크립트로 우회해야 했습니다. 이제 이러한 의존성을 선택 사항(optional)으로 표시할 수 있습니다. 부모 Job이 실행되면 자식은 평소처럼 기다리고, 실행되지 않으면 자식 Job은 그 Job 없이 진행합니다. 우회 방법 없이도 파이프라인이 빠르고 안정적으로 유지되며, 실제로 실행된 Job이 실패하면 여전히 파이프라인이 멈추므로 품질 검사가 약해지지 않습니다. 이 기여에 Jimmy Spagnola 님께 감사드립니다.
2. 보안 구성 프로필 사용자 지정
- SaaS, Self-Managed, GitLab Dedicated: Ultimate
Secret Detection과 SAST 프로필을 UI에서 사용자 지정할 수 있습니다. 제외 경로, 사용자 지정 분석기 이미지, 전체 Git 히스토리 스캔 같은 스캔 옵션을 그룹에서 한 번 설정해 그룹의 모든 프로젝트에 적용할 수 있습니다. 이전에는 보안 구성 프로필이 스캐너를 기본 설정으로 활성화하기만 했고, 기본값을 넘는 설정은 프로젝트마다 .gitlab-ci.yml을 수정해야 했습니다. 이제는 프로필에 이러한 설정도 포함됩니다. 현재 Dependency Scanning 프로필의 사용자 지정은 GraphQL API로만 가능하며, UI 사용자 지정은 이후 릴리즈에서 제공될 예정입니다.
3. Markdown에서 리포지터리 코드 임베드
- SaaS, Self-Managed, GitLab Dedicated, GitLab Dedicated for Government: FreePremiumUltimate
이전 버전에서는 파일 줄에 대한 퍼머링크(permalink)가 일반 URL로 렌더링되어 참조된 코드를 보려면 Merge request, 이슈, 위키 페이지를 떠나야 했습니다. 이제 퍼머링크가 파일 경로와 커밋이 함께 표시되는 구문 강조 스니펫으로 렌더링되므로, 페이지를 벗어나지 않고 코드를 읽을 수 있습니다. 임베드된 스니펫은 리포지터리에 대한 읽기 권한이 있어야 볼 수 있습니다.
4. GitLab Observability 베타
- SaaS, Self-Managed: FreePremiumUltimate
이전 버전에서 Observability는 실험 기능이었으며, 이제 GitLab.com과 GitLab Self-Managed에서 베타입니다. GitLab Observability를 사용하면 OpenTelemetry로 트레이스, 메트릭, 로그를 보내고, 코드·Merge request·CI/CD 파이프라인과 나란히 탐색할 수 있습니다. GitLab.com에서는 각 그룹 또는 개인 네임스페이스에서 Enable Observability를 선택해 사용을 활성화합니다. GitLab Self-Managed에서는 Observability 백엔드를 직접 호스팅하고 그룹 또는 개인 네임스페이스에 연결합니다. Observability는 베타 기간에 무료로 사용할 수 있습니다.
5. Markdown 표를 칼럼 기준으로 정렬
- SaaS, Self-Managed, GitLab Dedicated, GitLab Dedicated for Government: FreePremiumUltimate
이전 버전에서는 큰 Markdown 표에서 정보를 찾으려면 모든 행을 훑어보거나 표를 스프레드시트로 복사해야 했습니다. 이제 렌더링된 Markdown 표를 보기 모드와 미리 보기에서 어느 칼럼으로든 정렬할 수 있습니다. 칼럼 헤더의 정렬 버튼을 선택해 오름차순 또는 내림차순으로 정렬하고, 초기화로 원래 순서를 복원합니다. 키보드로도 정렬할 수 있습니다.
6. Markdown 표의 고정 헤더
- SaaS, Self-Managed, GitLab Dedicated, GitLab Dedicated for Government: FreePremiumUltimate
이전 버전에서는 긴 표를 스크롤하면 헤더 행이 화면 밖으로 사라져 각 칼럼의 내용을 파악하기 어려웠습니다. 이제 보기 모드, 미리 보기, 리치 텍스트 편집기에서 스크롤하는 동안 표 헤더가 표 상단에 계속 표시됩니다. 고정 헤더는 항상 켜져 있어 설정을 바꿀 필요가 없습니다.
7. Merge request 보안 보고서의 정확한 비교
- SaaS, Self-Managed, GitLab Dedicated: Ultimate
이전 버전에서는 스캔에서 특정 심각도의 탐지 결과가 25건을 넘으면, 보안 보고서가 각 파이프라인에서 그중 25건씩만 비교했습니다. 이 때문에 변경되지 않은 탐지 결과가 신규 또는 수정된 것으로 표시될 수 있었습니다. 이제 보고서는 심각도별로 탐지 결과를 최대 1000건까지 비교하므로, 신규 목록과 수정 목록이 더 정확해졌습니다.
8. 기본이 아닌 브랜치에서 AI 플로 지원
- SaaS, Self-Managed, GitLab Dedicated: Ultimate
이전 버전에서는 SAST False Positive Detection, SAST Vulnerability Resolution, Secret False Positive Detection 플로를 기본 브랜치의 취약점에 대해서만 실행할 수 있었습니다. 이제 취약점 보고서에서 다른 추적 브랜치의 취약점에 대해서도 이 플로들을 실행해 머지하기 전에 취약점을 분석하고 해결할 수 있습니다.
9. 비즈니스 로직 보안 분석기 (비공개 베타)
- SaaS: Ultimate
비즈니스 로직 보안 분석기(Business Logic Security Analyzer)는 코드가 강제해야 하는 동작이 무엇인지 추론하는 GitLab Duo Agent Platform 기본 제공 플로(foundational flow)입니다. 패턴 기반 스캐너가 놓치기 쉬운 취약점인 객체 수준 인가 결함(broken object-level authorization), 인가 검사 누락, 대량 할당(mass assignment)을 찾아냅니다. GitLab Duo Chat 또는 API에서 리포지터리 전체 스캔을 시작하고, Merge request를 자동으로 스캔하려면 프로젝트에 비즈니스 로직 스캔 프로필을 연결합니다. 결과는 취약점 보고서와 Merge request 보안 위젯에 표시됩니다. 비즈니스 로직 보안 분석기는 GitLab.com의 GitLab Ultimate 고객을 대상으로 한 비공개 베타(closed beta)이며, 접근을 요청하려면 담당 계정 팀에 문의하십시오. 스캔마다 GitLab Credits가 소비됩니다. 사전 요구 사항과 설정은 비즈니스 로직 스캔 문서를 참고하십시오.
10. GitLab Relay(KAS) 연결의 기본 프로토콜을 gRPC로 변경
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
GitLab Relay(KAS)가 기본적으로 gRPC를 사용합니다. GitLab.com은 GitLab 19.4에서 grpcs://kas.gitlab.com을 안내했고, GitLab 19.5에서는 새 Linux 패키지와 Helm 차트 설치도 grpcs://를 안내합니다. 새 에이전트 설치는 WebSocket으로 감싼 gRPC 대신 grpcs://로 연결하므로, 라우팅하고 문제를 해결할 프로토콜이 하나로 줄고 연결마다 발생하는 오버헤드도 줄어듭니다. 이미 wss://로 연결하는 에이전트는 계속 동작하지만 전환하는 것이 좋습니다. GitLab.com에서는 에이전트 주소를 grpcs://kas.gitlab.com으로 설정합니다. 예를 들어 gitlab-agent Helm 차트를 업그레이드할 때 --set config.kasAddress=grpcs://kas.gitlab.com을 사용합니다. GitLab Self-Managed에서는 업그레이드 후 에이전트 설치 명령에 표시되는 주소를 사용합니다.
11. 보안 인벤토리의 필터링된 보기 공유
- SaaS, Self-Managed, GitLab Dedicated: Ultimate
보안 인벤토리의 필터링된 보기를 링크로 공유할 수 있습니다. 도구 적용 범위, 취약점 수, 프로젝트 이름으로 필터링한 뒤 URL을 복사해 전달하면, 링크를 여는 사람이 같은 보기를 봅니다. 이전에는 프로젝트 이름 검색만 URL에 저장되어 공유한 링크에서 다른 필터가 사라졌습니다. 이제는 전체 필터 상태가 유지되므로 보기를 북마크하거나 해당 프로젝트를 맡은 팀에 전달할 수 있습니다.
확장 및 배포
1. GitLab Duo Agentic Chat에서 커스텀 플로 시작
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
트리거를 먼저 설정하지 않고 GitLab Duo Agentic Chat에서 바로 커스텀 플로를 시작할 수 있습니다. 이전에는 커스텀 플로를 실행하려면 멘션이나 할당 같은 트리거 이벤트를 설정해야 해서 플로를 테스트하고 개선하기 어려웠습니다. 이제 프로젝트에서 활성화된 AI Catalog 플로를 GitLab Duo Agentic Chat에 메시지를 보내 실행할 수 있습니다. 보낸 메시지가 플로의 목표가 되고, 목표를 보내지 않으면 플로는 자체 설명을 목표로 사용합니다. Chat은 생성된 에이전트 세션으로 연결되는 링크를 제공하므로 진행 상황을 따라갈 수 있습니다.
2. 내 GitLab Credits 사용량 확인
- SaaS: PremiumUltimate
GitLab Credits를 사용하더라도 자신의 사용량을 확인할 방법이 없었습니다. GitLab Credits 대시보드는 그룹 Owner와 관리자만 열 수 있어, 접근 권한이 있는 사람에게 요청해야 했습니다. 이제 User settings > GitLab Credits에서 자신의 사용량을 볼 수 있습니다. 페이지는 총 사용량, 일평균, 최대 사용일을 보여 주며, 제품별 필터링과 날짜 범위 선택이 가능합니다. GitLab Credits가 있는 그룹에 둘 이상 속해 있으면 그룹 사이를 전환할 수 있습니다.
공동 제작 기여
1. LDAP으로 차단된 사용자를 즉시 재동기화
- Self-Managed, GitLab Dedicated: FreePremiumUltimate
관리자가 관리자 영역(Admin area)의 Users 페이지에서 LDAP으로 차단된 사용자 한 명을 재동기화할 수 있습니다. 새 Resync with LDAP 작업은 LDAP 접근 검사를 실행해 LDAP이 접근을 허용하면 사용자 차단을 해제하고 허용하지 않으면 차단 상태로 둡니다. 사용자에게 LDAP ID가 없으면 작업이 메시지와 함께 거부됩니다. 이전 버전에서는 LDAP으로 차단된 계정이 일일 사용자 동기화가 실행되거나 사용자가 로그인할 때까지 차단된 상태로 남았는데, 서비스 계정은 로그인 자체를 할 수 없습니다. 이 기여에 Sergey Pechenko 님께 감사드립니다(MR).
2. REST API로 자동 머지 취소
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
cancel_auto_merge API 엔드포인트로 활성화된 자동 머지(auto-merge)를 취소할 수 있습니다. Merge request가 Merge Train에 있으면 호출이 Merge Train에서도 해당 Merge request를 제거합니다. 기존 cancel_merge_when_pipeline_succeeds 엔드포인트는 이제 지원 중단(deprecated)되었습니다. 별도로, 타깃 브랜치에 머지할 수 없을 때 git push -o merge_request.auto_merge는 이제 원격 메시지와 함께 거부됩니다. 이전 버전에서는 자동 머지가 기록되어 취소하기 전까지 Merge request를 머지할 수 없는 상태로 남겼습니다. 이 기여에 다음 분들께 감사드립니다.
3. Job 로그 갱신 주기 설정
- Self-Managed, GitLab Dedicated: FreePremiumUltimate
관리자가 Admin area > Settings > CI/CD 또는 Settings API에서 Job 로그가 갱신되는 주기를 설정할 수 있습니다. 3초에서 3600초 사이의 값을 선택합니다. 이전 버전에서는 이 간격이 상수여서 인스턴스를 패치하지 않고는 짧은 Job의 초기 실시간 로그 지연을 줄일 수 없었습니다. 이 기여에 Aleksandr Kotlyar 님께 감사드립니다(MR).
4. GraphQL의 리포지터리 태그와 Terraform 상태
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
GraphQL이 Repository.tags를 제공합니다. 정방향 페이지네이션, 검색, 이름·갱신 시각·버전 순서를 위한 TagSort 열거형을 지원하며, 페이지당 최대 100개의 태그를 반환합니다. Repository.tags는 GitLab 19.5에서 실험 기능입니다. TerraformState.versions는 상태의 버전을 최신순으로 나열합니다. Merge request REST API는 단일·목록 응답에 author.bot을 반환하므로, 클라이언트가 Users API를 추가로 호출하지 않고도 작성자가 봇이나 서비스 계정인지 구분할 수 있습니다. 이 기여에 다음 분들께 감사드립니다.
5. 커밋 템플릿의 커밋 개수 변수
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
머지 커밋과 스쿼시 커밋 메시지 템플릿, 그리고 새 Merge request 설명 템플릿에서 %{commits_count}를 사용할 수 있습니다. 예를 들어 %{title} (%{commits_count} commits)는 Bugfix (3 commits)로 렌더링됩니다. 이 기여에 Jeston Singh 님께 감사드립니다(MR).
6. 리뷰를 제출하면 리뷰어로 등록
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
아직 리뷰어가 아닌 Merge request에 Comment, Approve, Request changes로 리뷰를 제출하면 GitLab이 Reviewers 목록에 사용자를 추가합니다. 리뷰 드로어(Drawer)는 제출 전에 “You will be added as a reviewer.”라고 안내합니다. 이제 Reviewers 목록과 실제로 리뷰에 참여한 사람이 어긋나지 않습니다. 이 동작은 기능 플래그가 제거된 GitLab 19.4부터 사용할 수 있었습니다. 이 기여에 Michael Fischer 님께 감사드립니다(MR).
7. 폐기된 GPG ID는 더 이상 커밋을 검증하지 않음
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
GitLab이 GPG가 폐기(revoked)된 것으로 보고하는 사용자 ID를 무시합니다. 폐기된 ID는 사용자 설정의 Access > GPG keys에 더 이상 표시되지 않고, 서명된 커밋의 Verified 배지에서 검증된 이메일로 인정되지 않습니다. 폐기된 ID로 서명된 커밋은 “same user, different email” 또는 “other user”로 바뀌며, 모든 ID가 폐기된 키는 아무것도 검증하지 못합니다. 유지되는 키로 이미 검증된 서명은 다시 계산되지 않습니다. 이 기여에 José M. Requena Plens 님께 감사드립니다(MR).
8. 기타 개선 사항
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이번 릴리즈의 기타 개선 사항은 다음과 같습니다.
- GitLab MCP 서버: 속도 제한에 걸린 도구 결과가 제한 내용과 재시도 지연 시간을 알려 줍니다.
add_branch가 브랜치web_url을 반환합니다. 활성화된 도구 헤더의 도구 별칭(alias)이 올바르게 해석됩니다. URL과 프로젝트 ID 입력이 서로 맞지 않으면 거부됩니다.ai_workflows토큰이 blob을 일괄로 읽을 수 있습니다. - 관리자 모드(admin mode)의 관리자는 프로젝트에 참여하지 않고도 환경에 클러스터 에이전트를 설정할 수 있습니다.
CI_JOB_TAGS와CI_RUNNER_TAGS는 각 태그를 JSON으로 인코딩합니다. 푸시 옵션에서 변수 키가 중복되면 거부됩니다.- 고급 SAST(Ultimate): 최대 20단계 깊이의 C·C++ 파일을 스캔하며, 보고서는 아티팩트 보존 설정을 따릅니다.
- 일반 텍스트 토큰·SSH 키 이메일이 올바른 페이지로 연결되고,
?scopes=링크가 토큰 양식을 미리 채웁니다.
관련 문서: MCP 서버 문제 해결. 이 기여에 다음 분들께 감사드립니다.
- otutukingsley (MR)
- Jeston Singh (MR 1, MR 2, MR 3, MR 4, MR 5, MR 6)
- ryo-whaletech (MR 1, MR 2, MR 3)
- Mohamed Elsayed (MR)
- Gerardo Navarro (MR)
- Torben Buck (MR 1, MR 2, MR 3)
9. 인터페이스의 기타 추가 사항
- SaaS, Self-Managed, GitLab Dedicated: FreePremiumUltimate
이번 릴리즈의 인터페이스 기타 추가 사항은 다음과 같습니다.
- Merge request 설정에서 Approvals required를 변경하면 성공 시 토스트(toast), 실패 시 경고가 표시됩니다.
- 요구 사항에 이미 컨트롤이 5개 있는 컴플라이언스 프레임워크를 다시 편집할 수 있습니다.
- 보호 환경 업데이트가 실패하면 API 메시지가 표시됩니다.
- Create branch 대화 상자에서 브랜치 이름 검증이 끝날 때까지 제출 버튼이 비활성화됩니다.
- 보관된(archived) 레이블은 이슈·Merge request 목록에서 Archived 툴팁을 표시하며, 새로 할당할 수 없습니다.
- 그룹의 SAML 공급자가 비활성화된 동안에는 SCIM 토큰을 생성할 수 없습니다.
.4dm파일에 구문 강조가 적용됩니다.- 오른쪽 정렬된 Markdown 표 칼럼은 고정 폭 숫자를 사용합니다.
승인 규칙, 컴플라이언스 프레임워크, 보호 환경에는 Premium 또는 Ultimate이 필요합니다. 관련 문서: Merge request 승인. 이 기여에 다음 분들께 감사드립니다.
- Sahil Bhatt (MR 1, MR 2)
- Jeston Singh (MR)
- Vladislav Petrov (MR)
- Nicholas Wittstruck (MR)
- ryo-whaletech (MR)
- Sergey Pechenko (MR)
- Logan Swartzendruber (MR)
- Steve Mokris (MR)
업그레이드 및 참고
GitLab을 업데이트하려면 업그레이드 페이지를 참조하세요.
인포그랩은 GitLab의 공식 파트너사로서 릴리즈 노트를 번역하여 제공합니다.
GitLab 버전별 상세 기능을 확인하세요.
인포그랩의 기술지원 서비스를 받으세요!
완벽한 GitLab 구축부터 성공적인 DevOps 도입까지! 인포그랩과 DevOps 라이프사이클을 함께하세요.
관련 글

GitLab 크리티컬 보안 패치 릴리즈 19.4.2, 19.3.5, 19.2.8
GitLab 19.4.2, 19.3.5, 19.2.8 긴급(크리티컬) 보안 패치가 출시되었으며, 크리티컬 1건·높음 5건을 포함한 24건의 보안 수정 사항이 포함되어 있어 모든 셀프 관리형 인스턴스의 즉시 업그레이드를 강력히 권장합니다. 주요 취약점으로는 CI/CD 구성의 조작된 정규식으로 인증되지 않은 사용자가 서버에서 임의 코드를 실행할 수 있는 정규식 컴파일러 정수 오버플로(CVSS 10.0), 구문 강조의 크로스 사이트 스크립팅(CVSS 8.7), 다운스트림 파이프라인 생성 서비스의 부적절한 인가(CVSS 8.5)가 있습니다.

GitLab 크리티컬 보안 패치 릴리즈 19.4.1, 19.3.3, 19.2.7
GitLab 19.4.1, 19.3.3, 19.2.7 긴급(크리티컬) 보안 패치가 출시되었으며, 크리티컬 2건·높음 2건을 포함한 11건의 보안 수정 사항이 포함되어 있어 모든 셀프 관리형 인스턴스의 즉시 업그레이드를 강력히 권장합니다. 주요 취약점으로는 CI/CD 구성의 조작된 정규식으로 서버에서 임의 코드를 실행할 수 있는 정규식 파서 이중 해제(CVSS 9.9)와 정규식 컴파일러 정수 오버플로(CVSS 9.9), 머지 요청 diff 뷰어의 크로스 사이트 스크립팅(CVSS 8.7)이 있습니다.

GitLab 19.4 릴리즈 노트
GitLab 19.4 릴리즈 노트. GitLab MCP 서버 도구와 거버넌스, 고급 SAST의 Kotlin·Dart·Scala 지원, 의존성 스캐닝 악성 패키지 탐지(베타), Duo CLI /goal 등 29개 주요 업데이트를 확인하세요.