diff --git a/Services/AutoLabeler/definition.go b/Services/AutoLabeler/definition.go
index 78e4f245a597a74a0d7595c36364bd688a999177..4eea34ad87b1aaa15976701b5b44267a56338905 100644
--- a/Services/AutoLabeler/definition.go
+++ b/Services/AutoLabeler/definition.go
@@ -12,7 +12,7 @@ import (
 	"strings"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/AutoLabeler/utils.go b/Services/AutoLabeler/utils.go
index 16eab24e6e8817b409c46282c8f61bf09cf82e72..4e15b57eecc0b484dcd187df5678a7ba4af09438 100644
--- a/Services/AutoLabeler/utils.go
+++ b/Services/AutoLabeler/utils.go
@@ -4,7 +4,7 @@
 
 package AutoLabeler
 
-import "github.com/xanzy/go-gitlab"
+import "gitlab.com/gitlab-org/api/client-go"
 
 func ContainsLabel(needle string, haystack []*gitlab.EventLabel) bool {
 	for _, i := range haystack {
diff --git a/Services/AutoMaintainer/definition.go b/Services/AutoMaintainer/definition.go
index 64f1b88a2267e22f50a8effa91f1675734ca4e28..e703b88b81df4737cef0b358180cc8ebb148d00d 100644
--- a/Services/AutoMaintainer/definition.go
+++ b/Services/AutoMaintainer/definition.go
@@ -14,7 +14,7 @@ import (
 	"strings"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/AutoStale/definition.go b/Services/AutoStale/definition.go
index 4325d7f55a22190a97e3fdc1e2c5ad867c245b20..231b16ef82ade157b400d44fa1c3912a3120eafa 100644
--- a/Services/AutoStale/definition.go
+++ b/Services/AutoStale/definition.go
@@ -13,7 +13,7 @@ import (
 	"time"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/CancelMergeRequestPipelines/definition.go b/Services/CancelMergeRequestPipelines/definition.go
index 94b81a9fcf663e5049c963c1849fad6d93de5603..37303d21cab635ee1bdec8d777fe9d8d32a9c752 100644
--- a/Services/CancelMergeRequestPipelines/definition.go
+++ b/Services/CancelMergeRequestPipelines/definition.go
@@ -7,7 +7,7 @@ package CancelMergeRequestPipelines
 
 import (
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/CommentOnApproval/definition.go b/Services/CommentOnApproval/definition.go
index eea43ccfc80816c858cbd80916c90f04d7a10605..fe0791a8401b6e360b0365767939ab81213382c2 100644
--- a/Services/CommentOnApproval/definition.go
+++ b/Services/CommentOnApproval/definition.go
@@ -9,7 +9,7 @@ import (
 	"strings"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/CommentPingTeam/definition.go b/Services/CommentPingTeam/definition.go
index 10b01b018ed7ab05f025846953760f998393af43..2c07e74899341b19f3ca5c53ce22d485289bfa44 100644
--- a/Services/CommentPingTeam/definition.go
+++ b/Services/CommentPingTeam/definition.go
@@ -9,7 +9,7 @@ import (
 	"strings"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services/AutoMaintainer"
 )
diff --git a/Services/GreetFirstContributors/definition.go b/Services/GreetFirstContributors/definition.go
index b55d8514a2f08dddd33d4e25215d54679dd20d9f..9d35ed7f13c258ad39c29339d5891b747d85cb98 100644
--- a/Services/GreetFirstContributors/definition.go
+++ b/Services/GreetFirstContributors/definition.go
@@ -8,7 +8,7 @@ import (
 	"fmt"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/MaintainerFeedback/definition.go b/Services/MaintainerFeedback/definition.go
index c0a3736b39074fd0b622f81c32665a94d8a57782..e5e6a65785c7874b03f991f1ce9aae1f06699768 100644
--- a/Services/MaintainerFeedback/definition.go
+++ b/Services/MaintainerFeedback/definition.go
@@ -8,7 +8,7 @@ import (
 	"strings"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services/AutoLabeler"
 )
 
diff --git a/Services/MinimumRequiredSettings/definition.go b/Services/MinimumRequiredSettings/definition.go
index 0a16c201e48a7b03fe54a4cf58f1fc1f6257b74a..a47e459b766391e11426d02100b86d3d63819263 100644
--- a/Services/MinimumRequiredSettings/definition.go
+++ b/Services/MinimumRequiredSettings/definition.go
@@ -7,7 +7,7 @@ package MinimumRequiredSettings
 
 import (
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/WarnProtectedBranch/definition.go b/Services/WarnProtectedBranch/definition.go
index 071ca31a3431119e472f3728b3e8115b51b03932..32c5e781d3d542b45ae012f80d4ffd7ba54f131a 100644
--- a/Services/WarnProtectedBranch/definition.go
+++ b/Services/WarnProtectedBranch/definition.go
@@ -8,7 +8,7 @@ import (
 	"fmt"
 
 	"github.com/rs/zerolog"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 )
 
diff --git a/Services/services.go b/Services/services.go
index 8ac94c33b54bab895684e25d90914e5dd1ecf882..e83c3452e4063dfe3832e17382cef99327932adb 100644
--- a/Services/services.go
+++ b/Services/services.go
@@ -10,7 +10,7 @@ import (
 
 	"github.com/rs/zerolog"
 	"github.com/rs/zerolog/log"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services/AutoLabeler"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services/AutoMaintainer"
diff --git a/client/client.go b/client/client.go
index 9249c3bc54e12f1007fdde0878b4048bf44ad6ff..6064585e55b870785b92ec871549a06646e794d4 100644
--- a/client/client.go
+++ b/client/client.go
@@ -8,7 +8,7 @@ import (
 	"github.com/google/uuid"
 	"github.com/robfig/cron/v3"
 	"github.com/rs/zerolog/log"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/conf"
 )
diff --git a/go.mod b/go.mod
index 3d39e2333e0062ed2180e11aa7d9d6cc150a6b87..9c1de1132fd48ee48debd7fe12035c248acece6b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,19 +1,18 @@
 module gitlab.alpinelinux.org/alpine/infra/aports-qa-bot
 
-go 1.21
+go 1.22
 
-toolchain go1.21.6
+toolchain go1.23.4
 
 require (
 	github.com/dmarkham/enumer v1.5.10
 	github.com/google/uuid v1.6.0
 	github.com/robfig/cron/v3 v3.0.1
 	github.com/rs/zerolog v1.33.0
-	github.com/xanzy/go-gitlab v0.112.0
+	gitlab.com/gitlab-org/api/client-go v0.120.0
 )
 
 require (
-	github.com/golang/protobuf v1.5.3 // indirect
 	github.com/google/go-querystring v1.1.0 // indirect
 	github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
 	github.com/hashicorp/go-retryablehttp v0.7.7 // indirect
@@ -21,11 +20,8 @@ require (
 	github.com/mattn/go-isatty v0.0.20 // indirect
 	github.com/pascaldekloe/name v1.0.1 // indirect
 	golang.org/x/mod v0.13.0 // indirect
-	golang.org/x/net v0.16.0 // indirect
-	golang.org/x/oauth2 v0.6.0 // indirect
+	golang.org/x/oauth2 v0.24.0 // indirect
 	golang.org/x/sys v0.20.0 // indirect
-	golang.org/x/time v0.3.0 // indirect
+	golang.org/x/time v0.8.0 // indirect
 	golang.org/x/tools v0.14.0 // indirect
-	google.golang.org/appengine v1.6.7 // indirect
-	google.golang.org/protobuf v1.29.1 // indirect
 )
diff --git a/go.sum b/go.sum
index f2abfced307ee30ba566383ab20c54a4ff6982c3..32cf4d8747df4005c2e7a6b921d4c1e92c7a385b 100644
--- a/go.sum
+++ b/go.sum
@@ -6,14 +6,9 @@ github.com/dmarkham/enumer v1.5.10/go.mod h1:e4VILe2b1nYK3JKJpRmNdl5xbDQvELc6tQ8
 github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
 github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
-github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
 github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
-github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8=
 github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
@@ -40,39 +35,25 @@ github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzG
 github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
 github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
 github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
-github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
-github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
-github.com/xanzy/go-gitlab v0.112.0 h1:6Z0cqEooCvBMfBIHw+CgO4AKGRV8na/9781xOb0+DKw=
-github.com/xanzy/go-gitlab v0.112.0/go.mod h1:wKNKh3GkYDMOsGmnfuX+ITCmDuSDWFO0G+C4AygL9RY=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
+github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
+gitlab.com/gitlab-org/api/client-go v0.120.0 h1:geCJjojDXxWVmUcTxPcOUCenAWElWB5dVfX3HJGeAMc=
+gitlab.com/gitlab-org/api/client-go v0.120.0/go.mod h1:ygHmS3AU3TpvK+AC6DYO1QuAxLlv6yxYK+/Votr/WFQ=
 golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
 golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.16.0 h1:7eBu7KsSvFDtSXUIDbh3aqlK4DPsZ1rByC8PFfBThos=
-golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
-golang.org/x/oauth2 v0.6.0 h1:Lh8GPgSKBfWSwFvtuWOfeI3aAAnbXTSutYxJiOJFgIw=
-golang.org/x/oauth2 v0.6.0/go.mod h1:ycmewcwgD4Rpr3eZJLSB4Kyyljb3qDh40vJ8STE5HKw=
+golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
+golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
 golang.org/x/sync v0.4.0 h1:zxkM55ReGkDlKSM+Fu41A+zmbZuaPVbGMzvvdUPznYQ=
 golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
 golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
-golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
+golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
 golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
-google.golang.org/protobuf v1.29.1 h1:7QBf+IK2gx70Ap/hDsOmam3GE0v9HicjfEdAxE62UoM=
-google.golang.org/protobuf v1.29.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/mocklab/definition.go b/mocklab/definition.go
index cf7b73d2b47a11efaddce76405e7aee0bb5c9999..ad666d4a362160481c49a76175ea0c8aa3f904d7 100644
--- a/mocklab/definition.go
+++ b/mocklab/definition.go
@@ -23,7 +23,7 @@ import (
 	"os"
 	"testing"
 
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 )
 
 // Setup sets up a test HTTP server along with a gitlab.Client that is
diff --git a/server/server.go b/server/server.go
index cba15f0f04c03d2a193ac87a48163ff0bf11232a..eb8b0e1e347c52b25a94dcbc9945be9f14871bba 100644
--- a/server/server.go
+++ b/server/server.go
@@ -16,7 +16,7 @@ import (
 	"github.com/google/uuid"
 	"github.com/rs/zerolog"
 	"github.com/rs/zerolog/log"
-	"github.com/xanzy/go-gitlab"
+	"gitlab.com/gitlab-org/api/client-go"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/MergeRequest"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/Services"
 	"gitlab.alpinelinux.org/alpine/infra/aports-qa-bot/conf"