git: d670b244c828 - main - www/gitlab: major upgrade to 18.3

From: Matthias Fechner <mfechner_at_FreeBSD.org>
Date: Thu, 21 Aug 2025 02:46:34 UTC
The branch main has been updated by mfechner:

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

commit d670b244c82867e410e1cd0f1eaa7fa02ce77edc
Author:     Matthias Fechner <mfechner@FreeBSD.org>
AuthorDate: 2025-08-20 14:22:46 +0000
Commit:     Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2025-08-21 02:45:09 +0000

    www/gitlab: major upgrade to 18.3
    
    Changes:        https://about.gitlab.com/releases/categories/releases/
    Changes:        https://gitlab.com/gitlab-org/gitlab-foss/-/raw/v18.3.0/CHANGELOG.md?ref_type=tags
---
 devel/gitaly/distinfo                              | 14 ++--
 devel/gitaly/files/patch-Makefile                  | 84 --------------------
 devel/gitaly/files/patch-config.toml.example       | 19 +----
 devel/gitlab-shell/Makefile                        |  3 +-
 devel/gitlab-shell/distinfo                        | 10 +--
 net/gitlab-agent/distinfo                          | 10 +--
 net/rubygem-gitaly/Makefile                        |  2 +-
 net/rubygem-gitaly/distinfo                        |  6 +-
 net/rubygem-gitlab-kas-grpc/distinfo               |  6 +-
 textproc/gitlab-zoekt-indexer/Makefile             |  3 +-
 textproc/gitlab-zoekt-indexer/distinfo             | 10 +--
 ...github.com_sourcegraph_zoekt_index_indexfile.go | 11 ---
 www/gitlab-pages/distinfo                          | 10 +--
 www/gitlab-workhorse/distinfo                      | 10 +--
 www/gitlab/Makefile                                | 90 +++++++++++-----------
 www/gitlab/Makefile.common                         |  6 +-
 www/gitlab/distinfo                                | 12 +--
 www/gitlab/files/patch-Gemfile                     | 70 ++++++-----------
 www/gitlab/files/patch-config_gitlab.yml.example   | 18 ++---
 ...ems_gitlab-backup-cli_gitlab-backup-cli.gemspec | 18 +----
 www/gitlab/pkg-message                             |  6 +-
 21 files changed, 139 insertions(+), 279 deletions(-)

