From 7840b07251f72c56e505c00d74ab47bd53417d4a Mon Sep 17 00:00:00 2001
From: Tim Rizzi <trizzi@gitlab.com>
Date: Mon, 26 Feb 2024 02:50:52 +0000
Subject: [PATCH] Deprecation: Container registry API pagination

---
 ...recate-registry-api-requires-pagination.yml | 13 +++++++++++++
 doc/update/deprecations.md                     | 18 ++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 data/deprecations/16-10-deprecate-registry-api-requires-pagination.yml

diff --git a/data/deprecations/16-10-deprecate-registry-api-requires-pagination.yml b/data/deprecations/16-10-deprecate-registry-api-requires-pagination.yml
new file mode 100644
index 0000000000000..f199207906ef9
--- /dev/null
+++ b/data/deprecations/16-10-deprecate-registry-api-requires-pagination.yml
@@ -0,0 +1,13 @@
+- title: "List container registry repository tags API endpoint pagination"
+  announcement_milestone: "16.10"
+  removal_milestone: "18.0"
+  breaking_change: true
+  reporter: trizzi
+  stage: Package
+  issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/432470
+  body: |
+    You can use the container registry REST API to [get a list of registry repository tags](https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repository-tags). We plan to improve this endpoint, adding more metadata and new features like improved sorting and filtering.
+
+    While Offset-based pagination was already available for this endpoint, keyset-based pagination was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/432470) in GitLab 16.10 for GitLab.com only. This is now the preferred pagination method.
+
+    Offset-based pagination for the [get a list of registry repository tags] endpoint is deprecated in GitLab 16.10 and will be removed in 18.0. Instead, use the keyset-based pagination.
diff --git a/doc/update/deprecations.md b/doc/update/deprecations.md
index a3ae607128f42..56c59df94741f 100644
--- a/doc/update/deprecations.md
+++ b/doc/update/deprecations.md
@@ -168,6 +168,24 @@ This change is a breaking change. You should use an [authentication token](https
 
 <div class="deprecation breaking-change" data-milestone="18.0">
 
+### List container registry repository tags API endpoint pagination
+
+<div class="deprecation-notes">
+- Announced in GitLab <span class="milestone">16.10</span>
+- Removal in GitLab <span class="milestone">18.0</span> ([breaking change](https://docs.gitlab.com/ee/update/terminology.html#breaking-change))
+- To discuss this change or learn more, see the [deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/432470).
+</div>
+
+You can use the container registry REST API to [get a list of registry repository tags](https://docs.gitlab.com/ee/api/container_registry.html#list-registry-repository-tags). We plan to improve this endpoint, adding more metadata and new features like improved sorting and filtering.
+
+While Offset-based pagination was already available for this endpoint, keyset-based pagination was [introduced](https://gitlab.com/gitlab-org/gitlab/-/issues/432470) in GitLab 16.10 for GitLab.com only. This is now the preferred pagination method.
+
+Offset-based pagination for the [get a list of registry repository tags] endpoint is deprecated in GitLab 16.10 and will be removed in 18.0. Instead, use the keyset-based pagination.
+
+</div>
+
+<div class="deprecation breaking-change" data-milestone="18.0">
+
 ### Registration tokens and server-side runner arguments in `gitlab-runner register` command
 
 <div class="deprecation-notes">
-- 
GitLab