git: 026f9406a9b9 - 2026Q1 - www/gitlab: major update to 18.10.0

From: Matthias Fechner <mfechner_at_FreeBSD.org>
Date: Sun, 29 Mar 2026 19:02:32 UTC
The branch 2026Q1 has been updated by mfechner:

URL: https://cgit.FreeBSD.org/ports/commit/?id=026f9406a9b9f58013794ad987a66ac1023a9c1b

commit 026f9406a9b9f58013794ad987a66ac1023a9c1b
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2026-03-22 06:21:35 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2026-03-29 18:45:29 +0000

    www/gitlab: major update to 18.10.0
    
    Changes:        https://about.gitlab.com/releases/2026/03/19/gitlab-18-10-released/
    (cherry picked from commit f2d67ce4c23c8401fd12235e06f5396ae2170c38)
---
 devel/gitaly/distinfo                            |  26 +++---
 devel/gitlab-shell/Makefile                      |   3 +-
 devel/gitlab-shell/distinfo                      |  10 +--
 net/gitlab-agent/distinfo                        |  10 +--
 www/gitlab-pages/distinfo                        |  10 +--
 www/gitlab-workhorse/distinfo                    |  10 +--
 www/gitlab/Makefile                              | 101 ++++++++++++-----------
 www/gitlab/Makefile.common                       |   6 +-
 www/gitlab/distinfo                              |  12 +--
 www/gitlab/files/patch-Gemfile                   |  21 +++--
 www/gitlab/files/patch-config_gitlab.yml.example |  20 ++---
 www/gitlab/pkg-message                           |   4 +-
 12 files changed, 116 insertions(+), 117 deletions(-)

diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index 11156860868e..2bbb9e98da5f 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,13 +1,13 @@
-TIMESTAMP = 1773244824
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/go.mod) = 84778c06eba46e5d5dc3749aed3bff7868dd14d64d203be2f4289d5fa6f9c843
-SIZE (go/devel_gitaly/gitaly-v18.9.2/go.mod) = 13804
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/gitaly-v18.9.2.tar.bz2) = 6a84862e280fdac515e069267e39093b727b99e3305aea256eb781fe37fda5f6
-SIZE (go/devel_gitaly/gitaly-v18.9.2/gitaly-v18.9.2.tar.bz2) = 4654874
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/git-v2.50.0.tar.bz2) = 33e44c038ae6b3ff526e6927c2c6ff1658fd7f3c7334b079c019fa08f8ab20e4
-SIZE (go/devel_gitaly/gitaly-v18.9.2/git-v2.50.0.tar.bz2) = 9249878
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/gitlab-org-git-83a69f19359e6d9bc980563caca38b2b5729808c_GL0.tar.gz) = c0a106abff03bd587f4f4060e6ea8d85b5a282466da2e01d6e6002068e45a0a3
-SIZE (go/devel_gitaly/gitaly-v18.9.2/gitlab-org-git-83a69f19359e6d9bc980563caca38b2b5729808c_GL0.tar.gz) = 11946944
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/gitlab-org-git-aea8cc3a10c325a22a75e2d4f582db959d3854ae_GL0.tar.gz) = d7cb6a43a72e1ebe2369964727a0dfc55ce07bde0214703ed6c156127bb51889
-SIZE (go/devel_gitaly/gitaly-v18.9.2/gitlab-org-git-aea8cc3a10c325a22a75e2d4f582db959d3854ae_GL0.tar.gz) = 11920888
-SHA256 (go/devel_gitaly/gitaly-v18.9.2/8309.patch) = 90377ee1d14ec92e69dd97ad6d7c1d2bcce1c05fdf6095f04d51780b22cd65c7
-SIZE (go/devel_gitaly/gitaly-v18.9.2/8309.patch) = 1285
+TIMESTAMP = 1774160373
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/go.mod) = dab7ea26b0ae73c109e904d853d3429a1afa94421a8770ea01fb83128e33f61c
+SIZE (go/devel_gitaly/gitaly-v18.10.0/go.mod) = 13978
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/gitaly-v18.10.0.tar.bz2) = 98f5ae8623a5aa32a717cea7769c85ba1e4820967e01758a5705a8f675968ad7
+SIZE (go/devel_gitaly/gitaly-v18.10.0/gitaly-v18.10.0.tar.bz2) = 4699475
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/git-v2.50.0.tar.bz2) = 33e44c038ae6b3ff526e6927c2c6ff1658fd7f3c7334b079c019fa08f8ab20e4
+SIZE (go/devel_gitaly/gitaly-v18.10.0/git-v2.50.0.tar.bz2) = 9249878
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/gitlab-org-git-e417bf2996fbd77acabbf354ed9b5adedacf91c9_GL0.tar.gz) = afbeed5c85fae32fa2eb68b6d53c5f3aff6ac2fb89c8420d601f0755695e4c3e
+SIZE (go/devel_gitaly/gitaly-v18.10.0/gitlab-org-git-e417bf2996fbd77acabbf354ed9b5adedacf91c9_GL0.tar.gz) = 11990547
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/gitlab-org-git-c61120cf654250ac63bdcb5d5ee0bbb9caeae9cd_GL0.tar.gz) = a6eb9a6d8bf6ac845972279db187907e2d576d19facb47d9eaa18f92c5fd8335
+SIZE (go/devel_gitaly/gitaly-v18.10.0/gitlab-org-git-c61120cf654250ac63bdcb5d5ee0bbb9caeae9cd_GL0.tar.gz) = 11975656
+SHA256 (go/devel_gitaly/gitaly-v18.10.0/8309.patch) = 90377ee1d14ec92e69dd97ad6d7c1d2bcce1c05fdf6095f04d51780b22cd65c7
+SIZE (go/devel_gitaly/gitaly-v18.10.0/8309.patch) = 1285
diff --git a/devel/gitlab-shell/Makefile b/devel/gitlab-shell/Makefile
index 54c95553ee2d..7b040934b9c1 100644
--- a/devel/gitlab-shell/Makefile
+++ b/devel/gitlab-shell/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-shell
-PORTVERSION=	14.45.6
+PORTVERSION=	14.47.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/devel/gitlab-shell/distinfo b/devel/gitlab-shell/distinfo
index 8bec2e81519e..56f609cc44e4 100644
--- a/devel/gitlab-shell/distinfo
+++ b/devel/gitlab-shell/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1771566621
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.45.6/go.mod) = 7431451ca42d6a9a893605649f10d1df56e4ab2cfb42194a5a8444fa4a797a9c
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.45.6/go.mod) = 6035
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.45.6/gitlab-shell-v14.45.6.tar.bz2) = 3c089a4156d1fc3a749314377cab89b84b487a27447477c3041b3be1190f0be4
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.45.6/gitlab-shell-v14.45.6.tar.bz2) = 173198
+TIMESTAMP = 1773988591
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.47.0/go.mod) = 5336966b1bae3f54113ff2600013e6548d7c13a500b3561d4a2278100b8b7e1c
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.47.0/go.mod) = 6762
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.47.0/gitlab-shell-v14.47.0.tar.bz2) = 5303b81ad8c784018f1d13d3078c420a08f86c09ff3b7b5a2405c5a94956b145
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.47.0/gitlab-shell-v14.47.0.tar.bz2) = 176262
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index 81ce0fe05c54..cacaa4efbbbc 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1773244826
-SHA256 (go/net_gitlab-agent/gitlab-agent-v18.9.2/v18.9.2.mod) = 120b313b3197413e9833596ba0377d0fc1126717bd0b3bf407d5b50f2d9a46a1
-SIZE (go/net_gitlab-agent/gitlab-agent-v18.9.2/v18.9.2.mod) = 9324
-SHA256 (go/net_gitlab-agent/gitlab-agent-v18.9.2/v18.9.2.zip) = f2e2e08c43c4ea380f7d9feca285663269d3e56505e65b1c03b96be717c99d54
-SIZE (go/net_gitlab-agent/gitlab-agent-v18.9.2/v18.9.2.zip) = 1887898
+TIMESTAMP = 1773920462
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.10.0/v18.10.0.mod) = 0e8f6064fdfeea47a7e7f80177e6e243bc7d8782e8375f373c30f8fa893d9097
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.10.0/v18.10.0.mod) = 9113
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.10.0/v18.10.0.zip) = 893be6f9aad572c7bcbcf912c1b0eb6545785278936b59e542a4608a8914c065
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.10.0/v18.10.0.zip) = 1905866
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index 2385c82a14c7..a80f304eda98 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1773244828
-SHA256 (go/www_gitlab-pages/gitlab-pages-v18.9.2/go.mod) = 8bc5ad61abb3a5a6d07a64652460587511671a82c104cf5997806b5d609a8dd6
-SIZE (go/www_gitlab-pages/gitlab-pages-v18.9.2/go.mod) = 3523
-SHA256 (go/www_gitlab-pages/gitlab-pages-v18.9.2/gitlab-pages-v18.9.2.tar.bz2) = 42f4082f646a86c4dadc0eb7aed8aff2111b748481ca3980280c7c10bd99323a
-SIZE (go/www_gitlab-pages/gitlab-pages-v18.9.2/gitlab-pages-v18.9.2.tar.bz2) = 237695
+TIMESTAMP = 1773920466
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.10.0/go.mod) = 11961afed883951b41907bba936149f45e0dab3217730080cdc3e1029a9643aa
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.10.0/go.mod) = 3523
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.10.0/gitlab-pages-v18.10.0.tar.bz2) = fba261b681578dd0cd58c78972cf7568f547114adfaaff730b2f0489381b91f5
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.10.0/gitlab-pages-v18.10.0.tar.bz2) = 238234
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index 546094059973..ef9a88448722 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1773244841
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.9.2/go.mod) = 48c3fe49bf02168a521eea8722a662c70ca6c76a711db8251ce9d2db2d11fc04
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.9.2/go.mod) = 10249
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.9.2/gitlab-foss-v18.9.2.tar.bz2) = a4457065b3c7905ab76781d9e3802184bc7f8c3f57e9f7ec3ea4c37478ee8257
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.9.2/gitlab-foss-v18.9.2.tar.bz2) = 132383818
+TIMESTAMP = 1773920510
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.10.0/go.mod) = f7fa397c4a00d52058cf8604cc36442d4c0179ed02eb1c679d95653abe47d365
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.10.0/go.mod) = 12563
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.10.0/gitlab-foss-v18.10.0.tar.bz2) = 7f3e5169833a2a7bf0acdee38011be6cb47c2c5fa43e15e1bd84a8a33b92f4e0
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.10.0/gitlab-foss-v18.10.0.tar.bz2) = 134822029
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index e616015b98b5..7af9e12a705f 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -34,9 +34,9 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	gitlab-elasticsearch-indexer>=5.13.3:textproc/gitlab-elasticsearch-indexer \
 	gitlab-agent>=${GITLAB_VERSION}:net/gitlab-agent \
 	gitlab-pages>=${GITLAB_VERSION}:www/gitlab-pages \
-	gitlab-shell>=14.45.6:devel/gitlab-shell \
+	gitlab-shell>=14.47.0:devel/gitlab-shell \
 	gitlab-workhorse>=${GITLAB_VERSION}:www/gitlab-workhorse \
-	gitlab-zoekt-indexer>=1.8.0:textproc/gitlab-zoekt-indexer \
+	gitlab-zoekt-indexer>=1.11.0:textproc/gitlab-zoekt-indexer \
 	redis>=6.2.11:databases/redis \
 	yarn-node20>=1.10.0:www/yarn-node20 \
 	gtar>0:archivers/gtar \
@@ -51,18 +51,18 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-bootsnap-gitlab>=1.18.6<1.19:devel/rubygem-bootsnap-gitlab \
 	rubygem-ffi>=1.17.3<2:devel/rubygem-ffi \
 	rubygem-openssl3>=3.3.2<3.4:security/rubygem-openssl3 \