diff --git a/devel/gitaly/distinfo b/devel/gitaly/distinfo
index 97ff03ab6d92..6e93494c9aaf 100644
--- a/devel/gitaly/distinfo
+++ b/devel/gitaly/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1755072119
-SHA256 (go/devel_gitaly/gitaly-v18.2.2/go.mod) = ec7c02d0d63b1125e6446a6c2ada6fc2efa12d332da58b7c9c9cd56103cc51ed
-SIZE (go/devel_gitaly/gitaly-v18.2.2/go.mod) = 13011
-SHA256 (go/devel_gitaly/gitaly-v18.2.2/gitaly-v18.2.2.tar.bz2) = 56a9e67391146d7fae17fd151f15686d8a3fd082188fae7952b36246d990c45d
-SIZE (go/devel_gitaly/gitaly-v18.2.2/gitaly-v18.2.2.tar.bz2) = 4543611
-SHA256 (go/devel_gitaly/gitaly-v18.2.2/git-v2.50.0.tar.bz2) = 33e44c038ae6b3ff526e6927c2c6ff1658fd7f3c7334b079c019fa08f8ab20e4
-SIZE (go/devel_gitaly/gitaly-v18.2.2/git-v2.50.0.tar.bz2) = 9249878
+TIMESTAMP = 1755673952
+SHA256 (go/devel_gitaly/gitaly-v18.3.0/go.mod) = 163e0c24ae7263540250f58c84b9a0197cf6be768dab99b21dd463cc1a4659bc
+SIZE (go/devel_gitaly/gitaly-v18.3.0/go.mod) = 13011
+SHA256 (go/devel_gitaly/gitaly-v18.3.0/gitaly-v18.3.0.tar.bz2) = 4557995d57d16f2f01590f3c88b1811baf1045da47d4cba962da227a38277a45
+SIZE (go/devel_gitaly/gitaly-v18.3.0/gitaly-v18.3.0.tar.bz2) = 4558072
+SHA256 (go/devel_gitaly/gitaly-v18.3.0/git-v2.50.0.tar.bz2) = 33e44c038ae6b3ff526e6927c2c6ff1658fd7f3c7334b079c019fa08f8ab20e4
+SIZE (go/devel_gitaly/gitaly-v18.3.0/git-v2.50.0.tar.bz2) = 9249878
diff --git a/devel/gitaly/files/patch-Makefile b/devel/gitaly/files/patch-Makefile
deleted file mode 100644
index 871068592d17..000000000000
--- a/devel/gitaly/files/patch-Makefile
+++ /dev/null
@@ -1,84 +0,0 @@
---- Makefile.orig	2025-07-16 11:35:37 UTC
-+++ Makefile
-@@ -156,7 +156,6 @@ GIT_VERSION ?=
- # GIT_VERSION_x_xx defines versions for each instance of bundled Git we ship. When a new
- # major version is added, be sure to update GIT_PACKED_EXECUTABLES, the *-bundled-git targets,
- # and add new targets under the "# These targets build specific releases of Git." section.
--GIT_VERSION_2_49 ?= v2.49.0.gl2
- GIT_VERSION_2_50 ?= v2.50.1.gl1
- #
- # OVERRIDE_GIT_VERSION allows you to specify a custom semver value to be reported by the
-@@ -168,7 +167,7 @@ ifeq (${GIT_VERSION:default=},)
- ifeq (${GIT_VERSION:default=},)
- 	# GIT_VERSION should be overridden to the default version of bundled Git. This is only
- 	# necessary until https://gitlab.com/gitlab-org/gitaly/-/issues/6195 is complete.
--    override GIT_VERSION := ${GIT_VERSION_2_49}
-+    override GIT_VERSION := ${GIT_VERSION_2_50}
-     # When GIT_VERSION is not explicitly set, we default to bundled Git.
- 	export WITH_BUNDLED_GIT = YesPlease
- else
-@@ -264,8 +263,7 @@ BUILD_GEM_NAME ?= gitaly
- BUILD_GEM_NAME ?= gitaly
- 
- # Git binaries that are eventually embedded into the Gitaly binary.
--GIT_PACKED_EXECUTABLES       = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.49, ${GIT_EXECUTABLES})) \
--                               $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.50, ${GIT_EXECUTABLES}))
-+GIT_PACKED_EXECUTABLES       = $(addprefix ${BUILD_DIR}/bin/gitaly-, $(addsuffix -v2.50, ${GIT_EXECUTABLES}))
- 
- # All executables provided by Gitaly.
- GITALY_EXECUTABLES           = $(addprefix ${BUILD_DIR}/bin/,$(notdir $(shell find ${SOURCE_DIR}/cmd -mindepth 1 -maxdepth 1 -type d -print)))
-@@ -354,15 +352,13 @@ install: build
- 
- .PHONY: build-bundled-git
- ## Build bundled Git binaries.
--build-bundled-git: build-bundled-git-v2.49 build-bundled-git-v2.50
--build-bundled-git-v2.49: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.49,${GIT_EXECUTABLES})
-+build-bundled-git: build-bundled-git-v2.50
- build-bundled-git-v2.50: $(patsubst %,${BUILD_DIR}/bin/gitaly-%-v2.50,${GIT_EXECUTABLES})
- 
- .PHONY: install-bundled-git
- ## Install bundled Git binaries. The target directory can be modified by
- ## setting PREFIX and DESTDIR.
--install-bundled-git: install-bundled-git-v2.49 install-bundled-git-v2.50
--install-bundled-git-v2.49: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.49,${GIT_EXECUTABLES})
-+install-bundled-git: install-bundled-git-v2.50
- install-bundled-git-v2.50: $(patsubst %,${INSTALL_DEST_DIR}/gitaly-%-v2.50,${GIT_EXECUTABLES})
- 
- ifdef WITH_BUNDLED_GIT
-@@ -684,17 +680,12 @@ ${DEPENDENCY_DIR}/git-distribution/build/git: ${DEPEND
- 	${Q}touch $@
- 
- # These targets build specific releases of Git.
--${BUILD_DIR}/bin/gitaly-%-v2.49: override GIT_VERSION = ${GIT_VERSION_2_49}
- ${BUILD_DIR}/bin/gitaly-%-v2.50: override GIT_VERSION = ${GIT_VERSION_2_50}
- 
- ifdef USE_MESON
--${BUILD_DIR}/bin/gitaly-%-v2.49: ${DEPENDENCY_DIR}/git-v2.49/build/% | ${BUILD_DIR}/bin
--	${Q}install $< $@
- ${BUILD_DIR}/bin/gitaly-%-v2.50: ${DEPENDENCY_DIR}/git-v2.50/build/% | ${BUILD_DIR}/bin
- 	${Q}install $< $@
- else
--${BUILD_DIR}/bin/gitaly-%-v2.49: ${DEPENDENCY_DIR}/git-v2.49/% | ${BUILD_DIR}/bin
--	${Q}install $< $@
- ${BUILD_DIR}/bin/gitaly-%-v2.50: ${DEPENDENCY_DIR}/git-v2.50/% | ${BUILD_DIR}/bin
- 	${Q}install $< $@
- endif
-@@ -731,12 +722,12 @@ ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/gi
- # otherwise try to rebuild all targets depending on it whenever we build
- # something else. We thus depend on the Makefile instead.
- ${DEPENDENCY_DIR}/git-%/Makefile: ${DEPENDENCY_DIR}/git-%.version
--	${Q}${GIT} -c init.defaultBranch=master init ${GIT_QUIET} "${@D}"
--	${Q}${GIT} -C "${@D}" config remote.origin.url ${GIT_REPO_URL}
--	${Q}${GIT} -C "${@D}" config remote.origin.tagOpt --no-tags
--	${Q}${GIT} -C "${@D}" fetch --depth 1 ${GIT_QUIET} origin ${GIT_VERSION}
--	${Q}${GIT} -C "${@D}" reset --hard
--	${Q}${GIT} -C "${@D}" checkout ${GIT_QUIET} --detach FETCH_HEAD
-+	#${Q}${GIT} -c init.defaultBranch=master init ${GIT_QUIET} "${@D}"
-+	#${Q}${GIT} -C "${@D}" config remote.origin.url ${GIT_REPO_URL}
-+	#${Q}${GIT} -C "${@D}" config remote.origin.tagOpt --no-tags
-+	#${Q}${GIT} -C "${@D}" fetch --depth 1 ${GIT_QUIET} origin ${GIT_VERSION}
-+	#${Q}${GIT} -C "${@D}" reset --hard
-+	#${Q}${GIT} -C "${@D}" checkout ${GIT_QUIET} --detach FETCH_HEAD
- ifeq ($(OVERRIDE_GIT_VERSION),)
- 	${Q}rm -f "${@D}"/version
- else
diff --git a/devel/gitaly/files/patch-config.toml.example b/devel/gitaly/files/patch-config.toml.example
index 4303af905b5a..47441eb79518 100644
--- a/devel/gitaly/files/patch-config.toml.example
+++ b/devel/gitaly/files/patch-config.toml.example
@@ -1,4 +1,4 @@
---- config.toml.example.orig	2025-04-16 03:58:04 UTC
+--- config.toml.example.orig	2025-08-20 06:37:58 UTC
 +++ config.toml.example
 @@ -2,10 +2,10 @@
  # For Gitaly documentation, see https://docs.gitlab.com/administration/gitaly/.
@@ -13,20 +13,7 @@
  
  # # Optional. The directory where Gitaly can create all files required to
  # # properly operate at runtime. If not set, Gitaly will create a directory in
-@@ -42,9 +42,9 @@ bin_dir = "/home/git/gitaly/_build/bin"
- # min_version = "TLS 1.2"
- 
- # # Git settings
--# [git]
--# # Path to Git binary. If not set, is resolved using PATH.
--# bin_path = "/usr/bin/git"
-+[git]
-+# Path to Git binary. If not set, is resolved using PATH.
-+bin_path = "%%PREFIX%%/bin/git"
- # # Maximum number of cached 'cat-file' processes, which constitute a pair of 'git cat-file --batch' and
- # # 'git cat-file --batch-check' processes. Defaults to '100'.
- # catfile_cache_size = 100
-@@ -60,7 +60,7 @@ name = "default"
+@@ -58,7 +58,7 @@ name = "default"
  # # The name of the storage
  name = "default"
  # # The path to the storage.
@@ -35,7 +22,7 @@
  
  # # You can optionally configure more storages for this Gitaly instance to serve up
  #
-@@ -91,18 +91,18 @@ sentry_environment = ""
+@@ -89,18 +89,18 @@ sentry_environment = ""
  # # Custom Git hooks that are used to perform tasks based on changes performed in any repository.
  [hooks]
  # # Directory where custom Git hooks are installed. If left unset, no custom hooks are used.
diff --git a/devel/gitlab-shell/Makefile b/devel/gitlab-shell/Makefile
index 0590b0b1bc88..b55828931770 100644
--- a/devel/gitlab-shell/Makefile
+++ b/devel/gitlab-shell/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-shell
-PORTVERSION=	14.43.0
+PORTVERSION=	14.44.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	devel
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/devel/gitlab-shell/distinfo b/devel/gitlab-shell/distinfo
index c3fc85caa41c..1bff5fc689b2 100644
--- a/devel/gitlab-shell/distinfo
+++ b/devel/gitlab-shell/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1752677513
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.43.0/go.mod) = 0ce82c489c0d218be51dd0fc2ee44bca651c0d79e3a99b6aef3918a78bfbad8d
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.43.0/go.mod) = 6034
-SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.43.0/gitlab-shell-v14.43.0.tar.bz2) = 05b56edd8b60f24217c72526a3ab0f0933841077be3a8f96bb77c2c2320c4a63
-SIZE (go/devel_gitlab-shell/gitlab-shell-v14.43.0/gitlab-shell-v14.43.0.tar.bz2) = 174499
+TIMESTAMP = 1755678846
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.44.0/go.mod) = aea250c9820b1219a76e090e858e45c8f8cc4d5787e42cb55e684d9d24a3e866
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.44.0/go.mod) = 6034
+SHA256 (go/devel_gitlab-shell/gitlab-shell-v14.44.0/gitlab-shell-v14.44.0.tar.bz2) = 28ad54022265401ccf88f85347f098ebdd4c885a97f792ca40957ef36d7bad88
+SIZE (go/devel_gitlab-shell/gitlab-shell-v14.44.0/gitlab-shell-v14.44.0.tar.bz2) = 174699
diff --git a/net/gitlab-agent/distinfo b/net/gitlab-agent/distinfo
index 8f0f7fc9aeee..6beff0872658 100644
--- a/net/gitlab-agent/distinfo
+++ b/net/gitlab-agent/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1755072120
-SHA256 (go/net_gitlab-agent/gitlab-agent-v18.2.2/v18.2.2.mod) = 4772214d0f7667ed5a2f465d728888c258c09e89afb5e4b0e6e5a087b77057fd
-SIZE (go/net_gitlab-agent/gitlab-agent-v18.2.2/v18.2.2.mod) = 9809
-SHA256 (go/net_gitlab-agent/gitlab-agent-v18.2.2/v18.2.2.zip) = 1d8c4f30dea325bfde3e0e1361f90e85201d02a04c5c49437032dad9a658940d
-SIZE (go/net_gitlab-agent/gitlab-agent-v18.2.2/v18.2.2.zip) = 1709113
+TIMESTAMP = 1755673971
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.3.0/v18.3.0.mod) = 2ec01cce9df32ed086dd50ebf5d7d120d6edffe83b9ea78dbfba19d1e92d77d2
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.3.0/v18.3.0.mod) = 10172
+SHA256 (go/net_gitlab-agent/gitlab-agent-v18.3.0/v18.3.0.zip) = 5cc156ef5215212c5e6c2fd0c6205d839d806343e74cdb748ee0fb8366092224
+SIZE (go/net_gitlab-agent/gitlab-agent-v18.3.0/v18.3.0.zip) = 1790280
diff --git a/net/rubygem-gitaly/Makefile b/net/rubygem-gitaly/Makefile
index b0dad500647d..59689d7a5c42 100644
--- a/net/rubygem-gitaly/Makefile
+++ b/net/rubygem-gitaly/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	gitaly
-PORTVERSION=	18.2.1
+PORTVERSION=	18.2.4
 CATEGORIES=	net rubygems
 MASTER_SITES=	RG
 
