正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

GitLab 19.0リリースノート

2026年5月21日、GitLab 19.0が以下の機能とともにリリースされました。

今月のNotable Contributorは、Norman Debaldさんです!

Normanさんは、レベル3のコントリビューターで、2022年5月の参加以来、GitLab全体で40件以上のマージされた改善に貢献しています。

主要な機能

GitLab Duoのグループレベルのカスタムレビュー指示

以前のバージョンのGitLabでは、GitLab Duoのカスタムレビュー指示はプロジェクトレベルでのみ定義できました。同じグループ内の多くのプロジェクトにまたがって作業するチームは、すべてのプロジェクトで同じ指示を複製する必要がありました。

今回のリリースで、グループ全体とそのサブグループに対して共有カスタムレビュー指示を設定できるようになりました。

グループ内のプロジェクトをテンプレートとして選択します。GitLab Duoがコードレビューを実行すると、グループレベルの.gitlab/duo/mr-review-instructions.yamlファイルと個々のプロジェクトで定義された指示が組み合わされます。

コードレビューフローとGitLab Duoコードレビューの両方が、グループレベルのカスタム指示をサポートしています。

作業アイテムタイプの設定

これまで、作業アイテムタイプはイシューまたはタスクのいずれかに限られていましたが、プロジェクト内でカスタムの作業アイテムタイプを設定して、チームの計画・追跡方法に合わせられるようになりました。

タイプをユーザーストーリーバグ、またはメンテナンスとして作成または名前変更できます。各作業アイテムはそのタイプ名と固有のアイコンで表示されます。新しいタイプはカスタムフィールドとステータスライフサイクルをサポートし、保存済みビューやイシューボードに表示されます。トップレベルグループ(GitLab.com)または組織(GitLab Self-Managed)でのタイプ設定は、すべてのプロジェクトに継承されます。

また、各プロジェクトで利用可能なタイプを制御することもできます。すべてのプロジェクトで一度にタイプを有効または無効にするか、個々のプロジェクトが独自のタイプの表示設定を管理できるようにします。プロジェクトでタイプを無効にしても、既存の作業アイテムには影響しません。

GitLab Secrets Managerがオープンベータで利用可能に

以前のバージョンのGitLabでは、GitLab Secrets Managerはクローズドベータに限定されていました。ほとんどのチームはHashiCorp VaultやAWS Secrets Managerなどの外部サービスに依存していました。

今回のリリースでGitLab Secrets Managerが、GitLab.comおよびGitLab Self-ManagedのPremiumおよびUltimateのお客様向けにオープンベータで利用可能になりました。GitLab Secrets Managerが有効な場合、プロジェクトおよびグループのオーナーはGitLab内でCI/CDシークレットを保存、取得、参照できます。シークレットはプロジェクトまたはグループにスコープされ、明示的にリクエストしたパイプラインジョブのみがアクセスできます。

オープンベータ期間中、GitLab Secrets Managerはベータサポートポリシーに従い、本番環境での使用に対応していない場合があります。

フィードバックを共有するには、イシュー598100をご覧ください。

マージリクエストワークフローのためのGitLab Duo Developerの機能強化

GitLab Duo Developerは複数のトリガー方法をサポートするようになりました。イシューに割り当てる、MRを生成を選択する、またはイシューやMRのディスカッションスレッドで@mentionすることで、フィードバック、To-Doアイテム、設計上の質問をコード変更、フォローアップMR、またはリサーチサマリーに変換できます。

AGENTS.mdagent-config.ymlを設定することで、GitLab Duo Developerはコミット前にテストとチェックを実行します。トップレベルグループまたはインスタンス管理者がデベロッパーフローを有効にすると、GitLabは対象プロジェクトにメンションと割り当てトリガーを自動的に追加します。

SBOMを使用した依存関係スキャンが一般提供に

GitLabのSBOMベースの依存関係スキャナーが一般提供開始になりました。Maven、Gradle、Pythonプロジェクトで、直接宣言されたものだけでなく、推移的に導入された脆弱なパッケージを含む、完全な依存関係ツリー全体の脆弱性を可視化できるようになりました。

アナライザーには、Maven、Gradle、Pythonプロジェクトの自動依存関係解決が含まれるようになりました。ロックファイルまたは解決済みの依存関係グラフが存在しない場合、アナライザーはスキャン前に完全な推移的依存関係グラフを解決するためのツールを自動的に実行します。依存関係解決はデフォルトで有効になっており、v2 Dependency Scanningテンプレートを含める以外に追加の設定はほとんど必要ありません。

依存関係解決が不可能なプロジェクトの場合、アナライザーはマニフェストスキャンにフォールバックします。pom.xmlrequirements.txtbuild.gradlebuild.gradle.ktsを解析して直接依存関係を特定します。マニフェストスキャンにより、ロックファイルやビルドファイルのないプロジェクトでも、チームは常に脆弱性カバレッジの出発点を得られます。

マニフェストスキャンはデフォルトで有効になっており、直接依存関係のみを返します。完全な推移的カバレッジを得るには、依存関係解決を有効にするか、依存関係ロックファイルまたはグラフエクスポートを手動で提供してください。

Agent Platformの中核機能

GitLab Duo Coreが使用量ベースの課金に移行

GitLab 19.0から、GitLab Duo Coreは使用量ベースの課金に移行します。Web IDEおよびデスクトップIDEのコード提案は、GitLabクレジットを消費するようになります。

GitLab Duo Chatも変更されます。GitLab Duo Coreユーザーの場合、Chatはエージェント型になりGitLab Duo Agent Platformで動作します。GitLab UIまたはデスクトップIDEでGitLab Duo Chatを使用するには、インスタンスまたはトップレベルグループでGitLab Duo Agent Platformを有効にしてください。

完全一致コードの検索結果をリポジトリでフィルタリング

完全一致コードの検索結果をリポジトリでフィルタリングできるようになりました。repo:構文を使用すると、個々のプロジェクトに移動することなく、検索クエリを特定のリポジトリまたはリポジトリパターンに直接スコープできます。

例えば、def authenticate repo:my-group/my-projectを検索すると、そのリポジトリからの結果のみが返されます。また、部分的なパスやパターンを使用して、複数のリポジトリを照合することもできます。

マージリクエスト準備完了イベントトリガー

フローと外部エージェントをマージリクエスト準備完了イベントで実行するように設定できるようになりました。

ドラフトのマージリクエストがレビュー準備完了としてマークされると、GitLab Duoはフローまたは外部エージェントを自動的に実行します。

トリガーを設定するには、プロジェクトのAI > トリガーに移動します。

この機能はmerge_request_ready_flow_trigger機能フラグで制御されており、デフォルトでは無効になっています。

GitLab Duo Agent PlatformでClaude Opus 4.7が利用可能に

Claude Opus 4.7がGitLab Duo Agent Platformで利用可能になりました。Opus 4.7は、継続的な推論、指示への正確な準拠、結果を出力する前の自己検証を必要とする複雑なマルチステップタスクに対して、意味のある改善をもたらします。これには、CI/CDパイプライン、コードレビュー、脆弱性解決などをサポートするフローが含まれます。

セルフホスト型Geminiモデルのサポート

GitLab Duo Agent Platform Self-HostedがGeminiモデルと互換性を持つようになりました。Geminiモデルはコードレビューフロー、SAST脆弱性修正フロー、CI/CDパイプライン修正フローなど、複数のフローをサポートしています。

GitLab Duo Agent Platformでのオープンソースモデルサポートの拡張

GitLab Duo Agent Platformは、セルフホストデプロイ向けに追加のオープンソースモデルをサポートするようになりました。Devstral 2 123B、GLM-5.1-FP8などが含まれます。これにより、オフラインやネットワーク制限のある環境を含む、さまざまな環境でエージェント型ワークフローを実現できます。

管理者コントロール付きのセッションごとのツール承認

GitLab Duo Agentic Chatがツールを使用するには、その都度ユーザーの承認が必要でした。

今回のリリースで、信頼できるツールをセッション内で一度だけ承認すれば、同じセッション中は再承認なしで使用できるようになりました。

管理者は、セッションのツール承認が利用可能かどうかを制御します。以下の設定はインスタンスからグループ、プロジェクトへと継承されます:

  • デフォルトでオン
  • デフォルトでオフ
  • 常にオフ

管理者が常にオフに設定しない限り、グループとサブグループは設定を変更できます。

デフォルト設定はデフォルトでオフであり、管理者が変更しない限り、各ツールの実行には明示的な承認が必要です。

GitLab Duoでマージコンフリクトを解決(ベータ版)

以前のバージョンのGitLabでは、単純なケースであっても、GitLab UIまたはコマンドラインでマージコンフリクトを手動で解決する必要がありました。

今回のリリースで、GitLab Duoがマージコンフリクトを自律的に分析し、該当ファイルの編集からコミット作成、ソースブランチへのプッシュまでを自動で行えるようになりました。コンフリクトを解決ページまたはマージリクエストウィジェットから直接コンフリクト解決をトリガーできます。完了すると、GitLab Duoがサマリーコメントを投稿するため、レビュアーは変更内容をすぐに確認できます。

GitLab Duoはブランチ保護ルールを尊重し、保護ブランチへの強制プッシュは行いません。

この機能はベータ版であり、mr_ai_resolve_conflicts機能フラグで制御されており、デフォルトでは有効になっています。

AIカタログをグループ階層に制限する

トップレベルグループのオーナーは、AIカタログをグループ階層内のプロジェクトが所有するエージェントとフローのみを表示するように制限できるようになりました。これにより、この階層に含まれないエージェント、外部エージェント、またはフローが、そのグループのユーザーに表示されたり有効化されたりすることをブロックします。

GitLab Self-ManagedのFreeプランでクレジットを購入

GitLab Self-ManagedのFreeプランユーザーは、PremiumまたはUltimateのサブスクリプションなしで、GitLab Duo Agent Platformのフル機能を利用できるようになりました。月次クレジット量を選択し、年間契約にすることで、AIを活用した開発ツールに即座にアクセスできます。クレジットは毎月自動的に更新されるため、チームは常に必要なものを手に入れ、より速く、よりスマートに構築できます。

Agent Platformリモートフローの管理者定義ネットワークアクセス制御

管理者は、設定から直接GitLab Duo Agent Platformリモートフローの集中ネットワークポリシーを定義できるようになりました。GitLab.comのトップレベルグループ管理者、およびGitLab Self-ManagedとDedicatedのインスタンス管理者は、プロジェクトが自動的に継承する組織全体のドメイン拒否リストと許可リストを設定できます。追加の設定により、プロジェクトがカスタムエントリで承認済みドメインリストを拡張できるかどうかを制御します。ポリシーはすべてのリモートフローにわたってランタイムで適用され、セキュリティおよびプラットフォームチームにエージェントのネットワーク外部通信に対する一貫したガバナンス層を提供します。

スケールとデプロイ

PostgreSQL 17の最小要件

PostgreSQLの最小サポートバージョンはバージョン17になりました。パッケージ版PostgreSQL 16を使用している場合は、GitLab 19.0をインストールする前にパッケージ版PostgreSQLサーバーをアップグレードしてください。

Ubuntu 20.04向けLinuxパッケージサポートの終了

Ubuntu 20.04は2025年5月に標準サポートが終了しました。GitLab 19.0から、Ubuntu 20.04向けのLinuxパッケージは提供されなくなります。GitLab 18.11がこのディストリビューション向けのパッケージを含む最後のリリースです。GitLab 19.0にアップグレードする前に、Ubuntu 22.04または他のサポートされているオペレーティングシステムに移行してください。

Redis 6サポートの削除

GitLab 19.0でRedis 6のサポートが削除されます。外部のRedis 6デプロイを使用している場合は、アップグレード前にRedis 7.2またはValkey 7.2に移行してください。Linuxパッケージに含まれるバンドル版RedisはGitLab 16.2からRedis 7を使用しており、影響を受けません。

LinuxパッケージからのMattermostの削除

GitLab 19.0でバンドル版MattermostがLinuxパッケージから削除されます。現在バンドル版Mattermostを使用している場合は、移行手順についてLinuxパッケージからMattermost Standaloneへの移行を参照してください。バンドル版Mattermostを使用していないお客様には影響はありません。

SUSEディストリビューション向けLinuxパッケージサポートの終了

SUSEディストリビューション向けのLinuxパッケージサポートはGitLab 19.0で終了します。これはopenSUSE Leap 15.6、SUSE Linux Enterprise Server 12.5、およびSUSE Linux Enterprise Server 15.6に影響します。GitLab 18.11がこれらのディストリビューション向けのLinuxパッケージを含む最後のバージョンです。SUSEディストリビューションを引き続き使用するには、GitLabのDockerデプロイに移行してください。

LinuxパッケージとGitLab HelmチャートからのSpamcheckの削除

SpamcheckはGitLab 19.0でLinuxパッケージとGitLab Helmチャートから削除されます。現在Spamcheckを使用していないお客様には影響はありません。バンドル版Spamcheckを使用している場合は、Dockerを使用して個別にデプロイできます。データ移行は不要です。

NGINX IngressがEnvoy GatewayによるGateway APIに置き換えられる

GitLab 19.0では、Envoy GatewayによるGateway APIがGitLab Helmチャートのデフォルトネットワーク設定になり、2026年3月に提供終了となったNGINX Ingressを置き換えます。Envoy Gatewayへの移行がすぐに実現できない場合は、バンドル版NGINX Ingressを明示的に再有効化できます。これはGitLab 20.0での計画的な削除まで利用可能です。この変更は、Linuxパッケージで使用されるNGINX、または外部管理のIngressまたはGateway APIコントローラーを使用するHelmチャートインスタンスには影響しません。

GitLab HelmチャートからバンドルされたPostgreSQL、Redis、MinIOの削除

バンドルされたBitnami PostgreSQL、Bitnami Redis、MinIOチャートは、GitLab 19.0でGitLab HelmチャートとGitLab Operatorから代替なしで削除されます。これらのコンポーネントは概念実証およびテスト環境のみを対象としており、本番環境での使用は推奨されていません。これらのバンドルサービスのいずれかを使用してインスタンスを実行している場合は、GitLab 19.0にアップグレードする前に移行ガイドに従って外部サービスを設定してください。

大規模グループでのSCIMユーザーデプロビジョニングの信頼性向上

SCIMを通じて多数のユーザーを管理している組織では、グループメンバーのデプロビジョニングがタイムアウトして500エラーが返されることがありました。SCIMのDELETEおよびPATCHリクエストは即座に成功レスポンスを返すようになりました。メンバーシップの削除は非同期で処理されるため、IDプロバイダーとSCIMクライアントは一貫した成功レスポンスを受け取ります。

統合DevOpsとセキュリティ

脆弱な依存関係の自動修正(実験的機能)

GitLab 19.0で、依存関係の自動修正が実験的機能として利用可能になりました。依存関係スキャンで既知の修正が存在する脆弱なRuby依存関係が検出されると、GitLabは人手を介さずに安全なバージョンへの更新マージリクエストを自動的に作成します。実験的機能でサポートされるのはRubyプロジェクトのみです。

各パイプライン実行後、GitLabは利用可能なパッチまたはマイナーバージョンアップグレードがある最も重大度の高い脆弱性を特定します。GitLabがマニフェストファイルの変更を生成し、サービスアカウントを通じてマージリクエストを作成します。その後、マージリクエストはプロジェクトの標準的なレビューおよび承認ワークフローに従います。

実験的機能の期間中、プロジェクトあたり同時にオープンできる自動修正マージリクエストは最大3件です。

フィードバックの共有や実験的機能への参加を希望する場合は、エピック600511にコメントしてください。 プロジェクトで実験的機能を有効にするには、GitLabチームメンバーがプロジェクトのdependency_management_auto_remediation機能フラグを有効にする必要があります。

セキュリティ設定プロファイルでの依存関係スキャン

GitLab 18.11では、SASTとシークレット検出のセキュリティ設定プロファイルが導入されました。 これで、依存関係スキャンも 依存関係スキャン - デフォルト プロファイルで利用可能になりました。 このプロファイルにより、単一のCI/CD設定ファイルを編集することなく、すべてのプロジェクトに標準化されたSCAカバレッジを適用するための統一された操作画面が提供されます。

このプロファイルは2つのスキャントリガーを有効にします:

  • マージリクエストパイプライン: オープンなマージリクエストがあるブランチに新しいコミットがプッシュされるたびに、依存関係スキャンを自動的に実行します。結果にはマージリクエストによって導入された新しい脆弱性のみが含まれます。
  • ブランチパイプライン(デフォルトのみ): 変更がデフォルトブランチにマージまたはプッシュされたときに自動的に実行され、デフォルトブランチの依存関係の状態の完全なビューを提供します。

Gradle SBOMスキャンの依存関係解決

SBOMを使用したGitLabの依存関係スキャンが、Gradleプロジェクトの依存関係グラフ (gradle.graph.txt)を自動的に生成するようになりました。以前は、Gradleの依存関係スキャンではビルドの一部として依存関係グラフを手動で生成する必要がありました。グラフファイルが存在しない場合、アナライザーが自動的に生成するようになり、GradleベースのJavaおよびKotlinプロジェクトでこの手動ステップが不要になりました。

APIセキュリティテストの検出結果に対する修正ガイダンス

APIセキュリティの脆弱性レポートに、各検出結果に対する修正ガイダンスが含まれるようになりました。以前は、APIセキュリティテストで脆弱性が特定されても、修正方法に関するガイダンスは提供されていませんでした。デベロッパーは修正手順を独自に調査する必要がありました。今後は、各検出結果に脆弱性固有の修正手順と、関連するOWASPおよびCWE識別子への参照が脆弱性レポートに直接含まれます。

現在、以下のチェックに修正ガイダンスが含まれています:

CI/CDインプットの配列サポートの改善

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated、GitLab Dedicated for Government
  • リンク: ドキュメント関連イシュー

CI/CDインプットは、配列を扱うためのサポートが改善されました。配列入力内の特定の要素にアクセスするには、配列インデックス演算子[]を使用します。この機能強化により、パイプラインの設定において、より柔軟で強力な入力補間機能が提供され、追加の処理ステップなしで個々の配列項目を直接参照できるようになります。

パイプライン入力に複数の値を選択

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated、GitLab Dedicated for Government
  • リンク: ドキュメント関連イシュー

以前は、UIで入力オプションを選択する際に単一の値しか選択できず、より複雑なオプションを持つパイプラインの柔軟性が制限されていました。

今回のリリースから、UIから入力を含むパイプラインを実行する際、ドロップダウンリストから複数の値を選択でき、選択された値は例えば["option1","option2"]のように配列に結合されます。これにより、複数のインスタンスでサービスを再起動したり、複数のDockerイメージをビルドしたり、複数のタグの組み合わせでテストを実行したり、単一のパイプライン実行で複数のターゲットにわたるあらゆる操作を簡単に実行できます。

CI/CDカタログコンポーネントの詳細な使用状況分析

GitLabカタログでCI/CDコンポーネントを管理する場合、使用状況の詳細はアップグレードの管理、コンプライアンスの適用、破壊的な変更の伝達に不可欠です。どのプロジェクトがコンポーネントを使用しているか、どのバージョンを使用しているかを把握する必要があります。以前はこの情報が利用できなかったため、適切なメンテナーへの通知、安全な廃止計画、またはプロジェクトが最新のセキュリティパッチに追従していることの確認が困難でした。

カタログリソースページのコンポーネント使用状況詳細ビューには、各コンポーネントを使用しているプロジェクト、実行中のバージョン、最新バージョンか古いバージョンかが正確に表示されるようになりました。古いバージョンを使用しているプロジェクトは上部に表示されるため、アウトリーチを優先し、セキュリティ修正の採用を促進し、組織全体でスムーズなアップグレードパスを確保できます。

マージトレインの並列パイプライン制限の設定

以前のバージョンのGitLabでは、マージトレインの最大20並列パイプラインを変更できなかったため、Runnerに過負荷をかけるか、マージトレインを完全にスキップするかの二択を迫られていました。これで、マージトレインごとの並列パイプライン制限を設定して、Runnerの負荷とマージスループットのバランスを取ることができます。制限はプロジェクトごとまたはインスタンス全体で設定できます。制限を1に設定すると、各マージリクエストはクリーンなターゲットブランチに対して1つずつ実行されます。

このコミュニティへのコントリビュートに感謝します Norman Debald (@Modjo85)

デフォルトのマージリクエストタイトルのカスタマイズ

以前のバージョンのGitLabでは、新しいマージリクエストのデフォルトタイトルはソースブランチまたは最初のコミットから取得されており、プロジェクト全体で一貫した命名規則を適用することができませんでした。

これで、プロジェクトごとにデフォルトのマージリクエストタイトルテンプレートを設定できます。テンプレートはソースブランチ、ターゲットブランチ、最初のコミットの件名、リンクされたイシューID、イシュータイトル、ソースブランチ名を読みやすく整形した変数をサポートしています。例えば、テンプレートResolve %{issue_id} "%{issue_title}"Resolve 123 "Fix login bug"のようなタイトルを生成します。マージリクエストを作成する前にタイトルを編集することもできます。

HMAC署名トークンでWebhookを保護する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated、GitLab Dedicated for Government
  • リンク: ドキュメント関連イシュー

既存のX-Gitlab-Tokenヘッダーは静的なシークレットを平文で送信するため、Webhookは傍受やリプレイ攻撃に対して脆弱です。

これで、任意のWebhookに署名トークンを追加できます。GitLabは、署名トークンを使用して以下のHMAC-SHA256署名を算出します:

  • 一意のWebhook ID。
  • リクエストのタイムスタンプ。
  • Webhookペイロード。

GitLabは、Standard Webhooks仕様に従い、webhook-idおよびwebhook-timestampヘッダーとともに、結果をwebhook-signatureヘッダーで送信します。

署名を再計算することで、リクエストがGitLabから真正に送信されたものであり、ペイロードが変更されていないことを確認できます。タイムスタンプも検証することで、リプレイされたリクエストを拒否できます。

Van AndersonNorman Debaldのコミュニティへのコントリビュートに感謝します!

CI/CDジョブトークンを使用したクロスプロジェクトプッシュ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated、GitLab Dedicated for Government
  • リンク: ドキュメント関連イシュー

以前のバージョンのGitLabでは、CI/CDジョブトークン(CI_JOB_TOKEN)を使用してパイプラインが実行される同じリポジトリにのみプッシュできました。クロスプロジェクトプッシュにはパーソナルアクセストークンまたはデプロイトークンが必要でした。

以下の条件を満たす場合、ジョブトークンを使用して別のプロジェクトにプッシュできるようになりました:

  1. ターゲットプロジェクトがオプトインしている。
  2. パイプラインを開始するユーザーがターゲットプロジェクトで少なくともデベロッパーロールを持っている。

この機能はallow_push_to_allowlisted_projects機能フラグで制御されており、GitLab 19.0ではデフォルトで無効になっています。管理者に有効化を依頼してください。

Mermaidダイアグラムのレンダリングをバージョン11にアップグレード

GitLabのMarkdownにおけるダイアグラムのレンダリングにMermaidバージョン11が使用されるようになりました。

以前はMermaidバージョン10がサポートされていました。このアップグレードにより、フローチャートやシーケンスダイアグラムのレンダリング改善をはじめ、Mermaid 11で導入されたすべての新しいダイアグラムタイプ、構文の改善、バグ修正を利用できます。

マージリクエストレビューのRapid Diffs(ベータ版)

以前のバージョンのGitLabでは、レビューを開始する前に変更タブがすべてのファイルを読み込むのを待つ必要があり、大規模なレビューが遅くなっていました。

これからは、Rapid Diffsを使用して、より速い初期読み込み、スムーズなスクロール、ファイル間のより応答性の高いインタラクションでマージリクエストをレビューできます。Rapid Diffsは、コミットページで既に使用されているのと同じ技術を使用しています。

Rapid Diffsはベータ版です。クラシックdiffエクスペリエンスの一部の機能はまだ利用できません。いつでも切り替えることができます。

概要ビデオを視聴して、フィードバックイシューで感想を共有してください。

GitLab Runner 19.0

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated、GitLab Dedicated for Government
  • リンク: ドキュメント

本日、GitLab Runner 19.0もリリースします!GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに返送する高いスケーラビリティを備えたビルドエージェントです。GitLab Runnerは、GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。

新機能

バグ修正

すべての変更のリストはGitLab RunnerのCHANGELOGにあります。

主要な機能

Group-level custom review instructions for GitLab Duo

In previous versions of GitLab, you could only define custom review instructions for GitLab Duo at the project level. Teams working across many projects in the same group had to duplicate the same instructions in every project.

Now you can configure shared custom review instructions for an entire group and its subgroups.

Select a project in your group to use as a template. When GitLab Duo performs a code review, it combines the group-level .gitlab/duo/mr-review-instructions.yaml file with any instructions defined in the individual project.

Both Code Review Flow and GitLab Duo Code Review support group-level custom instructions.

Configure work item types

Previously, work item types could be either an Issue or a Task. You can now configure custom work item types in a project to match the way your team plans and tracks work.

You can create or rename types to User Story, Bug, or Maintenance. Each work item displays with its type name and a unique icon. The new types support custom fields and status lifecycles, and appear in your saved views and issue boards. Type configuration in the top-level group (GitLab.com) or organization (GitLab Self-Managed) cascades down to all projects.

You can also control which types are available for each project. Enable or disable a type across all projects at once, or let individual projects manage their own type visibility. When you disable a type in a project, existing work items are not affected.

GitLab Secrets Manager now available in open beta

In previous versions of GitLab, the GitLab Secrets Manager was available only to a closed beta cohort. Most teams relied on external services such as HashiCorp Vault or AWS Secrets Manager.

The GitLab Secrets Manager is now available in open beta for Premium and Ultimate customers on GitLab.com and GitLab Self-Managed. When the GitLab Secrets Manager is enabled, project and group Owners can store, retrieve, and reference CI/CD secrets in GitLab. Secrets are scoped to a project or group and are accessible to only pipeline jobs that explicitly request them.

During open beta, GitLab Secrets Manager follows the beta support policy and might not be ready for production use.

To share feedback, see issue 598100.

GitLab Duo Developer enhancements for merge request workflows

GitLab Duo Developer now supports multiple trigger methods: assign it to an issue, select Generate MR, or @mention it in any issue or MR discussion thread to turn feedback, To-do items, and design questions into code changes, follow-up MRs, or research summaries.

With AGENTS.md and agent-config.yml configured, GitLab Duo Developer runs your tests and checks before committing. After a top-level group or instance administrator enables the Developer Flow, GitLab automatically adds mention and assign triggers to eligible projects.

Dependency scanning by using SBOM generally available

The GitLab SBOM-based dependency scanner is now generally available. Maven, Gradle, and Python projects now have complete visibility into vulnerabilities across their full dependency tree, including vulnerable packages introduced transitively, not just those declared directly.

The analyzer now includes automatic dependency resolution for Maven, Gradle, and Python projects. When a lockfile or resolved dependency graph is not present, the analyzer automatically invokes tooling to resolve the full transitive dependency graph before scanning. Dependency resolution is enabled by default and requires little-to-no additional configuration beyond including the v2 Dependency Scanning template.

For projects where dependency resolution is not possible, the analyzer falls back to manifest scanning. It parses pom.xml, requirements.txt, build.gradle, and build.gradle.kts to identify direct dependencies. Manifest scanning ensures teams always get a starting point for vulnerability coverage, even for projects without lock or build files.

Manifest scanning is enabled by default and returns direct dependencies only. For full transitive coverage, enable dependency resolution or provide a dependency lockfile or graph export manually.

Agent Platformの中核機能

GitLab Duo Core moves to usage-based billing

Starting in GitLab 19.0, GitLab Duo Core moves to usage-based billing. Code Suggestions in the Web IDE and desktop IDEs now consume GitLab Credits.

GitLab Duo Chat is also changing. For GitLab Duo Core users, Chat is now agentic and runs on GitLab Duo Agent Platform. To use GitLab Duo Chat in the GitLab UI or desktop IDEs, enable GitLab Duo Agent Platform for your instance or top-level group.

Filter exact code search results by repository

You can now filter exact code search results by repository. With the repo: syntax, you can directly scope your search query to specific repositories or repository patterns without having to go to individual projects.

For example, searching for def authenticate repo:my-group/my-project returns results only from that repository. You can also use partial paths or patterns to match multiple repositories.

Merge request ready event trigger

You can now configure flows and external agents to run on the Merge request ready event.

When a draft merge request is marked as ready for review, GitLab Duo automatically runs the flow or external agent.

To configure a trigger, go to AI > Triggers in your project.

This feature is behind the merge_request_ready_flow_trigger feature flag, disabled by default.

Claude Opus 4.7 now available in GitLab Duo Agent Platform

Claude Opus 4.7 is now available in GitLab Duo Agent Platform. Opus 4.7 delivers meaningful improvements to complex, multistep tasks that require sustained reasoning, precise instruction following, and self-verification before surfacing results. This includes flows supporting CI/CD pipelines, code review, vulnerability resolution, and more.

Support for self-hosted Gemini models

GitLab Duo Agent Platform Self-Hosted is now compatible with Gemini models. Gemini models support multiple flows, including the Code Review Flow, SAST Vulnerability Resolution Flow, Fix CI/CD Pipeline Flow, and more.

Expanded open source model support in GitLab Duo Agent Platform

GitLab Duo Agent Platform now supports additional open source models for self-hosted deployments, including Devstral 2 123B, GLM-5.1-FP8, and others. This helps customers power agentic workflows across a variety of environments, including offline and network-restricted deployments.

Per-session tool approvals with admin controls

Before GitLab Duo Agentic Chat can use a tool on your behalf, it requires your approval. Each tool invocation requires a separate approval.

Now, you can approve a trusted tool once for an entire session and streamline your workflows.

Administrators control whether tool approval for sessions is available. The following settings cascade from instance to group to project:

  • On by default
  • Off by default
  • Always off

Groups and subgroups can modify the setting unless an administrator sets it to Always off.

The default setting is Off by default, ensuring each tool invocation requires explicit approval unless an administrator changes it.

Resolve merge conflicts with GitLab Duo (Beta)

In previous versions of GitLab, you had to resolve merge conflicts manually in the GitLab UI or from the command line, even for straightforward cases.

Now GitLab Duo can autonomously analyze merge conflicts, edit the conflicting files, create a commit, and push to the source branch. Trigger conflict resolution from the Resolve conflicts page or directly from the merge request widget. When complete, GitLab Duo posts a summary comment so reviewers can see what changed.

GitLab Duo respects branch protection rules and does not force-push to protected branches.

This feature is in beta and is gated behind the mr_ai_resolve_conflicts feature flag, enabled by default.

Restrict the AI Catalog to a group hierarchy

Top-level group Owners can now restrict the AI Catalog to show only agents and flows owned by projects within their group hierarchy. This blocks agents, external agents, or flows not in this hierarchy from being visible or enabled by any user in that group.

Purchase credits on the Free tier on GitLab Self-Managed

Free tier users on GitLab Self-Managed can now unlock the full power of GitLab Duo Agent Platform, no Premium or Ultimate subscription required. Choose your monthly credit amount, commit to an annual term, and get instant access to AI-powered development tools. Credits refresh automatically each month, so your team always has what it needs to build faster and smarter.

Admin-defined network access controls for Agent Platform remote flows

Administrators can now define centralized network policies for GitLab Duo Agent Platform remote flows directly in Settings. Top-level group administrators on GitLab.com, and instance administrators on GitLab Self-Managed and Dedicated, can configure organization-wide domain denylists and allowlists that projects inherit automatically. An additional setting controls whether projects can extend the approved domain list with custom entries. Policies are enforced at runtime across all remote flows, giving security and platform teams a consistent governance layer for agent network egress.

統合DevOpsとセキュリティ

Auto remediation for vulnerable dependencies (Experiment)

Auto remediation for dependencies is now available as an experiment in GitLab 19.0. When dependency scanning detects a vulnerable Ruby dependency with a known fix, GitLab automatically opens a merge request to update it to a safe version without human input. Only Ruby projects are supported in the experiment.

After each pipeline, GitLab identifies the highest-severity vulnerability with an available patch or minor version upgrade. GitLab generates the manifest file change and opens a merge request through a service account. The merge request then goes through your project’s standard review and approval workflow.

During the experiment, up to three auto-remediation merge requests can be open per project at a time.

To share feedback or request to try out the experiment make a comment on epic 600511. To enable the experiment on your project, a GitLab team member must enable the dependency_management_auto_remediation feature flag for your project.

Dependency scanning in security configuration profiles

GitLab 18.11 introduced security configuration profiles for SAST and secret detection. Now, dependency scanning is also available with the Dependency Scanning - Default profile. This profile gives you a unified control surface to apply standardized SCA coverage across all of your projects without editing a single CI/CD configuration file.

The profile activates two scan triggers:

  • Merge Request Pipelines: Automatically runs a dependency scanning scan each time new commits are pushed to a branch with an open merge request. Results include only new vulnerabilities introduced by the merge request.
  • Branch Pipelines (default only): Runs automatically when changes are merged or pushed to the default branch, providing a complete view of your default branch’s dependency posture.

Dependency resolution for Gradle SBOM scanning

GitLab dependency scanning using SBOM now automatically generates a dependency graph (gradle.graph.txt) for Gradle projects. Previously, Gradle dependency scanning required you to generate a dependency graph manually as part of your build. Now, when a graph file is not available, the analyzer generates one automatically, removing this manual step for Java and Kotlin projects using Gradle.

Remediation guidance for API security testing findings

API security vulnerability reports now include remediation guidance for each finding. Previously, API security testing identified vulnerabilities but provided no guidance on how to fix them. Developers had to research remediation steps independently. Now, each finding includes vulnerability-specific remediation steps and references to relevant OWASP and CWE identifiers directly in the vulnerability report.

Remediation guidance is now included for the following checks:

Security data in merge request Reports tab

Merge requests include a new Reports tab that shows all findings from security scans, license compliance results, and code quality reports for the pipeline.

GitLab bot comments in the activity feed are still available to view any policy violations that prevent the merge request from being merged.

Improved array support for CI/CD inputs

CI/CD inputs now have improved support for working with arrays. Use the array index operator [] to access specific elements within array inputs. This enhancement provides more flexible and powerful input interpolation capabilities in your pipeline configurations, enabling you to reference individual array items directly without additional processing steps.

Select multiple values for pipeline inputs

Previously, you could only select a single value when selecting input options in the UI, limiting flexibility for pipelines with more complex options.

Now when you run a pipeline with inputs from the UI, you can select multiple values from a dropdown list and the selected values are combined into an array, for example ["option1","option2"]. This makes it easy to restart services on multiple instances, build multiple Docker images, run tests with multiple tag combinations, or perform any operation across multiple targets in a single pipeline run.

Detailed CI/CD Catalog component usage analytics

When you manage a CI/CD component in the GitLab Catalog, usage details are critical for managing upgrades, enforcing compliance, and communicating breaking changes. You need to know which projects use your components, and which versions they are using. Previously, this information was not available, making it difficult to notify the right maintainers, plan deprecations safely, or ensure projects stay current with the latest security patches.

The component usage details view in the catalog resource page now shows exactly which projects use each component, the version they are running, and whether they are on the latest version or an outdated one. Projects using older versions are surfaced at the top, so you can prioritize outreach, drive adoption of security fixes, and ensure a smooth upgrade path across your organization.

Configure parallel pipeline limits for merge trains

In previous versions of GitLab, you couldn’t change the maximum of 20 parallel pipelines in a merge train, which forced you to either overwhelm your runners or skip merge trains entirely. Now you can configure the parallel pipeline limit per merge train to balance runner load and merge throughput. You can set the limit per project or instance-wide. Setting the limit to 1 means each merge request runs one at a time, against a clean target branch.

Thanks to Norman Debald (@Modjo85) for this community contribution.

Customize default merge request titles

In previous versions of GitLab, the default title for a new merge request came from the source branch or first commit, and you couldn’t enforce a consistent naming convention across your project.

Now you can configure a default merge request title template per project. Templates support variables for the source branch, target branch, first commit subject, linked issue ID, issue title, and a human-readable version of the source branch name. For example, the template Resolve %{issue_id} "%{issue_title}" produces titles like Resolve 123 "Fix login bug". You can still edit the title before creating the merge request.

Secure webhooks with HMAC signing tokens

The existing X-Gitlab-Token header sends a static secret in plain text, making webhooks susceptible to interception and replay attacks.

You can now add a signing token to any webhook. GitLab uses the signing token to compute an HMAC-SHA256 signature over:

  • The unique webhook ID.
  • The request timestamp.
  • The webhook payload.

GitLab then sends the result in the webhook-signature header alongside webhook-id and webhook-timestamp headers, following the Standard Webhooks specification.

You can recompute the signature to confirm requests genuinely came from GitLab and that the payload has not been modified. By also validating the timestamp, you can reject replayed requests.

Thanks to Van Anderson and Norman Debald for their community contributions!

Cross-project pushes using CI/CD job tokens

In previous versions of GitLab, you could only use a CI/CD job token (CI_JOB_TOKEN) to push to the same repository where the pipeline runs. Cross-project pushes required a personal access token or deploy token.

You can now use a job token to push to another project when:

  1. The target project opts in.
  2. The user who starts the pipeline has at least the Developer role in the target project.

This feature is behind the allow_push_to_allowlisted_projects feature flag, disabled by default in GitLab 19.0. Ask your administrator to enable it.

Mermaid diagram rendering upgraded to version 11

GitLab now uses Mermaid version 11 for rendering diagrams in Markdown.

Previously, GitLab supported Mermaid version 10. With this upgrade, you get access to all the new diagram types, syntax improvements, and bug fixes introduced in Mermaid 11, including enhanced rendering for flowcharts, sequence diagrams, and more.

Rapid Diffs for merge request reviews (Beta)

In previous versions of GitLab, you would have to wait for the Changes tab to load all files before you could begin reviewing, which slowed down large reviews.

Now you can use Rapid Diffs to review merge requests with faster initial load, smoother scrolling, and more responsive interactions across files. Rapid Diffs uses the same technology that already powers the commits page.

Rapid Diffs is in beta. Some features from the classic diff experience aren’t yet available. You can switch back at any time.

Watch the overview video and share your experience in the feedback issue.

GitLab Runner 19.0

We’re also releasing GitLab Runner 19.0 today! GitLab Runner is the highly-scalable build agent that runs your CI/CD jobs and sends the results back to a GitLab instance. GitLab Runner works in conjunction with GitLab CI/CD, the open-source continuous integration service included with GitLab.

What’s New

Bug Fixes

The list of all changes is in the GitLab Runner CHANGELOG.

スケールとデプロイ

PostgreSQL 17 minimum requirement

The minimum supported version of PostgreSQL is now version 17. If you use the packaged PostgreSQL 16, upgrade the packaged PostgreSQL server before installing GitLab 19.0.

Linux package support for Ubuntu 20.04 discontinued

Ubuntu 20.04 reached end of standard support in May 2025. From GitLab 19.0, Linux packages are no longer provided for Ubuntu 20.04. GitLab 18.11 is the last release with packages for this distribution. Before upgrading to GitLab 19.0, migrate to Ubuntu 22.04 or another supported operating system.

Redis 6 support removed

Support for Redis 6 is removed in GitLab 19.0. If you use an external Redis 6 deployment, migrate to Redis 7.2 or Valkey 7.2 before upgrading. The bundled Redis included with the Linux package has used Redis 7 since GitLab 16.2 and is not affected.

Mattermost removed from the Linux package

Bundled Mattermost is removed from the Linux package in GitLab 19.0. If you currently use the bundled Mattermost, refer to Migrating from the Linux package to Mattermost Standalone for migration instructions. Customers not using the bundled Mattermost are not impacted.

Linux package support for SUSE distributions discontinued

Linux package support for SUSE distributions ends in GitLab 19.0, which affects openSUSE Leap 15.6, SUSE Linux Enterprise Server 12.5, and SUSE Linux Enterprise Server 15.6. GitLab 18.11 is the last version with Linux packages for these distributions. To continue to use SUSE distributions, migrate to a Docker deployment of GitLab.

Spamcheck removed from Linux package and GitLab Helm chart

Spamcheck is removed from the Linux package and GitLab Helm chart in GitLab 19.0. Customers not currently using Spamcheck are not impacted. If you use the bundled Spamcheck, you can deploy it separately using Docker. No data migration is required.

NGINX Ingress replaced by Gateway API with Envoy Gateway

Gateway API with Envoy Gateway becomes the default networking configuration in the GitLab Helm chart in GitLab 19.0, replacing NGINX Ingress which reached end-of-life in March 2026. If migration to Envoy Gateway is not immediately feasible, you can explicitly re-enable the bundled NGINX Ingress, which remains available until its planned removal in GitLab 20.0. This change does not impact the NGINX used in the Linux package, or Helm chart instances using an externally managed Ingress or Gateway API controller.

Bundled PostgreSQL, Redis, and MinIO removed from GitLab Helm chart

The bundled Bitnami PostgreSQL, Bitnami Redis, and MinIO charts are removed from the GitLab Helm chart and GitLab Operator in GitLab 19.0 with no replacement. These components were intended only for proof-of-concept and test environments and are not recommended for production use. If you run an instance with any of these bundled services, follow the migration guide to configure external services before upgrading to GitLab 19.0.

Reliable SCIM user deprovisioning for large groups

For organizations managing large numbers of users through SCIM, deprovisioning group members could time out and return 500 errors. SCIM DELETE and PATCH requests now return a success response immediately. Membership removal is handled asynchronously, so identity providers and SCIM clients receive consistent success responses.

Filter Credits dashboard by product and date (Beta)

The in-product GitLab Credits dashboard now supports product filtering, date range selection, and Secrets Manager usage visibility.

You can filter usage by product (including GitLab Duo and Secrets Manager) and date range, see a daily usage chart across selected products, and review per-user attribution with a Usage control status column.

The dashboard also includes usage from service accounts so automated activity is reflected in per-user attribution, and surfaces non-billable and beta events such as Secrets Manager Open Beta activity. This gives you a complete view of credit consumption in your organization.

Review prior months of Credits usage (Beta)

In previous versions of GitLab, the Credits dashboard showed only the current billing month, so you couldn’t compare trends, audit a usage spike after the fact, or build a budget conversation around prior consumption. Now you can navigate to prior billing months in the Credits dashboard.