-	rubygem-gitlab-secret_detection>=0.39.1<1:security/rubygem-gitlab-secret_detection \
+	rubygem-gitlab-secret_detection>=0.39.3<1:security/rubygem-gitlab-secret_detection \
 	rubygem-responders-rails-gitlab>=3.0<4.0:www/rubygem-responders-rails-gitlab \
 	rubygem-sprockets-gitlab>=3.7.5<3.8:devel/rubygem-sprockets-gitlab \
 	rubygem-sprockets-rails-rails-gitlab>=3.5.2<3.6:devel/rubygem-sprockets-rails-rails-gitlab \
 	rubygem-view_component-rails-gitlab>=3.23.2<3.24:devel/rubygem-view_component-rails-gitlab \
 	rubygem-pg-gitlab>=1.6.3<1.7:databases/rubygem-pg-gitlab \
-	rubygem-rugged>=1.6<2:devel/rubygem-rugged \
+	rubygem-rugged>=1.9<2:devel/rubygem-rugged \
 	rubygem-faraday-gitlab>=2.13.4<3:www/rubygem-faraday-gitlab \
 	rubygem-faraday-retry-gitlab>=2<3:www/rubygem-faraday-retry-gitlab \
 	rubygem-logger-gitlab>=1.7.0<1.8:devel/rubygem-logger-gitlab \
 	rubygem-marginalia>=1.11.1<1.12:databases/rubygem-marginalia \
-	rubygem-declarative_policy>=2.0.1<2.1:security/rubygem-declarative_policy \
+	rubygem-declarative_policy>=2.1.0<2.2:security/rubygem-declarative_policy \
 	rubygem-coverband>=6.1.7<6.2:www/rubygem-coverband \
 	rubygem-devise-rails-gitlab>=4.9.3<4.10:devel/rubygem-devise-rails-gitlab \
 	rubygem-bcrypt>=3.1.21<3.2:security/rubygem-bcrypt \
@@ -71,7 +71,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-doorkeeper-device_authorization_grant>=1.0.0<1.1:security/rubygem-doorkeeper-device_authorization_grant \
 	rubygem-rexml>=3.4.4<3.5:textproc/rubygem-rexml \
 	rubygem-ruby-saml-gitlab>=1.18.1<2:security/rubygem-ruby-saml-gitlab \
-	rubygem-omniauth-saml-gitlab>=2.2.4<3:security/rubygem-omniauth-saml-gitlab \
+	rubygem-omniauth-saml-gitlab>=2.2.5<3:security/rubygem-omniauth-saml-gitlab \
 	rubygem-omniauth-gl>=2.1.3<3:security/rubygem-omniauth-gl \
 	rubygem-omniauth-auth0-gitlab>=3.1.1<3.2.0:net/rubygem-omniauth-auth0-gitlab \
 	rubygem-omniauth-azure-activedirectory-v2>=2.0<3:net/rubygem-omniauth-azure-activedirectory-v2 \
@@ -98,7 +98,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-acme-client-gitlab>=2.0.30<3:security/rubygem-acme-client-gitlab \
 	rubygem-browser5>=5.3.1<5.4:www/rubygem-browser5 \
 	rubygem-ohai>=19.1.6<19.2:sysutils/rubygem-ohai \
-	rubygem-gpgme>=2.0.25<2.1.0:security/rubygem-gpgme \
+	rubygem-gpgme>=2.0.26<2.1.0:security/rubygem-gpgme \
 	rubygem-gitlab_omniauth-ldap-gitlab>=2.3.0<2.4.0:net/rubygem-gitlab_omniauth-ldap-gitlab \
 	rubygem-net-ldap>=0.20.0<0.21:net/rubygem-net-ldap \
 	rubygem-grape20>=2.0.0<2.1:devel/rubygem-grape20 \
@@ -108,7 +108,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-grape-path-helpers>=2.0.1<2.1:devel/rubygem-grape-path-helpers \
 	rubygem-rack-cors>=2.0.1<2.1:www/rubygem-rack-cors \
 	rubygem-graphql>=2.5.11<2.6:devel/rubygem-graphql \
-	rubygem-apollo_upload_server>=2.1.7<2.2:net/rubygem-apollo_upload_server \
+	rubygem-apollo_upload_server>=2.1.8<2.2:net/rubygem-apollo_upload_server \
 	rubygem-ffaker>=2.25.0<3:devel/rubygem-ffaker \
 	rubygem-hashie-gitlab>=5.0.0<5.1:devel/rubygem-hashie-gitlab \
 	rubygem-kaminari-rails-gitlab>=1.2.2<1.3:www/rubygem-kaminari-rails-gitlab \
@@ -120,7 +120,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-prawn-svg>=0:print/rubygem-prawn-svg \
 	rubygem-fog-aws-gitlab>=3.28.0<4:net/rubygem-fog-aws-gitlab \
 	rubygem-fog-core-gitlab>=2.5<3:devel/rubygem-fog-core-gitlab \
-	rubygem-fog-google-gitlab>=1.29.3<2:net/rubygem-fog-google-gitlab \
+	rubygem-fog-google-gitlab>=1.29.4<2:net/rubygem-fog-google-gitlab \
 	rubygem-fog-local-gitlab>=0.8<1.0:net/rubygem-fog-local-gitlab \
 	rubygem-fog-aliyun-gitlab>=0.4<1.0:net/rubygem-fog-aliyun-gitlab \
 	rubygem-gitlab-fog-azure-rm>=2.4.0<2.5:net/rubygem-gitlab-fog-azure-rm \
@@ -143,9 +143,9 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-elasticsearch-model-gitlab>=7.2<8:textproc/rubygem-elasticsearch-model-gitlab \
 	rubygem-elasticsearch-rails7>=7.2<8:textproc/rubygem-elasticsearch-rails7 \
 	rubygem-elasticsearch-api-gitlab>=7.17.11<7.18:textproc/rubygem-elasticsearch-api-gitlab \
-	rubygem-aws-sdk-core-gitlab>=3.226.3<3.227:devel/rubygem-aws-sdk-core-gitlab \
+	rubygem-aws-sdk-core-gitlab>=3.242.0<3.243:devel/rubygem-aws-sdk-core-gitlab \
 	rubygem-aws-sdk-cloudformation-gitlab>=1.134<2:devel/rubygem-aws-sdk-cloudformation-gitlab \