diff --git a/net/rubygem-gitaly/distinfo b/net/rubygem-gitaly/distinfo
index 7796ac38fe37..b6ab46268620 100644
--- a/net/rubygem-gitaly/distinfo
+++ b/net/rubygem-gitaly/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753336806
-SHA256 (rubygem/gitaly-18.2.1.gem) = 7409135d7dbc29ec8021e694420963e1da86dcc45252065fce813c19cb5c9bb3
-SIZE (rubygem/gitaly-18.2.1.gem) = 53248
+TIMESTAMP = 1755676933
+SHA256 (rubygem/gitaly-18.2.4.gem) = 1102eaf07db0aa34e602732816ca1bacc692b1141bd7bf5b03a90afed4c29501
+SIZE (rubygem/gitaly-18.2.4.gem) = 53248
diff --git a/net/rubygem-gitlab-kas-grpc/distinfo b/net/rubygem-gitlab-kas-grpc/distinfo
index 3787efb94b44..6e9d5e738b2a 100644
--- a/net/rubygem-gitlab-kas-grpc/distinfo
+++ b/net/rubygem-gitlab-kas-grpc/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1753327162
-SHA256 (rubygem/gitlab-kas-grpc-18.2.1.gem) = 971519aaaf9b34097c9a919312361c9686997fab22e09cfb50d951ed5ab245e2
-SIZE (rubygem/gitlab-kas-grpc-18.2.1.gem) = 10752
+TIMESTAMP = 1755674007
+SHA256 (rubygem/gitlab-kas-grpc-18.3.0.gem) = 3dd60ca782066ff5b70d8e6405701f42b77fccb27e015d7a9ff159f84feb218f
+SIZE (rubygem/gitlab-kas-grpc-18.3.0.gem) = 10752
diff --git a/textproc/gitlab-zoekt-indexer/Makefile b/textproc/gitlab-zoekt-indexer/Makefile
index bf1d474ddd35..f20ff900fad1 100644
--- a/textproc/gitlab-zoekt-indexer/Makefile
+++ b/textproc/gitlab-zoekt-indexer/Makefile
@@ -1,7 +1,6 @@
 PORTNAME=	gitlab-zoekt-indexer
-PORTVERSION=	0.24.0
+PORTVERSION=	1.2.0
 DISTVERSIONPREFIX=	v
-PORTREVISION=	1
 CATEGORIES=	textproc
 
 MAINTAINER=	mfechner@FreeBSD.org
diff --git a/textproc/gitlab-zoekt-indexer/distinfo b/textproc/gitlab-zoekt-indexer/distinfo
index 904a7f01076d..69cd46b1242a 100644
--- a/textproc/gitlab-zoekt-indexer/distinfo
+++ b/textproc/gitlab-zoekt-indexer/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1752680378
-SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/go.mod) = f9bcc8f70e8c386677f3de9422b6d5388d9fbe384dbe64b1fb923aee87d931f9
-SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/go.mod) = 6837
-SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/gitlab-zoekt-indexer-v0.24.0.tar.bz2) = 384cd8c3dc1e271a78ecbf91190bb0ce8d2085ee53961b387d5887ddc7d53631
-SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v0.24.0/gitlab-zoekt-indexer-v0.24.0.tar.bz2) = 152552
+TIMESTAMP = 1755691637
+SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v1.2.0/go.mod) = 17b5c5171037c83bf065acc0bca7a8994cc4f7952ba938326c69d0b31ac02de5
+SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v1.2.0/go.mod) = 6838
+SHA256 (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v1.2.0/gitlab-zoekt-indexer-v1.2.0.tar.bz2) = a378794cd4eee60d8cf6a5aa14a1ce2e6ee177f9c8b31e832356257aaa878301
+SIZE (go/textproc_gitlab-zoekt-indexer/gitlab-zoekt-indexer-v1.2.0/gitlab-zoekt-indexer-v1.2.0.tar.bz2) = 839590
diff --git a/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go b/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go
deleted file mode 100644
index ae519c1aba8c..000000000000
--- a/textproc/gitlab-zoekt-indexer/files/patch-vendor_github.com_sourcegraph_zoekt_index_indexfile.go
+++ /dev/null
@@ -1,11 +0,0 @@
---- vendor/github.com/sourcegraph/zoekt/index/indexfile.go.orig	2025-07-16 16:01:58 UTC
-+++ vendor/github.com/sourcegraph/zoekt/index/indexfile.go
-@@ -12,7 +12,7 @@
- // See the License for the specific language governing permissions and
- // limitations under the License.
- 
--//go:build linux || darwin
-+//go:build linux || darwin || freebsd
- 
- package index
- 
diff --git a/www/gitlab-pages/distinfo b/www/gitlab-pages/distinfo
index 92f1e0ecd3ce..d4dfc511e729 100644
--- a/www/gitlab-pages/distinfo
+++ b/www/gitlab-pages/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1755072122
-SHA256 (go/www_gitlab-pages/gitlab-pages-v18.2.2/go.mod) = fabce2d66cf34e44e541a57220574dbef2778f98afa0e86272882385608871f1
-SIZE (go/www_gitlab-pages/gitlab-pages-v18.2.2/go.mod) = 3435
-SHA256 (go/www_gitlab-pages/gitlab-pages-v18.2.2/gitlab-pages-v18.2.2.tar.bz2) = dc35da4f40dba0d630f116633e6fb5bc5722f8c953c6ceeb52ed519fe99f8323
-SIZE (go/www_gitlab-pages/gitlab-pages-v18.2.2/gitlab-pages-v18.2.2.tar.bz2) = 236011
+TIMESTAMP = 1755673986
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.3.0/go.mod) = f009bb2f145a5e8bfa40069b413d54c6212f0062253d9de94dc93e61b93b2a96
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.3.0/go.mod) = 3436
+SHA256 (go/www_gitlab-pages/gitlab-pages-v18.3.0/gitlab-pages-v18.3.0.tar.bz2) = 942d1da9e47fe468267cb15004464dfd0138e0dd5eb8252943ebe115fc8226d4
+SIZE (go/www_gitlab-pages/gitlab-pages-v18.3.0/gitlab-pages-v18.3.0.tar.bz2) = 236413
diff --git a/www/gitlab-workhorse/distinfo b/www/gitlab-workhorse/distinfo
index 12010d22cf32..ffe9a794c4c9 100644
--- a/www/gitlab-workhorse/distinfo
+++ b/www/gitlab-workhorse/distinfo
@@ -1,5 +1,5 @@
-TIMESTAMP = 1755072135
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.2.2/go.mod) = dbd6a92d66a1a0a418aab39bf166a48ea5a4c892fe69fe19b12b347ea74936db
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.2.2/go.mod) = 9384
-SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.2.2/gitlab-foss-v18.2.2.tar.bz2) = b7e51d9b36ee6199b1fb165682d05fc51d91f5971ecf1ae491f4e14cd2b7ab2e
-SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.2.2/gitlab-foss-v18.2.2.tar.bz2) = 121306359
+TIMESTAMP = 1755674006
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.3.0/go.mod) = 9c034c905470aa1c1f54b96d744fd80cbc9c199fc84990e580297186080818b9
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.3.0/go.mod) = 9331
+SHA256 (go/www_gitlab-workhorse/gitlab-foss-v18.3.0/gitlab-foss-v18.3.0.tar.bz2) = 6e41dcfac151ec18d8b6896823499a73fc45e026d3804798fdb73b5c5c51c332
+SIZE (go/www_gitlab-workhorse/gitlab-foss-v18.3.0/gitlab-foss-v18.3.0.tar.bz2) = 122196697
diff --git a/www/gitlab/Makefile b/www/gitlab/Makefile
index 0a9e5fd8a675..1e8c0f37dd1e 100644
--- a/www/gitlab/Makefile
+++ b/www/gitlab/Makefile
@@ -32,14 +32,14 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	gitlab-elasticsearch-indexer>=5.7.0:textproc/gitlab-elasticsearch-indexer \
 	gitlab-agent>=${GITLAB_VERSION}:net/gitlab-agent \
 	gitlab-pages>=${GITLAB_VERSION}:www/gitlab-pages \
