Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'data/removals')
-rw-r--r--data/removals/15_0/15-0-remove-background-upload-object-storage.yml4
-rw-r--r--data/removals/15_10/15_10-non-public-artifacts.yml25
-rw-r--r--data/removals/15_11/15-11-opensuse-15-3.yml14
-rw-r--r--data/removals/15_11/15-11-project-export-import-ndjson.yml16
-rw-r--r--data/removals/15_8/15-8-group-export-import-ndjson.yml16
-rw-r--r--data/removals/15_9/15-9-live-preview.yml11
-rw-r--r--data/removals/15_9/15-9-omniauth-authentiq.yml11
-rw-r--r--data/removals/15_9/15-9-omniauth-shibboleth.yml11
-rw-r--r--data/removals/16_0/16-0-PipelineSecurityReportFinding-name-GraphQL-field.yml10
-rw-r--r--data/removals/16_0/16-0-Security-report-schemas-version-14.yml11
-rw-r--r--data/removals/16_0/16-0-api-lint-removal.yml41
-rw-r--r--data/removals/16_0/16-0-auto-deploy-postgres-enabled.yml16
-rw-r--r--data/removals/16_0/16-0-azure-storage-driver-registry.yml12
-rw-r--r--data/removals/16_0/16-0-cas3-authentication.yml23
-rw-r--r--data/removals/16_0/16-0-ci-builds-column-validations.yml24
-rw-r--r--data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml17
-rw-r--r--data/removals/16_0/16-0-conan-search-limited-to-project.yml11
-rw-r--r--data/removals/16_0/16-0-cs-docker-variables.yml31
-rw-r--r--data/removals/16_0/16-0-dast-api-variable-removal.yml13
-rw-r--r--data/removals/16_0/16-0-dependency-scanning-java-versions.yml19
-rw-r--r--data/removals/16_0/16-0-external-field-grapql-release-asset-link-type.yml11
-rw-r--r--data/removals/16_0/16-0-external-field-releases-release-links-api.yml11
-rw-r--r--data/removals/16_0/16-0-gitaly-legacy-config-vars.yml19
-rw-r--r--data/removals/16_0/16-0-gitlab-com-importer.yml16
-rw-r--r--data/removals/16_0/16-0-grafana-chart.yml19
-rw-r--r--data/removals/16_0/16-0-graphql-dora-environment-tier-param.yml14
-rw-r--r--data/removals/16_0/16-0-import-bare-repositories-rake-task.yml25
-rw-r--r--data/removals/16_0/16-0-jira-github-enterprise-dvcs-connector.yml10
-rw-r--r--data/removals/16_0/16-0-job_age.yml11
-rw-r--r--data/removals/16_0/16-0-licenses-check.yml10
-rw-r--r--data/removals/16_0/16-0-limit-ci-job-token.yml32
-rw-r--r--data/removals/16_0/16-0-managed-licenses-api.yml14
-rw-r--r--data/removals/16_0/16-0-non-expiring-access-tokens.yml19
-rw-r--r--data/removals/16_0/16-0-operations-access-level-api-field.yml16
-rw-r--r--data/removals/16_0/16-0-phabricator-importer.yml13
-rw-r--r--data/removals/16_0/16-0-pipeline_activity_limit.yml12
-rw-r--r--data/removals/16_0/16-0-postgresql-12.yml17
-rw-r--r--data/removals/16_0/16-0-pull-thru-cache-container-registry.yml11
-rw-r--r--data/removals/16_0/16-0-redis-5.yml14
-rw-r--r--data/removals/16_0/16-0-redis-config-env.yml13
-rw-r--r--data/removals/16_0/16-0-redis-localhost.yml16
-rw-r--r--data/removals/16_0/16-0-removal-variables.yml29
-rw-r--r--data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml13
-rw-r--r--data/removals/16_0/16-0-remove-legacy-gitaly-config-structure.yml22
-rw-r--r--data/removals/16_0/16-0-remove-legacy-praefect-config-structure.yml22
-rw-r--r--data/removals/16_0/16-0-remove-metrics.yml24
-rw-r--r--data/removals/16_0/16-0-remove-praefect-custom-metric-endpoint.yml18
-rw-r--r--data/removals/16_0/16-0-restrict-imports-to-maintainers-and-above.yml12
-rw-r--r--data/removals/16_0/16-0-sast-analyzer-consolidation.yml21
-rw-r--r--data/removals/16_0/16-0-self-monitor-removal.yml9
-rw-r--r--data/removals/16_0/16-0-source-code-branch-push.yml16
-rw-r--r--data/removals/16_0/16-0-starboard-directive.yml19
-rw-r--r--data/removals/16_0/16-0-terraform-latest-stable-change.yml21
-rw-r--r--data/removals/16_0/16-0-vulnerability-confidence-field.yml11
-rw-r--r--data/removals/16_0/16-0-vulnerabilityFindingDismiss-GraphQL-mutation.yml11
-rw-r--r--data/removals/16_0/16-0-vulnerabilityFindingDismiss-mutation.yml11
-rw-r--r--data/removals/16_0/16.0-config-fields-runner-helm-chart.yml39
-rw-r--r--data/removals/16_0/16.0-eol-windows-server-2004-and-20H2.yml9
-rw-r--r--data/removals/16_0/16.0-runner-api-does-not-return-paused-active.yml12
-rw-r--r--data/removals/templates/example.yml2
60 files changed, 976 insertions, 4 deletions
diff --git a/data/removals/15_0/15-0-remove-background-upload-object-storage.yml b/data/removals/15_0/15-0-remove-background-upload-object-storage.yml
index ca9fcc408ba..223e967073b 100644
--- a/data/removals/15_0/15-0-remove-background-upload-object-storage.yml
+++ b/data/removals/15_0/15-0-remove-background-upload-object-storage.yml
@@ -18,7 +18,7 @@
#### Encrypted S3 buckets
- Additionally, this also breaks the use of [encrypted S3 buckets](https://docs.gitlab.com/ee/administration/object_storage.html#encrypted-s3-buckets) with [storage-specific configuration form](https://docs.gitlab.com/ee/administration/object_storage.html#storage-specific-configuration).
+ Additionally, this also breaks the use of [encrypted S3 buckets](https://docs.gitlab.com/ee/administration/object_storage.html#encrypted-s3-buckets) with [storage-specific configuration form](https://docs.gitlab.com/ee/administration/object_storage.html#configure-each-object-type-to-define-its-own-storage-connection-storage-specific-form).
If your S3 buckets have [SSE-S3 or SSE-KMS encryption enabled](https://docs.aws.amazon.com/kms/latest/developerguide/services-s3.html), please [migrate your configuration to use consolidated object storage form](https://docs.gitlab.com/ee/administration/object_storage.html#transition-to-consolidated-form) before upgrading to GitLab 15.0. Otherwise, you may start getting `ETag mismatch` errors during objects upload.
@@ -36,7 +36,7 @@
If you have set a prefix, you can use a workaround to revert to background uploads:
- 1. Continue to use [storage-specific configuration](https://docs.gitlab.com/ee/administration/object_storage.html#storage-specific-configuration).
+ 1. Continue to use [storage-specific configuration](https://docs.gitlab.com/ee/administration/object_storage.html#configure-each-object-type-to-define-its-own-storage-connection-storage-specific-form).
1. In Omnibus GitLab, set the `GITLAB_LEGACY_BACKGROUND_UPLOADS` to re-enable background uploads:
```ruby
diff --git a/data/removals/15_10/15_10-non-public-artifacts.yml b/data/removals/15_10/15_10-non-public-artifacts.yml
new file mode 100644
index 00000000000..4a21cf8b612
--- /dev/null
+++ b/data/removals/15_10/15_10-non-public-artifacts.yml
@@ -0,0 +1,25 @@
+#
+# REQUIRED FIELDS
+#
+- title: "`artifacts:public` CI/CD keyword refactored" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.10" # (required) The milestone when this feature was deprecated.
+ announcement_date: "2023-03-22" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post.
+ removal_milestone: "15.8" # (required) The milestone when this feature is being removed.
+ removal_date: "2023-01-22" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: jocelynjane # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/322454 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The [`artifacts:public` CI/CD keyword](https://docs.gitlab.com/ee/ci/yaml/#artifactspublic) was discovered to be not working properly since GitLab 15.8 and needed to be refactored. This feature is disabled on GitLab.com, and disabled by default on self-managed instances. If an administrator for an instance running GitLab 15.8 or 15.9 enabled this feature via the `non_public_artifacts` feature flag, it is likely that artifacts created with the `public:false` setting are being treated as `public:true`.
+
+ If you have projects that use this setting, you should delete artifacts that must not be public, or [change the visibility](https://docs.gitlab.com/ee/user/public_access.html#change-project-visibility) of affected projects to private, before updating to GitLab 15.8 or later.
+
+ In GitLab 15.10, this feature's code was refactored. On instances with this feature enabled, new artifacts created with `public:false` are now working as expected, though still disabled by default. Avoid testing this feature with production data until it is enabled by default and made generally available.
+#
+# OPTIONAL FIELDS
+#
+ tiers: Free # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/ci/yaml/#artifactspublic # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/15_11/15-11-opensuse-15-3.yml b/data/removals/15_11/15-11-opensuse-15-3.yml
new file mode 100644
index 00000000000..53dc0f050e2
--- /dev/null
+++ b/data/removals/15_11/15-11-opensuse-15-3.yml
@@ -0,0 +1,14 @@
+- title: "openSUSE Leap 15.3 packages" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "15.11" # (required) The milestone when this feature is planned to be removed
+ breaking_change: false # (required) Change to false if this is not a breaking change.
+ reporter: twk3 # (required) GitLab username of the person reporting the change
+ stage: distribution # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7371 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ Distribution support and security updates for openSUSE Leap 15.3 [ended December 2022](https://en.opensuse.org/Lifetime#Discontinued_distributions).
+
+ Starting in GitLab 15.7 we started providing packages for openSUSE Leap 15.4, and in GitLab 15.11 we stopped providing packages for openSUSE Leap 15.3.
+
+ To continue using GitLab, [upgrade](https://en.opensuse.org/SDB:System_upgrade) to openSUSE Leap 15.4.
+ documentation_url: https://docs.gitlab.com/ee/administration/package_information/supported_os.html
diff --git a/data/removals/15_11/15-11-project-export-import-ndjson.yml b/data/removals/15_11/15-11-project-export-import-ndjson.yml
new file mode 100644
index 00000000000..2a098f7e9f3
--- /dev/null
+++ b/data/removals/15_11/15-11-project-export-import-ndjson.yml
@@ -0,0 +1,16 @@
+- title: "Exporting and importing projects in JSON format not supported"
+ announcement_milestone: "15.10"
+ announcement_date: "2023-04-22"
+ removal_milestone: "15.11"
+ removal_date: "2023-04-22"
+ breaking_change: false
+ reporter: wortschi
+ stage: manage
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389888
+ body: |
+ GitLab previously created project file exports in JSON format. In GitLab 12.10, NDJSON was added as the preferred format.
+
+ To support transitions, importing JSON-formatted project file exports was still possible if you configured the
+ relevant feature flags.
+
+ From GitLab 15.11, importing a JSON-formatted project file exports is not supported.
diff --git a/data/removals/15_8/15-8-group-export-import-ndjson.yml b/data/removals/15_8/15-8-group-export-import-ndjson.yml
new file mode 100644
index 00000000000..58e37dff63b
--- /dev/null
+++ b/data/removals/15_8/15-8-group-export-import-ndjson.yml
@@ -0,0 +1,16 @@
+- title: "Exporting and importing groups in JSON format not supported"
+ announcement_milestone: "15.10"
+ announcement_date: "2023-04-22"
+ removal_milestone: "15.8"
+ removal_date: "2023-04-22"
+ breaking_change: false
+ reporter: wortschi
+ stage: manage
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389888
+ body: |
+ GitLab previously created group file exports in JSON format. In GitLab 13.10, NDJSON was added as the preferred format.
+
+ To support transitions, importing JSON-formatted group file exports was still possible if you configured the
+ relevant feature flags.
+
+ From GitLab 15.8, importing a JSON-formatted group file exports is not supported.
diff --git a/data/removals/15_9/15-9-live-preview.yml b/data/removals/15_9/15-9-live-preview.yml
new file mode 100644
index 00000000000..139d7829d72
--- /dev/null
+++ b/data/removals/15_9/15-9-live-preview.yml
@@ -0,0 +1,11 @@
+- title: "Live Preview no longer available in the Web IDE" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post.
+ removal_milestone: "15.9" # (required) The milestone when this feature is being removed.
+ removal_date: "2023-02-22" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: ericschurter # (required) GitLab username of the person reporting the removal
+ stage: create # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383889 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Live Preview feature of the Web IDE was intended to provide a client-side preview of static web applications. However, complex configuration steps and a narrow set of supported project types have limited its utility. With the introduction of the Web IDE Beta in GitLab 15.7, you can now connect to a full server-side runtime environment. With upcoming support for installing extensions in the Web IDE, we’ll also support more advanced workflows than those available with Live Preview. As of GitLab 15.9, Live Preview is no longer available in the Web IDE.
diff --git a/data/removals/15_9/15-9-omniauth-authentiq.yml b/data/removals/15_9/15-9-omniauth-authentiq.yml
new file mode 100644
index 00000000000..2a2e2601704
--- /dev/null
+++ b/data/removals/15_9/15-9-omniauth-authentiq.yml
@@ -0,0 +1,11 @@
+- title: "`omniauth-authentiq` gem no longer available" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.9" # (required) The milestone when this feature was deprecated.
+ announcement_date: "2023-02-22" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post.
+ removal_milestone: "15.9" # (required) The milestone when this feature is being removed.
+ removal_date: "2023-02-22" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: adil.farrukh # (required) GitLab username of the person reporting the removal
+ stage: manage # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389452 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ `omniauth-authentiq` is an OmniAuth strategy gem that was part of GitLab. The company providing authentication services, Authentiq, has shut down. Therefore the gem is being removed.
diff --git a/data/removals/15_9/15-9-omniauth-shibboleth.yml b/data/removals/15_9/15-9-omniauth-shibboleth.yml
new file mode 100644
index 00000000000..a7641bb893b
--- /dev/null
+++ b/data/removals/15_9/15-9-omniauth-shibboleth.yml
@@ -0,0 +1,11 @@
+- title: "`omniauth-shibboleth` gem no longer available" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "10.0" # (required) The milestone when this feature was deprecated.
+ announcement_date: "2017-09-22" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post.
+ removal_milestone: "15.9" # (required) The milestone when this feature is being removed.
+ removal_date: "2023-02-22" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: adil.farrukh # (required) GitLab username of the person reporting the removal
+ stage: manage # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388959 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ `omniauth-shibboleth` is an OmniAuth strategy gem that was part of GitLab. The gem has not received security updates and does not meet GitLab quality guidance criteria. This gem was originally scheduled for removal by 14.1, but it was not removed at that time. The gem is being removed now.
diff --git a/data/removals/16_0/16-0-PipelineSecurityReportFinding-name-GraphQL-field.yml b/data/removals/16_0/16-0-PipelineSecurityReportFinding-name-GraphQL-field.yml
new file mode 100644
index 00000000000..8d535040686
--- /dev/null
+++ b/data/removals/16_0/16-0-PipelineSecurityReportFinding-name-GraphQL-field.yml
@@ -0,0 +1,10 @@
+- title: "PipelineSecurityReportFinding name GraphQL field"
+ announcement_milestone: "15.1"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: abellucci
+ stage: Govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346335
+ body: |
+ Previously, the [PipelineSecurityReportFinding GraphQL type was updated](https://gitlab.com/gitlab-org/gitlab/-/issues/335372) to include a new `title` field. This field is an alias for the current `name` field, making the less specific `name` field redundant. The `name` field is removed from the PipelineSecurityReportFinding type in GitLab 16.0.
+ tiers: [Ultimate]
diff --git a/data/removals/16_0/16-0-Security-report-schemas-version-14.yml b/data/removals/16_0/16-0-Security-report-schemas-version-14.yml
new file mode 100644
index 00000000000..14d5dd7acd2
--- /dev/null
+++ b/data/removals/16_0/16-0-Security-report-schemas-version-14.yml
@@ -0,0 +1,11 @@
+- title: "Security report schemas version 14.x.x"
+ announcement_milestone: "15.3"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: abellucci
+ stage: Govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/366477
+ body: |
+ Version 14.x.x [security report schemas](https://gitlab.com/gitlab-org/security-products/security-report-schemas) have been removed.
+ Security reports that use schema version 14.x.x will cause an error in the pipeline's **Security** tab. For more information, refer to [security report validation](https://docs.gitlab.com/ee/user/application_security/#security-report-validation).
+ tiers: [Ultimate]
diff --git a/data/removals/16_0/16-0-api-lint-removal.yml b/data/removals/16_0/16-0-api-lint-removal.yml
new file mode 100644
index 00000000000..86e3f70a4bf
--- /dev/null
+++ b/data/removals/16_0/16-0-api-lint-removal.yml
@@ -0,0 +1,41 @@
+# This is a template for a feature deprecation.
+#
+# Please refer to the deprecation guidelines to confirm your understanding of the
+# definitions for "Deprecation", "End of Support", and "Removal":
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# Deprecations must be announced at least three releases prior to removal.
+# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
+#
+# Breaking changes must happen in a major release.
+#
+# For more information please refer to the handbook documentation here:
+# https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations
+#
+# Please delete this line and above before submitting your merge request.
+#
+# REQUIRED FIELDS
+#
+- title: "`POST ci/lint` API endpoint removed" # (required) The name of the feature to be deprecated
+ announcement_milestone: "15.7" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
+ breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
+ reporter: dhershkovitch # (required) GitLab username of the person reporting the deprecation
+ stage: verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/381669 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `POST ci/lint` API endpoint was deprecated in 15.7, and removed in 16.0. This endpoint did not validate the full range of CI/CD configuration options. Instead, use [`POST /projects/:id/ci/lint`](https://docs.gitlab.com/ee/api/lint.html#validate-a-ci-yaml-configuration-with-a-namespace), which properly validates CI/CD configuration.
+#
+# OPTIONAL END OF SUPPORT FIELDS
+#
+# If an End of Support period applies, the announcement should be shared with GitLab Support
+# in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR.
+#
+ end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ #
+ # OTHER OPTIONAL FIELDS
+ #
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-auto-deploy-postgres-enabled.yml b/data/removals/16_0/16-0-auto-deploy-postgres-enabled.yml
new file mode 100644
index 00000000000..97162dc56f1
--- /dev/null
+++ b/data/removals/16_0/16-0-auto-deploy-postgres-enabled.yml
@@ -0,0 +1,16 @@
+- title: "Auto DevOps no longer provisions a database by default"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: tigerwnz
+ stage: Environments
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/343988
+ body: |
+ Currently, Auto DevOps provisions an in-cluster PostgreSQL database by default.
+ In GitLab 16.0, databases will be provisioned only for users who opt in. This
+ change supports production deployments that require more robust database management.
+
+ If you want Auto DevOps to provision an in-cluster database,
+ set the `POSTGRES_ENABLED` CI/CD variable to `true`.
+ tiers: [Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/topics/autodevops/stages.html#auto-deploy
diff --git a/data/removals/16_0/16-0-azure-storage-driver-registry.yml b/data/removals/16_0/16-0-azure-storage-driver-registry.yml
new file mode 100644
index 00000000000..029d82a6c08
--- /dev/null
+++ b/data/removals/16_0/16-0-azure-storage-driver-registry.yml
@@ -0,0 +1,12 @@
+#
+- title: "Azure Storage Driver defaults to the correct root prefix" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: trizzi # (required) GitLab username of the person reporting the removal
+ stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/container-registry/-/issues/854 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Azure Storage Driver used to write to `//` as the default root directory. This default root directory appeared in some places in the Azure UI as `/<no-name>/`. We maintained this legacy behavior to support older deployments using this storage driver. However, when moving to Azure from another storage driver, this behavior hides all your data until you configure the storage driver with `trimlegacyrootprefix: true` to build root paths without an extra leading slash.
+
+ In GitLab 16.0, the new default configuration for the storage driver uses `trimlegacyrootprefix: true`, and `/` is the default root directory. You can set your configuration to `trimlegacyrootprefix: false` if needed, to revert to the previous behavior.
diff --git a/data/removals/16_0/16-0-cas3-authentication.yml b/data/removals/16_0/16-0-cas3-authentication.yml
new file mode 100644
index 00000000000..cd85f1bd38d
--- /dev/null
+++ b/data/removals/16_0/16-0-cas3-authentication.yml
@@ -0,0 +1,23 @@
+# This is a template for announcing a feature removal or other important change.
+#
+# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# If this is a breaking change, it must happen in a major release.
+#
+# For more information please refer to the handbook documentation here:
+# https://about.gitlab.com/handbook/marketing/blog/release-posts/#deprecations-and-other-planned-breaking-change-announcements
+#
+# Please delete this line and above before submitting your merge request.
+#
+# REQUIRED FIELDS
+#
+- title: "CAS OmniAuth provider is removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.3" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: jessieay # (required) GitLab username of the person reporting the removal
+ stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/369127 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `omniauth-cas3` gem that provides GitLab with the CAS OmniAuth provider is being removed. You can no longer authenticate into a GitLab instance through CAS. This gem sees very little use. [The gem](https://rubygems.org/gems/omniauth-cas3/) has not had a new release in almost 5 years, which means that its dependencies are out of date and required manual patching during GitLab's [upgrade to OmniAuth 2.0](https://gitlab.com/gitlab-org/gitlab/-/issues/30073).
diff --git a/data/removals/16_0/16-0-ci-builds-column-validations.yml b/data/removals/16_0/16-0-ci-builds-column-validations.yml
new file mode 100644
index 00000000000..7b8bf455ef0
--- /dev/null
+++ b/data/removals/16_0/16-0-ci-builds-column-validations.yml
@@ -0,0 +1,24 @@
+- title: "Enforced validation of CI/CD parameter character lengths" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.9" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: jreporter # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/372770 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ Previously, only CI/CD [job names](https://docs.gitlab.com/ee/ci/jobs/index.html#job-name-limitations) had a strict 255-character limit. Now, more CI/CD keywords are validated to ensure they stay under the limit.
+
+ The following to 255 characters are now strictly limited to 255 characters:
+
+ - The `stage` keyword.
+ - The `ref` parameter, which is the Git branch or tag name for the pipeline.
+ - The `description` and `target_url` parameters, used by external CI/CD integrations.
+
+ Users on self-managed instances should update their pipelines to ensure they do not use parameters that exceed 255 characters. Users on GitLab.com do not need to make any changes, as these parameters are already limited in that database.
+
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml b/data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml
new file mode 100644
index 00000000000..b506816a54b
--- /dev/null
+++ b/data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml
@@ -0,0 +1,17 @@
+- title: "CiCdSettingsUpdate mutation renamed to ProjectCiCdSettingsUpdate"
+ announcement_milestone: "15.0"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: pedropombeiro
+ stage: Verify
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/361801
+ body: |
+ The `CiCdSettingsUpdate` mutation was renamed to `ProjectCiCdSettingsUpdate` in GitLab 15.0.
+ The `CiCdSettingsUpdate` mutation will be removed in GitLab 16.0.
+ Any user scripts that use the `CiCdSettingsUpdate` mutation must be updated to use `ProjectCiCdSettingsUpdate`
+ instead.
+
+ tiers: [Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/api/graphql/reference/#mutationprojectcicdsettingsupdate
+ image_url:
+ video_url:
diff --git a/data/removals/16_0/16-0-conan-search-limited-to-project.yml b/data/removals/16_0/16-0-conan-search-limited-to-project.yml
new file mode 100644
index 00000000000..bf77ca38ba0
--- /dev/null
+++ b/data/removals/16_0/16-0-conan-search-limited-to-project.yml
@@ -0,0 +1,11 @@
+# REQUIRED FIELDS
+#
+- title: Conan project-level search returns only project-specific results" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: trizzi # (required) GitLab username of the person reporting the removal
+ stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/384455 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The [GitLab Conan repository](https://docs.gitlab.com/ee/user/packages/conan_repository/) supports the `conan search` command, but when searching a project-level endpoint, instance-level Conan packages could have been returned. This unintended functionality is removed in GitLab 16.0. The search endpoint for the project level now only returns packages from the target project.
diff --git a/data/removals/16_0/16-0-cs-docker-variables.yml b/data/removals/16_0/16-0-cs-docker-variables.yml
new file mode 100644
index 00000000000..05102270a22
--- /dev/null
+++ b/data/removals/16_0/16-0-cs-docker-variables.yml
@@ -0,0 +1,31 @@
+#
+# REQUIRED FIELDS
+#
+- title: "Container Scanning variables that reference Docker removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.4" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: gonzoyumo # (required) GitLab username of the person reporting the removal
+ stage: secure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/371840 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ All Container Scanning variables with a name prefixed by `DOCKER_` have been removed. This includes:
+
+ - `DOCKER_IMAGE`
+ - `DOCKER_PASSWORD`
+ - `DOCKER_USER`
+ - `DOCKERFILE_PATH`
+
+ Instead, use the [new variable names](https://docs.gitlab.com/ee/user/application_security/container_scanning/#available-cicd-variables):
+
+ - `CS_IMAGE`
+ - `CS_REGISTRY_PASSWORD`
+ - `CS_REGISTRY_USER`
+ - `CS_DOCKERFILE_PATH`
+#
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-dast-api-variable-removal.yml b/data/removals/16_0/16-0-dast-api-variable-removal.yml
new file mode 100644
index 00000000000..1b67eeb0fa7
--- /dev/null
+++ b/data/removals/16_0/16-0-dast-api-variable-removal.yml
@@ -0,0 +1,13 @@
+- title: "Two DAST API variables have been removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.7" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: derekferguson # (required) GitLab username of the person reporting the removal
+ stage: Secure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383467 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The variables `DAST_API_HOST_OVERRIDE` and `DAST_API_SPECIFICATION` have been removed from use for DAST API scans.
+
+ `DAST_API_HOST_OVERRIDE` has been removed in favor of using the `DAST_API_TARGET_URL` to automatically override the host in the OpenAPI specification.
+
+ `DAST_API_SPECIFICATION` has been removed in favor of `DAST_API_OPENAPI`. To continue using an OpenAPI specification to guide the test, users must replace the `DAST_API_SPECIFICATION` variable with the `DAST_API_OPENAPI` variable. The value can remain the same, but the variable name must be replaced.
diff --git a/data/removals/16_0/16-0-dependency-scanning-java-versions.yml b/data/removals/16_0/16-0-dependency-scanning-java-versions.yml
new file mode 100644
index 00000000000..dbbb4efb212
--- /dev/null
+++ b/data/removals/16_0/16-0-dependency-scanning-java-versions.yml
@@ -0,0 +1,19 @@
+#
+# REQUIRED FIELDS
+#
+- title: "Dependency Scanning ends support for Java 13, 14, 15, and 16" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: gonzoyumo # (required) GitLab username of the person reporting the removal
+ stage: secure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387560 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ Dependency Scanning no longer supports projects that use Java versions 13, 14, 15, and 16.
+#
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-external-field-grapql-release-asset-link-type.yml b/data/removals/16_0/16-0-external-field-grapql-release-asset-link-type.yml
new file mode 100644
index 00000000000..310415ad845
--- /dev/null
+++ b/data/removals/16_0/16-0-external-field-grapql-release-asset-link-type.yml
@@ -0,0 +1,11 @@
+- title: "Removed `external` field from GraphQL `ReleaseAssetLink` type"
+ announcement_milestone: "15.9"
+ announcement_date: "2023-02-22"
+ removal_milestone: "16.0"
+ removal_date: "2023-05-22"
+ breaking_change: true
+ reporter: missy-davies
+ stage: Deploy
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388983
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ From GitLab 15.9, all Release links are external. The `external` field of the `ReleaseAssetLink` type was deprecated in 15.9, and removed in GitLab 16.0.
diff --git a/data/removals/16_0/16-0-external-field-releases-release-links-api.yml b/data/removals/16_0/16-0-external-field-releases-release-links-api.yml
new file mode 100644
index 00000000000..9047bfd4adb
--- /dev/null
+++ b/data/removals/16_0/16-0-external-field-releases-release-links-api.yml
@@ -0,0 +1,11 @@
+- title: "Removed `external` field from Releases and Release link APIs"
+ announcement_milestone: "15.9"
+ announcement_date: "2023-02-22"
+ removal_milestone: "16.0"
+ removal_date: "2023-05-22"
+ breaking_change: true
+ reporter: missy-davies
+ stage: Deploy
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388984
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ From GitLab 15.9, all Release links are external. The `external` field in the Releases and Release link APIs was deprecated in 15.9, and removed in GitLab 16.0.
diff --git a/data/removals/16_0/16-0-gitaly-legacy-config-vars.yml b/data/removals/16_0/16-0-gitaly-legacy-config-vars.yml
new file mode 100644
index 00000000000..05bc10114aa
--- /dev/null
+++ b/data/removals/16_0/16-0-gitaly-legacy-config-vars.yml
@@ -0,0 +1,19 @@
+---
+- title: "Legacy Gitaly configuration methods with variables"
+ announcement_milestone: "14.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mjwood
+ stage: Gitaly
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/352609
+ body: |
+ The environment variables `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_GLOBAL` were deprecated in GitLab 14.8 and are removed
+ in GitLab 16.0. These variables are replaced with standard
+ [`config.toml` Gitaly configuration](https://docs.gitlab.com/ee/administration/gitaly/reference.html).
+
+ GitLab instances that use `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_GLOBAL` to configure Gitaly must switch to configuring
+ using `config.toml`.
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/administration/gitaly/reference.html # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-gitlab-com-importer.yml b/data/removals/16_0/16-0-gitlab-com-importer.yml
new file mode 100644
index 00000000000..7a64bb4a185
--- /dev/null
+++ b/data/removals/16_0/16-0-gitlab-com-importer.yml
@@ -0,0 +1,16 @@
+- title: "GitLab.com importer"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: false
+ reporter: m_frankiewicz
+ stage: Manage
+ issue_url: https://gitlab.com/gitlab-com/Product/-/issues/4895
+ body: |
+ The [GitLab.com importer](https://docs.gitlab.com/ee/user/project/import/gitlab_com.html) was deprecated in GitLab 15.8 and is removed in GitLab 16.0.
+
+ The GitLab.com importer was introduced in 2015 for importing a project from GitLab.com to a self-managed GitLab instance through the UI.
+
+ This feature was available on self-managed instances only. [Migrating GitLab groups and projects by direct transfer](https://docs.gitlab.com/ee/user/group/import/#migrate-groups-by-direct-transfer-recommended)
+ supersedes the GitLab.com importer and provides a more cohesive importing functionality.
+
+ See [migrated group items](https://docs.gitlab.com/ee/user/group/import/#migrated-group-items) and [migrated project items](https://docs.gitlab.com/ee/user/group/import/#migrated-project-items) for an overview.
diff --git a/data/removals/16_0/16-0-grafana-chart.yml b/data/removals/16_0/16-0-grafana-chart.yml
new file mode 100644
index 00000000000..3251f477bb0
--- /dev/null
+++ b/data/removals/16_0/16-0-grafana-chart.yml
@@ -0,0 +1,19 @@
+- title: "Bundled Grafana Helm Chart"
+ announcement_milestone: "15.10"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: twk3
+ stage: Enablement
+ issue_url: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4353
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Grafana Helm chart that was bundled with the GitLab Helm Chart is removed in the GitLab Helm Chart 7.0 release (releasing along with GitLab 16.0).
+
+ The `global.grafana.enabled` setting for the GitLab Helm Chart has also been removed alongside the Grafana Helm chart.
+
+ If you're using the bundled Grafana, you should switch to the [newer chart version from Grafana Labs](https://artifacthub.io/packages/helm/grafana/grafana)
+ or a Grafana Operator from a trusted provider.
+
+ In your new Grafana instance, you can [configure the GitLab provided Prometheus as a data source](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#integration-with-gitlab-ui)
+ and [connect Grafana to the GitLab UI](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#integration-with-gitlab-ui).
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html
diff --git a/data/removals/16_0/16-0-graphql-dora-environment-tier-param.yml b/data/removals/16_0/16-0-graphql-dora-environment-tier-param.yml
new file mode 100644
index 00000000000..a4428534cb1
--- /dev/null
+++ b/data/removals/16_0/16-0-graphql-dora-environment-tier-param.yml
@@ -0,0 +1,14 @@
+#
+- title: "Remove the deprecated `environment_tier` parameter from the DORA API"
+ announcement_milestone: "15.2"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: ahegyi
+ stage: Plan
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/365939
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `environment_tier` parameter has been superseded by the `environment_tiers` parameter.
+
+ If you use the `environment_tier` parameter in your integration (REST or GraphQL) then you need to replace it with the `environment_tiers` parameter which accepts an array of strings.
+ tiers: [Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/api/dora/metrics.html
diff --git a/data/removals/16_0/16-0-import-bare-repositories-rake-task.yml b/data/removals/16_0/16-0-import-bare-repositories-rake-task.yml
new file mode 100644
index 00000000000..c3095ef6ff9
--- /dev/null
+++ b/data/removals/16_0/16-0-import-bare-repositories-rake-task.yml
@@ -0,0 +1,25 @@
+- title: "Rake task for importing bare repositories"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: false
+ reporter: m_frankiewicz
+ stage: Manage
+ issue_url: https://gitlab.com/gitlab-com/Product/-/issues/5255
+ body: |
+ The [Rake task for importing bare repositories](https://docs.gitlab.com/ee/raketasks/import.html) `gitlab:import:repos` was deprecated in GitLab 15.8 and is removed in GitLab 16.0.
+
+ This Rake task imported a directory tree of repositories into a GitLab instance. These repositories must have been
+ managed by GitLab previously, because the Rake task relied on the specific directory structure or a specific custom Git setting in order to work (`gitlab.fullpath`).
+
+ Importing repositories using this Rake task had limitations. The Rake task:
+
+ - Only knew about project and project wiki repositories and didn't support repositories for designs, group wikis, or snippets.
+ - Permitted you to import non-hashed storage projects even though these aren't supported.
+ - Relied on having Git config `gitlab.fullpath` set. [Epic 8953](https://gitlab.com/groups/gitlab-org/-/epics/8953) proposes removing support for this setting.
+
+ Alternatives to using the `gitlab:import:repos` Rake task include:
+
+ - Migrating projects using either [an export file](https://docs.gitlab.com/ee/user/project/settings/import_export.html) or
+ [direct transfer](https://docs.gitlab.com/ee/user/group/import/#migrate-groups-by-direct-transfer-recommended) migrate repositories as well.
+ - Importing a [repository by URL](https://docs.gitlab.com/ee/user/project/import/repo_by_url.html).
+ - Importing a [repositories from a non-GitLab source](https://docs.gitlab.com/ee/user/project/import/).
diff --git a/data/removals/16_0/16-0-jira-github-enterprise-dvcs-connector.yml b/data/removals/16_0/16-0-jira-github-enterprise-dvcs-connector.yml
new file mode 100644
index 00000000000..7538bf77da6
--- /dev/null
+++ b/data/removals/16_0/16-0-jira-github-enterprise-dvcs-connector.yml
@@ -0,0 +1,10 @@
+- title: "Jira DVCS connector for Jira Cloud and Jira 8.13 and earlier"
+ announcement_milestone: "15.1"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: m_frankiewicz
+ stage: Manage
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/362168
+ body: |
+ The [Jira DVCS connector](https://docs.gitlab.com/ee/integration/jira/dvcs/) for Jira Cloud was deprecated in GitLab 15.1 and has been removed in 16.0. Use the [GitLab for Jira Cloud app](https://docs.gitlab.com/ee/integration/jira/connect-app.html) instead. The Jira DVCS connector was also deprecated for Jira 8.13 and earlier. You can only use the Jira DVCS connector with Jira Data Center or Jira Server in Jira 8.14 and later. Upgrade your Jira instance to Jira 8.14 or later, and reconfigure the Jira integration in your GitLab instance.
+ If you cannot upgrade your Jira instance in time and are on GitLab self-managed version, we offer a workaround until GitLab 16.6. This breaking change is deployed in GitLab 16.0 behind a feature flag named `jira_dvcs_end_of_life_amnesty`. The flag is disabled by default, but you can ask an administrator to enable the flag at any time. For questions related to this announcement, see the [feedback issue](https://gitlab.com/gitlab-org/gitlab/-/issues/408185).
diff --git a/data/removals/16_0/16-0-job_age.yml b/data/removals/16_0/16-0-job_age.yml
new file mode 100644
index 00000000000..8a31b1ad870
--- /dev/null
+++ b/data/removals/16_0/16-0-job_age.yml
@@ -0,0 +1,11 @@
+- title: "Removal of job_age parameter in `POST /jobs/request` Runner endpoint"
+ announcement_milestone: "15.2" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: jreporter # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/334253 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `job_age` parameter, returned from the `POST /jobs/request` API endpoint used in communication with GitLab Runner, has been removed in GitLab 16.0.
+
+ This could be a breaking change for anyone that developed their own runner that relies on this parameter being returned by the endpoint. This is not a breaking change for anyone using an officially released version of GitLab Runner, including public shared runners on GitLab.com.
diff --git a/data/removals/16_0/16-0-licenses-check.yml b/data/removals/16_0/16-0-licenses-check.yml
new file mode 100644
index 00000000000..88ebbeb710a
--- /dev/null
+++ b/data/removals/16_0/16-0-licenses-check.yml
@@ -0,0 +1,10 @@
+- title: "License-Check and the Policies tab on the License Compliance page"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: sam.white
+ stage: govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390417
+ tiers: [Ultimate]
+ body: |
+ The License Check Policies feature has been removed. Additionally, the Policies tab on the License Compliance page and all APIs related to the License Check feature have been removed. To enforce approvals based on detected licenses, use the [License Approval policy](https://docs.gitlab.com/ee/user/compliance/license_approval_policies.html) feature instead.
diff --git a/data/removals/16_0/16-0-limit-ci-job-token.yml b/data/removals/16_0/16-0-limit-ci-job-token.yml
new file mode 100644
index 00000000000..1409677233c
--- /dev/null
+++ b/data/removals/16_0/16-0-limit-ci-job-token.yml
@@ -0,0 +1,32 @@
+- title: "Limit CI_JOB_TOKEN scope is disabled" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "CI/CD job names will be limited to 250 characters."
+ announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
+ breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
+ reporter: jreporter # (required) GitLab username of the person reporting the deprecation
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/395708 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ In GitLab 14.4 we introduced the ability to [limit your project's CI/CD job token](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#limit-your-projects-job-token-access) (`CI_JOB_TOKEN`) access to make it more secure. You could use the **Limit CI_JOB_TOKEN access** setting to prevent job tokens from your project's pipelines from being used to **access other projects**. When enabled with no other configuration, your pipelines could not access any other projects. To use job tokens to access other projects from your project's pipelines, you needed to list those other projects explicitly in the setting's allowlist, and you needed to be a maintainer in _all_ the projects. You might have seen this mentioned as the "outbound scope" of the job token.
+
+ The job token functionality was updated in 15.9 with a [better security setting](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#allow-access-to-your-project-with-a-job-token). Instead of securing your own project's job tokens from accessing other projects, the new workflow is to secure your own project from being accessed by other projects' job tokens without authorization. You can see this as an "inbound scope" for job tokens. When this new **Allow access to this project with a CI_JOB_TOKEN** setting is enabled with no other configuration, job tokens from other projects cannot **access your project**. If you want a project to have access to your own project, you must list it in the new setting's allowlist. You must be a maintainer in your own project to control the new allowlist, but you only need to have the Guest role in the other projects. This new setting is enabled by default for all new projects.
+
+ In GitLab 16.0, the old **Limit CI_JOB_TOKEN access** setting is disabled by default for all **new** projects. In existing projects with this setting currently enabled, it will continue to function as expected, but you are unable to add any more projects to the old allowlist. If the setting is disabled in any project, it is not possible to re-enable this setting in 16.0 or later. To control access between your projects, use the new **Allow access** setting instead.
+
+ In 17.0, we plan to remove the **Limit** setting completely, and set the **Allow access** setting to enabled for all projects. This change ensures a higher level of security between projects. If you currently use the **Limit** setting, you should update your projects to use the **Allow access** setting instead. If other projects access your project with a job token, you must add them to the **Allow access** setting's allowlist.
+
+ To prepare for this change, users on GitLab.com or self-managed GitLab 15.9 or later can enable the **Allow access** setting now and add the other projects. It will not be possible to disable the setting in 17.0 or later.
+ #
+ # OPTIONAL END OF SUPPORT FIELDS
+ #
+ # If an End of Support period applies, the announcement should be shared with GitLab Support
+ # in the `#spt_managers` channel in Slack, and mention `@gitlab-com/support` in this MR.
+ #
+ end_of_support_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ end_of_support_date: # (optional) The date of the milestone release when support for this feature will end.
+ #
+ # OTHER OPTIONAL FIELDS
+ #
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: "https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#configure-the-job-token-scope-limit" # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-managed-licenses-api.yml b/data/removals/16_0/16-0-managed-licenses-api.yml
new file mode 100644
index 00000000000..6e5b8626eb9
--- /dev/null
+++ b/data/removals/16_0/16-0-managed-licenses-api.yml
@@ -0,0 +1,14 @@
+- title: "Managed Licenses API"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: sam.white
+ stage: govern
+ tiers: [Ultimate]
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390417
+ body: |
+ The [Managed Licenses API](https://archives.docs.gitlab.com/15.8/ee/api/managed_licenses.html) has been removed. To enforce approvals in merge requests when non-compliant licenses are detected, use the [License Approval policy](https://docs.gitlab.com/ee/user/compliance/license_approval_policies.html) feature instead.
+
+ Our [GraphQL APIs](https://docs.gitlab.com/ee/api/graphql/reference/) can be used to create a Security Policy Project, [update the policy.yml](https://docs.gitlab.com/ee/api/graphql/reference/#mutationscanexecutionpolicycommit) in the Security Policy Project, and enforce those policies.
+
+ To query a list of dependencies and components, use our [Dependencies REST API](https://docs.gitlab.com/ee/api/dependencies.html) or [export from the Dependency List](https://docs.gitlab.com/ee/user/application_security/dependency_list/).
diff --git a/data/removals/16_0/16-0-non-expiring-access-tokens.yml b/data/removals/16_0/16-0-non-expiring-access-tokens.yml
new file mode 100644
index 00000000000..5ef7df3a131
--- /dev/null
+++ b/data/removals/16_0/16-0-non-expiring-access-tokens.yml
@@ -0,0 +1,19 @@
+- title: "Non-expiring access tokens no longer supported"
+ announcement_milestone: "15.4" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: jessieay # (required) GitLab username of the person reporting the removal
+ stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/369123
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ Currently, you can create access tokens that have no expiration date. These access tokens are valid indefinitely, which presents a security risk if the access token is
+ divulged. Because expiring access tokens are better, from GitLab 15.4 we [populate a default expiration date](https://gitlab.com/gitlab-org/gitlab/-/issues/348660).
+
+ In GitLab 16.0, any personal, project, or group access token that does not have an expiration date will automatically have an expiration date set at 365 days later than the current date.
+#
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-operations-access-level-api-field.yml b/data/removals/16_0/16-0-operations-access-level-api-field.yml
new file mode 100644
index 00000000000..dfae80e0393
--- /dev/null
+++ b/data/removals/16_0/16-0-operations-access-level-api-field.yml
@@ -0,0 +1,16 @@
+- title: "Project REST API field `operations_access_level` removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: timofurrer # (required) GitLab username of the person reporting the removal
+ stage: deploy # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/385798 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ In project REST API endpoints, the `operations_access_level` field
+ is removed in favor of more specialized fields like:
+
+ - `releases_access_level`
+ - `environments_access_level`
+ - `feature_flags_access_level`
+ - `infrastructure_access_level`
+ - `monitor_access_level`
diff --git a/data/removals/16_0/16-0-phabricator-importer.yml b/data/removals/16_0/16-0-phabricator-importer.yml
new file mode 100644
index 00000000000..a46e6d81a9c
--- /dev/null
+++ b/data/removals/16_0/16-0-phabricator-importer.yml
@@ -0,0 +1,13 @@
+- title: "The Phabricator task importer"
+ announcement_milestone: "15.7"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: m_frankiewicz
+ stage: Manage
+ issue_url: https://gitlab.com/gitlab-com/Product/-/issues/4894
+ body: |
+ The [Phabricator task importer](https://docs.gitlab.com/ee/user/project/import/phabricator.html) was deprecated in
+ GitLab 15.7 and is removed in 16.0.
+
+ The Phabricator project hasn't been actively maintained since June 1, 2021. We haven't observed imports using this
+ tool. There has been no activity on the open related issues on GitLab.
diff --git a/data/removals/16_0/16-0-pipeline_activity_limit.yml b/data/removals/16_0/16-0-pipeline_activity_limit.yml
new file mode 100644
index 00000000000..d8644b00deb
--- /dev/null
+++ b/data/removals/16_0/16-0-pipeline_activity_limit.yml
@@ -0,0 +1,12 @@
+- title: "Maximum number of active pipelines per project limit (`ci_active_pipelines`)" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.3" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: false # (required) Change to false if this is not a breaking change.
+ reporter: jreporter # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368195 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The [**Maximum number of active pipelines per project** limit](https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html#set-cicd-limits) has been removed. Instead, use the other recommended rate limits that offer similar protection:
+
+ - [**Pipelines rate limits**](https://docs.gitlab.com/ee/user/admin_area/settings/rate_limit_on_pipelines_creation.html).
+ - [**Total number of jobs in currently active pipelines**](https://docs.gitlab.com/ee/user/admin_area/settings/continuous_integration.html#set-cicd-limits).
diff --git a/data/removals/16_0/16-0-postgresql-12.yml b/data/removals/16_0/16-0-postgresql-12.yml
new file mode 100644
index 00000000000..9c860af7dbc
--- /dev/null
+++ b/data/removals/16_0/16-0-postgresql-12.yml
@@ -0,0 +1,17 @@
+- title: "PostgreSQL 12 compatibility"
+ announcement_milestone: "15.0"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: twk3
+ stage: Enablement
+ issue_url: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7395
+ body: |
+ In GitLab 16.0, PostgreSQL 13 is the minimum supported PostgreSQL version. PostgreSQL 12 is no longer shipped with the GitLab Omnibus package.
+ Before upgrading to GitLab 16.0, if you are:
+
+ - Still using GitLab-packaged PostgreSQL 12, you must [perform a database upgrade](https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server)
+ to PostgreSQL 13.
+ - Using an externally-provided PostgreSQL 12, you must upgrade to PostgreSQL 13 or later to meet the
+ [minimum version requirements](https://docs.gitlab.com/ee/install/requirements.html#postgresql-requirements).
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/administration/package_information/postgresql_versions.html
diff --git a/data/removals/16_0/16-0-pull-thru-cache-container-registry.yml b/data/removals/16_0/16-0-pull-thru-cache-container-registry.yml
new file mode 100644
index 00000000000..88f8c31eeef
--- /dev/null
+++ b/data/removals/16_0/16-0-pull-thru-cache-container-registry.yml
@@ -0,0 +1,11 @@
+# REQUIRED FIELDS
+#
+- title: "Container Registry pull-through cache is removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: trizzi # (required) GitLab username of the person reporting the removal
+ stage: Package # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/container-registry/-/issues/937 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Container Registry [pull-through cache](https://docs.docker.com/registry/recipes/mirror/) was deprecated in GitLab 15.8 and removed in GitLab 16.0. This feature is part of the upstream [Docker Distribution project](https://github.com/distribution/distribution) but we are removing that code in favor of the GitLab Dependency Proxy. Use the GitLab Dependency Proxy to proxy and cache container images from Docker Hub.
diff --git a/data/removals/16_0/16-0-redis-5.yml b/data/removals/16_0/16-0-redis-5.yml
new file mode 100644
index 00000000000..2c539c5775e
--- /dev/null
+++ b/data/removals/16_0/16-0-redis-5.yml
@@ -0,0 +1,14 @@
+- title: "Redis 5 compatibility"
+ announcement_milestone: "15.3"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: twk3
+ stage: Enablement
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/331468
+ body: |
+ In GitLab 13.9, we updated the Omnibus GitLab package and GitLab Helm chart 4.9 to Redis 6. Redis 5 reached end of life in April 2022 and is not supported.
+
+ GitLab 16.0, we have removed support for Redis 5. If you are using your own Redis 5.0 instance, you must upgrade it to Redis 6.0 or later before upgrading to GitLab 16.0
+ or later.
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/install/requirements.html
diff --git a/data/removals/16_0/16-0-redis-config-env.yml b/data/removals/16_0/16-0-redis-config-env.yml
new file mode 100644
index 00000000000..956639edc1f
--- /dev/null
+++ b/data/removals/16_0/16-0-redis-config-env.yml
@@ -0,0 +1,13 @@
+- title: "Configuring Redis config file paths using environment variables is no longer supported"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: marcogreg
+ stage: platforms
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388255
+ body: |
+ You can no longer specify Redis configuration file locations
+ using the environment variables like `GITLAB_REDIS_CACHE_CONFIG_FILE` or
+ `GITLAB_REDIS_QUEUES_CONFIG_FILE`. Use the default
+ configuration file locations instead, for example `config/redis.cache.yml` or
+ `config/redis.queues.yml`.
diff --git a/data/removals/16_0/16-0-redis-localhost.yml b/data/removals/16_0/16-0-redis-localhost.yml
new file mode 100644
index 00000000000..1b15efe4749
--- /dev/null
+++ b/data/removals/16_0/16-0-redis-localhost.yml
@@ -0,0 +1,16 @@
+- title: "Non-standard default Redis ports are no longer supported"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: marcogreg
+ stage: platforms # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388269
+ body: |
+ If GitLab starts without any Redis configuration file present,
+ GitLab assumes it can connect to three Redis servers at `localhost:6380`,
+ `localhost:6381` and `localhost:6382`. We are changing this behavior
+ so GitLab assumes there is one Redis server at `localhost:6379`.
+
+ If you want to keep using the three servers, you must configure
+ the Redis URLs by editing the `config/redis.cache.yml`,`config/redis.queues.yml`,
+ and `config/redis.shared_state.yml` files.
diff --git a/data/removals/16_0/16-0-removal-variables.yml b/data/removals/16_0/16-0-removal-variables.yml
new file mode 100644
index 00000000000..f8dd09c36e5
--- /dev/null
+++ b/data/removals/16_0/16-0-removal-variables.yml
@@ -0,0 +1,29 @@
+- title: "`CI_BUILD_*` predefined variables removed"
+ announcement_milestone: "14.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: dhershkovitch
+ body: |
+ The predefined CI/CD variables that start with `CI_BUILD_*` were deprecated in GitLab 9.0, and removed in GitLab 16.0. If you still use these variables, you must change to the replacement [predefined variables](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html) which are functionally identical:
+
+ | Removed variable | Replacement variable |
+ | --------------------- |------------------------ |
+ | `CI_BUILD_BEFORE_SHA` | `CI_COMMIT_BEFORE_SHA` |
+ | `CI_BUILD_ID` | `CI_JOB_ID` |
+ | `CI_BUILD_MANUAL` | `CI_JOB_MANUAL` |
+ | `CI_BUILD_NAME` | `CI_JOB_NAME` |
+ | `CI_BUILD_REF` | `CI_COMMIT_SHA` |
+ | `CI_BUILD_REF_NAME` | `CI_COMMIT_REF_NAME` |
+ | `CI_BUILD_REF_SLUG` | `CI_COMMIT_REF_SLUG` |
+ | `CI_BUILD_REPO` | `CI_REPOSITORY_URL` |
+ | `CI_BUILD_STAGE` | `CI_JOB_STAGE` |
+ | `CI_BUILD_TAG` | `CI_COMMIT_TAG` |
+ | `CI_BUILD_TOKEN` | `CI_JOB_TOKEN` |
+ | `CI_BUILD_TRIGGERED` | `CI_PIPELINE_TRIGGERED` |
+# The following items are not published on the docs page, but may be used in the future.
+ stage: Verify
+ tiers: [Free, Premium, Ultimate]
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/352957
+ documentation_url: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml b/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml
new file mode 100644
index 00000000000..2872eb6abe9
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-embed-grafana-panels-in-markdown.yml
@@ -0,0 +1,13 @@
+- title: "Embedding Grafana panels in Markdown is removed"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: kbychu
+ stage: monitor
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389477
+ body: |
+ The ability to add Grafana panels in GitLab Flavored Markdown is removed.
+ We intend to replace this feature with the ability to [embed charts](https://gitlab.com/groups/gitlab-org/opstrace/-/epics/33)
+ with the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui).
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/operations/metrics/embed_grafana.html#embed-grafana-panels-in-markdown-deprecated
diff --git a/data/removals/16_0/16-0-remove-legacy-gitaly-config-structure.yml b/data/removals/16_0/16-0-remove-legacy-gitaly-config-structure.yml
new file mode 100644
index 00000000000..13f6669bd10
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-legacy-gitaly-config-structure.yml
@@ -0,0 +1,22 @@
+---
+- title: "Legacy Gitaly configuration method"
+ announcement_milestone: "15.10"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mjwood
+ stage: gitaly
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/393574
+ body: |
+ Previously, Gitaly configuration keys for Omnibus GitLab were scattered throughout the configuration file. In GitLab
+ 15.10, we added support for a single configuration structure that matches Gitaly internal configuration. Both methods
+ of configuring Gitaly were supported in parallel.
+
+ In GitLab 16.0, we removed support for the former configuration method and now only support the new configuration
+ method.
+
+ Before upgrading to GitLab 16.0, administrators must migrate to the new single configuration structure. For
+ instructions, see [Gitaly - Omnibus GitLab configuration structure change](https://docs.gitlab.com/ee/update/#gitaly-omnibus-gitlab-configuration-structure-change).
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-remove-legacy-praefect-config-structure.yml b/data/removals/16_0/16-0-remove-legacy-praefect-config-structure.yml
new file mode 100644
index 00000000000..0b8a745a822
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-legacy-praefect-config-structure.yml
@@ -0,0 +1,22 @@
+---
+- title: "Legacy Praefect configuration method"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mjwood
+ stage: gitaly
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390291
+ body: |
+ Previously, Praefect configuration keys for Omnibus GitLab were scattered throughout the configuration file. In GitLab
+ 15.9, we added support for a single configuration structure that matches Praefect internal configuration. Both methods
+ of configuring Praefect were supported in parallel.
+
+ In GitLab 16.0, we removed support for the former configuration method and now only support the new configuration
+ method.
+
+ Before upgrading to GitLab 16.0, administrators must migrate to the new single configuration structure. For
+ instructions, see [Praefect - Omnibus GitLab configuration structure change](https://docs.gitlab.com/ee/update/#praefect-omnibus-gitlab-configuration-structure-change).
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/administration/gitaly/praefect.html
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-remove-metrics.yml b/data/removals/16_0/16-0-remove-metrics.yml
new file mode 100644
index 00000000000..0e2df8a3ecd
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-metrics.yml
@@ -0,0 +1,24 @@
+- title: "Monitoring performance metrics through Prometheus is removed"
+ announcement_milestone: "14.7"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: kbychu
+ stage: monitor
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/346541
+ body: |
+ We previously launched a solution that allows you to view performance metrics by displaying data stored in a Prometheus instance.
+ The Prometheus instance can be set up as a GitLab-managed app or you can connect a previously configured Prometheus instance.
+ The latter is known as an "external Prometheus" in GitLab. The value we provided was to enable you to easily set up monitoring
+ (using GitLab Managed Apps) and have the visualization of the metrics all in the same tool you used to build the application.
+
+ However, as we are removing certificate-based integrations, the full monitoring experience is also deprecated as you will not
+ have the option to easily set up Prometheus from GitLab. Furthermore, we plan to consolidate on
+ a focused observability dashboard experience instead of having multiple paths to view metrics. Because of this, we are also removing the external
+ Prometheus experience, together with the metrics visualization capability.
+
+ This removal only refers to the GitLab Metrics capabilities, and **does not** include:
+
+ - Deprecating [alerts for Prometheus](https://gitlab.com/gitlab-org/gitlab/-/issues/338834).
+ - [Capabilities that GitLab comes with that allow operators of GitLab to retrieve metrics from those instances](https://docs.gitlab.com/ee/administration/monitoring/prometheus/gitlab_metrics.html).
+
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate]
diff --git a/data/removals/16_0/16-0-remove-praefect-custom-metric-endpoint.yml b/data/removals/16_0/16-0-remove-praefect-custom-metric-endpoint.yml
new file mode 100644
index 00000000000..6642e707c29
--- /dev/null
+++ b/data/removals/16_0/16-0-remove-praefect-custom-metric-endpoint.yml
@@ -0,0 +1,18 @@
+---
+- title: "Praefect custom metrics endpoint configuration"
+ announcement_milestone: "15.9"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mjwood
+ stage: Gitaly
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390266
+ body: |
+ Support for using the `prometheus_exclude_database_from_default_metrics` configuration value was deprecated in
+ GitLab 15.9 and is removed in GitLab 16.0. We made this change to improve the performance of Praefect.
+ All metrics that scrape the Praefect database are now exported to the `/db_metrics` endpoint.
+
+ You must update your metrics collection targets to use the `/db_metrics` endpoint.
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-restrict-imports-to-maintainers-and-above.yml b/data/removals/16_0/16-0-restrict-imports-to-maintainers-and-above.yml
new file mode 100644
index 00000000000..2572ec9d6a4
--- /dev/null
+++ b/data/removals/16_0/16-0-restrict-imports-to-maintainers-and-above.yml
@@ -0,0 +1,12 @@
+- title: "Developer role providing the ability to import projects to a group"
+ announcement_milestone: "15.8"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: m_frankiewicz
+ stage: Manage
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387891
+ body: |
+ The ability for users with the Developer role for a group to import projects to that group was deprecated in GitLab
+ 15.8 and is removed in GitLab 16.0.
+
+ From GitLab 16.0, only users with at least the Maintainer role for a group can import projects to that group.
diff --git a/data/removals/16_0/16-0-sast-analyzer-consolidation.yml b/data/removals/16_0/16-0-sast-analyzer-consolidation.yml
new file mode 100644
index 00000000000..6235e9619ae
--- /dev/null
+++ b/data/removals/16_0/16-0-sast-analyzer-consolidation.yml
@@ -0,0 +1,21 @@
+- title: "The Security Code Scan-based GitLab SAST analyzer is now removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.9" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: connorgilbert # (required) GitLab username of the person reporting the change
+ stage: secure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/390416 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ GitLab SAST uses various [analyzers](https://docs.gitlab.com/ee/user/application_security/sast/analyzers/) to scan code for vulnerabilities.
+ We've reduced the number of supported analyzers used by default in GitLab SAST.
+ This is part of our long-term strategy to deliver a faster, more consistent user experience across different programming languages.
+
+ As of GitLab 16.0, the [SAST CI/CD template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml) no longer uses the [Security Code Scan](https://gitlab.com/gitlab-org/security-products/analyzers/security-code-scan)-based analyzer for .NET.
+ We've removed this analyzer from the SAST CI/CD template and replaced it with GitLab-supported detection rules for C# in the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
+
+ Because this analyzer has reached End of Support in GitLab 16.0, we won't provide further updates to it.
+ However, we won't delete any container images we previously published for this analyzer or remove the ability to run it by using a [custom CI/CD pipeline job](https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportssast).
+
+ If you've already dismissed a vulnerability finding from the deprecated analyzer, the replacement attempts to respect your previous dismissal. See [Vulnerability translation documentation](https://docs.gitlab.com/ee/user/application_security/sast/analyzers.html#vulnerability-translation) for further details.
+
+ If you customize the behavior of GitLab SAST by disabling the Semgrep-based analyzer or depending on specific SAST jobs in your pipelines, you must take action as detailed in the [deprecation issue for this change](https://gitlab.com/gitlab-org/gitlab/-/issues/390416#actions-required).
diff --git a/data/removals/16_0/16-0-self-monitor-removal.yml b/data/removals/16_0/16-0-self-monitor-removal.yml
new file mode 100644
index 00000000000..3d97d1a417d
--- /dev/null
+++ b/data/removals/16_0/16-0-self-monitor-removal.yml
@@ -0,0 +1,9 @@
+- title: "Self-monitoring project is removed"
+ removal_milestone: "16.0"
+ announcement_milestone: "14.9"
+ breaking_change: true
+ reporter: kbychu
+ stage: monitor
+ issue_url: https://gitlab.com/groups/gitlab-org/-/epics/10030
+ body: |
+ GitLab self-monitoring project was meant to enable self-hosted GitLab administrators to visualize performance metrics of GitLab within GitLab itself. This feature relied on GitLab Metrics dashboards. With metrics dashboard being removed, self-monitoring project is also removed. We recommended that self-hosted users monitor their GitLab instance with alternative visualization tools, such as Grafana.
diff --git a/data/removals/16_0/16-0-source-code-branch-push.yml b/data/removals/16_0/16-0-source-code-branch-push.yml
new file mode 100644
index 00000000000..ee32a486db1
--- /dev/null
+++ b/data/removals/16_0/16-0-source-code-branch-push.yml
@@ -0,0 +1,16 @@
+- title: "GitLab administrators must have permission to modify protected branches or tags"
+ announcement_milestone: "16.0"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: tlinz
+ stage: Create
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/12776
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ GitLab administrators can no longer perform actions on protected branches or tags unless they have been explicitly granted that permission. These actions include pushing and merging into a [protected branch](https://docs.gitlab.com/ee/user/project/protected_branches.html), unprotecting a branch, and creating [protected tags](https://docs.gitlab.com/ee/user/project/protected_tags.html).
+#
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/user/project/protected_branches.html
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-starboard-directive.yml b/data/removals/16_0/16-0-starboard-directive.yml
new file mode 100644
index 00000000000..af968e3af76
--- /dev/null
+++ b/data/removals/16_0/16-0-starboard-directive.yml
@@ -0,0 +1,19 @@
+#
+# REQUIRED FIELDS
+#
+- title: "Starboard directive in the config for the GitLab agent for Kubernetes removed" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.4" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: gonzoyumo # (required) GitLab username of the person reporting the removal
+ stage: secure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/368828 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The GitLab operational container scanning feature no longer requires you to install Starboard. The `starboard:` directive in configuration files for the GitLab agent for Kubernetes has been removed. Use the `container_scanning:` directive instead.
+#
+# OPTIONAL FIELDS
+#
+ tiers: # (optional - may be required in the future) An array of tiers that the feature is available in currently. e.g., [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: # (optional) This is a link to the current documentation page
+ image_url: # (optional) This is a link to a thumbnail image depicting the feature
+ video_url: # (optional) Use the youtube thumbnail URL with the structure of https://img.youtube.com/vi/UNIQUEID/hqdefault.jpg
diff --git a/data/removals/16_0/16-0-terraform-latest-stable-change.yml b/data/removals/16_0/16-0-terraform-latest-stable-change.yml
new file mode 100644
index 00000000000..0025a575a1d
--- /dev/null
+++ b/data/removals/16_0/16-0-terraform-latest-stable-change.yml
@@ -0,0 +1,21 @@
+- title: "The stable Terraform CI/CD template has been replaced with the latest template"
+ announcement_milestone: "15.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: timofurrer # (required) GitLab username of the person reporting the removal
+ stage: deploy # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/386001 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ With every major GitLab version, we update the stable Terraform templates with the current latest templates.
+ This change affects the [quickstart](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform.gitlab-ci.yml)
+ and the [base](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Terraform/Base.gitlab-ci.yml) templates.
+
+ The new templates do not change the directory to `$TF_ROOT` explicitly: `gitlab-terraform` gracefully
+ handles directory changing. If you altered the job scripts to assume that the current working directory is `$TF_ROOT`, you must manually add `cd "$TF_ROOT"` now.
+
+ Because the latest template introduces Merge Request Pipeline support which is not supported in Auto DevOps,
+ those rules are not yet integrated into the stable template.
+ However, we may introduce them later on, which may break your Terraform pipelines in regards to which jobs are executed.
+
+ To accommodate the changes, you might need to adjust the [`rules`](https://docs.gitlab.com/ee/ci/yaml/#rules) in your
+ `.gitlab-ci.yml` file.
diff --git a/data/removals/16_0/16-0-vulnerability-confidence-field.yml b/data/removals/16_0/16-0-vulnerability-confidence-field.yml
new file mode 100644
index 00000000000..fe34947386d
--- /dev/null
+++ b/data/removals/16_0/16-0-vulnerability-confidence-field.yml
@@ -0,0 +1,11 @@
+- title: "Vulnerability confidence field"
+ announcement_milestone: "15.4"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: abellucci
+ stage: Govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/372332
+ body: |
+ In GitLab 15.3, [security report schemas below version 15 were deprecated](https://docs.gitlab.com/ee/update/deprecations.html#security-report-schemas-version-14xx).
+ The `confidence` attribute on vulnerability findings exists only in schema versions before `15-0-0` and in GitLab prior to 15.4. To maintain consistency
+ between the reports and our public APIs, the `confidence` attribute on any vulnerability-related components of our GraphQL API is now removed.
diff --git a/data/removals/16_0/16-0-vulnerabilityFindingDismiss-GraphQL-mutation.yml b/data/removals/16_0/16-0-vulnerabilityFindingDismiss-GraphQL-mutation.yml
new file mode 100644
index 00000000000..cb5bb21ea74
--- /dev/null
+++ b/data/removals/16_0/16-0-vulnerabilityFindingDismiss-GraphQL-mutation.yml
@@ -0,0 +1,11 @@
+- title: "vulnerabilityFindingDismiss GraphQL mutation"
+ announcement_milestone: "15.5"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: abellucci
+ stage: Govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/375645
+ body: |
+ The `VulnerabilityFindingDismiss` GraphQL mutation has been removed. This mutation was not used often as the Vulnerability Finding ID was not available to users (this field was [deprecated in 15.3](https://docs.gitlab.com/ee/update/deprecations.html#use-of-id-field-in-vulnerabilityfindingdismiss-mutation)). Instead of `VulnerabilityFindingDismiss`, you should use `VulnerabilityDismiss` to dismiss vulnerabilities in the Vulnerability Report or `SecurityFindingDismiss` for security findings in the CI Pipeline Security tab.
+ tiers: [Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/api/graphql/reference/index.html#mutationvulnerabilityfindingdismiss
diff --git a/data/removals/16_0/16-0-vulnerabilityFindingDismiss-mutation.yml b/data/removals/16_0/16-0-vulnerabilityFindingDismiss-mutation.yml
new file mode 100644
index 00000000000..dd9de9e118b
--- /dev/null
+++ b/data/removals/16_0/16-0-vulnerabilityFindingDismiss-mutation.yml
@@ -0,0 +1,11 @@
+- title: "Use of `id` field in vulnerabilityFindingDismiss mutation"
+ announcement_milestone: "15.3"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: abellucci
+ stage: Govern
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/367166
+ body: |
+ You can use the vulnerabilityFindingDismiss GraphQL mutation to set the status of a vulnerability finding to `Dismissed`. Previously, this mutation used the `id` field to identify findings uniquely. However, this did not work for dismissing findings from the pipeline security tab. Therefore, using the `id` field as an identifier has been dropped in favor of the `uuid` field. Using the 'uuid' field as an identifier allows you to dismiss the finding from the pipeline security tab.
+ tiers: Ultimate
+ documentation_url: https://docs.gitlab.com/ee/api/graphql/reference/index.html#mutationvulnerabilityfindingdismiss
diff --git a/data/removals/16_0/16.0-config-fields-runner-helm-chart.yml b/data/removals/16_0/16.0-config-fields-runner-helm-chart.yml
new file mode 100644
index 00000000000..63c50842a0d
--- /dev/null
+++ b/data/removals/16_0/16.0-config-fields-runner-helm-chart.yml
@@ -0,0 +1,39 @@
+- title: "Remove legacy configuration fields in GitLab Runner Helm Chart" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "15.6" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: false # (required) Change to false if this is not a breaking change.
+ reporter: DarrenEastman # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/379064 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ In GitLab 13.6 and later, users can [specify any runner configuration in the GitLab Runner Helm chart](https://docs.gitlab.com/runner/install/kubernetes.html). When this features was released, we deprecated the fields in the GitLab Helm Chart configuration specific to the runner. As of v1.0 of the GitLab Runner Helm chart (GitLab 16.0), the following fields have been removed and are no longer supported:
+
+ - `image`
+ - `rbac.resources`
+ - `rbac.verbs`
+ - `runners.image`
+ - `runners.imagePullSecrets`
+ - `runners.imagePullPolicy`
+ - `runners.requestConcurrency`
+ - `runners.privileged`
+ - `runners.namespace`
+ - `runners.pollTimeout`
+ - `runners.outputLimit`
+ - `runners.cache.cacheType`
+ - `runners.cache.cachePath`
+ - `runners.cache.cacheShared`
+ - `runners.cache.s3ServerAddress`
+ - `runners.cache.s3BucketLocation`
+ - `runners.cache.s3CacheInsecure`
+ - `runners.cache.gcsBucketName`
+ - `runners.builds`
+ - `runners.services`
+ - `runners.helpers`
+ - `runners.pod_security_context`
+ - `runners.serviceAccountName`
+ - `runners.cloneUrl`
+ - `runners.nodeSelector`
+ - `runners.nodeTolerations`
+ - `runners.podLabels`
+ - `runners.podAnnotations`
+ - `runners.env`
diff --git a/data/removals/16_0/16.0-eol-windows-server-2004-and-20H2.yml b/data/removals/16_0/16.0-eol-windows-server-2004-and-20H2.yml
new file mode 100644
index 00000000000..267304f6a13
--- /dev/null
+++ b/data/removals/16_0/16.0-eol-windows-server-2004-and-20H2.yml
@@ -0,0 +1,9 @@
+- title: "Stop publishing GitLab Runner images based on Windows Server 2004 and 20H2" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "16.0" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: false # (required) Change to false if this is not a breaking change.
+ reporter: DarrenEastman # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab-runner/-/issues/31001 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ As of GitLab 16.0, GitLab Runner images based on Windows Server 2004 and 20H2 will not be provided as these operating systems are end-of-life.
diff --git a/data/removals/16_0/16.0-runner-api-does-not-return-paused-active.yml b/data/removals/16_0/16.0-runner-api-does-not-return-paused-active.yml
new file mode 100644
index 00000000000..7da64404eb3
--- /dev/null
+++ b/data/removals/16_0/16.0-runner-api-does-not-return-paused-active.yml
@@ -0,0 +1,12 @@
+- title: "GraphQL API: Runner status no longer returns `PAUSED` and `ACTIVE` values" # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
+ announcement_milestone: "14.8" # (required) The milestone when this feature was deprecated.
+ removal_milestone: "16.0" # (required) The milestone when this feature is being removed.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: DarrenEastman # (required) GitLab username of the person reporting the removal
+ stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/344648 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ In GitLab 16.0 and later, the GraphQL query for runners will no longer return the statuses `PAUSED` and `ACTIVE`.
+
+ - `PAUSED` has been replaced with the field, `paused: true`.
+ - `ACTIVE` has been replaced with the field, `paused: false`.
diff --git a/data/removals/templates/example.yml b/data/removals/templates/example.yml
index 3645c407e25..c536d8276d9 100644
--- a/data/removals/templates/example.yml
+++ b/data/removals/templates/example.yml
@@ -14,9 +14,7 @@
#
- title: "Feature A is removed." # (required) Clearly explain the change. For example, "The `confidential` field for a `Note` is removed" or "CI/CD job names are limited to 250 characters."
announcement_milestone: "XX.YY" # (required) The milestone when this feature was deprecated.
- announcement_date: "YYYY-MM-DD" # (required) The date of the milestone release when this feature was deprecated. This should almost always be the 22nd of a month (YYYY-MM-DD), unless you did an out of band blog post.
removal_milestone: "XX.YY" # (required) The milestone when this feature is being removed.
- removal_date: "YYYY-MM-DD" # (required) This should almost always be the 22nd of a month (YYYY-MM-DD), the date of the milestone release when this feature will be removed.
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: exampleuser # (required) GitLab username of the person reporting the removal
stage: stage # (required) String value of the stage that the feature was created in. e.g., Growth