-	rubygem-aws-sdk-s3-gitlab>=1.193.0<1.194:devel/rubygem-aws-sdk-s3-gitlab \
+	rubygem-aws-sdk-s3-gitlab>=1.213.0<1.214:devel/rubygem-aws-sdk-s3-gitlab \
 	rubygem-faraday-typhoeus-gitlab>=1.1<2:www/rubygem-faraday-typhoeus-gitlab \
 	rubygem-faraday_middleware-aws-sigv4-gitlab>=1.0.1<1.1:devel/rubygem-faraday_middleware-aws-sigv4-gitlab \
 	rubygem-typhoeus-gitlab>=1.4.0<1.5:www/rubygem-typhoeus-gitlab \
@@ -163,15 +163,15 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-asciidoctor-kroki>=0.10.0<0.11:textproc/rubygem-asciidoctor-kroki \
 	rubygem-rouge-gitlab>=4.7.0<4.8:textproc/rubygem-rouge-gitlab \
 	rubygem-truncato>=0.7.13<0.8.0:textproc/rubygem-truncato \
-	rubygem-nokogiri>=1.19.0<2:textproc/rubygem-nokogiri \
+	rubygem-nokogiri>=1.19.1<2:textproc/rubygem-nokogiri \
 	rubygem-gitlab-glfm-markdown>=0.0.41<0.1:textproc/rubygem-gitlab-glfm-markdown \
 	rubygem-tanuki_emoji>=0.13<1:graphics/rubygem-tanuki_emoji \
 	rubygem-unicode-emoji>=4.0.4<5:devel/rubygem-unicode-emoji \
 	rubygem-icalendar-gitlab>=2.10.3<2.11:devel/rubygem-icalendar-gitlab \
 	rubygem-diffy>=3.4.4<4:textproc/rubygem-diffy \
-	rubygem-rack22>=2.2.20,3<2.3,3:www/rubygem-rack22 \
+	rubygem-rack22>=2.2.22,3<2.3,3:www/rubygem-rack22 \
 	rubygem-rack-timeout>=0.7.0<0.8:www/rubygem-rack-timeout \
-	rubygem-puma-gitlab>=7.1<8:www/rubygem-puma-gitlab \
+	rubygem-puma-gitlab>=7.2<8:www/rubygem-puma-gitlab \
 	rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
 	rubygem-state_machines-activerecord-gitlab>=0.100.0<0.101.0:databases/rubygem-state_machines-activerecord-gitlab \
 	rubygem-sidekiq-gitlab>=7.3.9:devel/rubygem-sidekiq-gitlab \
@@ -189,7 +189,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-redis-client>=0.26.4<1:databases/rubygem-redis-client \
 	rubygem-redis-cluster-client>=0.13.5<1:databases/rubygem-redis-cluster-client \
 	rubygem-redis-clustering-gitlab>=5.4.1<5.5:databases/rubygem-redis-clustering-gitlab \
-	rubygem-connection_pool>=2.5.4<2.6:net/rubygem-connection_pool \
+	rubygem-connection_pool>=2.5.5<2.6:net/rubygem-connection_pool \
 	rubygem-redis-actionpack-rails-gitlab>=5.5.0<5.6:databases/rubygem-redis-actionpack-rails-gitlab \
 	rubygem-jira-ruby-gitlab>=2.3.0<2.4:devel/rubygem-jira-ruby-gitlab \
 	rubygem-atlassian-jwt>=0.2.1<0.3.0:www/rubygem-atlassian-jwt \
@@ -209,7 +209,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-rack-proxy>=0.7.7<0.8.0:www/rubygem-rack-proxy \
 	rubygem-cssbundling-rails-rails-gitlab>=1.4.3<1.5:www/rubygem-cssbundling-rails-rails-gitlab \
 	rubygem-terser>=1.0.2<1.0.3:textproc/rubygem-terser \
-	rubygem-click_house-client>=0.8.7<0.9:databases/rubygem-click_house-client \
+	rubygem-click_house-client>=0.8.8<0.9:databases/rubygem-click_house-client \
 	rubygem-addressable>=2.8<3:www/rubygem-addressable \
 	rubygem-gon-rails-gitlab>=6.5.0<6.6:www/rubygem-gon-rails-gitlab \
 	rubygem-request_store>=1.7.0<1.8:devel/rubygem-request_store \
@@ -221,7 +221,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-sentry-sidekiq>=5.23.0<5.24:devel/rubygem-sentry-sidekiq \
 	rubygem-pg_query>=6.2.2<6.3:databases/rubygem-pg_query \
 	rubygem-premailer-rails-rails-gitlab>=1.12.0<1.13:mail/rubygem-premailer-rails-rails-gitlab \
-	rubygem-gitlab-labkit>=1.3.4<1.4:devel/rubygem-gitlab-labkit \
+	rubygem-gitlab-labkit>=1.5.1<1.6:devel/rubygem-gitlab-labkit \
 	rubygem-thrift>=0.22.0,1<0.23,1:devel/rubygem-thrift \
 	rubygem-rails-i18n-rails-gitlab>=7.0.9<8:devel/rubygem-rails-i18n-rails-gitlab \
 	rubygem-gettext_i18n_rails>=1.13.0<1.14:devel/rubygem-gettext_i18n_rails \
@@ -237,29 +237,29 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-gitlab-security_report_schemas>=0.1.3.min15.0.0.max15.2.3<0.1.3.min15.0.0.max15.2.4:devel/rubygem-gitlab-security_report_schemas \
 	rubygem-vite_rails-gitlab>=3.0.17<3.1:devel/rubygem-vite_rails-gitlab \
 	rubygem-vite_ruby-gitlab>=3.9.0<3.10:devel/rubygem-vite_ruby-gitlab \