-	gitlab-shell>=14.43.0:devel/gitlab-shell \
+	gitlab-shell>=14.44.0:devel/gitlab-shell \
 	gitlab-workhorse>=${GITLAB_VERSION}:www/gitlab-workhorse \
-	gitlab-zoekt-indexer>=0.24.0:textproc/gitlab-zoekt-indexer \
+	gitlab-zoekt-indexer>=1.2.0:textproc/gitlab-zoekt-indexer \
 	redis>=6.2.11:databases/redis \
 	yarn${NODEJS_SUFFIX}>=1.10.0:www/yarn${NODEJS_SUFFIX} \
 	gtar>0:archivers/gtar \
 	bash>0:shells/bash \
-	rubygem-parser>=3.3.7.1:devel/rubygem-parser \
+	rubygem-parser>=3.3.9.0:devel/rubygem-parser \
 	rubygem-net-smtp>=0:mail/rubygem-net-smtp \
 	rubygem-psych3>=3.1<4:textproc/rubygem-psych3 \
 	rubygem-net-pop>=0:mail/rubygem-net-pop \
@@ -54,9 +54,9 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	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.5.9<1.6:databases/rubygem-pg-gitlab \
+	rubygem-pg-gitlab>=1.6.1<1.7:databases/rubygem-pg-gitlab \
 	rubygem-rugged>=1.6<2:devel/rubygem-rugged \
-	rubygem-faraday-gitlab>=2.13.1<3:www/rubygem-faraday-gitlab \
+	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 \
@@ -69,7 +69,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.1<3.5:textproc/rubygem-rexml \
 	rubygem-ruby-saml-gitlab>=1.18<2:security/rubygem-ruby-saml-gitlab \
-	rubygem-omniauth-saml-gitlab>=2.2.3<3:security/rubygem-omniauth-saml-gitlab \
+	rubygem-omniauth-saml-gitlab>=2.2.4<3:security/rubygem-omniauth-saml-gitlab \
 	rubygem-omniauth>=2.1.3<3:security/rubygem-omniauth \
 	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 \
@@ -82,20 +82,20 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-openid_connect>=2.3.1<2.4:net/rubygem-openid_connect \
 	rubygem-omniauth-atlassian-oauth2>=0.2.0<0.3:security/rubygem-omniauth-atlassian-oauth2 \
 	rubygem-rack-oauth2-gitlab>=2.2.1<2.3:security/rubygem-rack-oauth2-gitlab \
-	rubygem-jwt29>=2.9.3<3:www/rubygem-jwt29 \
+	rubygem-jwt>=2.10.2<2.11:www/rubygem-jwt \
 	rubygem-gssapi>=1.3.1<1.4:security/rubygem-gssapi \
 	rubygem-recaptcha>=5.12<6.0:devel/rubygem-recaptcha \
 	rubygem-akismet>=3.0<4.0:devel/rubygem-akismet \
-	rubygem-invisible_captcha>=2.1.0<2.2.0:graphics/rubygem-invisible_captcha \
+	rubygem-invisible_captcha>=2.3.0<2.4:graphics/rubygem-invisible_captcha \
 	rubygem-devise-two-factor-rails-gitlab>=4.1.1<4.2:security/rubygem-devise-two-factor-rails-gitlab \
 	rubygem-rqrcode-gitlab>=2.2.0<3:www/rubygem-rqrcode-gitlab \
 	rubygem-attr_encrypted>=4.2<5:security/rubygem-attr_encrypted \
 	rubygem-validates_hostname-gitlab>=1.0.13<1.1.0:dns/rubygem-validates_hostname-gitlab \
 	rubygem-rubyzip-gitlab>=2.4.1<2.5:archivers/rubygem-rubyzip-gitlab \
-	rubygem-acme-client-gitlab>=2.0.22<3:security/rubygem-acme-client-gitlab \
+	rubygem-acme-client-gitlab>=2.0.25<3:security/rubygem-acme-client-gitlab \
 	rubygem-browser5>=5.3.1<5.4:www/rubygem-browser5 \
 	rubygem-ohai>=18.1.18<19:sysutils/rubygem-ohai \
-	rubygem-gpgme>=2.0.24<2.1.0:security/rubygem-gpgme \
+	rubygem-gpgme>=2.0.25<2.1.0:security/rubygem-gpgme \
 	rubygem-gitlab_omniauth-ldap>=2.2.0<2.3.0:net/rubygem-gitlab_omniauth-ldap \
 	rubygem-net-ldap017>=0.17.1<0.18:net/rubygem-net-ldap017 \
 	rubygem-grape20>=2.0.0<2.1:devel/rubygem-grape20 \
@@ -104,17 +104,17 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-grape-swagger-entity>=0.5.5<0.6:devel/rubygem-grape-swagger-entity \
 	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.4.13<2.5:devel/rubygem-graphql \
+	rubygem-graphql>=2.5.11<2.6:devel/rubygem-graphql \
 	rubygem-apollo_upload_server>=2.1.6<2.2:net/rubygem-apollo_upload_server \
 	rubygem-ffaker>=2.24.0<3:devel/rubygem-ffaker \
 	rubygem-hashie>=5.0.0<5.1:devel/rubygem-hashie \
 	rubygem-kaminari-rails-gitlab>=1.2.2<1.3:www/rubygem-kaminari-rails-gitlab \
-	rubygem-hamlit>=2.15.0<2.16:www/rubygem-hamlit \
+	rubygem-hamlit>=3.0.3<3.1:www/rubygem-hamlit \
 	rubygem-carrierwave-gitlab>=1.3.4<2.0:www/rubygem-carrierwave-gitlab \
 	rubygem-mini_magick4>=4.12<5:graphics/rubygem-mini_magick4 \
 	rubygem-prawn>=0:print/rubygem-prawn \
 	rubygem-prawn-svg>=0:print/rubygem-prawn-svg \
-	rubygem-fog-aws-gitlab>=3.26<4:net/rubygem-fog-aws-gitlab \
+	rubygem-fog-aws-gitlab>=3.28.0<4:net/rubygem-fog-aws-gitlab \
 	rubygem-fog-core-gitlab>=2.1.0<2.1.1:devel/rubygem-fog-core-gitlab \
 	rubygem-fog-google-gitlab>=1.24.1<1.25:net/rubygem-fog-google-gitlab \
 	rubygem-fog-local-gitlab>=0.8<1.0:net/rubygem-fog-local-gitlab \
@@ -122,26 +122,26 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-gitlab-fog-azure-rm>=2.2.0<2.3:net/rubygem-gitlab-fog-azure-rm \
 	rubygem-google-apis-storage_v1-gitlab>=0.29<1:devel/rubygem-google-apis-storage_v1-gitlab \
 	rubygem-google-cloud-storage-gitlab>=1.45.0<1.46:net/rubygem-google-cloud-storage-gitlab \
-	rubygem-google-apis-core-gitlab>=0.11.2<2:devel/rubygem-google-apis-core-gitlab \
-	rubygem-google-apis-compute_v1-gitlab>=0.57.0<0.58:devel/rubygem-google-apis-compute_v1-gitlab \
-	rubygem-google-apis-container_v1>=0.43.0<0.44:devel/rubygem-google-apis-container_v1 \
+	rubygem-google-apis-core-gitlab>=0.18.0<0.19:devel/rubygem-google-apis-core-gitlab \
+	rubygem-google-apis-compute_v1-gitlab>=0.127.0<0.128:devel/rubygem-google-apis-compute_v1-gitlab \
+	rubygem-google-apis-container_v1>=0.100.0<0.101:devel/rubygem-google-apis-container_v1 \
 	rubygem-google-apis-container_v1beta1>=0.43.0<0.44:devel/rubygem-google-apis-container_v1beta1 \
 	rubygem-google-apis-cloudbilling_v1>=0.22.0<0.23:devel/rubygem-google-apis-cloudbilling_v1 \
 	rubygem-google-apis-cloudresourcemanager_v1-gitlab>=0.31.0<0.32:devel/rubygem-google-apis-cloudresourcemanager_v1-gitlab \
-	rubygem-google-apis-iam_v1-gitlab>=0.36.0<0.37:devel/rubygem-google-apis-iam_v1-gitlab \
+	rubygem-google-apis-iam_v1-gitlab>=0.73.0<0.74:devel/rubygem-google-apis-iam_v1-gitlab \
 	rubygem-google-apis-serviceusage_v1>=0.28.0<0.29:devel/rubygem-google-apis-serviceusage_v1 \
 	rubygem-google-apis-sqladmin_v1beta4-gitlab>=0.41.0<0.42:devel/rubygem-google-apis-sqladmin_v1beta4-gitlab \
-	rubygem-google-apis-androidpublisher_v3-gitlab>=0.34.0<0.35:devel/rubygem-google-apis-androidpublisher_v3-gitlab \
-	rubygem-googleauth-gitlab>=1.8.1<2:security/rubygem-googleauth-gitlab \
+	rubygem-google-apis-androidpublisher_v3-gitlab>=0.84.0<0.85:devel/rubygem-google-apis-androidpublisher_v3-gitlab \
+	rubygem-googleauth-gitlab>=1.14<2:security/rubygem-googleauth-gitlab \
 	rubygem-google-cloud-artifact_registry-v1>=0.11.0<0.12:textproc/rubygem-google-cloud-artifact_registry-v1 \
 	rubygem-google-cloud-compute-v1>=2.6.0<2.7:net/rubygem-google-cloud-compute-v1 \
 	rubygem-seed-fu-gitlab>=2.3.9<2.4.0:databases/rubygem-seed-fu-gitlab \
 	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.225.0<3.226:devel/rubygem-aws-sdk-core-gitlab \
+	rubygem-aws-sdk-core-gitlab>=3.226.3<3.227:devel/rubygem-aws-sdk-core-gitlab \
 	rubygem-aws-sdk-cloudformation-gitlab>=1.133<2:devel/rubygem-aws-sdk-cloudformation-gitlab \
-	rubygem-aws-sdk-s3-gitlab>=1.189.0<1.190:devel/rubygem-aws-sdk-s3-gitlab \
+	rubygem-aws-sdk-s3-gitlab>=1.193.0<1.194: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>=1.4.0<1.5:www/rubygem-typhoeus \
@@ -158,17 +158,17 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-asciidoctor-include-ext>=0.4.0<0.5.0:textproc/rubygem-asciidoctor-include-ext \
 	rubygem-asciidoctor-plantuml00>=0.0.16<0.1:textproc/rubygem-asciidoctor-plantuml00 \
 	rubygem-asciidoctor-kroki>=0.10.0<0.11:textproc/rubygem-asciidoctor-kroki \
-	rubygem-rouge-gitlab>=4.5.2<4.6:textproc/rubygem-rouge-gitlab \
+	rubygem-rouge-gitlab>=4.6.0<4.7:textproc/rubygem-rouge-gitlab \
 	rubygem-truncato>=0.7.13<0.8.0:textproc/rubygem-truncato \
-	rubygem-nokogiri>=1.18.7<2:textproc/rubygem-nokogiri \
-	rubygem-gitlab-glfm-markdown>=0.0.31<0.1:textproc/rubygem-gitlab-glfm-markdown \
+	rubygem-nokogiri>=1.18.9<2:textproc/rubygem-nokogiri \
+	rubygem-gitlab-glfm-markdown>=0.0.33<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.17,3<2.3,3:www/rubygem-rack22 \
 	rubygem-rack-timeout>=0.7.0<0.8:www/rubygem-rack-timeout \
-	rubygem-puma>=6.6.0<6.6.1:www/rubygem-puma \
+	rubygem-puma>=6.6.1<6.6.2:www/rubygem-puma \
 	rubygem-sd_notify>=0.1.1<0.2:devel/rubygem-sd_notify \
 	rubygem-state_machines-activerecord-gitlab>=0.8.0<0.9.0:databases/rubygem-state_machines-activerecord-gitlab \
 	rubygem-sidekiq-gitlab>=7.3.9:devel/rubygem-sidekiq-gitlab \
@@ -177,19 +177,21 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-httparty-gitlab>=0.23.0<0.24:www/rubygem-httparty-gitlab \
 	rubygem-rainbow>=3.1.1<4.0:devel/rubygem-rainbow \
 	rubygem-ruby-progressbar>=1.11<2:devel/rubygem-ruby-progressbar \
-	rubygem-re2>=2.15.0<3:devel/rubygem-re2 \
+	rubygem-re2>=2.19.0<3:devel/rubygem-re2 \
 	rubygem-semver_dialects>=3.7.0<4:devel/rubygem-semver_dialects \
 	rubygem-version_sorter>=2.3<3:textproc/rubygem-version_sorter \
-	rubygem-js_regex>=3.8<4.0:textproc/rubygem-js_regex \
+	rubygem-js_regex>=3.13.0<4.0:textproc/rubygem-js_regex \
 	rubygem-device_detector>=1.1.3:devel/rubygem-device_detector \
-	rubygem-redis>=5.4.0<5.5:databases/rubygem-redis \
-	rubygem-redis-clustering>=5.4.0<5.5:databases/rubygem-redis-clustering \
+	rubygem-redis>=5.4.1<5.5:databases/rubygem-redis \
+	rubygem-redis-client>=0.25.1<1:databases/rubygem-redis-client \
+	rubygem-redis-cluster-client>=0.13.5<1:databases/rubygem-redis-cluster-client \
+	rubygem-redis-clustering>=5.4.1<5.5:databases/rubygem-redis-clustering \
 	rubygem-connection_pool>=2.5.3<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 \
 	rubygem-slack-messenger>=2.3.5<2.4.0:devel/rubygem-slack-messenger \
-	rubygem-kubeclient>=4.11.0<4.12.0:www/rubygem-kubeclient \
+	rubygem-kubeclient>=4.12.0<4.13.0:www/rubygem-kubeclient \
 	rubygem-ruby-openai37>=3.7<4:www/rubygem-ruby-openai37 \
 	rubygem-circuitbox>=2.0.0<2.1:www/rubygem-circuitbox \
 	rubygem-sanitize60>=6.0.2<6.1:textproc/rubygem-sanitize60 \
@@ -204,6 +206,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.3.5<0.3.6:databases/rubygem-click_house-client \
 	rubygem-addressable>=2.8<3:www/rubygem-addressable \
 	rubygem-gon-rails-gitlab>=6.4.0<6.5:www/rubygem-gon-rails-gitlab \
 	rubygem-request_store>=1.7.0<1.8:devel/rubygem-request_store \
@@ -216,7 +219,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-pg_query>=6.1.0<6.2:databases/rubygem-pg_query \
 	rubygem-premailer-rails-rails-gitlab>=1.12.0<1.13:mail/rubygem-premailer-rails-rails-gitlab \
 	rubygem-gitlab-labkit>=0.39.0<0.40:devel/rubygem-gitlab-labkit \
-	rubygem-thrift>=0.16.0:devel/rubygem-thrift \
+	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 \
 	rubygem-gettext>=3.5.1<4:devel/rubygem-gettext \
@@ -227,7 +230,8 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-webrick>=1.9.0<1.10:www/rubygem-webrick \
 	rubygem-prometheus-client-mmap>=1.2.10<1.3:devel/rubygem-prometheus-client-mmap \
 	rubygem-async-gitlab>=2.24.0<2.25:devel/rubygem-async-gitlab \
-	rubygem-gitlab-security_report_schemas>=0.1.3.min15.0.0.max15.2.2<0.1.3.min15.0.0.max15.2.3:devel/rubygem-gitlab-security_report_schemas \
+	rubygem-io-event>=1.12.1<2:devel/rubygem-io-event \
+	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-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 \
@@ -253,18 +257,17 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-opentelemetry-instrumentation-sidekiq>=0.25.7:devel/rubygem-opentelemetry-instrumentation-sidekiq \
 	rubygem-warning>=1.5.0<1.6:devel/rubygem-warning \
 	rubygem-git>=1.19.1<2:devel/rubygem-git \
-	rubygem-gitlab-dangerfiles>=4.9.2<4.10:devel/rubygem-gitlab-dangerfiles \
+	rubygem-gitlab-dangerfiles>=4.10.0<4.11:devel/rubygem-gitlab-dangerfiles \
 	rubygem-license_finder-gitlab>=7.2.1<8:devel/rubygem-license_finder-gitlab \
 	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.0.27<0.1.0:mail/rubygem-gitlab-mail_room \
 	rubygem-email_reply_trimmer>=0.1<1.0:mail/rubygem-email_reply_trimmer \
-	rubygem-html2text>=0:textproc/rubygem-html2text \
+	rubygem-html2text>=0.4.0:textproc/rubygem-html2text \
 	rubygem-stackprof>=0.2.27<0.3:devel/rubygem-stackprof \
 	rubygem-rbtrace>=0.5.2<1.0:devel/rubygem-rbtrace \
-	rubygem-memory_profiler>=1.0<2.0:devel/rubygem-memory_profiler \
-	rubygem-activerecord-explain-analyze>=0.1<1.0:databases/rubygem-activerecord-explain-analyze \
+	rubygem-memory_profiler>=1.1.0<2.0:devel/rubygem-memory_profiler \
 	rubygem-oauth2-gitlab>=2.0.10<3:net/rubygem-oauth2-gitlab \
 	rubygem-health_check-rails-gitlab>=3.0<4:devel/rubygem-health_check-rails-gitlab \
 	rubygem-vmstat>=2.3.1<2.4.0:sysutils/rubygem-vmstat \
@@ -272,9 +275,9 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-net-ntp>0:net/rubygem-net-ntp \
 	rubygem-ssh_data>=1.3<2:security/rubygem-ssh_data \
 	rubygem-spamcheck>=1.3.3<1.4:net/rubygem-spamcheck \
-	rubygem-gitaly>=18.1.0:net/rubygem-gitaly \
+	rubygem-gitaly>=18.2.1:net/rubygem-gitaly \
 	rubygem-gitlab-kas-grpc>=${GITLAB_KAS_GRPC_VERSION}:net/rubygem-gitlab-kas-grpc \
-	rubygem-grpc-gitlab>=1.72.0<2:net/rubygem-grpc-gitlab \
+	rubygem-grpc-gitlab>=1.74.0<2:net/rubygem-grpc-gitlab \
 	rubygem-google-protobuf3>=3.25.8<4:devel/rubygem-google-protobuf3 \
 	rubygem-toml-rb>=2.2.0<3:www/rubygem-toml-rb \
 	rubygem-flipper-gitlab>=0.28.0<0.29:devel/rubygem-flipper-gitlab \
@@ -284,15 +287,15 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-gitlab-experiment>=0.9.1<0.10: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.12.0<0.13:dns/rubygem-gitlab-net-dns \
+	rubygem-gitlab-net-dns>=0.15.0<0.16:dns/rubygem-gitlab-net-dns \
 	rubygem-countries>=4.1.3<4.2.0:devel/rubygem-countries \
 	rubygem-retriable>=3.1.2<3.2.0:devel/rubygem-retriable \
 	rubygem-lru_redux>0:devel/rubygem-lru_redux \
 	rubygem-mail>=2.8.1<2.8.2,2:mail/rubygem-mail \
-	rubygem-lockbox>=1.3.0<1.4:security/rubygem-lockbox \
+	rubygem-lockbox>=1.4.1<1.5:security/rubygem-lockbox \
 	rubygem-valid_email>=0.1<1:mail/rubygem-valid_email \
 	rubygem-jsonb_accessor>=1.4<2:www/rubygem-jsonb_accessor \
-	rubygem-json-gitlab>=2.11.2<2.12:devel/rubygem-json-gitlab \
+	rubygem-json>=2.13.1<2.14:devel/rubygem-json \
 	rubygem-json_schemer>=2.3.0<2.4:devel/rubygem-json_schemer \
 	rubygem-oj>=3.16.11<3.17:devel/rubygem-oj \
 	rubygem-oj-introspect>=0.8<1:devel/rubygem-oj-introspect \
@@ -309,7 +312,7 @@ MY_DEPENDS=	gitaly>=${GITLAB_VERSION}:devel/gitaly \
 	rubygem-CFPropertyList-gitlab>=3.0.7<3.1:devel/rubygem-CFPropertyList-gitlab \
 	rubygem-app_store_connect>=0:net/rubygem-app_store_connect \
 	rubygem-telesignenterprise>=2.2<3:devel/rubygem-telesignenterprise \
-	rubygem-net-protocol01>=0.1.3<0.2:net/rubygem-net-protocol01 \
+	rubygem-net-protocol>=0.2.2<0.3:net/rubygem-net-protocol \
 	rubygem-nkf>=0.2.0<0.3:net/rubygem-nkf \
 	rubygem-net-http>=0.6.0<0.6.1:www/rubygem-net-http \
 	rubygem-uri-gitlab>=0.13.2<0.13.3:net/rubygem-uri-gitlab \
@@ -317,7 +320,7 @@ 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.21<2:security/rubygem-gitlab-cloud-connector \
+	rubygem-gitlab-cloud-connector>=1.26<2:security/rubygem-gitlab-cloud-connector \
 	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 \
@@ -347,6 +350,7 @@ GL_PROJECT=	gitlab-foss
 USE_RC_SUBR=	gitlab
 
 SHEBANG_FILES=	gems/bundler-checksum/test/project_with_checksum_lock/scripts/test \
+		scripts/aigw-tagging.sh \
 		scripts/build_assets_image \
 		scripts/build_qa_image \
 		scripts/build_gdk_image \
diff --git a/www/gitlab/Makefile.common b/www/gitlab/Makefile.common
index 9e81c0be915f..b5a9461467e0 100644
--- a/www/gitlab/Makefile.common
+++ b/www/gitlab/Makefile.common
@@ -1,4 +1,4 @@
-GITLAB_VERSION=		18.2.2
+GITLAB_VERSION=		18.3.0
 GITLAB_PORTREVISION=	0
 
 # Git version gitaly should use (from gitlab mirror)
@@ -9,8 +9,8 @@ GITLAB_GIT_VERSION=	2.50.0
 GITLAB_GIT_VERSION_SHORT=	${GITLAB_GIT_VERSION:C/^([0-9]*\.[0-9]*)\..*/\1/}
 
 # Overwrite version for gitlab-kas-grpc
-#GITLAB_KAS_GRPC_VERSION=	${GITLAB_VERSION}
-GITLAB_KAS_GRPC_VERSION=	18.2.1
+GITLAB_KAS_GRPC_VERSION=	${GITLAB_VERSION}
+#GITLAB_KAS_GRPC_VERSION=	18.2.1
 
 # Rails version
 RAILS_VERSION=	7.1.5.2
diff --git a/www/gitlab/distinfo b/www/gitlab/distinfo
index 806c6a5f57ea..591cf63d11d6 100644
--- a/www/gitlab/distinfo
+++ b/www/gitlab/distinfo
@@ -1,6 +1,6 @@
-TIMESTAMP = 1755146392
-SHA256 (gitlab-foss-v18.2.2.tar.bz2) = b7e51d9b36ee6199b1fb165682d05fc51d91f5971ecf1ae491f4e14cd2b7ab2e
-SIZE (gitlab-foss-v18.2.2.tar.bz2) = 121306359
-TIMESTAMP = 1755146393
-SHA256 (gitlab-v18.2.2-ee.tar.bz2) = 6f68fd7a7d0449f26536c6fb1b535f999829a0dc1faf574a62f98572c829c09c
-SIZE (gitlab-v18.2.2-ee.tar.bz2) = 136594577
+TIMESTAMP = 1755673899
+SHA256 (gitlab-foss-v18.3.0.tar.bz2) = 6e41dcfac151ec18d8b6896823499a73fc45e026d3804798fdb73b5c5c51c332
+SIZE (gitlab-foss-v18.3.0.tar.bz2) = 122196697
+TIMESTAMP = 1755673938
+SHA256 (gitlab-v18.3.0-ee.tar.bz2) = 03f1e46a1afdbbb3ef7a3ce514afd0d267c20df52e8be9a7be8a7f51c4dd497f
+SIZE (gitlab-v18.3.0-ee.tar.bz2) = 138127084
diff --git a/www/gitlab/files/patch-Gemfile b/www/gitlab/files/patch-Gemfile
index f57ee976650d..7943be7c3489 100644
--- a/www/gitlab/files/patch-Gemfile
+++ b/www/gitlab/files/patch-Gemfile
@@ -1,34 +1,14 @@
---- Gemfile.orig	2025-07-22 11:41:34 UTC
+--- Gemfile.orig	2025-08-20 06:43:08 UTC
 +++ Gemfile
-@@ -164,8 +164,8 @@ gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', fea
- gem 'rack-cors', '~> 2.0.1', require: 'rack/cors', feature_category: :shared
+@@ -165,7 +165,7 @@ gem 'graphql', '2.5.11', feature_category: :api
  
  # GraphQL API
--gem 'graphql', '2.4.13', feature_category: :api
--gem 'graphql-docs', '~> 5.0.0', group: [:development, :test], feature_category: :api
-+gem 'graphql', '~> 2.4.13', feature_category: :api
-+#gem 'graphql-docs', '~> 5.0.0', group: [:development, :test], feature_category: :api
+ gem 'graphql', '2.5.11', feature_category: :api
+-gem 'graphql-docs', '~> 5.2.0', group: [:development, :test], feature_category: :api
++#gem 'graphql-docs', '~> 5.2.0', group: [:development, :test], feature_category: :api
  gem 'apollo_upload_server', '~> 2.1.6', feature_category: :api
  
  # Cells
-@@ -220,7 +220,7 @@ gem 'google-cloud-storage', '~> 1.45.0', feature_categ
- gem 'google-apis-storage_v1', '~> 0.29', feature_category: :shared
- gem 'google-cloud-storage', '~> 1.45.0', feature_category: :shared
- # We need >= 0.11.1 because that's when match_glob support is added to list_objects
--gem 'google-apis-core', '~> 0.11.0', '>= 0.11.1', feature_category: :shared
-+gem 'google-apis-core', '~> 0.11', '>= 0.11.1', feature_category: :shared
- gem 'google-apis-compute_v1', '~> 0.57.0', feature_category: :shared
- gem 'google-apis-container_v1', '~> 0.43.0', feature_category: :shared
- gem 'google-apis-container_v1beta1', '~> 0.43.0', feature_category: :shared
-@@ -231,7 +231,7 @@ gem 'google-apis-androidpublisher_v3', '~> 0.34.0', fe
- gem 'google-apis-sqladmin_v1beta4', '~> 0.41.0', feature_category: :shared
- gem 'google-apis-androidpublisher_v3', '~> 0.34.0', feature_category: :shared
- 
--gem 'googleauth', '~> 1.8.1', feature_category: :shared
-+gem 'googleauth', '~> 1.8', feature_category: :shared
- gem 'google-cloud-artifact_registry-v1', '~> 0.11.0', feature_category: :shared
- gem 'google-cloud-compute-v1', '~> 2.6.0', feature_category: :shared
- 
 @@ -295,7 +295,7 @@ gem 'state_machines-activerecord', '~> 0.8.0', feature
  gem 'state_machines-activerecord', '~> 0.8.0', feature_category: :shared
  
@@ -38,12 +18,12 @@
  gem 'sidekiq-cron', '~> 1.12.0', feature_category: :scalability
  gem 'gitlab-sidekiq-fetcher',
    path: 'vendor/gems/sidekiq-reliable-fetch',
-@@ -465,143 +465,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared
+@@ -468,148 +468,15 @@ gem 'warning', '~> 1.5.0', feature_category: :shared
  
  gem 'warning', '~> 1.5.0', feature_category: :shared
  
 -group :development do
--  gem 'lefthook', '~> 1.11.0', require: false, feature_category: :tooling
+-  gem 'lefthook', '~> 1.12.0', require: false, feature_category: :tooling
 -  gem 'rubocop', feature_category: :tooling
 -
 -  gem 'solargraph', '~> 0.54.0', require: false, feature_category: :shared
@@ -76,7 +56,7 @@
 -group :development, :test do
 -  gem 'deprecation_toolkit', '~> 2.2.3', require: false, feature_category: :shared
 -  gem 'bullet', '~> 8.0.0', feature_category: :shared
--  gem 'parser', '= 3.3.8.0', feature_category: :shared
+-  gem 'parser', '= 3.3.9.0', feature_category: :shared
 -  gem 'pry-byebug', feature_category: :shared
 -  gem 'pry-rails', '~> 0.3.9', feature_category: :shared
 -  gem 'pry-shell', '~> 0.6.4', feature_category: :shared
@@ -128,7 +108,7 @@
 -end
 -
  group :development, :test, :danger do
-   gem 'gitlab-dangerfiles', '~> 4.9.0', require: false, feature_category: :tooling
+   gem 'gitlab-dangerfiles', '~> 4.10.0', require: false, feature_category: :tooling
  end
  
 -group :development, :test, :coverage do
@@ -162,6 +142,11 @@
 -
 -  gem 'graphlyte', '~> 1.0.0', feature_category: :shared
 -
+-  # Upload CI metrics to a GCP BigQuery instance
+-  #
+-  # We only use this gem in CI.
+-  gem 'google-cloud-bigquery', '~> 1.0', feature_category: :tooling
+-
 -  gem 'shoulda-matchers', '~> 6.4.0', require: false, feature_category: :shared
 -  gem 'email_spec', '~> 2.3.0', feature_category: :shared
 -  gem 'webmock', '~> 3.25.0', feature_category: :shared
@@ -176,32 +161,27 @@
 -  # Moved in `test` because https://gitlab.com/gitlab-org/gitlab/-/issues/217527
 -  gem 'derailed_benchmarks', require: false, feature_category: :shared
 -
--  gem 'gitlab_quality-test_tooling', '~> 2.10.0', require: false, feature_category: :tooling
+-  gem 'gitlab_quality-test_tooling', '~> 2.18.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
-@@ -636,14 +508,14 @@ gem 'spamcheck', '~> 1.3.0', feature_category: :inside
+@@ -643,10 +510,10 @@ gem 'spamcheck', '~> 1.3.0', feature_category: :inside
  gem 'spamcheck', '~> 1.3.0', feature_category: :insider_threat
  
  # Gitaly GRPC protocol definitions
--gem 'gitaly', '~> 18.1.0.pre.rc1', feature_category: :gitaly
-+gem 'gitaly', '~> 18.1', feature_category: :gitaly
+-gem 'gitaly', '~> 18.2.0', feature_category: :gitaly
++gem 'gitaly', '~> 18.2', feature_category: :gitaly
  
  # KAS GRPC protocol definitions
--gem 'gitlab-kas-grpc', '~> 18.1.0', feature_category: :deployment_management
-+gem 'gitlab-kas-grpc', '~> 18.2.0', feature_category: :deployment_management
- 
- # Lock until 1.74.0 is available
- # https://gitlab.com/gitlab-com/gl-infra/production/-/issues/20067
--gem 'grpc', '= 1.63.0', feature_category: :shared
-+gem 'grpc', '~> 1.63', feature_category: :shared
+-gem 'gitlab-kas-grpc', '~> 18.2.0', feature_category: :deployment_management
++gem 'gitlab-kas-grpc', '~> 18.2', feature_category: :deployment_management
  
- gem 'google-protobuf', '~> 3.25', '>= 3.25.3', feature_category: :shared
+ gem 'grpc', '~> 1.74.0', feature_category: :shared
  
-@@ -664,7 +536,7 @@ gem 'gitlab-net-dns', '~> 0.12.0', feature_category: :
- gem 'gitlab-net-dns', '~> 0.12.0', feature_category: :shared
+@@ -669,7 +536,7 @@ gem 'gitlab-net-dns', '~> 0.15.0', feature_category: :
+ gem 'gitlab-net-dns', '~> 0.15.0', feature_category: :shared
  
  # Countries list
 -gem 'countries', '~> 4.0.0', feature_category: :shared
@@ -209,7 +189,7 @@
  
  gem 'retriable', '~> 3.1.2', feature_category: :shared
  
-@@ -746,10 +618,15 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
+@@ -750,10 +617,15 @@ gem 'duo_api', '~> 1.3', feature_category: :system_acc
  
  gem 'duo_api', '~> 1.3', feature_category: :system_access
  
@@ -225,4 +205,4 @@
 -gem "i18n_data", "~> 0.13.1", feature_category: :system_access
 +gem "i18n_data", "~> 0.13", feature_category: :system_access
  
- gem "gitlab-cloud-connector", "~> 1.21", require: 'gitlab/cloud_connector', feature_category: :plan_provisioning
+ gem "gitlab-cloud-connector", "~> 1.26", 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 d06f8232e96f..5c05397684c9 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	2025-07-16 11:39:10 UTC
+--- config/gitlab.yml.example.orig	2025-08-20 06:43:08 UTC
 +++ config/gitlab.yml.example
-@@ -498,7 +498,7 @@ production: &base
+@@ -511,7 +511,7 @@ production: &base
    ## GitLab Pages
    pages:
      enabled: false
@@ -9,7 +9,7 @@
      # The location where pages are stored (default: shared/pages).
      # path: shared/pages
  
-@@ -1243,13 +1243,13 @@ production: &base
+@@ -1261,13 +1261,13 @@ production: &base
    repositories:
      storages: # You must have at least a `default` storage path.
        default:
@@ -25,7 +25,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
-@@ -1284,12 +1284,12 @@ production: &base
+@@ -1302,12 +1302,12 @@ production: &base
  
    ## GitLab Shell settings
    gitlab_shell:
@@ -41,7 +41,7 @@
  
      # Git over HTTP
      upload_pack: true
-@@ -1304,7 +1304,7 @@ production: &base
+@@ -1322,7 +1322,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).
@@ -50,7 +50,7 @@
  
    cell:
      # enabled: false
-@@ -1322,7 +1322,7 @@ production: &base
+@@ -1340,7 +1340,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).
@@ -59,7 +59,7 @@
  
      # The URL to the external KAS API (used by the Kubernetes agents)
      # external_url: wss://kas.example.com
-@@ -1349,13 +1349,13 @@ production: &base
+@@ -1367,13 +1367,13 @@ production: &base
  
    ## GitLab Elasticsearch settings
    elasticsearch:
@@ -75,7 +75,7 @@
  
    ## Webpack settings
    # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
-@@ -1376,18 +1376,18 @@ production: &base
+@@ -1394,18 +1394,18 @@ production: &base
  
      # Sidekiq exporter is a dedicated Prometheus metrics server optionally running alongside Sidekiq.
      sidekiq_exporter:
@@ -101,7 +101,7 @@
  
      # Web exporter is a dedicated Prometheus metrics server optionally running alongside Puma.
      web_exporter:
-@@ -1614,13 +1614,13 @@ test:
+@@ -1632,13 +1632,13 @@ test:
          gitaly_address: unix:tmp/tests/gitaly/praefect.socket
  
    gitaly:
diff --git a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
index 8912856cee2b..71b3d3dbd4e4 100644
--- a/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
+++ b/www/gitlab/files/patch-gems_gitlab-backup-cli_gitlab-backup-cli.gemspec
@@ -1,20 +1,6 @@
---- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig	2025-07-09 01:48:55 UTC
+--- gems/gitlab-backup-cli/gitlab-backup-cli.gemspec.orig	2025-08-20 06:43:08 UTC
 +++ gems/gitlab-backup-cli/gitlab-backup-cli.gemspec
-@@ -27,7 +27,7 @@ Gem::Specification.new do |spec|
-   spec.add_dependency "activerecord", ">= 7"
-   spec.add_dependency "activesupport", ">= 7"
-   spec.add_dependency "bigdecimal", "~> 3.1"
--  spec.add_dependency "googleauth", "~> 1.8.1" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
-+  spec.add_dependency "googleauth", "~> 1.8" # https://gitlab.com/gitlab-org/gitlab/-/issues/449019
-   spec.add_dependency "google-cloud-storage_transfer", "~> 1.2.0"
-   spec.add_dependency "mutex_m", "~> 0.3"
-   spec.add_dependency "pg", "~> 1.5.6"
-@@ -40,11 +40,11 @@ Gem::Specification.new do |spec|
-   spec.add_dependency "concurrent-ruby", "~> 1.1"
-   spec.add_dependency "faraday", "~> 2"
-   spec.add_dependency "google-protobuf", "~> 3.25", ">= 3.25.3"
--  spec.add_dependency "grpc", "= 1.63.0"
-+  spec.add_dependency "grpc", "~> 1.63"
+@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
    spec.add_dependency "json", "~> 2.7"
    spec.add_dependency "jwt", "~> 2.5"
    spec.add_dependency "logger", "~> 1.5"
diff --git a/www/gitlab/pkg-message b/www/gitlab/pkg-message
index 743b768c3669..089734612436 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.2-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/install/18.3-freebsd.md
 EOM
   type: install
 }
@@ -18,9 +18,9 @@ EOM
 {
   message: <<EOM
 If you just installed an major upgrade of GitLab, for example you
-switched from 18.1.x to 18.2.x, please follow the instructions in the guide at:
+switched from 18.2.x to 18.3.x, please follow the instructions in the guide at:
 
-https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/18.1-18.2-freebsd.md
+https://gitlab.com/mfechner/freebsd-gitlab-docu/blob/master/update/18.2-18.3-freebsd.md
 
 If you just installed an minor upgrade of GitLab please follow
 the instructions in the guide at: