本ブログは、GitLab 18.0 Releaseの抄訳です。内容に相違がある場合は、原文が優先されます。
GitLab 18.0をリリース:GitLab DuoがPremiumとUltimateで利用可能に
このたび、GitLab 18.0のリリースを発表しました。このリリースでは、GitLab PremiumとGitLab UltimateにGitLab Duoが搭載され、GitLab Duoコードレビューによる自動レビュー、コンテキストをより考慮したコードレビュー、GitLab Duo Self-Hostedで利用可能なリポジトリX-Rayなど、さまざまな新機能が追加されました。
これらの機能は、今回のリリースに含まれる30件以上の改善点のほんの一部です。この記事では、お役に立つアップデートをすべてご紹介していますので、ぜひ最後までお読みください。
GitLab 18.0には、GitLabコミュニティのユーザーから328件ものコントリビュートがありました。ありがとうございました!GitLabは誰もがコントリビュートできるプラットフォームであり、今回のリリースはユーザーのみなさまの協力なしには実現しませんでした。
GitLab 18の新機能を活用することで、開発からリリースまでの全工程でAIの力を活用しつつ、開発者のスピードを落とさずにセキュリティを強化できます。これらがすべて、一つのプラットフォームで実現します。新機能については、GitLab 18のオンラインリリースイベント「The next step in intelligent DevSecOps(知的進化する次世代のDevSecOps)」で詳しくご紹介いたします。ご参加をお待ちしています。
来月のリリースで予定されている内容を先取りするには、今後のリリースページをご覧ください。
GitLab 18.0では、PremiumおよびUltimate向けのGitLab Duoが追加されました。 クリックしてSNSで共有しましょう!
今月の注目コントリビューターはMichael Hoferさんです
トップコントリビューターであり、コミュニティリーダーでもあるMichael Hoferさんは、GitLabのオープンソースミッションを推進しています。今年だけで50件以上のコントリビュートを行い、その活動はOpenBaoに基づくGitLabのGeo機能やシークレットマネージャーの強化に大きく貢献しました。また、4月のハッカソンではトップの成績を収め、他のコントリビューターを支援しながらコミュニティプロジェクトも率いています。
「GitLabには誰もがコントリビュートできる環境があるので、とても感謝しています!」とMichaelさんは言います。「素晴らしいチームで、一緒に取り組んでいてとても楽しいです。特に、OpenBaoやSLSAのようなオープンソースイニシアチブで協力する際は、みんな本当に頼りになります。」
Michaelさんは、ミッションクリティカルなオープンソースワークロードの計画、構築、運用に特化した国際的なITサービスプロバイダーであるAdfinis社のCTOを務めています。Michaelさんは、組織間での協力を促進し、オープンソースソリューションの普及に情熱を注いでいます。
最近、Adfinis社はGitLabの共同開発プログラムに参加しました。このプログラムでは、組織がGitLabの製品チームおよびエンジニアリングチームと協力して、GitLabの構築に取り組んでいます。「共同開発プログラムを、すべての組織に強くお勧めしたいです」とMichaelさんは話します。「PodmanのルートレスビルドやGlimmerの構文ハイライトに加え、その他多くの素晴らしいコントリビュートを生み出しました。」
GitLabのエンジニアリングマネージャーであり、今回Michaelさんを推薦したLucie Zhaoは次のように話します。「GeoチームはMichaelさんとの共同作業に大きなやりがいと楽しみを感じています。Michaelさんは、ここ数件のマイルストーンでの素晴らしいコントリビュートにより、チーム内で最も知られたコミュニティコントリビューターとなりました。」
GitLabチームメンバーのLee Tickett、Chloe Fons、Alex Scheelも、Michaelさんの推薦を支持しました。Alexは次のように述べています。「MichaelさんのOpenBaoでのリーダーシップにより、お客様向けのシークレット管理ソリューションを効果的に共同開発することができました。また、透明性も確保され、GitLabの価値観に沿って進められました。」
GitLabの共同開発に取り組んでくださっているMichaelさんとAdfinisチームのみなさま、ありがとうございます!
GitLab 18.0でリリースされた主な改善点
GitLab DuoがGitLab PremiumおよびGitLab Ultimateで利用可能に
SaaS: Premium、Ultimate、Duo Pro、Duo Enterprise
Self-Managed: Premium、Ultimate、Duo Pro、Duo Enterprise
このリリースから、GitLab PremiumとGitLab UltimateでGitLab Duoが利用可能になりました。両プランにAI機能が標準搭載されます。
GitLabのAIネイティブ機能には、IDE内のコード提案とチャット機能があります。開発チームは、これらの機能を使用して次の作業を効率化できます。
- コードを分析し、理解し、説明する
- より迅速に安全なコードを記述する
- コード品質を維持するためのテストを素早く生成する
- パフォーマンス向上や特定のライブラリの利用に合わせてコードを簡単にリファクタリングする

GitLab Duo Self-HostedでリポジトリX-Rayが利用可能に
SaaS: -
Self-Managed: Premium、Ultimate、Duo Enterprise
GitLab Duo Self-Hostedで、コード提案と併せてリポジトリX-Rayを使用できるようになりました。この機能は、GitLab Duo Self-Hostedではベータ版として提供され、GitLab Self-Managedインスタンスでは一般提供されています。

GitLab Duoコードレビューによる自動レビュー
SaaS: Premium、Ultimate、Duo Enterprise
Self-Managed: Premium、Ultimate、Duo Enterprise
Duoコードレビューは、コードレビューのプロセスで効果的なフィードバックを提供しますが、これまでは各マージリクエストごとに手動でレビューをリクエストする必要がありました。
今回、プロジェクトのマージリクエスト設定を変更することで、Duoコードレビューを自動的に実行できるようになりました。自動レビュー機能を有効にすると、以下の場合を除き、すべてのマージリクエストに対してDuoコードレビューが自動でレビューを行います。
- マージリクエストがドラフトとしてマークされている場合
- マージリクエストに変更が含まれていない場合
自動レビュー機能により、プロジェクト内のすべてのコードが確実にレビューされ、コードベース全体のコード品質が継続的に改善されます。

コード提案にプロンプトキャッシュを導入
SaaS: Premium、Ultimate、Duo Pro、Duo Enterprise
Self-Managed: Premium、Ultimate、Duo Pro、Duo Enterprise
コード提案にプロンプトキャッシュ機能が追加されました。この機能により、キャッシュされたプロンプトや入力データの再処理が不要になるため、コード補完の待機時間が大幅に短縮されます。キャッシュデータは永続ストレージに保存されることはなく、必要に応じてGitLab Duoの設定でプロンプトキャッシュを無効にすることも可能です。

コンテキストをより考慮したコードレビュー
SaaS: Premium、Ultimate、Duo Enterprise
Self-Managed: Premium、Ultimate、Duo Enterprise
コードレビューがより広範なコンテキスト情報を活用できるようになり、分析結果の精度が向上しました。主な改善点は以下のとおりです。
- マージリクエストのタイトルと説明を含めることで、変更の目的をより正確に把握できるようになりました。
- すべての差分を一度に分析することで、ファイル間の関連性を認識し、誤検出を削減します。
- 変更されたファイル全体の内容を読み込み、修正が既存のコードパターンにどのように適合するかを理解できるようになりました。
これらの機能強化により、不正確な提案が減少し、より関連性が高く高品質なコードレビューが可能になりました。

GitLab 18.0のリリースに含まれるその他の改善点
グループとプレースホルダーユーザーの削除
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLab 18.0では、トップレベルグループを削除すると、そのグループに関連付けられたプレースホルダーユーザーも同時に削除されるようになりました。プレースホルダーユーザーが他のプロジェクトに関連付けられている場合は、トップレベルグループからのみ削除され、他のプロジェクトには残ります。これにより、他のプロジェクトの履歴や属性を損なうことなく、不要なプレースホルダーユーザーを整理できるようになりました。
Slackアプリ用GitLabで複数のワークスペースに対応
SaaS: -
Self-Managed: Free、Premium、Ultimate
GitLab Self-ManagedおよびGitLab Dedicatedのお客様向けに、GitLab for Slackアプリで複数のワークスペースを利用できるようになりました。この機能により、複数のSlackワークスペースを持つ組織でも、すべてのワークスペースでGitLabとの連携をスムーズに維持できます。複数のワークスペースを有効にするには、GitLab for Slackアプリを非公開配布アプリとして設定してください。
GitLab Pagesテンプレートの改善
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLabでは、人気の高い静的サイトジェネレーター用のテンプレートを提供しています。スコアリングフレームワークでテンプレートを精査し、最も人気のあるものだけを厳選しました。
GitLab Pagesで利用可能なテンプレートが改良されたことにより、ウェブサイト制作の工程がよりスムーズになりました。テンプレートを活用すれば、技術的な専門知識が限られていてもプロ並みのサイトを立ち上げることができます。改善されたテンプレートは最新のレスポンシブデザインに対応しており、カスタム開発作業の必要もありません。
ワークスペースの共有Kubernetesネームスペース
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
共有のKubernetesネームスペースにGitLabワークスペースを作成できるようになりました。これにより、ワークスペースごとに新しいネームスペースを作成する必要がなくなり、エージェントに上位のClusterRole権限を付与する必要もなくなります。この機能により、セキュリテイが厳しい環境または制約のある環境でもワークスペースをより容易に導入できるようになり、よりスムーズにスケールできるようになります。
共有のネームスペースを有効にするには、エージェント設定ファイルのshared_namespace
フィールドを設定し、すべてのワークスペースで使用したいKubernetesネームスペースを指定してください。
この機能は、GitLabの共同開発プログラムを通じて開発され、6人のコミュニティメンバーの協力によって実現しました。皆さまのコントリビュートに感謝します!
GitLab Runner 18.0
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLab Runner 18.0もリリースされます!GitLab Runnerは、CI/CDジョブを実行し、結果をGitLabインスタンスに送信する、拡張性の高いビルドのエージェントです。GitLabに含まれるオープンソースの継続的インテグレーションサービスであるGitLab CI/CDと連携して動作します。
新機能:
- GitLab Runnerビルドエラー分類に
ConfigurationError
とExitCodeInvalidConfiguration
を新たに追加 - Cloud Storageへのキャッシュアップロードに失敗した場合に、よりわかりやすいクラウドプロバイダーエラーメッセージを表示するよう改善
バグ修正:
すべての変更の一覧は、GitLab Runnerの変更履歴で確認できます。
Kubernetes用ダッシュボードのポッド状態表示を改善
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
Kubernetes用のダッシュボードを使用すると、デプロイされたアプリケーションをモニタリングできます。これまでCrashLoopBackOff
やImagePullBackOff
などのコンテナエラーがあるポッドは「保留中」または「実行中」というステータスで表示されていたため、kubectl
を使用せずに問題のあるデプロイメントを特定するのが困難でした。
GitLab 18.0からは、UI上のエラー表示がkubectl
出力と同様に、特定のコンテナのステータスを示すようになりました。これにより、GitLabインターフェイスだけで失敗したポッドをすばやく特定し、トラブルシューティングを行えるようになりました。

セキュリティスキャナーがMRパイプラインに対応
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
マージリクエスト(MR)パイプラインでアプリケーションセキュリティテスト(AST)スキャナーを実行できるようになりました。パイプラインへの影響を最小限に抑えるため、この機能はオプトインで制御可能です。
これまでは、スキャナーを有効にする際に使用するCI/CDテンプレートのエディション(StableかLatest)によって、デフォルトの動作が異なっていました。
- Stableのテンプレートでは、スキャンジョブはブランチパイプラインでのみ実行され、MRパイプラインでは実行されませんでした。
- Latestのテンプレートでは、MRが開いている場合はMRパイプラインでスキャンジョブが実行され、関連するMRがない場合はブランチパイプラインで実行されており、この動作を制御することはできませんでした。
今回、新しいオプションとしてAST_ENABLE_MR_PIPELINESが追加され
、MRパイプラインでジョブを実行するかどうかを制御できるようになりました。StableテンプレートとLatestテンプレートのデフォルトの動作は変わりません。
具体例:
- Stableテンプレートでは引き続き、デフォルトでブランチパイプラインでスキャンジョブを実行しますが、
AST_ENABLE_MR_PIPELINES: "true"
を設定すると、MRが開いている場合にMRパイプラインを使用できます。 - Latestテンプレートでは引き続き、MRが開いている場合はデフォルトでMRパイプラインでスキャンジョブを実行しますが、
AST_ENABLE_MR_PIPELINES: "false"
を設定すると、代わりにブランチパイプラインを使用できます。
今回の改善は、API Discovery(API-Discovery.gitlab-ci.yml
)を除くすべてのセキュリティスキャンテンプレートに適用されます。API Discoveryは現在、MRパイプラインがデフォルトですが、GitLab 18.0では他のStableテンプレートと同様に、デフォルトでブランチパイプラインを使用するように変更されました。
JiraインテグレーションAPIを使用して脆弱性からJiraのイシューを作成する設定が可能に
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまでは、脆弱性からJiraのイシューを作成する設定は、プロジェクト設定ページからしか行えませんでした。
今回の更新により、プロジェクト統合APIからも設定できるようになり、セットアップの自動化が可能になりました。
再検出された脆弱性のトレーサビリティの向上
SaaS: Ultimate
Self-Managed: Ultimate
これまで、解決済みの脆弱性が再検出されてステータスが変更された場合、脆弱性の詳細にはいつ、なぜステータスが変更されたかを示す情報が含まれていませんでした。
解決済みの脆弱性が新しいスキャンで再び検出されてステータスが変更された場合、GitLabはその脆弱性の履歴にシステムメモを自動的に追加するようになりました。これにより、ユーザーは脆弱性のステータスが変更された経緯を明確に把握できるようになります。
コンプライアンスプロジェクトレポートでアーカイブされたプロジェクトの表示とフィルタリングが可能に
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
コンプライアンスプロジェクトレポートでは、グループまたはサブグループ内の各プロジェクトに適用されているコンプライアンスフレームワークを確認することができます。
ただし、これまでのレポートでは、プロジェクトがアーカイブされているかどうかを表示する機能がなく、アクティブなプロジェクトとアーカイブ済みプロジェクトの両方のコンプライアンス管理に必要な情報が十分ではありませんでした。
そこで今回、プロジェクトがアーカイブされているかどうかを示すインジケータが追加されました。これにより、コンプライアンスフレームワークを確認する際に、プロジェクトがアクティブかアーカイブ済みかを問わず、コンプライアンス状況をより明確に把握できるようになりました。
この機能には以下が含まれます。
- コンプライアンスプロジェクトレポートの各プロジェクトに、アーカイブ済みかどうかを示すステータスバッジを表示
- アーカイブ済み、アーカイブされていない、すべてのプロジェクトを切り替えるフィルター
GitLabユーザー名を使用したLDAP認証
SaaS: -
Self-Managed: Premium、Ultimate
LDAPユーザーは、GitLabユーザー名を使用してリクエストを認証できるようになりました。これまでは、GitLabユーザー名がLDAPユーザー名と一致しない場合、GitLabは認証エラーを返していました。今回の変更により、承認ワークフローに影響を与えることなく、GitLabシステムとLDAPシステムで異なるユーザー名の命名規則を採用できるようになりました。
カスタムロールの新しい権限
SaaS: Ultimate
Self-Managed: Ultimate
保護環境を管理する権限をカスタムロールに設定できるようになりました。カスタムロールを使用すれば、ユーザーに対して、タスクの完了に必要な特定の権限のみを付与できます。これによりグループのニーズに合わせてロールを定義できるため、オーナーまたはメンテナーロールが必要なユーザー数を減らすことができます。
ユーザーネームスペースのプロジェクトにも削除保留機能を追加
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
ユーザーネームスペース(個人プロジェクト)のプロジェクトでも、プロジェクト削除保留機能が利用できるようになりました。誤削除からデータを守るこの安全機能は、これまではグループプロジェクトでしか利用できませんでした。今回の更新により、ユーザーネームスペースでプロジェクトを削除しても、すぐに完全に削除されるのではなく、インスタンスの設定期間(GitLab.comでは7日間)は「削除保留中」の状態になります。これにより、期間内であれば、必要に応じてプロジェクトを元に戻すことが可能になりました。
ユーザーの皆さまがより安心して個人プロジェクトを管理できるよう設計された保護機能です。
破壊的な変更を伴うGitLabチャート9.0のリリース
SaaS: -
Self-Managed: Free、Premium、Ultimate
- 破壊的な変更:PostgreSQL 14と15のサポートが削除されました。GitLabチャート9.0にアップグレードする前に、PostgreSQL 16にアップグレードされていることを確認してください。
- 破壊的な変更:バンドルのPrometheusチャートが15.3から27.11に更新されました。Prometheusチャートのアップグレードに伴い、Prometheusバージョンも2.38から3.0に更新されました。このアップグレードを実行するには、手動での設定が必要です。Alertmanager、Node Exporter、Pushgatewayのいずれかが有効になっている場合は、Helm値も更新する必要があります。詳細については、移行ガイドを参照してください。
- 破壊的な変更:デフォルトのNGINXコントローラーイメージがバージョン1.3.1から1.11.2に更新されました。GitLab NGINXチャートを使用し、独自のNGINX用RBACルールを設定している場合は、新しいRBACルールが必要となります。詳細については、アップグレードガイドを参照してください。
GitLab Dedicated向けに内部リリース機能を提供開始
SaaS: -
Self-Managed: Ultimate
GitLab Dedicatedを選択される組織の多くは、厳格なセキュリティ要件やコンプライアンス義務を満たすために、開発環境における最高レベルの保護を必要としています。このたび、「内部リリース」という新しいプライベートリリース機能の提供を開始しました。致命的な脆弱性が一般に公開される前にGitLab Dedicatedインスタンスに修正を適用できるようになり、GitLab Dedicatedのお客様をリスクから保護します。この新機能は、GitLab.comでの対応と並行し、GitLabで発見された致命的な脆弱性に対して即時の保護を提供するものです。この新しいプロセスは、お客様側での操作は必要ありません。
グループとプロジェクトのREST APIに新しいアクティブ
パラメータを追加
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
グループとプロジェクトのREST APIに新しいアクティブ
パラメータが追加されました。これにより、ステータスに基づいたグループのフィルタリングが簡素化されます。true
に設定すると、アーカイブされていないグループ、または削除マークが付いていないプロジェクトのみが返されます。false
に設定すると、アーカイブされたグループ、または削除マークが付いているプロジェクトのみが返されます。パラメータを指定しない場合、フィルタリングは適用されません。この機能強化により、簡単なAPIコールで特定のステータスを持つグループやプロジェクトだけを選び出せるようになり、作業プロセス全体をより効率的に管理できるようになります。
このパラメータをプロジェクトAPIに追加してくれた@dagaranupamさんに感謝します!
GitLab.comでのコントリビュートの再アサイン時にEnterpriseユーザーのみを表示
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
今回のリリースでは、プレースホルダーユーザーマッピング体験を向上させました。具体的には、ユーザー選択ドロップダウンの表示範囲を、トップレベルグループに関連付けられたEnterpriseユーザーに絞り込むように改善しました。これまで、GitLab.comへのインポート後にユーザーのコントリビュートを再アサインすると、プラットフォーム上のすべてのアクティブユーザーがドロップダウンリストに表示されていました。この仕様では、特にSCIMプロビジョニングでユーザー名が変更されている場合などは、正しいユーザーを特定するのが困難でした。今回の変更により、トップレベルグループでEnterpriseユーザー機能が有効になっている場合、ドロップダウンリストには組織が要求したユーザーのみが表示されるようになり、ユーザーの再アサイン時に発生するエラーの可能性が大幅に低減されます。同様の絞り込みがCSVベースの再アサインにも適用されるため、組織外のユーザーへの誤ったアサインを防ぐことができます。
GitLabクエリ言語ビューの機能強化
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
GitLabクエリ言語(GLQL)ビューが大幅に改善されました。新しく追加された機能は以下のとおりです。
- すべての日付型で
>=
および<=
の条件指定が可能に - ビューの「ビューアクション」ドロップダウンが追加
- 「再読み込み」アクションが利用可能に
- フィールドエイリアス対応
- GLQLテーブルの列でカスタム名にエイリアス設定が可能に
この機能強化およびGLQLビュー全般に関するフィードバックは、イシュー509791からお寄せください。
マージリクエストからワークスペースを作成
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
新しい「ワークスペースで開く」オプションを使用して、マージリクエストから直接ワークスペースを作成できるようになりました。この機能は、マージリクエストのブランチとコンテキストを使用してワークスペースを自動的に構成し、以下のことを可能にするものです。
- 完全に設定された環境でコード変更をレビュー
- マージリクエストブランチでテストを実行し、機能を検証
- ローカル環境の設定なしでマージリクエストに修正を追加
ファイルをターゲットとするオープンマージリクエストの表示
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
これまでは、コードファイルを編集する際に、他のブランチで同じファイルを変更している可能性のあるユーザーの動向を把握することはできませんでした。このため、マージの競合や作業の重複、非効率的なコラボレーションが生じていました。
今回の変更により、リポジトリで表示しているファイルを変更しているすべてのオープンマージリクエストを簡単に特定できるようになりました。この機能は次のような場面で役立ちます。
- マージコンフリクトを事前に特定する
- すでに進行中の作業の重複を回避する
- 進行中の変更を可視化してコラボレーションを強化する
ファイルを変更しているオープンマージリクエストの数がバッジに表示され、その上にカーソルを合わせると、該当するマージリクエストのリストがポップオーバーで表示されます。

新しい「CI/CDの分析」表示機能の限定提供を開始
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
「CI/CDの分析」のデザインが改良され、開発チームがパイプラインのパフォーマンスと信頼性を新しい方法で分析、監視、最適化できるようになりました。デベロッパーは、GitLabの操作画面に表示される直感的なグラフによってパフォーマンスの傾向や信頼性に関するメトリクスを確認できます。これらの分析情報をプロジェクトリポジトリに埋め込むことで、デベロッパーの作業の流れを中断させる頭の切り替えが不要になります。そして、チームは、生産性を低下させるパイプラインのボトルネックを特定して対処することができます。この機能強化により、開発サイクルの高速化、コラボレーションの向上が実現されるだけでなく、具体的な分析結果に基づき、GitLabのCI/CD環境を最適化するための信頼できる材料を得ることができます。
イベントデータ収集
SaaS: -
Self-Managed: Free、Premium、Ultimate
GitLab 18.0では、GitLab Self-ManagedおよびGitLab Dedicatedインスタンスからイベントレベルの製品使用状況データの収集が有効にされます。集計データとは異なり、イベントレベルのデータは製品利用の実態をより正確に把握するための情報源となります。これにより、プラットフォーム上のユーザーエクスペリエンスを向上させ、機能の利用率を高めることができます。データ共有設定を調整する方法の詳細については、ドキュメントを参照してください。
脆弱性レポートからイシューへ脆弱性を一括追加
SaaS: Ultimate
Self-Managed: Ultimate
今回リリースでは、脆弱性レポートから新規または既存のGitLabイシューに複数の脆弱性を一括追加できるようになりました。これにより、複数のイシューと脆弱性を関連付けることが可能になります。さらに、関連する脆弱性がイシューページに表示されるようになりました。
ライセンス承認ルールからパッケージを除外
SaaS: Ultimate
Self-Managed: Ultimate
マージリクエスト承認ポリシーに追加されたライセンス承認ポリシーの新機能により、法務チームやコンプライアンスチームは、特定のライセンスを使用できるパッケージをより細かく制御できるようになりました。これにより、組織のポリシーによって通常ブロックされるライセンスを使用している場合でも、事前に承認されたパッケージの例外を作成できるようになります。
これまでのライセンス承認ポリシーでは、AGPL-3.0などのライセンスをブロックした場合、組織内のすべてのパッケージでそのライセンスがブロックされていました。これにより、次のような場面で問題が発生していました。
- 法務チームが、通常は制限されているライセンスであっても特定のパッケージを事前に承認している場合
- 数百件ものプロジェクトで同じパッケージを使用する必要がある場合
- チームごとに異なるライセンスの例外が必要な場合
今回のリリースでは、厳格なライセンスガバナンスを維持しつつ必要な例外を許可できるようになり、承認のボトルネックや手作業でのレビューを大幅に削減できます。たとえば、以下のような設定が可能です。
- パッケージURL(PURL)形式を使用して、ライセンス承認ルールにパッケージ固有の例外を定義
- 通常は制限されているライセンスでも、特定のパッケージ(またはパッケージのバージョン)に限って使用を許可
- 特定のパッケージ(またはパッケージのバージョン)に対し、一般的に許可されているライセンスの使用をブロック
例外を追加するには、ライセンス承認ポリシーの作成または編集時に次のワークフローに従ってください。
-
グループでセキュリティ > ポリシーに移動します。
-
ライセンス承認ポリシーを作成または編集します。
-
ビジュアルエディタで新しいパッケージ例外オプションを見つけるか、YAMLモードで構成します。
-
ライセンスに対して、許可リストまたは拒否リストを選択します。
-
ポリシーに特定のライセンスを追加します。
-
ライセンスごとにPURL形式でパッケージ例外を定義します。
例:pkg:npm/@angular/[email protected]
- ライセンスルールにこれらのパッケージを含めるか除外するかを指定します。
これらの設定後は、ポリシーが定義された例外を適切に処理しながらライセンスルールを適用するため、組織全体でライセンスコンプライアンスをきめ細かく制御できるようになります。

ユーザー招待機能の無効化
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
グループやプロジェクトにメンバーを招待する機能を制限できるようになりました。
- GitLab.comでは、Enterpriseユーザーを持つグループのオーナーがこの制限を設定でき、設定はトップレベルグループ内のサブグループやプロジェクトに適用されます。この招待制限が設定されると、どのユーザーも新しいメンバーを招待することはできません。
- GitLab Self-Managedの場合、この制限設定は管理者によって行われ、インスタンス全体に適用されます。その後も、管理者は引き続きユーザーを直接招待できます。
この機能は、組織がメンバーシップアクセスを厳格に管理したい場合に便利です。

ジョブトークンのきめ細かい権限管理がベータ版として登場
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
パイプラインセキュリティがさらに柔軟になりました。ジョブトークンはパイプライン内でリソースにアクセスするための一時的な認証情報です。トークンはこれまで、ユーザーから完全な権限を継承していたため、不必要に広範なアクセスが付与される事態が数多く発生していました。
新しく追加されたジョブトークンのきめ細かい権限ベータ機能により、プロジェクト内でジョブトークンがアクセスできる特定のリソースを正確に制御できるようになりました。これにより、CI/CDワークフローで最小権限の原則を実装し、各ジョブに対してタスクの実行に必要な最小アクセス権のみを設定できるようになります。
この機能について、コミュニティからのフィードバックをぜひお寄せください。ご質問や実装経験の共有、改善点に関して当社チームへのご意見がある場合は、フィードバックイシューをご確認ください。

ユーザーセッション最大長の制限
SaaS: -
Self-Managed: Free、Premium、Ultimate
管理者は、ユーザーセッションの最大有効期間を「最初のサインイン」から計算するか、または「最後のアクティビティー」から計算するかを選択できるになりました。ユーザーにはセッションが終了することが通知されますが、セッションの有効期限を変更したり、セッションを延長したりすることはできません。この機能はデフォルトで無効になっています。
この場を借りて、コントリビュートしてくれたJohn Parentさんに感謝します!
SAML証明書のSHA256サポート
SaaS: Premium、Ultimate
Self-Managed: Premium、Ultimate
GitLabは、グループSAML認証におけるSHA1およびSHA256の証明書フィンガープリントを自動的に検出し、サポートするようになりました。これにより、既存のSHA1フィンガープリントとの下位互換性が維持されるほか、より安全なSHA256フィンガープリントのサポートが追加されます。今回のアップグレードは、SHA256をデフォルト設定とする次世代ruby-saml 2.xに対応するための必須の対応となります。
すべてのユーザーが利用できる削除保留機能
SaaS: Free、Premium、Ultimate
Self-Managed: Free、Premium、Ultimate
プロジェクトとグループの削除保留機能が、Freeプランを含むすべてのGitLabユーザーに提供されるようになりました。この重要なセキュリティ機能は、削除されたグループやプロジェクトが完全に削除される前に、猶予期間(GitLab.comでは7日間)を設けるものです。この機能により、誤って削除した場合でも複雑な手順を踏まずに簡単に復元できるようになります。
データ保護を基盤機能として組み込むことで、大切なデータを消失リスクから守ります。

グループ、プロジェクト、ユーザーAPIのレート制限
SaaS: Free、Premium、Ultimate Self-Managed: -
すべてのユーザーに対してプラットフォームの安定性とパフォーマンスを向上させることを目的として、プロジェクト、グループ、ユーザーごとにAPIレート制限を追加しました。今回の変更は、当社のサービスに影響を与えているAPI通信の増加に対応するものです。
この制限は平均的な使用パターンに基づいて慎重に設定されており、ほとんどのユースケースにおいて十分な容量を提供するよう設計されています。制限を超えると、「429 Too Many Requests」(リクエスト過多)という応答が返されます。
特定のレート制限と実装情報の詳細については、関連のブログ記事をご覧ください。
実験的な機能
スケジュールされたパイプライン実行ポリシー
この実験的機能を有効にすると、カスタマイズされたCI/CDジョブやスクリプトを使い、定期スケジュールでパイプライン実行ポリシーをトリガーできます。主な特徴は以下のとおりです。
- スケジュールされたパイプラインでは、コンプライアンススクリプト、GitLabまたはサードパーティ製のセキュリティスキャン、その他のカスタムCI/CDジョブを強制実行できます。
- セキュリティおよびコンプライアンス要件を確実に満たすためのツールとして、スケジュールされたパイプラインを実行して日次、週次、月次のスケジュールでジョブを実行することができます。
- スケジュールされたパイプラインは、プロジェクトの
.gitlab-ci.yml
ファイルにジョブをインジェクトしたり強制したりせず、ダウンストリームのプロジェクトパイプラインに影響を与えません。 - 代わりに、これらのパイプラインを使用して、デフォルトブランチを定期的に対象とし、依存関係やプロジェクト構成、その他の要件を確認するといったアクションを実行できます。
実験を有効にするにはpolicy.yml
ファイルを作成するか、セキュリティポリシープロジェクトの既存のpolicy.yml
ファイルを変更してexperiments
属性を追加します。有効にすると、パイプライン実行ポリシーを設定できるようになります。このポリシーには、パイプライン実行ポリシーが適用されているすべてのプロジェクトでカスタムCI/CDジョブを実行するスケジュールが含まれます。
トリガーされるパイプライン実行ポリシーは複数作成できますが、セキュリティポリシープロジェクトごとに設定できるスケジュールされたパイプライン実行ポリシーは1件のみです。
詳細については、スケジュールされたパイプライン実行ポリシーを参照してください。
バグ修正、パフォーマンスの改善、UIの改善
GitLabでは、ユーザーに可能な限り最高の環境をお届けできるよう尽力しています。リリースのたびに、バグを修正し、パフォーマンスを改善し、UIを向上させるためにたゆまぬ努力を続けています。GitLabは、100万人を超えるGitLab.comユーザーをはじめ、GitLabのプラットフォームを利用するすべての人にスムーズでシームレスな体験をお届けすることを約束します。
18.0で提供されたすべてのバグ修正、パフォーマンスの強化、UI改善を確認するには、以下のリンクをクリックしてください。
非推奨事項
新たに非推奨になった機能、および現在非推奨になっているすべての機能の一覧は、GitLabドキュメントで確認できます。今後の破壊的な変更について通知を受け取るには、破壊的な変更のRSSフィードにサブスクライブしてください。
削除された機能と破壊的な変更
削除されたすべての機能の一覧は、GitLabドキュメントで確認できます。今後の破壊的な変更について通知を受け取るには、破壊的な変更のRSSフィードにサブスクライブしてください。
- APIディスカバリーはデフォルトでブランチパイプラインを使用するように
- アプリケーションセキュリティテスト(AST)アナライザーのメジャーバージョンをアップデート
- 「今後」および「開始済み」マイルストーンフィルタの動作を変更
- CI/CDジョブトークン - 「認証されたグループとプロジェクト」許可リストの強制適用
- CI/CDジョブトークン - 「プロジェクトからのアクセス制限」設定を削除
- DASTのdast_devtools_api_timeoutのデフォルト値引き下げ
- 依存関係プロキシトークンのスコープ強制
- Terraform CI/CD テンプレートを非推奨化
- ライセンスメタデータ形式 V1 を非推奨化
- GraphQL APIのNamespaceProjectSortEnumにおけるSTORAGE列挙型を非推奨化
- GraphQL APIのProjectMonthlyUsageType におけるnameフィールドを非推奨化
- GitLab NGINXチャートコントローラーイメージv1.3.1のフォールバックサポート
- Gitalyストレージを設定するためのgit_data_dirs
- 従来のWeb IDEを非推奨化
- スキャン実行ポリシーごとに許可されるアクションの数を制限
- スキャン実行ポリシーにおけるscanアクションを制限
- Prometheusサブチャートのメジャーアップデート
- GitLab.comでの脆弱性データ保持期間の新しい制限
- PostgreSQL 14および15はサポートされなくなります
- Raspberry Pi 32 ビットパッケージを非推奨化
- allowed_pull_policies に含まれないコンテナイメージのプルポリシーを拒否
- duoProAssignedUsersCount GraphQL フィールドを削除
- GraphQL フィールドadd_on_purchaseをadd_on_purchasesに置き換え
- ネームスペースのGraphQL フィールドadd_on_purchaseをadd_on_purchasesに置き換え
- SUSE Linux Enterprise Server 15 SP2をサポート
- ciJobTokenScopeRemoveProjectのGraphQL 引数directionを非推奨化
- APIでの注釈の機密性切り替え
変更履歴
変更内容をすべて表示するには、次のページから変更履歴を確認してください。
インストール
GitLabを新規にインストールする場合は、GitLabのダウンロードページをご覧ください。
更新事項
更新ページをご覧ください。
ご不明な点がある場合
ご質問やご意見をお聞かせください。本リリースについてご不明な点がある場合は、GitLabフォーラムにアクセスして質問を投稿してください。
GitLabサブスクリプションプラン
GitLabのすべての機能を無料トライアル でお試しいただけます。
監修:ソリス ジェレズ / Jerez Solis @jerezs
(GitLab合同会社 ソリューションアーキテクト本部 ソリューションアーキテクト)