-	rubygem-opentelemetry-sdk>=1.5.0:devel/rubygem-opentelemetry-sdk \
-	rubygem-opentelemetry-exporter-otlp>=0.29.1:devel/rubygem-opentelemetry-exporter-otlp \
-	rubygem-opentelemetry-instrumentation-active_support>=0.6.0:devel/rubygem-opentelemetry-instrumentation-active_support \
-	rubygem-opentelemetry-instrumentation-action_pack>=0.10.0:devel/rubygem-opentelemetry-instrumentation-action_pack \
-	rubygem-opentelemetry-instrumentation-active_job>=0.7.7:devel/rubygem-opentelemetry-instrumentation-active_job \
-	rubygem-opentelemetry-instrumentation-active_record>=0.8.1:devel/rubygem-opentelemetry-instrumentation-active_record \
-	rubygem-opentelemetry-instrumentation-action_view>=0.7.2:devel/rubygem-opentelemetry-instrumentation-action_view \
-	rubygem-opentelemetry-instrumentation-aws_sdk>=0.5.4:devel/rubygem-opentelemetry-instrumentation-aws_sdk \
-	rubygem-opentelemetry-instrumentation-http>=0.23.4:devel/rubygem-opentelemetry-instrumentation-http \
-	rubygem-opentelemetry-instrumentation-concurrent_ruby>=0.21.4:devel/rubygem-opentelemetry-instrumentation-concurrent_ruby \
-	rubygem-opentelemetry-instrumentation-ethon>=0.21.9:devel/rubygem-opentelemetry-instrumentation-ethon \
-	rubygem-opentelemetry-instrumentation-excon>=0.22.5:devel/rubygem-opentelemetry-instrumentation-excon \
-	rubygem-opentelemetry-instrumentation-faraday>=0.24.7:devel/rubygem-opentelemetry-instrumentation-faraday \
-	rubygem-opentelemetry-instrumentation-grape>=0.2.0:devel/rubygem-opentelemetry-instrumentation-grape \
-	rubygem-opentelemetry-instrumentation-graphql>=0.28.4:devel/rubygem-opentelemetry-instrumentation-graphql \
-	rubygem-opentelemetry-instrumentation-http_client>=0.22.8:devel/rubygem-opentelemetry-instrumentation-http_client \
-	rubygem-opentelemetry-instrumentation-net_http>=0.22.8:devel/rubygem-opentelemetry-instrumentation-net_http \
-	rubygem-opentelemetry-instrumentation-pg>=0.29.1:devel/rubygem-opentelemetry-instrumentation-pg \
-	rubygem-opentelemetry-instrumentation-rack>=0.24.6:devel/rubygem-opentelemetry-instrumentation-rack \
-	rubygem-opentelemetry-instrumentation-rails>=0.33.1:devel/rubygem-opentelemetry-instrumentation-rails \
-	rubygem-opentelemetry-instrumentation-rake>=0.2.1:devel/rubygem-opentelemetry-instrumentation-rake \
-	rubygem-opentelemetry-instrumentation-redis>=0.25.7:devel/rubygem-opentelemetry-instrumentation-redis \
-	rubygem-opentelemetry-instrumentation-sidekiq>=0.25.7:devel/rubygem-opentelemetry-instrumentation-sidekiq \
+	rubygem-opentelemetry-sdk-gitlab>=1.10.0:devel/rubygem-opentelemetry-sdk-gitlab \
+	rubygem-opentelemetry-exporter-otlp-gitlab>=0.31.1:devel/rubygem-opentelemetry-exporter-otlp-gitlab \
+	rubygem-opentelemetry-instrumentation-active_support-gitlab>=0.10.0:devel/rubygem-opentelemetry-instrumentation-active_support-gitlab \
+	rubygem-opentelemetry-instrumentation-action_pack-gitlab>=0.15.1:devel/rubygem-opentelemetry-instrumentation-action_pack-gitlab \
+	rubygem-opentelemetry-instrumentation-active_job-gitlab>=0.10.1:devel/rubygem-opentelemetry-instrumentation-active_job-gitlab \
+	rubygem-opentelemetry-instrumentation-active_record-gitlab>=0.11.1:devel/rubygem-opentelemetry-instrumentation-active_record-gitlab \
+	rubygem-opentelemetry-instrumentation-action_view-gitlab>=0.7.2:devel/rubygem-opentelemetry-instrumentation-action_view-gitlab \
+	rubygem-opentelemetry-instrumentation-aws_sdk-gitlab>=0.5.4:devel/rubygem-opentelemetry-instrumentation-aws_sdk-gitlab \
+	rubygem-opentelemetry-instrumentation-http-gitlab>=0.23.4:devel/rubygem-opentelemetry-instrumentation-http-gitlab \
+	rubygem-opentelemetry-instrumentation-concurrent_ruby-gitlab>=0.24.0:devel/rubygem-opentelemetry-instrumentation-concurrent_ruby-gitlab \
+	rubygem-opentelemetry-instrumentation-ethon-gitlab>=0.26.0:devel/rubygem-opentelemetry-instrumentation-ethon-gitlab \
+	rubygem-opentelemetry-instrumentation-excon-gitlab>=0.26.1:devel/rubygem-opentelemetry-instrumentation-excon-gitlab \
+	rubygem-opentelemetry-instrumentation-faraday-gitlab>=0.30.1:devel/rubygem-opentelemetry-instrumentation-faraday-gitlab \
+	rubygem-opentelemetry-instrumentation-grape-gitlab>=0.5.0:devel/rubygem-opentelemetry-instrumentation-grape-gitlab \
+	rubygem-opentelemetry-instrumentation-graphql-gitlab>=0.31.2:devel/rubygem-opentelemetry-instrumentation-graphql-gitlab \
+	rubygem-opentelemetry-instrumentation-http_client-gitlab>=0.26.1:devel/rubygem-opentelemetry-instrumentation-http_client-gitlab \
+	rubygem-opentelemetry-instrumentation-net_http-gitlab>=0.26.1:devel/rubygem-opentelemetry-instrumentation-net_http-gitlab \
+	rubygem-opentelemetry-instrumentation-pg-gitlab>=0.34.1:devel/rubygem-opentelemetry-instrumentation-pg-gitlab \
+	rubygem-opentelemetry-instrumentation-rack-gitlab>=0.29.0:devel/rubygem-opentelemetry-instrumentation-rack-gitlab \
+	rubygem-opentelemetry-instrumentation-rails-gitlab>=0.39.1:devel/rubygem-opentelemetry-instrumentation-rails-gitlab \
+	rubygem-opentelemetry-instrumentation-rake-gitlab>=0.5.0:devel/rubygem-opentelemetry-instrumentation-rake-gitlab \
+	rubygem-opentelemetry-instrumentation-redis-gitlab>=0.28.0:devel/rubygem-opentelemetry-instrumentation-redis-gitlab \
+	rubygem-opentelemetry-instrumentation-sidekiq-gitlab>=0.28.1:devel/rubygem-opentelemetry-instrumentation-sidekiq-gitlab \
 	rubygem-warning>=1.5.0<1.6:devel/rubygem-warning \
 	rubygem-git>=1.19.1<2:devel/rubygem-git \
 	rubygem-gitlab-dangerfiles>=4.10.0<4.11:devel/rubygem-gitlab-dangerfiles \
@@ -267,10 +267,10 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-rspec>=3.0<4:devel/rubygem-rspec \
 	rubygem-octokit-gitlab>=9.0<10:net/rubygem-octokit-gitlab \
 	rubygem-faraday-multipart>=1.1.1<2:www/rubygem-faraday-multipart \
-	rubygem-gitlab-mail_room>=0.1.0<0.2.0:mail/rubygem-gitlab-mail_room \
+	rubygem-gitlab-mail_room>=1.0.0<1.1.0:mail/rubygem-gitlab-mail_room \
 	rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
 	rubygem-html2text>=0.4.0:textproc/rubygem-html2text \
-	rubygem-stackprof>=0.2.27<0.3:devel/rubygem-stackprof \
+	rubygem-stackprof>=0.2.28<0.3:devel/rubygem-stackprof \
 	rubygem-rbtrace>=0.5.3<1.0:devel/rubygem-rbtrace \
 	rubygem-memory_profiler>=1.1.0<2.0:devel/rubygem-memory_profiler \
 	rubygem-oauth2-gitlab>=2.0.10<3:net/rubygem-oauth2-gitlab \
@@ -280,16 +280,17 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-net-ntp>0:net/rubygem-net-ntp \
 	rubygem-ssh_data>=2.0<3:security/rubygem-ssh_data \
 	rubygem-spamcheck>=1.3.3<1.4:net/rubygem-spamcheck \
-	rubygem-gitaly>=18.8.1:net/rubygem-gitaly \
+	rubygem-gitaly>=18.8.3:net/rubygem-gitaly \
 	rubygem-gitlab-kas-grpc>=${GITLAB_KAS_GRPC_VERSION}:net/rubygem-gitlab-kas-grpc \
-	rubygem-grpc-gitlab>=1.76.0<1.77:net/rubygem-grpc-gitlab \
+	rubygem-gitlab-gkg-proto>=0.7.0<0.8:net/rubygem-gitlab-gkg-proto \
+	rubygem-grpc-gitlab>=1.78.1<1.79:net/rubygem-grpc-gitlab \
 	rubygem-google-protobuf>=3.25.8<5:devel/rubygem-google-protobuf \
 	rubygem-toml-rb>=4.1<5:www/rubygem-toml-rb \
 	rubygem-flipper-gitlab>=1.3.6<1.4:devel/rubygem-flipper-gitlab \
 	rubygem-flipper-active_record-rails-gitlab>=1.3.6<1.4:databases/rubygem-flipper-active_record-rails-gitlab \
 	rubygem-flipper-active_support_cache_store-rails-gitlab>=1.3.6<1.4:devel/rubygem-flipper-active_support_cache_store-rails-gitlab \
 	rubygem-unleash>=3.2.2<3.3:devel/rubygem-unleash \
-	rubygem-gitlab-experiment>=1.2.0<1.3:devel/rubygem-gitlab-experiment \
+	rubygem-gitlab-experiment>=1.3.0<1.4:devel/rubygem-gitlab-experiment \
 	rubygem-lograge-rails-gitlab>=0.11.2<1.0:www/rubygem-lograge-rails-gitlab \
 	rubygem-grape_logging-gitlab>=1.8.4<2.0:devel/rubygem-grape_logging-gitlab \
 	rubygem-gitlab-net-dns>=0.15.0<0.16:dns/rubygem-gitlab-net-dns \
@@ -302,15 +303,15 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-jsonb_accessor>=1.4<2:www/rubygem-jsonb_accessor \
 	rubygem-json-gitlab>=2.13.1<2.14:devel/rubygem-json-gitlab \
 	rubygem-json_schemer>=2.3.0<2.4:devel/rubygem-json_schemer \
-	rubygem-oj>=3.16.13<3.17:devel/rubygem-oj \
-	rubygem-oj-introspect>=0.8<1:devel/rubygem-oj-introspect \
+	rubygem-oj-gitlab>=3.16.16<3.17:devel/rubygem-oj-gitlab \
+	rubygem-oj-introspect>=0.9<1:devel/rubygem-oj-introspect \
 	rubygem-multi_json-gitlab>=1.17.0<1.18:devel/rubygem-multi_json-gitlab \
 	rubygem-yajl-ruby>=1.4.3<1.5:devel/rubygem-yajl-ruby \
 	rubygem-webauthn>=3.0<4:security/rubygem-webauthn \
 	rubygem-ipaddress>=0.8.3<0.9:net/rubygem-ipaddress \
 	rubygem-parslet1>=1.8<2:textproc/rubygem-parslet1 \
 	rubygem-ed25519>=1.4.0<1.5:security/rubygem-ed25519 \
-	rubygem-cvss-suite>=3.3.0<3.4:security/rubygem-cvss-suite \
+	rubygem-cvss-suite>=4.1.2<4.2:security/rubygem-cvss-suite \
 	rubygem-arr-pm>=0.0.12<0.1:devel/rubygem-arr-pm \
 	rubygem-devfile>=0.5.0<0.6:net/rubygem-devfile \
 	rubygem-hashdiff>=1.2.1<1.3:devel/rubygem-hashdiff \
@@ -326,9 +327,9 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-gitlab-sdk>=0.3.0<0.4:devel/rubygem-gitlab-sdk \
 	rubygem-paper_trail>=16.0<17:devel/rubygem-paper_trail \
 	rubygem-i18n_data>=0.13.1<1:devel/rubygem-i18n_data \
-	rubygem-gitlab-cloud-connector>=1.44<2:security/rubygem-gitlab-cloud-connector \
+	rubygem-gitlab-cloud-connector>=1.46<2:security/rubygem-gitlab-cloud-connector \
 	rubygem-gvltools>=0.4.0<0.5:devel/rubygem-gvltools \
-	rubygem-gitlab_query_language>=0.20.12<0.21:devel/rubygem-gitlab_query_language \
+	rubygem-gitlab_query_language>=0.23.0<0.24:devel/rubygem-gitlab_query_language \
 	rubygem-google-cloud-profiler-v2>=0.3<1:textproc/rubygem-google-cloud-profiler-v2 \
 	rubygem-parallel>=1.27.0<2:sysutils/rubygem-parallel \
 	rubygem-google-cloud-storage_transfer-gitlab>=1.2.0<1.3:net/rubygem-google-cloud-storage_transfer-gitlab \
diff --git a/www/gitlab/Makefile.common b/www/gitlab/Makefile.common
index a79b4d9cee58..330260258753 100644
--- a/www/gitlab/Makefile.common
+++ b/www/gitlab/Makefile.common
@@ -1,4 +1,4 @@
-GITLAB_VERSION=		18.9.2
+GITLAB_VERSION=		18.10.0
 GITLAB_PORTREVISION=	4	# decrease this only if GITLAB_KAS_GRPC_VERSION is upgraded
 
 # Git version gitaly should use (from gitlab mirror)
@@ -7,8 +7,8 @@ GITLAB_PORTREVISION=	4	# decrease this only if GITLAB_KAS_GRPC_VERSION is upgrad
 GITLAB_GIT_VERSION=	2.50.0
 # return something like x.yy
 GITLAB_GIT_VERSION_SHORT=	${GITLAB_GIT_VERSION:C/^([0-9]*\.[0-9]*)\..*/\1/}
-GITLAB_GIT_MASTER_VERSION=	83a69f19359e6d9bc980563caca38b2b5729808c
-GITLAB_GIT_PREV_VERSION=	aea8cc3a10c325a22a75e2d4f582db959d3854ae
+GITLAB_GIT_MASTER_VERSION=	e417bf2996fbd77acabbf354ed9b5adedacf91c9
+GITLAB_GIT_PREV_VERSION=	c61120cf654250ac63bdcb5d5ee0bbb9caeae9cd
 
 # Overwrite version for gitlab-kas-grpc
 #GITLAB_KAS_GRPC_VERSION=	${GITLAB_VERSION}
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index a06a398789ec..4eaed3ace572 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1773244762
-SHA256 (gitlab-foss-v18.9.2.tar.bz2) = a4457065b3c7905ab76781d9e3802184bc7f8c3f57e9f7ec3ea4c37478ee8257
-SIZE (gitlab-foss-v18.9.2.tar.bz2) = 132383818
-TIMESTAMP = 1773244814
-SHA256 (gitlab-v18.9.2-ee.tar.bz2) = 258d73428f4f3de070dc27439b7d644b928afcd7efad732c1c2150166ec4f40c
-SIZE (gitlab-v18.9.2-ee.tar.bz2) = 149775899
+TIMESTAMP = 1774160367
+SHA256 (gitlab-foss-v18.10.0.tar.bz2) = 7f3e5169833a2a7bf0acdee38011be6cb47c2c5fa43e15e1bd84a8a33b92f4e0
+SIZE (gitlab-foss-v18.10.0.tar.bz2) = 134822029
+TIMESTAMP = 1774160368
+SHA256 (gitlab-v18.10.0-ee.tar.bz2) = a95edbf2c3583bc3be4198dbef0b8c21622fce74a6d6fbbdcf285acafe00c095
+SIZE (gitlab-v18.10.0-ee.tar.bz2) = 153229618
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index 16cf8c9a3ed7..07addd8dc048 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,4 +1,4 @@
---- Gemfile.orig	2026-02-18 17:09:38 UTC
+--- Gemfile.orig	2026-03-18 13:38:20 UTC
 +++ Gemfile
 @@ -169,7 +169,7 @@ gem 'graphql', '2.5.11', feature_category: :api
  
@@ -18,7 +18,7 @@
  gem 'sidekiq-cron', '~> 2.3.0', feature_category: :scalability
  gem 'gitlab-sidekiq-fetcher',
    path: 'vendor/gems/sidekiq-reliable-fetch',
-@@ -475,138 +475,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared #
+@@ -475,137 +475,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared #
  
  gem 'warning', '~> 1.5.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
  
@@ -79,7 +79,7 @@
 -  gem 'benchmark-memory', '~> 0.1', require: false, feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
 -
 -  gem 'knapsack', '~> 4.0.0', feature_category: :tooling
--  gem 'gitlab-crystalball', '~> 1.1.0', require: false, feature_category: :tooling
+-  gem 'gitlab-crystalball', '~> 1.1.3', require: false, feature_category: :tooling
 -  gem 'test_file_finder', '~> 0.3.1', feature_category: :tooling
 -
 -  gem 'simple_po_parser', '~> 1.1.6', require: false, feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
@@ -120,7 +120,6 @@
 -end
 -
 -group :test do
--  gem 'rspec-retry', '~> 0.6.2', feature_category: :tooling
 -  gem 'rspec_profiling', '~> 0.0.9', feature_category: :tooling
 -  gem 'rspec-benchmark', '~> 0.6.0', feature_category: :tooling
 -  gem 'rspec-parameterized', '~> 1.0', '>= 1.0.2', require: false, feature_category: :tooling
@@ -151,22 +150,22 @@
 -  # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
 -  gem 'derailed_benchmarks', require: false, feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
 -
--  gem 'gitlab_quality-test_tooling', '~> 3.7.1', require: false, feature_category: :tooling
+-  gem 'gitlab_quality-test_tooling', '~> 3.9.0', require: false, feature_category: :tooling
 -end
 -
  gem 'octokit', '~> 9.0', feature_category: :importers
  # Needed by octokit: https://github.com/octokit/octokit.rb/pull/1688
  gem 'faraday-multipart', '~> 1.0', feature_category: :importers
-@@ -643,7 +520,7 @@ gem 'gitaly', '~> 18.8.0', feature_category: :gitaly
+@@ -642,7 +520,7 @@ gem 'gitaly', '~> 18.8.0', feature_category: :gitaly
  gem 'gitaly', '~> 18.8.0', feature_category: :gitaly
  
  # KAS GRPC protocol definitions
 -gem 'gitlab-kas-grpc', '~> 18.5.0-rc4', feature_category: :deployment_management
 +gem 'gitlab-kas-grpc', '~> 18.5.2', feature_category: :deployment_management
  
- gem 'grpc', '~> 1.76.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
- 
-@@ -666,7 +543,7 @@ gem 'gitlab-net-dns', '~> 0.15.0', feature_category: :
+ # Knowledge Graph GRPC protocol definitions
+ gem 'gitlab-gkg-proto', '~> 0.7.0', feature_category: :knowledge_graph
+@@ -668,7 +546,7 @@ gem 'gitlab-net-dns', '~> 0.15.0', feature_category: :
  gem 'gitlab-net-dns', '~> 0.15.0', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
  
  # Countries list
@@ -175,7 +174,7 @@
  
  gem 'retriable', '~> 3.1.2', feature_category: :shared # rubocop:todo Gemfile/MissingFeatureCategory -- https://gitlab.com/gitlab-org/gitlab/-/issues/581839
  
-@@ -747,11 +624,16 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
+@@ -749,11 +627,16 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
  
  gem 'duo_api', '~> 1.3', feature_category: :system_access
  
@@ -191,5 +190,5 @@
 -gem "i18n_data", "~> 0.13.1", feature_category: :system_access
 +gem "i18n_data", "~> 0.13", feature_category: :system_access
  
- gem "gitlab-cloud-connector", "~> 1.44", require: 'gitlab/cloud_connector', feature_category: :plan_provisioning
+ gem "gitlab-cloud-connector", "~> 1.45", require: 'gitlab/cloud_connector', feature_category: :plan_provisioning
  
diff --git a/www/gitlab/files/patch-config_gitlab.yml.example b/www/gitlab/files/patch-config_gitlab.yml.example
index f0b65a5d7342..0a64246613f1 100644
--- a/www/gitlab/files/patch-config_gitlab.yml.example
+++ b/www/gitlab/files/patch-config_gitlab.yml.example
@@ -1,6 +1,6 @@
---- config/gitlab.yml.example.orig	2026-02-18 17:09:38 UTC
+--- config/gitlab.yml.example.orig	2026-03-18 13:38:20 UTC
 +++ config/gitlab.yml.example
-@@ -546,7 +546,7 @@ production: &base
+@@ -551,7 +551,7 @@ production: &base
    ## GitLab Pages
    pages:
      enabled: false
@@ -9,7 +9,7 @@
      # The location where pages are stored (default: shared/pages).
      # path: shared/pages
  
-@@ -1318,7 +1318,7 @@ production: &base
+@@ -1326,7 +1326,7 @@ production: &base
    repositories:
      storages: # You must have at least a `default` storage path.
        default:
@@ -18,7 +18,7 @@
          # For DNS-based load balancing with TLS, use: dns+tls://[authority_host]:[authority_port]/[host]:[port]
          # The host:port portion will be used as the TLS server name for SNI.
          # Example: dns+tls://1.1.1.1/gitaly.example.com:8075
-@@ -1327,7 +1327,7 @@ production: &base
+@@ -1335,7 +1335,7 @@ production: &base
    ## Backup settings
    backup:
      path: "tmp/backups"   # Relative paths are relative to Rails.root (default: tmp/backups/)
@@ -27,7 +27,7 @@
      # archive_permissions: 0640 # Permissions for the resulting backup.tar file (default: 0600)
      # keep_time: 604800   # default: 0 (forever) (in seconds)
      # pg_schema: public     # default: nil, it means that all schemas will be backed up
-@@ -1362,12 +1362,12 @@ production: &base
+@@ -1370,12 +1370,12 @@ production: &base
  
    ## GitLab Shell settings
    gitlab_shell:
@@ -43,7 +43,7 @@
  
      # Git over HTTP
      upload_pack: true
-@@ -1382,7 +1382,7 @@ production: &base
+@@ -1390,7 +1390,7 @@ production: &base
    workhorse:
      # File that contains the secret key for verifying access for gitlab-workhorse.
      # Default is '.gitlab_workhorse_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -52,7 +52,7 @@
  
    database_traffic_capture:
      config:
-@@ -1408,7 +1408,7 @@ production: &base
+@@ -1416,7 +1416,7 @@ production: &base
      # enabled: true
      # File that contains the secret key for verifying access for gitlab-kas.
      # Default is '.gitlab_kas_secret' relative to Rails.root (i.e. root of the GitLab app).
@@ -61,7 +61,7 @@
  
      # The URL to the external KAS API (used by the Kubernetes agents)
      # external_url: wss://kas.example.com
-@@ -1430,13 +1430,13 @@ production: &base
+@@ -1437,13 +1437,13 @@ production: &base
  
    ## GitLab Elasticsearch settings
    elasticsearch:
@@ -77,7 +77,7 @@
  
    ## Webpack settings
    # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
-@@ -1457,18 +1457,18 @@ production: &base
+@@ -1464,18 +1464,18 @@ production: &base
  
      # Sidekiq exporter is a dedicated Prometheus metrics server optionally running alongside Sidekiq.
      sidekiq_exporter:
@@ -103,7 +103,7 @@
  
      # Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
      web_exporter:
-@@ -1695,13 +1695,13 @@ test:
+@@ -1702,13 +1702,13 @@ test:
          gitaly_address: unix:tmp/tests/gitaly/praefect.socket
  
    gitaly:
diff --git a/www/gitlab/pkg-message b/www/gitlab/pkg-message
index b9248099f2b2..c9c05322d26a 100644
--- a/www/gitlab/pkg-message
+++ b/www/gitlab/pkg-message
@@ -6,7 +6,7 @@ Gitlab was installed successfully.
 You now need to set up the various components of Gitlab, so please
 follow the instructions in the guide at:
 
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/18.9-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/18.10-freebsd.md
 EOM
   type: install
 }
@@ -20,7 +20,7 @@ EOM
 If you just installed an major upgrade of GitLab, for example you
 switched from 18.6.x to 18.7.x, please follow the instructions in the guide at:
 
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/18.8-18.9-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/18.9-18.10-freebsd.md
 
 If you just installed an minor upgrade of GitLab please follow
 the instructions in the guide at: