更新日:2026年5月22日
27分で読めます
GitLab 19.0でリリースした最新機能を公開します。

本ブログは、GitLab 19.0 release notesの抄訳です。内容に相違がある場合は、原文が優先されます。
2026年5月21日、GitLab 19.0が以下の機能とともにリリースされました。
今月のNotable Contributorは、Norman Debaldさんです!
Normanさんは、2022年5月に参加して以来、GitLab全体で40件以上の改善がマージされたレベル3のコントリビューターです。
以前のバージョンのGitLabでは、GitLab Duoのカスタムレビュー指示はプロジェクトレベルでのみ定義できました。同じグループ内の多くのプロジェクトにまたがって作業するチームは、すべてのプロジェクトで同じ指示を複製する必要がありました。
今回のリリースで、グループ全体とそのサブグループに対して共有カスタムレビュー指示を設定できるようになりました。
グループ内のプロジェクトをテンプレートとして選択します。GitLab Duoがコードレビューを実行すると、グループレベルの.gitlab/duo/mr-review-instructions.yamlファイルと個々のプロジェクトで定義された指示が組み合わされます。
コードレビューフローとGitLab Duoコードレビューの両方が、グループレベルのカスタム指示をサポートしています。
これまで、作業アイテムタイプはイシューまたはタスクのいずれかに限られていましたが、プロジェクト内でカスタムの作業アイテムタイプを設定して、チームの計画・追跡方法に合わせられるようになりました。
タイプをユーザーストーリー、バグ、またはメンテナンスとして作成または名前変更できます。各作業アイテムはそのタイプ名と固有のアイコンで表示されます。新しいタイプはカスタムフィールドとステータスライフサイクルをサポートし、保存済みビューやイシューボードに表示されます。トップレベルグループ(GitLab.com)または組織(GitLab Self-Managed)でのタイプ設定は、すべてのプロジェクトに継承されます。
また、各プロジェクトで利用可能なタイプを制御することもできます。すべてのプロジェクトで一度にタイプを有効または無効にするか、個々のプロジェクトが独自のタイプの表示設定を管理できるようにします。プロジェクトでタイプを無効にしても、既存の作業アイテムには影響しません。
以前のバージョンの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は複数のトリガー方法をサポートするようになりました。イシューに割り当てる、MRを生成を選択する、またはイシューやMRのディスカッションスレッドで@mentionすることで、フィードバック、To-Doアイテム、設計上の質問をコード変更、フォローアップMR、またはリサーチサマリーに変換できます。
AGENTS.mdとagent-config.ymlを設定することで、GitLab Duo Developerはコミット前にテストとチェックを実行します。トップレベルグループまたはインスタンス管理者がデベロッパーフローを有効にすると、GitLabは対象プロジェクトにメンションと割り当てトリガーを自動的に追加します。
GitLabのSBOMベースの依存関係スキャナーが一般提供開始になりました。Maven、Gradle、Pythonプロジェクトで、直接宣言されたものだけでなく、推移的に導入された脆弱なパッケージを含む、完全な依存関係ツリー全体の脆弱性を可視化できるようになりました。
アナライザーには、Maven、Gradle、Pythonプロジェクトの自動依存関係解決が含まれるようになりました。ロックファイルまたは解決済みの依存関係グラフが存在しない場合、アナライザーはスキャン前に完全な推移的依存関係グラフを解決するためのツールを自動的に実行します。依存関係解決はデフォルトで有効になっており、v2 Dependency Scanningテンプレートを含める以外に追加の設定はほとんど必要ありません。
依存関係解決が不可能なプロジェクトの場合、アナライザーはマニフェストスキャンにフォールバックします。pom.xml、requirements.txt、build.gradle、build.gradle.ktsを解析して直接依存関係を特定します。マニフェストスキャンにより、ロックファイルやビルドファイルのないプロジェクトでも、チームは常に脆弱性カバレッジの出発点を得られます。
マニフェストスキャンはデフォルトで有効になっており、直接依存関係のみを返します。完全な推移的カバレッジを得るには、依存関係解決を有効にするか、依存関係ロックファイルまたはグラフエクスポートを手動で提供してください。
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機能フラグで制御されており、デフォルトでは無効になっています。
Claude Opus 4.7がGitLab Duo Agent Platformで利用可能になりました。Opus 4.7は、継続的な推論、指示への正確な準拠、結果を出力する前の自己検証を必要とする複雑なマルチステップタスクに対して、意味のある改善をもたらします。これには、CI/CDパイプライン、コードレビュー、脆弱性解決などをサポートするフローが含まれます。
GitLab Duo Agent Platform Self-HostedがGeminiモデルと互換性を持つようになりました。Geminiモデルはコードレビューフロー、SAST脆弱性修正フロー、CI/CDパイプライン修正フローなど、複数のフローをサポートしています。
GitLab Duo Agent Platformは、セルフホストデプロイ向けに追加のオープンソースモデルをサポートするようになりました。Devstral 2 123B、GLM-5.1-FP8などが含まれます。これにより、オフラインやネットワーク制限のある環境を含む、さまざまな環境でエージェント型ワークフローを実現できます。
GitLab Duo Agentic Chatがツールを使用するには、その都度ユーザーの承認が必要でした。
今回のリリースで、信頼できるツールをセッション内で一度だけ承認すれば、同じセッション中は再承認なしで使用できるようになりました。
管理者は、セッションのツール承認が利用可能かどうかを制御します。以下の設定はインスタンスからグループ、プロジェクトへと継承されます:
管理者が常にオフに設定しない限り、グループとサブグループは設定を変更できます。
デフォルト設定はデフォルトでオフであり、管理者が変更しない限り、各ツールの実行には明示的な承認が必要です。
以前のバージョンのGitLabでは、単純なケースであっても、GitLab UIまたはコマンドラインでマージコンフリクトを手動で解決する必要がありました。
今回のリリースで、GitLab Duoがマージコンフリクトを自律的に分析し、該当ファイルの編集からコミット作成、ソースブランチへのプッシュまでを自動で行えるようになりました。コンフリクトを解決ページまたはマージリクエストウィジェットからコンフリクト解決をトリガーできます。完了すると、GitLab Duoがサマリーコメントを投稿するため、レビュアーは変更内容をすぐに確認できます。
GitLab Duoはブランチ保護ルールを尊重し、保護ブランチへの強制プッシュは行いません。
この機能はベータ版であり、mr_ai_resolve_conflicts機能フラグで制御されており、デフォルトでは無効になっています。
トップレベルグループのオーナーは、AIカタログをグループ階層内のプロジェクトが所有するエージェントとフローのみを表示するように制限できるようになりました。これにより、この階層に含まれないエージェント、外部エージェント、またはフローが、そのグループのユーザーに表示されたり有効化されたりすることをブロックします。
GitLab Self-ManagedのFreeプランユーザーは、PremiumまたはUltimateのサブスクリプションなしで、GitLab Duo Agent Platformのフル機能を利用できるようになりました。月次クレジット量を選択し、年間契約にすることで、AIを活用した開発ツールに即座にアクセスできます。クレジットは毎月自動的に更新されるため、チームは常に必要なものを手に入れ、より速く、よりスマートに構築できます。
管理者は、設定から直接GitLab Duo Agent Platformリモートフローの集中ネットワークポリシーを定義できるようになりました。GitLab.comのトップレベルグループ管理者、およびGitLab Self-ManagedとDedicatedのインスタンス管理者は、プロジェクトが自動的に継承する組織全体のドメイン拒否リストと許可リストを設定できます。追加の設定により、プロジェクトがカスタムエントリで承認済みドメインリストを拡張できるかどうかを制御します。ポリシーはすべてのリモートフローにわたってランタイムで適用され、セキュリティおよびプラットフォームチームにエージェントのネットワーク外部通信に対する一貫したガバナンス層を提供します。
PostgreSQLの最小サポートバージョンはバージョン17になりました。パッケージ版PostgreSQL 16を使用している場合は、GitLab 19.0をインストールする前にパッケージ版PostgreSQLサーバーをアップグレードしてください。
Ubuntu 20.04は2025年5月に標準サポートが終了しました。GitLab 19.0から、Ubuntu 20.04向けのLinuxパッケージは提供されなくなります。GitLab 18.11がこのディストリビューション向けのパッケージを含む最後のリリースです。GitLab 19.0にアップグレードする前に、Ubuntu 22.04または他のサポートされているオペレーティングシステムに移行してください。
GitLab 19.0でRedis 6のサポートが削除されます。外部のRedis 6デプロイを使用している場合は、アップグレード前にRedis 7.2またはValkey 7.2に移行してください。Linuxパッケージに含まれるバンドル版RedisはGitLab 16.2からRedis 7を使用しており、影響を受けません。
GitLab 19.0でバンドル版MattermostがLinuxパッケージから削除されます。現在バンドル版Mattermostを使用している場合は、移行手順についてLinuxパッケージからMattermost Standaloneへの移行を参照してください。バンドル版Mattermostを使用していないお客様には影響はありません。
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デプロイに移行してください。
SpamcheckはGitLab 19.0でLinuxパッケージとGitLab Helmチャートから削除されます。現在Spamcheckを使用していないお客様には影響はありません。バンドル版Spamcheckを使用している場合は、Dockerを使用して個別にデプロイできます。データ移行は不要です。
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チャートインスタンスには影響しません。
バンドルされたBitnami PostgreSQL、Bitnami Redis、MinIOチャートは、GitLab 19.0でGitLab HelmチャートとGitLab Operatorから代替なしで削除されます。これらのコンポーネントは概念実証およびテスト環境のみを対象としており、本番環境での使用は推奨されていません。これらのバンドルサービスのいずれかを使用してインスタンスを実行している場合は、GitLab 19.0にアップグレードする前に移行ガイドに従って外部サービスを設定してください。
SCIMを通じて多数のユーザーを管理している組織では、グループメンバーのデプロビジョニングがタイムアウトして500エラーが返されることがありました。SCIMのDELETEおよびPATCHリクエストは即座に成功レスポンスを返すようになりました。メンバーシップの削除は非同期で処理されるため、IDプロバイダーとSCIMクライアントは一貫した成功レスポンスを受け取ります。
GitLab 19.0で、依存関係の自動修正が実験的機能として利用可能になりました。依存関係スキャンで既知の修正が存在する脆弱なRuby依存関係が検出されると、GitLabは人手を介さずに安全なバージョンへの更新マージリクエストを自動的に作成します。Experimentでサポートされるのはプロジェクトのみです。
各パイプライン実行後、GitLabは利用可能なパッチまたはマイナーバージョンアップグレードがある最も重大度の高い脆弱性を特定します。GitLabがマニフェストファイルの変更を生成し、サービスアカウントを通じてマージリクエストを作成します。その後、マージリクエストはプロジェクトの標準的なレビューおよび承認ワークフローに従います。
実験的機能の期間中、プロジェクトあたり同時にオープンできる自動修正マージリクエストは最大3件です。
フィードバックの共有や実験的機能への参加を希望する場合は、エピック600511にコメントしてください。プロジェクトで実験的機能を有効にするには、GitLabチームメンバーがプロジェクトのdependency_management_auto_remediation機能フラグを有効にする必要があります。
GitLab 18.11では、SASTとシークレット検出のセキュリティ設定プロファイルが導入されました。 これで、依存関係スキャンも依存関係スキャン - デフォルトプロファイルで利用可能になりました。 このプロファイルにより、単一のCI/CD設定ファイルを編集することなく、すべてのプロジェクトに標準化されたSCAカバレッジを適用するための統一された操作画面が提供されます。
このプロファイルは2つのスキャントリガーを有効にします:
SBOMを使用したGitLabの依存関係スキャンが、Gradleプロジェクトの依存関係グラフ(gradle.graph.txt)を自動的に生成するようになりました。以前は、Gradleの依存関係スキャンではビルドの一部として依存関係グラフを手動で生成する必要がありました。グラフファイルが存在しない場合、アナライザーが自動的に生成するようになり、GradleベースのJavaおよびKotlinプロジェクトでこの手動ステップが不要になりました。
CI/CDインプットは、配列のサポートが改善されました。配列入力内の特定の要素にアクセスするには、配列インデックス演算子[]を使用します。この機能強化により、パイプラインの設定において、より柔軟で強力な入力補間機能が提供され、追加の処理ステップなしで個々の配列項目を直接参照できるようになります。
以前は、UIで入力オプションを選択する際に単一の値しか選択できず、より複雑なオプションを持つパイプラインの柔軟性が制限されていました。
今回のリリースから、UIから入力を含むパイプラインを実行する際、ドロップダウンリストから複数の値を選択でき、選択された値は例えば["option1","option2"]のように配列に結合されるようになりました。これにより、複数のインスタンスでのサービス再起動、複数のDockerイメージのビルド、複数のタグの組み合わせによるテスト実行など、単一のパイプライン実行で複数のターゲットにわたる操作を簡単に行えます。
GitLabカタログでCI/CDコンポーネントを管理する場合、使用状況の詳細はアップグレードの管理、コンプライアンスの適用、破壊的な変更の伝達に不可欠です。どのプロジェクトがコンポーネントを使用しているか、どのバージョンを使用しているかを把握する必要があります。以前はこの情報が利用できなかったため、適切なメンテナーへの通知、安全な廃止計画、またはプロジェクトが最新のセキュリティパッチに追従していることの確認が困難でした。
カタログリソースページのコンポーネント使用状況詳細ビューには、各コンポーネントを使用しているプロジェクト、実行中のバージョン、最新バージョンか古いバージョンかが正確に表示されるようになりました。古いバージョンを使用しているプロジェクトは上部に表示されるため、アウトリーチを優先し、セキュリティ修正の採用を促進し、組織全体でスムーズなアップグレードパスを確保できます。
以前のバージョンのGitLabでは、マージトレインの最大20並列パイプラインを変更できなかったため、Runnerに過負荷をかけるか、マージトレインを完全にスキップするかの二択を迫られていました。今回のリリースで、マージトレインごとの並列パイプライン制限を設定し、Runnerの負荷とマージスループットのバランスを取れるようになりました。制限はプロジェクトごとまたはインスタンス全体で設定できます。制限を1に設定すると、各マージリクエストはクリーンなターゲットブランチに対して1つずつ実行されます。
このコミュニティへのコントリビュートに感謝します Norman Debald (@Modjo85)。
以前のバージョンのGitLabでは、新しいマージリクエストのデフォルトタイトルはソースブランチまたは最初のコミットから取得されており、プロジェクト全体で一貫した命名規則を適用することができませんでした。
これで、プロジェクトごとにデフォルトのマージリクエストタイトルテンプレートを設定できます。テンプレートはソースブランチ、ターゲットブランチ、最初のコミットの件名、リンクされたイシューID、イシュータイトル、ソースブランチ名を読みやすく整形した変数をサポートしています。例えば、テンプレートResolve %{issue_id} "%{issue_title}"はResolve 123 "Fix login bug"のようなタイトルを生成します。マージリクエストを作成する前にタイトルを編集することもできます。
既存のX-Gitlab-Tokenヘッダーは静的なシークレットをプレーンテキストで送信するため、Webhookは傍受やリプレイ攻撃に対して脆弱です。
この問題に対処するため、任意のWebhookに署名トークンを追加できるようになりました。GitLabは、署名トークンを使用して以下のHMAC-SHA256署名を算出します:
GitLabは、Standard Webhooks仕様に従い、webhook-idおよびwebhook-timestampヘッダーとともに、結果をwebhook-signatureヘッダーで送信します。
署名を再計算することで、リクエストがGitLabから真正に送信されたものであり、ペイロードが変更されていないことを確認できます。タイムスタンプも検証することで、リプレイされたリクエストを拒否できます。
Van AndersonとNorman Debaldのコミュニティへのコントリビュートに感謝します!
以前のバージョンのGitLabでは、CI/CDジョブトークン(CI_JOB_TOKEN)を使用してパイプラインが実行される同じリポジトリにのみプッシュできました。クロスプロジェクトプッシュにはパーソナルアクセストークンまたはデプロイトークンが必要でした。
以下の条件を満たす場合、ジョブトークンを使用して別のプロジェクトにプッシュできるようになりました:
この機能はallow_push_to_allowlisted_projects機能フラグで制御されており、GitLab 19.0ではデフォルトで無効になっています。管理者に有効化を依頼してください。
GitLabのMarkdownにおけるダイアグラムのレンダリングにMermaidバージョン11が使用されるようになりました。
以前はMermaidバージョン10がサポートされていました。このアップグレードにより、フローチャートやシーケンスダイアグラムのレンダリング改善をはじめ、Mermaid 11で導入されたすべての新しいダイアグラムタイプ、構文の改善、バグ修正を利用できます。
以前のバージョンのGitLabでは、レビューを開始する前に変更タブがすべてのファイルを読み込むのを待つ必要があり、大規模なレビューが遅くなっていました。
これからは、Rapid Diffsを使用して、より速い初期読み込み、スムーズなスクロール、ファイル間のより応答性の高いインタラクションでマージリクエストをレビューできます。Rapid Diffsは、コミットページで既に使用されているのと同じ技術を使用しています。
Rapid Diffsはベータ版です。クラシックdiffエクスペリエンスの一部の機能はまだ利用できません。いつでも切り替えることができます。
概要ビデオを視聴して、フィードバックイシューで感想を共有してください。
本日、GitLab Runner 19.0もリリースします!GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに返送する高いスケーラビリティを備えたビルドエージェントです。GitLab Runnerは、GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。
すべての変更のリストはGitLab RunnerのCHANGELOGにあります。
新規にGitLabをセットアップする場合は、GitLabダウンロードページをご覧ください。
アップデートページをご確認ください。
ご質問やご意見をお聞かせください。本リリースについてご不明な点がある場合は、GitLabフォーラムにアクセスして質問を投稿してください。
--------------------
監修:
このブログ記事を楽しんでいただけましたか?ご質問やフィードバックがあればお知らせください。GitLabコミュニティフォーラムで新しいトピックを作成してあなたの声を届けましょう。
フィードバックを共有する