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
path: root/data
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-05-17 19:05:49 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2023-05-17 19:05:49 +0300
commit43a25d93ebdabea52f99b05e15b06250cd8f07d7 (patch)
treedceebdc68925362117480a5d672bcff122fb625b /data
parent20c84b99005abd1c82101dfeff264ac50d2df211 (diff)
Add latest changes from gitlab-org/gitlab@16-0-stable-eev16.0.0-rc42
Diffstat (limited to 'data')
-rw-r--r--data/deprecations/14-10-old-search-migration-removal.yml2
-rw-r--r--data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml3
-rw-r--r--data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml3
-rw-r--r--data/deprecations/14-5-remove-package-pipelines-api.yml4
-rw-r--r--data/deprecations/14-7-deprecate-merged_by-api-field.yml25
-rw-r--r--data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml2
-rw-r--r--data/deprecations/14-8-iteration-started-field.yml14
-rw-r--r--data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml30
-rw-r--r--data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml19
-rw-r--r--data/deprecations/15-0-deprecate-postgresql-12.yml2
-rw-r--r--data/deprecations/15-1-deprecate-maintainer_note.yml15
-rw-r--r--data/deprecations/15-1-jira-github-enterprise-dvcs.yml7
-rw-r--r--data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml4
-rw-r--r--data/deprecations/15-1-project-pipeline-securityReportFindings.yml4
-rw-r--r--data/deprecations/15-10-consul-legacy-metrics-disable.yml15
-rw-r--r--data/deprecations/15-10-gitaly-legacy-config.yml35
-rw-r--r--data/deprecations/15-10-global-id-work-items-route.yml17
-rw-r--r--data/deprecations/15-10-grafana-chart.yml37
-rw-r--r--data/deprecations/15-10-helm-chart-updates.yml36
-rw-r--r--data/deprecations/15-10-omniauth-dingtalk.yml41
-rw-r--r--data/deprecations/15-11-geo-project-redownload.yml45
-rw-r--r--data/deprecations/15-11-legacy-shell-escaping-quoting.yml23
-rw-r--r--data/deprecations/15-11-runner-images-alpine-3.12-3.13-3.14.yml24
-rw-r--r--data/deprecations/15-3-omniauth-crowd.yml2
-rw-r--r--data/deprecations/15-6-deprecate-merge_status-api-field.yml12
-rw-r--r--data/deprecations/15-6-deprecate-post-api-v4-runner.yml21
-rw-r--r--data/deprecations/15-6-deprecate-runner-reg-token-helm.yml10
-rw-r--r--data/deprecations/15-6-deprecate-runner-register-command.yml23
-rw-r--r--data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml13
-rw-r--r--data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml6
-rw-r--r--data/deprecations/15-7-deprecate-dast-zap-variables.yml6
-rw-r--r--data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml10
-rw-r--r--data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml10
-rw-r--r--data/deprecations/15-7-deprecate-shimo-integration.yml2
-rw-r--r--data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml12
-rw-r--r--data/deprecations/15-7-deprecate-zentao-integration.yml2
-rw-r--r--data/deprecations/15-8-default-private-user-profile.yml9
-rw-r--r--data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml6
-rw-r--r--data/deprecations/15-8-deprecate-merge-request-approvals-fields.yml14
-rw-r--r--data/deprecations/15-8-deprecate-slack-notifications-integration.yml2
-rw-r--r--data/deprecations/15-8-deprecate-system-hook-test-endpoint.yml24
-rw-r--r--data/deprecations/15-8-deprecate-updated-at-error.yml2
-rw-r--r--data/deprecations/15-8-jira-connect-app-cookie-auth.yml6
-rw-r--r--data/deprecations/15-8-live-preview.yml2
-rw-r--r--data/deprecations/15-8-projects-api-ops-access-level.yml2
-rw-r--r--data/deprecations/15-8-pull-through-cache-container-registry.yml2
-rw-r--r--data/deprecations/15-8-raise-permissions-settings-package-stage.yml6
-rw-r--r--data/deprecations/15-8-third-party-registries.yml15
-rw-r--r--data/deprecations/15-8-visual-review-tool.yml2
-rw-r--r--data/deprecations/15-9-JWT-OIDC.yml60
-rw-r--r--data/deprecations/15-9-accessibility-testing-deprecation.yml2
-rw-r--r--data/deprecations/15-9-ci-builds-column-validations.yml (renamed from data/deprecations/15-9-remove-offset-pagination-jobs-api.yml)16
-rw-r--r--data/deprecations/15-9-deprecate-ci-pre-clone-script.yml23
-rw-r--r--data/deprecations/15-9-deprecate-external-field-in-graphql-release-asset-link.yml2
-rw-r--r--data/deprecations/15-9-deprecate-external-field-in-releases-and-release-links-apis.yml2
-rw-r--r--data/deprecations/15-9-deprecate-option-to-remove-project-immediately.yml6
-rw-r--r--data/deprecations/15-9-env-search-char-limit.yml9
-rw-r--r--data/deprecations/15-9-insecure-ci-job-token.yml32
-rw-r--r--data/deprecations/15-9-legacy-praefect-configuration.yml6
-rw-r--r--data/deprecations/15-9-license-compliance-ci-template.yml8
-rw-r--r--data/deprecations/15-9-managed-licenses-api.yml9
-rw-r--r--data/deprecations/15-9-rails-error-tracking.yml4
-rw-r--r--data/deprecations/15-9-required-pipeline-configuration.yml8
-rw-r--r--data/deprecations/15-9-sast-analyzer-consolidation.yml29
-rw-r--r--data/deprecations/15-9-secure-analyzers-bump.yml10
-rw-r--r--data/deprecations/15-9-secure-template-changes.yml11
-rw-r--r--data/deprecations/15-9-trigger-job-status.yml4
-rw-r--r--data/deprecations/16-0-CiRunner-projects-default-sort.yml27
-rw-r--r--data/deprecations/16-0-Vault-integration.yml24
-rw-r--r--data/deprecations/16-0-deprecate-omnibus-grafana.yml23
-rw-r--r--data/deprecations/16-0-deprecate-postgresql-13.yml29
-rw-r--r--data/deprecations/16-0-deprecate-sidekiq-delivery-method-for-mailroom.yml40
-rw-r--r--data/deprecations/16-0-graphql-CiRunnerUpgradeStatusType-renamed.yml24
-rw-r--r--data/deprecations/16-0-graphql-RunnerMembershipFilter-renamed.yml24
-rw-r--r--data/deprecations/16-0-mobsf-android-manifests.yml12
-rw-r--r--data/deprecations/templates/_deprecation_template.md.erb65
-rw-r--r--data/deprecations/templates/example.yml2
-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.yml (renamed from data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml)0
-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
-rw-r--r--data/whats_new/202010230001_13_05.yml2
-rw-r--r--data/whats_new/20230222001_15_09.yml75
-rw-r--r--data/whats_new/202303220001_15_10.yml77
-rw-r--r--data/whats_new/202304220001_15_11.yml58
141 files changed, 1940 insertions, 374 deletions
diff --git a/data/deprecations/14-10-old-search-migration-removal.yml b/data/deprecations/14-10-old-search-migration-removal.yml
index 1991c0ef177..4700063e68f 100644
--- a/data/deprecations/14-10-old-search-migration-removal.yml
+++ b/data/deprecations/14-10-old-search-migration-removal.yml
@@ -7,4 +7,4 @@
stage: enablement
tiers: premium, ultimate
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/359133
- documentation_url: https://docs.gitlab.com/ee/development/elasticsearch.html#deleting-advanced-search-migrations-in-a-major-version-upgrade
+ documentation_url: https://docs.gitlab.com/ee/development/search/advanced_search_migration_styleguide.html#deleting-advanced-search-migrations-in-a-major-version-upgrade
diff --git a/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml b/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml
index 216568b6d19..6f6cfd70fed 100644
--- a/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml
+++ b/data/deprecations/14-5-certificate-based-integration-with-kubernetes-saas.yml
@@ -8,6 +8,9 @@
For a more robust, secure, forthcoming, and reliable integration with Kubernetes, we recommend you use the
[agent for Kubernetes](https://docs.gitlab.com/ee/user/clusters/agent/) to connect Kubernetes clusters with GitLab. [How do I migrate?](https://docs.gitlab.com/ee/user/infrastructure/clusters/migrate_to_gitlab_agent.html)
+ Although an explicit removal date is set, we don't plan to remove this feature until the new solution has feature parity.
+ For more information about the blockers to removal, see [this issue](https://gitlab.com/gitlab-org/configure/general/-/issues/199).
+
For updates and details about this deprecation, follow [this epic](https://gitlab.com/groups/gitlab-org/configure/-/epics/8).
GitLab self-managed customers can still use the feature [with a feature flag](https://docs.gitlab.com/ee/update/deprecations.html#self-managed-certificate-based-integration-with-kubernetes).
diff --git a/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml b/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml
index 85b006e6768..a94d2fc7f7d 100644
--- a/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml
+++ b/data/deprecations/14-5-certificate-based-integration-with-kubernetes.yml
@@ -12,6 +12,9 @@
For a more robust, secure, forthcoming, and reliable integration with Kubernetes, we recommend you use the
[agent for Kubernetes](https://docs.gitlab.com/ee/user/clusters/agent/) to connect Kubernetes clusters with GitLab. [How do I migrate?](https://docs.gitlab.com/ee/user/infrastructure/clusters/migrate_to_gitlab_agent.html)
+ Although an explicit removal date is set, we don't plan to remove this feature until the new solution has feature parity.
+ For more information about the blockers to removal, see [this issue](https://gitlab.com/gitlab-org/configure/general/-/issues/199).
+
For updates and details about this deprecation, follow [this epic](https://gitlab.com/groups/gitlab-org/configure/-/epics/8).
stage: Configure
tiers: [Core, Premium, Ultimate]
diff --git a/data/deprecations/14-5-remove-package-pipelines-api.yml b/data/deprecations/14-5-remove-package-pipelines-api.yml
index f6a091c7c4b..ebb39ee6999 100644
--- a/data/deprecations/14-5-remove-package-pipelines-api.yml
+++ b/data/deprecations/14-5-remove-package-pipelines-api.yml
@@ -1,11 +1,11 @@
- title: "Package pipelines in API payload is paginated" # The name of the feature to be deprecated
announcement_milestone: "14.5" # The milestone when this feature was first announced as deprecated.
- removal_milestone: "16.0" # The milestone when this feature is planned to be removed
+ removal_milestone: "17.0" # The milestone when this feature is planned to be removed
breaking_change: true
body: | # Do not modify this line, instead modify the lines below.
A request to the API for `/api/v4/projects/:id/packages` returns a paginated result of packages. Each package lists all of its pipelines in this response. This is a performance concern, as it's possible for a package to have hundreds or thousands of associated pipelines.
- In milestone 16.0, we will remove the `pipelines` attribute from the API response.
+ In milestone 17.0, we will remove the `pipelines` attribute from the API response.
stage: package
tiers: Free
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/289956
diff --git a/data/deprecations/14-7-deprecate-merged_by-api-field.yml b/data/deprecations/14-7-deprecate-merged_by-api-field.yml
deleted file mode 100644
index b49b8bf5271..00000000000
--- a/data/deprecations/14-7-deprecate-merged_by-api-field.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-# This is a template for a feature deprecation
-# A deprecation typically occurs when a feature or capability is planned to be removed in a future release.
-# Deprecations should be announced at least two releases prior to removal. Any breaking changes should only be done in major releases.
-#
-# Below is an example of what a single entry should look like, it's required attributes,
-# and what types we expect those attribute values to be.
-#
-# 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.
-
-- title: "merged_by API field" # The name of the feature to be deprecated
- announcement_milestone: "14.7" # The milestone when this feature was first announced as deprecated.
- removal_milestone: "16.0" # The milestone when this feature is planned to be removed
- breaking_change: true # If this deprecation is a breaking change, set this value to true
- body: | # Do not modify this line, instead modify the lines below.
- The `merged_by` field in the [merge request API](https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-requests) has been deprecated in favor of the `merge_user` field which more correctly identifies who merged a merge request when performing actions (merge when pipeline succeeds, add to merge train) other than a simple merge. API users are encouraged to use the new `merge_user` field instead. The `merged_by` field will be removed in v5 of the GitLab REST API.
-# The following items are not published on the docs page, but may be used in the future.
- stage: create # (optional - may be required in the future) String value of the stage that the feature was created in. e.g., Growth
- 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]
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/350534 # (optional) This is a link to the deprecation issue in GitLab
- 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/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml b/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml
index 3b812068b30..b1bdefb8265 100644
--- a/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml
+++ b/data/deprecations/14-7-sidekiq-metrics-health-check-donfig.yml
@@ -12,7 +12,7 @@
to explicitly set separate ports for metrics and health-checks.
The newly introduced settings for `sidekiq['health_checks_*']`
should always be set in `gitlab.rb`.
- For more information, check the documentation for [configuring Sidekiq](https://docs.gitlab.com/ee/administration/sidekiq.html).
+ For more information, check the documentation for [configuring Sidekiq](https://docs.gitlab.com/ee/administration/sidekiq/index.html).
These changes also require updates in either Prometheus to scrape the new endpoint or k8s health-checks to target the new
health-check port to work properly, otherwise either metrics or health-checks will disappear.
diff --git a/data/deprecations/14-8-iteration-started-field.yml b/data/deprecations/14-8-iteration-started-field.yml
index a3c693001c1..a591aa04db4 100644
--- a/data/deprecations/14-8-iteration-started-field.yml
+++ b/data/deprecations/14-8-iteration-started-field.yml
@@ -1,9 +1,17 @@
-- title: "`started` iterations API field" # The name of the feature to be deprecated
+- title: "`started` iteration state" # The name of the feature to be deprecated
announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated.
- removal_milestone: "15.0" # The milestone when this feature is planned to be removed
+ announcement_date: "2022-02-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_milestone: "16.0" # The milestone when this feature is planned to be removed
+ removal_date: "2022-05-22" # The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
breaking_change: true # If this deprecation is a breaking change, set this value to true
body: | # Do not modify this line, instead modify the lines below.
- The `started` field in the [iterations API](https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations) is being deprecated and will be removed in GitLab 15.0. This field is being replaced with the `current` field (already available) which aligns with the naming for other time-based entities, such as milestones.
+ The `started` iteration state in the [iterations GraphQL API](https://https://docs.gitlab.com/ee/api/graphql/reference/index.html#iterationstate)
+ and [iterations REST API](https://docs.gitlab.com/ee/api/iterations.html#list-project-iterations) is deprecated.
+
+ The GraphQL API version will be removed in GitLab 16.0. This state is being replaced with the `current` state (already available)
+ which aligns with the naming for other time-based entities, such as milestones.
+
+ We plan to continue to support the `started` state in REST API version until the next v5 REST API version.
# The following items are not published on the docs page, but may be used in the future.
stage: plan
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]
diff --git a/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml b/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml
deleted file mode 100644
index 22cc199c704..00000000000
--- a/data/deprecations/14-8-runner-api-active-field-replaced-with-paused-breaking-change.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-- title: "REST and GraphQL API Runner usage of `active` replaced by `paused`"
- announcement_milestone: "14.8"
- removal_milestone: "16.0"
- breaking_change: true
- reporter: pedropombeiro
- body: |
- Occurrences of the `active` identifier in the GitLab Runner GraphQL API endpoints will be
- renamed to `paused` in GitLab 16.0.
-
- - For the GraphQL API, this change affects:
- - the `CiRunner` property
- - the `RunnerUpdateInput` input type for the `runnerUpdate` mutation
- - the `runners` and `Group.runners` queries
- - In v4 of the REST API, starting in GitLab 14.8, you can use the `paused` property in place of `active`
- - In v5 of the REST API, this change will affect:
- - endpoints taking or returning `active` property, such as:
- - `GET /runners`
- - `GET /runners/all`
- - `GET /runners/:id` / `PUT /runners/:id`
- - `PUT --form "active=false" /runners/:runner_id`
- - `GET /projects/:id/runners` / `POST /projects/:id/runners`
- - `GET /groups/:id/runners`
-
- The 16.0 release of GitLab Runner will start using the `paused` property when registering runners.
- stage: Verify
- tiers: [Core, Premium, Ultimate]
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351109
- documentation_url: https://docs.gitlab.com/ee/api/graphql/reference/#cirunner
- 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/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml b/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml
deleted file mode 100644
index ce372a36f69..00000000000
--- a/data/deprecations/14-8-runner-api-status-filter-does-accept-active-or-paused.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-- title: "GraphQL API Runner will not accept `status` filter values of `active` or `paused`"
- announcement_milestone: "14.8" # The milestone when this feature was first announced as deprecated.
- removal_milestone: "16.0"
- breaking_change: true
- body: | # Do not modify this line, instead modify the lines below.
- The GitLab Runner GraphQL endpoints will stop accepting `paused` or `active` as a status value in GitLab 16.0.
-
- A runner's status will only relate to runner contact status, such as: `online`, `offline`.
- Status values `paused` or `active` will no longer be accepted and will be replaced by the `paused` query parameter.
-
- When checking for paused runners, API users are advised to specify `paused: true` as the query parameter.
- When checking for active runners, specify `paused: false`.
-
- The REST API endpoints will follow in the same direction in a future REST v5 API, however the new `paused`
- status value can be used in place of `active` since GitLab 14.8.
- stage: Verify
- tiers: [Core, Premium, Ultimate]
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/351109
- documentation_url: https://docs.gitlab.com/ee/api/graphql/reference/#queryrunners
diff --git a/data/deprecations/15-0-deprecate-postgresql-12.yml b/data/deprecations/15-0-deprecate-postgresql-12.yml
index ec8e32f1c1d..21f0b3f0ee3 100644
--- a/data/deprecations/15-0-deprecate-postgresql-12.yml
+++ b/data/deprecations/15-0-deprecate-postgresql-12.yml
@@ -10,7 +10,7 @@
PostgreSQL 12 will be supported for the full GitLab 15 release cycle.
PostgreSQL 13 will also be supported for instances that want to upgrade prior to GitLab 16.0.
- Upgrading to PostgreSQL 13 is not yet supported for GitLab instances with Geo enabled. Geo support for PostgreSQL 13 will be announced in a minor release version of GitLab 15, after the process is fully supported and validated. For more information, read the Geo related verifications on the [support epic for PostgreSQL 13](https://gitlab.com/groups/gitlab-org/-/epics/3832).
+ Support for PostgreSQL 13 was added to Geo in GitLab 15.2.
stage: Enablement
tiers: [Free, Premium, Ultimate]
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/349185
diff --git a/data/deprecations/15-1-deprecate-maintainer_note.yml b/data/deprecations/15-1-deprecate-maintainer_note.yml
deleted file mode 100644
index 175f85e997f..00000000000
--- a/data/deprecations/15-1-deprecate-maintainer_note.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-- title: "REST API Runner maintainer_note" # (required) The name of the feature to be deprecated
- announcement_milestone: "15.1" # (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: pedropombeiro # (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/363192 # (required) Link to the deprecation issue in GitLab
- body: | # (required) Do not modify this line, instead modify the lines below.
- The `maintainer_note` argument in the `POST /runners` REST endpoint was deprecated in GitLab 14.8 and replaced with the `maintenance_note` argument.
- The `maintainer_note` argument will be removed in GitLab 16.0.
-# The following items are not published on the docs page, but may be used in the future.
- 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/api/runners.html#register-a-new-runner # (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/deprecations/15-1-jira-github-enterprise-dvcs.yml b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
index 8c69dce35fe..34552360141 100644
--- a/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
+++ b/data/deprecations/15-1-jira-github-enterprise-dvcs.yml
@@ -1,10 +1,11 @@
-- title: "Jira GitHub Enterprise DVCS integration" # The name of the feature to be deprecated
+- title: "Jira DVCS connector for Jira Cloud" # The name of the feature to be deprecated
announcement_milestone: "15.1" # The milestone when this feature was first announced as deprecated.
removal_milestone: "16.0" # The milestone when this feature is planned to be removed
breaking_change: true # If this deprecation is a breaking change, set this value to true
body: | # Do not modify this line, instead modify the lines below.
- The [Jira DVCS Connector](https://docs.gitlab.com/ee/integration/jira/dvcs/) (which enables the [Jira Development Panel](https://support.atlassian.com/jira-software-cloud/docs/view-development-information-for-an-issue/)), will no longer support Jira Cloud users starting with GitLab 16.0. The [GitLab for Jira App](https://docs.gitlab.com/ee/integration/jira/connect-app.html) has always been recommended for Jira Cloud users, and it will be required instead of the DVCS connector. If you are a Jira Cloud user, we recommended you begin migrating to the GitLab for Jira App.
- Any Jira Server and Jira Data Center users will need to confirm they are not using the GitHub Enterprise Connector to enable the GitLab DVCS integration, but they may continue to use the [native GitLab DVCS integration](https://docs.gitlab.com/ee/integration/jira/dvcs/) (supported in Jira 8.14 and later).
+ The [Jira DVCS connector](https://docs.gitlab.com/ee/integration/jira/dvcs/) for Jira Cloud has been deprecated and will be removed in GitLab 16.0. If you're using the Jira DVCS connector with Jira Cloud, migrate to the [GitLab for Jira Cloud app](https://docs.gitlab.com/ee/integration/jira/connect-app.html).
+
+ The Jira DVCS connector is also deprecated for Jira 8.13 and earlier. You can only use the Jira DVCS connector with Jira Server or Jira Data Center in Jira 8.14 and later.
# The following items are not published on the docs page, but may be used in the future.
stage: Manage # (optional - may be required in the future) String value of the stage that the feature was created in. e.g., Growth
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]
diff --git a/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml b/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml
index 7e444ed1436..576b8a195c5 100644
--- a/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml
+++ b/data/deprecations/15-1-pipelinesecurityreportfinding-projectfingerprint.yml
@@ -1,12 +1,12 @@
- title: "PipelineSecurityReportFinding projectFingerprint GraphQL field" # (required) The name of the feature to be deprecated
announcement_milestone: "15.1" # (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
+ removal_milestone: "17.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: matt_wilson # (required) GitLab username of the person reporting the deprecation
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/343475 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- The [`project_fingerprint`](https://gitlab.com/groups/gitlab-org/-/epics/2791) attribute of vulnerability findings is being deprecated in favor of a `uuid` attribute. By using UUIDv5 values to identify findings, we can easily associate any related entity with a finding. The `project_fingerprint` attribute is no longer being used to track findings, and will be removed in GitLab 16.0.
+ The [`project_fingerprint`](https://gitlab.com/groups/gitlab-org/-/epics/2791) attribute of vulnerability findings is being deprecated in favor of a `uuid` attribute. By using UUIDv5 values to identify findings, we can easily associate any related entity with a finding. The `project_fingerprint` attribute is no longer being used to track findings, and will be removed in GitLab 17.0.
# The following items are not published on the docs page, but may be used in the future.
tiers: Ultimate # (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
diff --git a/data/deprecations/15-1-project-pipeline-securityReportFindings.yml b/data/deprecations/15-1-project-pipeline-securityReportFindings.yml
index 1bb60adb812..40fe3bf5bff 100644
--- a/data/deprecations/15-1-project-pipeline-securityReportFindings.yml
+++ b/data/deprecations/15-1-project-pipeline-securityReportFindings.yml
@@ -1,12 +1,12 @@
- title: "project.pipeline.securityReportFindings GraphQL query" # (required) The name of the feature to be deprecated
announcement_milestone: "15.1" # (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
+ removal_milestone: "17.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: matt_wilson # (required) GitLab username of the person reporting the deprecation
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/343475 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- Previous work helped [align the vulnerabilities calls for pipeline security tabs](https://gitlab.com/gitlab-org/gitlab/-/issues/343469) to match the vulnerabilities calls for project-level and group-level vulnerability reports. This helped the frontend have a more consistent interface. The old `project.pipeline.securityReportFindings` query was formatted differently than other vulnerability data calls. Now that it has been replaced with the new `project.pipeline.vulnerabilities` field, the old `project.pipeline.securityReportFindings` is being deprecated and will be removed in GitLab 16.0.
+ Previous work helped [align the vulnerabilities calls for pipeline security tabs](https://gitlab.com/gitlab-org/gitlab/-/issues/343469) to match the vulnerabilities calls for project-level and group-level vulnerability reports. This helped the frontend have a more consistent interface. The old `project.pipeline.securityReportFindings` query was formatted differently than other vulnerability data calls. Now that it has been replaced with the new `project.pipeline.vulnerabilities` field, the old `project.pipeline.securityReportFindings` is being deprecated and will be removed in GitLab 17.0.
# The following items are not published on the docs page, but may be used in the future.
tiers: Ultimate # (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
diff --git a/data/deprecations/15-10-consul-legacy-metrics-disable.yml b/data/deprecations/15-10-consul-legacy-metrics-disable.yml
new file mode 100644
index 00000000000..7510f26585f
--- /dev/null
+++ b/data/deprecations/15-10-consul-legacy-metrics-disable.yml
@@ -0,0 +1,15 @@
+- title: "Deprecated Consul http metrics" # (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.10" # (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) Change to false if this is not a breaking change.
+ reporter: twk3 # (required) GitLab username of the person reporting the change
+ stage: enablement # (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/7278 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Consul provided in the GitLab Omnibus package will no longer provide older deprecated Consul metrics starting in GitLab 16.0.
+
+ In GitLab 14.0, [Consul was updated to 1.9.6](https://gitlab.com/gitlab-org/omnibus-gitlab/-/merge_requests/5344),
+ which deprecated some telemetry metrics from being at the `consul.http` path. In GitLab 16.0, the `consul.http` path will be removed.
+
+ If you have monitoring that consumes Consul metrics, update them to use `consul.api.http` instead of `consul.http`.
+ For more information, see [the deprecation notes for Consul 1.9.0](https://github.com/hashicorp/consul/releases/tag/v1.9.0).
diff --git a/data/deprecations/15-10-gitaly-legacy-config.yml b/data/deprecations/15-10-gitaly-legacy-config.yml
new file mode 100644
index 00000000000..cbfc923a16f
--- /dev/null
+++ b/data/deprecations/15-10-gitaly-legacy-config.yml
@@ -0,0 +1,35 @@
+#
+# REQUIRED FIELDS
+#
+- title: "Legacy Gitaly configuration method"
+ announcement_milestone: "15.10"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mjwood
+ stage: Systems
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/393574
+ body: |
+ Gitaly configuration within Omnibus GitLab has been updated such that all Gitaly related configuration keys are in a single
+ configuration structure that matches the standard Gitaly configuration. As such, the previous configuration structure is deprecated.
+
+ The single configuration structure is available from GitLab 15.10, though backwards compatibility is maintained. Once removed, Gitaly must be configured using the single
+ configuration structure. You should update the configuration of Gitaly at your earliest convenience.
+
+ The change improves consistency between Omnibus GitLab and source installs and enables us to provide better documentation and tooling for both.
+
+ You should update to the new configuration structure as soon as possible using
+ [the upgrade instructions](https://docs.gitlab.com/ee/update/#gitaly-omnibus-gitlab-configuration-structure-change).
+#
+# 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: https://docs.gitlab.com/ee/administration/gitaly/configure_gitaly.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/deprecations/15-10-global-id-work-items-route.yml b/data/deprecations/15-10-global-id-work-items-route.yml
new file mode 100644
index 00000000000..1aa11251731
--- /dev/null
+++ b/data/deprecations/15-10-global-id-work-items-route.yml
@@ -0,0 +1,17 @@
+- title: "Work items path with global ID at the end of the path is deprecated"
+ announcement_milestone: "15.10"
+ removal_milestone: "16.0"
+ breaking_change: true
+ reporter: mcelicalderonG
+ stage: Plan
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/393836
+ body: |
+ Usage of global IDs in work item URLs is deprecated. In the future, only internal IDs (IID) will be supported.
+
+ Because GitLab supports multiple work item types, a path such as `https://gitlab.com/gitlab-org/gitlab/-/work_items/<global_id>` can display, for example, a [task](https://docs.gitlab.com/ee/user/tasks.html) or an [OKR](https://docs.gitlab.com/ee/user/okrs.html).
+
+ In GitLab 15.10 we added support for using internal IDs (IID) in that path by appending a query param at
+ the end (`iid_path`) in the following format: `https://gitlab.com/gitlab-org/gitlab/-/work_items/<iid>?iid_path=true`.
+
+ In GitLab 16.0 we will remove the ability to use a global ID in the work items path. The number at the end of the path will be considered an internal ID (IID) without the need of adding a query param at the end. Only the following format will be supported: `https://gitlab.com/gitlab-org/gitlab/-/work_items/<iid>`.
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate]
diff --git a/data/deprecations/15-10-grafana-chart.yml b/data/deprecations/15-10-grafana-chart.yml
new file mode 100644
index 00000000000..48070560bfb
--- /dev/null
+++ b/data/deprecations/15-10-grafana-chart.yml
@@ -0,0 +1,37 @@
+# This is a template for announcing a feature deprecation or other important planned change.
+#
+# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# Deprecations and other future breaking changes must be announced at least
+# three releases prior to removal.
+#
+# Breaking changes must happen in a major release.
+#
+# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
+#
+# 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: "Bundled Grafana Helm Chart is deprecated" # (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.10" # (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) Change to false if this is not a breaking change.
+ reporter: twk3 # (required) GitLab username of the person reporting the change
+ stage: enablement # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4353 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The Grafana Helm chart that is bundled with the GitLab Helm Chart is deprecated and will be removed in the GitLab Helm Chart 7.0 release (releasing along with GitLab 16.0).
+
+ The bundled Grafana Helm chart is an optional service that can be turned on to provide the Grafana UI connected to the GitLab Helm Chart's Prometheus metrics.
+
+ The version of Grafana that the GitLab Helm Chart is currently providing is no longer a supported Grafana version.
+ 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).
diff --git a/data/deprecations/15-10-helm-chart-updates.yml b/data/deprecations/15-10-helm-chart-updates.yml
new file mode 100644
index 00000000000..08be6fd477c
--- /dev/null
+++ b/data/deprecations/15-10-helm-chart-updates.yml
@@ -0,0 +1,36 @@
+# This is a template for announcing a feature deprecation or other important planned change.
+#
+# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# Deprecations and other future breaking changes must be announced at least
+# three releases prior to removal.
+#
+# Breaking changes must happen in a major release.
+#
+# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
+#
+# 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: "Major bundled Helm Chart updates for the GitLab Helm Chart" # (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.10" # (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) Change to false if this is not a breaking change.
+ reporter: twk3 # (required) GitLab username of the person reporting the change
+ stage: enablement # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3442 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ To coincide with GitLab 16.0, the GitLab Helm Chart will release the 7.0 major version. The following major bundled chart updates will be included:
+
+ - In GitLab 16.0, [PostgreSQL 12 support is being removed, and PostgreSQL 13 is becoming the new minimum](#postgresql-12-deprecated).
+ - Installs using production-ready external databases will need to complete their migration to a newer PostgreSQL version before upgrading.
+ - Installs using the [non-production bundled PostgreSQL 12 chart](https://docs.gitlab.com/charts/installation/tools.html#postgresql) will have the chart upgraded to the new version. For more information, [see issue 4118](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4118)
+ - Installs using the [non-production bundled Redis chart](https://docs.gitlab.com/charts/installation/tools.html#redis) will have the chart upgraded to a newer version. For more information, [see issue 3375](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/3375)
+ - Installs using the [bundled cert-manager chart](https://docs.gitlab.com/charts/installation/tls.html#option-1-cert-manager-and-lets-encrypt) will have the chart upgraded to a newer version. For more information, [see issue 4313](https://gitlab.com/gitlab-org/charts/gitlab/-/issues/4313)
+
+ The full GitLab Helm Chart 7.0 upgrade steps will be available in the [upgrade docs](https://docs.gitlab.com/charts/installation/upgrade.html).
diff --git a/data/deprecations/15-10-omniauth-dingtalk.yml b/data/deprecations/15-10-omniauth-dingtalk.yml
new file mode 100644
index 00000000000..a591b619146
--- /dev/null
+++ b/data/deprecations/15-10-omniauth-dingtalk.yml
@@ -0,0 +1,41 @@
+# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# Deprecations and other future breaking changes must be announced at least
+# three releases prior to removal.
+#
+# Breaking changes must happen in a major release.
+#
+# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
+#
+# 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: "DingTalk OmniAuth provider" # (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.10" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: ifarkas # (required) GitLab username of the person reporting the change
+ 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/390855 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `omniauth-dingtalk` gem that provides GitLab with the DingTalk OmniAuth provider will be removed in our next
+ major release, GitLab 17.0. This gem sees very little use and is better suited for JiHu edition.
+#
+# 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/deprecations/15-11-geo-project-redownload.yml b/data/deprecations/15-11-geo-project-redownload.yml
new file mode 100644
index 00000000000..229bab04b0a
--- /dev/null
+++ b/data/deprecations/15-11-geo-project-redownload.yml
@@ -0,0 +1,45 @@
+# This is a template for announcing a feature deprecation or other important planned change.
+#
+# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
+# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
+#
+# Deprecations and other future breaking changes must be announced at least
+# three releases prior to removal.
+#
+# Breaking changes must happen in a major release.
+#
+# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
+#
+# 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: "Geo: Project repository redownload is deprecated" # (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.11" # (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: false # (required) Change to false if this is not a breaking change.
+ reporter: mkozono # (required) GitLab username of the person reporting the change
+ stage: "Enablement" # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/388868 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ In secondary Geo sites, the button to "Redownload" a project repository is
+ deprecated. The redownload logic has inherent data consistency issues which
+ are difficult to resolve when encountered. The button will be removed in
+ GitLab 16.0.
+#
+# 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: ["Premium", "Ultimate"] # (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/deprecations/15-11-legacy-shell-escaping-quoting.yml b/data/deprecations/15-11-legacy-shell-escaping-quoting.yml
new file mode 100644
index 00000000000..340be971e2c
--- /dev/null
+++ b/data/deprecations/15-11-legacy-shell-escaping-quoting.yml
@@ -0,0 +1,23 @@
+- title: "Deprecate legacy shell escaping and quoting runner shell executor" # (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.11" # (required) The milestone when this feature was first announced as deprecated.
+ removal_milestone: "17.0" # (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: DarrenEastman # (required) GitLab username of the person reporting the change
+ 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/406679 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The runner's legacy escape sequence mechanism to handle variable expansion implements a sub-optimal implementation of Ansi-C quoting. This method means that the runner would expand arguments included in double quotes. As of 15.11, we are deprecating the legacy escaping and quoting methods in the runner shell executor.
+#
+# 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: 17.9 # (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/deprecations/15-11-runner-images-alpine-3.12-3.13-3.14.yml b/data/deprecations/15-11-runner-images-alpine-3.12-3.13-3.14.yml
new file mode 100644
index 00000000000..d9cd4bfb262
--- /dev/null
+++ b/data/deprecations/15-11-runner-images-alpine-3.12-3.13-3.14.yml
@@ -0,0 +1,24 @@
+- title: "GitLab Runner images based on Alpine 3.12, 3.13, 3.14" # (required) The name of the feature to be deprecated
+ announcement_milestone: "15.11" # (required) The milestone when this feature was first announced as deprecated.
+ announcement_date: "2023-04-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_milestone: "16.1" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2023-06-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ breaking_change: false # (required) If this deprecation is a breaking change, set this value to true
+ reporter: DarrenEastman # (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-runner/-/issues/29639 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ We will stop publishing runner images based on the following, end-of-life Alpine versions:
+
+ - Alpine 3.12
+ - Alpine 3.13
+ - Alpine 3.14 (end-of-life on 2023-05-23)
+ end_of_support_milestone: "16.1" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ end_of_support_date: "2023-06-22" # (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/runner/install/docker.html#gitlab-runner-container-images-support-lifecycle # (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/deprecations/15-3-omniauth-crowd.yml b/data/deprecations/15-3-omniauth-crowd.yml
index ae883bd9140..7c28226a674 100644
--- a/data/deprecations/15-3-omniauth-crowd.yml
+++ b/data/deprecations/15-3-omniauth-crowd.yml
@@ -3,7 +3,7 @@
#
- title: "Atlassian Crowd OmniAuth provider" # (required) The name of the feature to be deprecated
announcement_milestone: "15.3" # (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
+ removal_milestone: "17.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: hsutor # (required) GitLab username of the person reporting the deprecation
stage: Manage # (required) String value of the stage that the feature was created in. e.g., Growth
diff --git a/data/deprecations/15-6-deprecate-merge_status-api-field.yml b/data/deprecations/15-6-deprecate-merge_status-api-field.yml
deleted file mode 100644
index 48b7824a13d..00000000000
--- a/data/deprecations/15-6-deprecate-merge_status-api-field.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-- title: "merge_status API field"
- announcement_milestone: "15.6"
- removal_milestone: "16.0"
- breaking_change: true
- body: |
- The `merge_status` field in the [merge request API](https://docs.gitlab.com/ee/api/merge_requests.html#merge-status) has been deprecated in favor of the `detailed_merge_status` field which more correctly identifies all of the potential statuses that a merge request can be in. API users are encouraged to use the new `detailed_merge_status` field instead. The `merge_status` field will be removed in v5 of the GitLab REST API.
- stage: create
- tiers:
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382032
- documentation_url: https://docs.gitlab.com/ee/api/merge_requests.html#merge-status
- image_url:
- video_url:
diff --git a/data/deprecations/15-6-deprecate-post-api-v4-runner.yml b/data/deprecations/15-6-deprecate-post-api-v4-runner.yml
index f71b8726de9..8c2931faf78 100644
--- a/data/deprecations/15-6-deprecate-post-api-v4-runner.yml
+++ b/data/deprecations/15-6-deprecate-post-api-v4-runner.yml
@@ -1,6 +1,7 @@
- title: "Registration tokens and server-side runner arguments in `POST /api/v4/runners` endpoint" # (required) The name of the feature to be deprecated
announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated.
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-04-22"
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: pedropombeiro # (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
@@ -8,14 +9,18 @@
body: | # (required) Do not modify this line, instead modify the lines below.
The support for registration tokens and certain runner configuration arguments in the `POST` method operation on the `/api/v4/runners` endpoint is deprecated.
This endpoint [registers](https://docs.gitlab.com/ee/api/runners.html#register-a-new-runner) a runner
- with a GitLab instance at the instance, group, or project level through the API. We plan to remove the support for
- registration tokens and certain configuration arguments in this endpoint in GitLab 17.0.
+ with a GitLab instance at the instance, group, or project level through the API. Registration tokens, and support for certain configuration arguments,
+ will be disabled behind a feature flag in GitLab 16.6 and removed in GitLab 17.0. The configuration arguments disabled for authentication tokens are:
- In GitLab 15.10, we plan to implement a new method to bind runners to a GitLab instance,
- as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/).
- This new architecture introduces a new method for registering runners and will eliminate the legacy
- [runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens).
- From GitLab 17.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods.
- end_of_support_milestone: "16.6" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ - `--locked`
+ - `--access-level`
+ - `--run-untagged`
+ - `--maximum-timeout`
+ - `--paused`
+ - `--tag-list`
+ - `--maintenance-note`
+
+ This change is a breaking change. You should [create a runner in the UI](../ci/runners/register_runner.md) to add configurations, and use the authentication token in the `gitlab-runner register` command instead.
+ end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
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/api/runners.html#register-a-new-runner # (optional) This is a link to the current documentation page
diff --git a/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml b/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml
index cbc50918c39..a01c995ae4f 100644
--- a/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml
+++ b/data/deprecations/15-6-deprecate-runner-reg-token-helm.yml
@@ -1,6 +1,7 @@
- title: "`runnerRegistrationToken` parameter for GitLab Runner Helm Chart" # (required) The name of the feature to be deprecated
announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated.
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-04-22"
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: pedropombeiro # (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
@@ -8,10 +9,9 @@
body: | # (required) Do not modify this line, instead modify the lines below.
The [`runnerRegistrationToken`](https://docs.gitlab.com/runner/install/kubernetes.html#required-configuration) parameter to use the GitLab Helm Chart to install a runner on Kubernetes is deprecated.
- As part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/), in GitLab 15.8 we plan to introduce:
-
- - A new method to bind runners to a GitLab instance leveraging `runnerToken`.
- - A unique system ID saved to the `config.toml`, which will ensure traceability between jobs and runners.
+ We plan to implement a new method to bind runners to a GitLab instance leveraging `runnerToken`
+ as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/).
+ The work is planned in [this epic](https://gitlab.com/groups/gitlab-org/-/epics/7633).
From GitLab 17.0 and later, the methods to register runners introduced by the new GitLab Runner token architecture will be the only supported methods.
- end_of_support_milestone: "16.6" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
diff --git a/data/deprecations/15-6-deprecate-runner-register-command.yml b/data/deprecations/15-6-deprecate-runner-register-command.yml
index a908e126bc8..cb9b9f517cd 100644
--- a/data/deprecations/15-6-deprecate-runner-register-command.yml
+++ b/data/deprecations/15-6-deprecate-runner-register-command.yml
@@ -1,16 +1,23 @@
- title: "Registration tokens and server-side runner arguments in `gitlab-runner register` command" # (required) The name of the feature to be deprecated
announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated.
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-04-22"
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: pedropombeiro # (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/380872 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- The support for registration tokens and certain configuration arguments in the command to [register](https://docs.gitlab.com/runner/register/) a runner, `gitlab-runner register` is deprecated.
- GitLab plans to introduce a new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/) in GitLab 15.10,
- which introduces a new method for registering runners and eliminates the legacy
- [runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens).
- The new method will involve creating the runner in the GitLab UI and passing the
- [runner authentication token](https://docs.gitlab.com/ee/security/token_overview.html#runner-authentication-tokens-also-called-runner-tokens)
- to the `gitlab-runner register` command.
- end_of_support_milestone: "16.6" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ Registration tokens and certain configuration arguments in the command `gitlab-runner register` that [registers](https://docs.gitlab.com/runner/register/) a runner, are deprecated.
+ Authentication tokens will be used to register runners instead. Registration tokens, and support for certain configuration arguments,
+ will be disabled behind a feature flag in GitLab 16.6 and removed in GitLab 17.0. The configuration arguments disabled for authentication tokens are:
+
+ - `--locked`
+ - `--access-level`
+ - `--run-untagged`
+ - `--maximum-timeout`
+ - `--paused`
+ - `--tag-list`
+ - `--maintenance-note`
+
+ This change is a breaking change. You should [create a runner in the UI](../ci/runners/register_runner.md) to add configurations, and use the authentication token in the `gitlab-runner register` command instead.
+ end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
diff --git a/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml b/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml
index 7b66978f492..da184cfbe43 100644
--- a/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml
+++ b/data/deprecations/15-6-deprecate-runner-register-token-k8s-operator.yml
@@ -1,13 +1,22 @@
- title: "GitLab Runner registration token in Runner Operator" # (required) The name of the feature to be deprecated
announcement_milestone: "15.6" # (required) The milestone when this feature was first announced as deprecated.
removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-04-22"
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: ratchade # (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/382077 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- The [`runner-registration-token`](https://docs.gitlab.com/runner/install/operator.html#install-the-kubernetes-operator) parameter that uses the OpenShift and k8s Vanilla Operator to install a runner on Kubernetes is deprecated. GitLab plans to introduce a new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/) in GitLab 15.8, which introduces a new method for registering runners and eliminates the legacy runner registration token.
- end_of_support_milestone: "16.6" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ The [`runner-registration-token`](https://docs.gitlab.com/runner/install/operator.html#install-the-kubernetes-operator) parameter that uses the OpenShift and Kubernetes Vanilla Operator to install a runner on Kubernetes is deprecated. Authentication tokens will be used to register runners instead. Registration tokens, and support for certain configuration arguments,
+ will be disabled behind a feature flag in GitLab 16.6 and removed in GitLab 17.0. The configuration arguments disabled for authentication tokens are:
+
+ - `--locked`
+ - `--access-level`
+ - `--run-untagged`
+ - `--tag-list`
+
+ This change is a breaking change. You should use an [authentication token](../ci/runners/register_runner.md) in the `gitlab-runner register` command instead.
+ end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
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/runner/install/operator.html#install-the-kubernetes-operator # (optional) This is a link to the current documentation page
image_url: # (optional) This is a link to a thumbnail image depicting the feature
diff --git a/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml b/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml
index 25b2e046f01..b3031850ca3 100644
--- a/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml
+++ b/data/deprecations/15-7-deprecate-api-v4-runner-registration-token-reset-endpoints.yml
@@ -1,6 +1,7 @@
- title: "Support for REST API endpoints that reset runner registration tokens" # (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: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-04-22"
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: pedropombeiro # (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
@@ -14,11 +15,12 @@
- `POST /projects/:id/runners/reset_registration_token`
- `POST /groups/:id/runners/reset_registration_token`
- In GitLab 15.8, we plan to implement a new method to bind runners to a GitLab instance,
+ We plan to implement a new method to bind runners to a GitLab instance
as part of the new [GitLab Runner token architecture](https://docs.gitlab.com/ee/architecture/blueprints/runner_tokens/).
+ The work is planned in [this epic](https://gitlab.com/groups/gitlab-org/-/epics/7633).
This new architecture introduces a new method for registering runners and will eliminate the legacy
[runner registration token](https://docs.gitlab.com/ee/security/token_overview.html#runner-registration-tokens).
From GitLab 17.0 and later, the runner registration methods implemented by the new GitLab Runner token architecture will be the only supported methods.
- end_of_support_milestone: "16.6" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
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/api/runners.html#register-a-new-runner # (optional) This is a link to the current documentation page
diff --git a/data/deprecations/15-7-deprecate-dast-zap-variables.yml b/data/deprecations/15-7-deprecate-dast-zap-variables.yml
index b57a27fa126..5bcd43125af 100644
--- a/data/deprecations/15-7-deprecate-dast-zap-variables.yml
+++ b/data/deprecations/15-7-deprecate-dast-zap-variables.yml
@@ -1,11 +1,11 @@
- title: "DAST ZAP advanced configuration variables deprecation" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead.
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
+ removal_milestone: "17.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: derekferguson # (required) GitLab username of the person reporting the deprecation
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.
- With the new browser-based DAST analyzer GA in GitLab 15.7, we are working towards making it the default DAST analyzer at some point in the future. In preparation for this, the following legacy DAST variables are being deprecated and scheduled for removal in GitLab 16.0: `DAST_ZAP_CLI_OPTIONS` and `DAST_ZAP_LOG_CONFIGURATION`. These variables allowed for advanced configuration of the legacy DAST analyzer, which was based on OWASP ZAP. The new browser-based analyzer will not include the same functionality, as these were specific to how ZAP worked.
+ With the new browser-based DAST analyzer GA in GitLab 15.7, we are working towards making it the default DAST analyzer at some point in the future. In preparation for this, the following legacy DAST variables are being deprecated and scheduled for removal in GitLab 17.0: `DAST_ZAP_CLI_OPTIONS` and `DAST_ZAP_LOG_CONFIGURATION`. These variables allowed for advanced configuration of the legacy DAST analyzer, which was based on OWASP ZAP. The new browser-based analyzer will not include the same functionality, as these were specific to how ZAP worked.
- These three variables will be removed in GitLab 16.0.
+ These three variables will be removed in GitLab 17.0.
diff --git a/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml b/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml
index cfc1362b0b6..0b52fa4d72d 100644
--- a/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml
+++ b/data/deprecations/15-7-deprecate-gitlab-runner-exec-cmd.yml
@@ -3,16 +3,16 @@
removal_milestone: "17.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: DarrenEastman # (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/385235 # (required) Link to the deprecation issue in GitLab
+ 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/385235 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
The [`gitlab-runner exec`](https://docs.gitlab.com/runner/commands/#gitlab-runner-exec) command is deprecated and will be fully removed from GitLab Runner in 16.0. The `gitlab-runner exec` feature was initially developed to provide the ability to validate a GitLab CI pipeline on a local system without needing to commit the updates to a GitLab instance. However, with the continued evolution of GitLab CI, replicating all GitLab CI features into `gitlab-runner exec` was no longer viable. Pipeline syntax and validation [simulation](https://docs.gitlab.com/ee/ci/pipeline_editor/#simulate-a-cicd-pipeline) are available in the GitLab pipeline editor.
end_of_support_milestone: "17.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
-# OTHER OPTIONAL FIELDS
-#
+ # 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/runner/commands/#gitlab-runner-exec # (optional) This is a link to the current documentation page
+ documentation_url: https://docs.gitlab.com/runner/commands/#gitlab-runner-exec # (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/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml
index ce26849879a..921bea87b38 100644
--- a/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml
+++ b/data/deprecations/15-7-deprecate-kas-metrics-port-in-gitlab-chart.yml
@@ -2,9 +2,9 @@
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: timofurrer # (required) GitLab username of the person reporting the deprecation
- stage: Configure # (required) String value of the stage that the feature was created in. e.g., Growth
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383039 # (required) Link to the deprecation issue in GitLab
+ reporter: timofurrer # (required) GitLab username of the person reporting the deprecation
+ stage: Configure # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/383039 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
The `gitlab.kas.metrics.port` has been deprecated in favor of the new `gitlab.kas.observability.port` configuration field for the [GitLab Helm Chart](https://gitlab.com/gitlab-org/charts/gitlab/-/merge_requests/2839).
This port is used for much more than just metrics, which warranted this change to avoid confusion in configuration.
@@ -13,7 +13,7 @@
# OTHER OPTIONAL FIELDS
#
- tiers: [Core, Premium, Ultimate] # (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/charts/charts/gitlab/kas/index.html # (optional) This is a link to the current documentation page
+ tiers: [Core, Premium, Ultimate] # (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/charts/charts/gitlab/kas/index.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/deprecations/15-7-deprecate-shimo-integration.yml b/data/deprecations/15-7-deprecate-shimo-integration.yml
index 95bb4ec141d..aa92bdf943a 100644
--- a/data/deprecations/15-7-deprecate-shimo-integration.yml
+++ b/data/deprecations/15-7-deprecate-shimo-integration.yml
@@ -2,7 +2,7 @@
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: arturoherrero # (required) GitLab username of the person reporting the deprecation
+ reporter: arturoherrero # (required) GitLab username of the person reporting the deprecation
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/377824 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
diff --git a/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml b/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml
deleted file mode 100644
index 9e567322eca..00000000000
--- a/data/deprecations/15-7-deprecate-single-merge-request-changes-api-endpoint.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-- title: 'Single merge request changes API endpoint'
- announcement_milestone: '15.7'
- removal_milestone: '16.0'
- breaking_change: true
- body: |
- The endpoint to get [changes from a single merge request](https://docs.gitlab.com/ee/api/merge_requests.html#get-single-merge-request-changes) has been deprecated in favor the [list merge request diffs](https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs) endpoint. API users are encouraged to switch to the new diffs endpoint instead. The `changes from a single merge request` endpoint will be removed in v5 of the GitLab REST API.
- stage: create
- tiers:
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/322117
- documentation_url: https://docs.gitlab.com/ee/api/merge_requests.html#list-merge-request-diffs
- image_url:
- video_url:
diff --git a/data/deprecations/15-7-deprecate-zentao-integration.yml b/data/deprecations/15-7-deprecate-zentao-integration.yml
index 0925be8de60..332aaefdf04 100644
--- a/data/deprecations/15-7-deprecate-zentao-integration.yml
+++ b/data/deprecations/15-7-deprecate-zentao-integration.yml
@@ -2,7 +2,7 @@
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: arturoherrero # (required) GitLab username of the person reporting the deprecation
+ reporter: arturoherrero # (required) GitLab username of the person reporting the deprecation
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/377825 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
diff --git a/data/deprecations/15-8-default-private-user-profile.yml b/data/deprecations/15-8-default-private-user-profile.yml
deleted file mode 100644
index d07163e1ca9..00000000000
--- a/data/deprecations/15-8-default-private-user-profile.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-- title: "Null value for `private_profile` attribute in User API is deprecated" # (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: "16.0" # (required) The milestone when this feature is planned to be removed
- breaking_change: true # (required) Change to false if this is not a breaking change.
- reporter: lohrc # (required) GitLab username of the person reporting the change
- 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/387005 # (required) Link to the deprecation issue in GitLab
- body: | # (required) Do not modify this line, instead modify the lines below.
- When creating and updating users through the API, `null` was a valid value for the `private_profile` attribute, which would internally be converted to the default value. Starting with 16.0, `null` will no longer be a valid value for this parameter, and the response will be a 400 if used. Now the only valid values are `true` and `false`.
diff --git a/data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml b/data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml
index db93f0cadcc..c7712a628ae 100644
--- a/data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml
+++ b/data/deprecations/15-8-deprecate-disabled-with-override-runner-setting-value.yml
@@ -4,14 +4,14 @@
- title: "GraphQL: The `DISABLED_WITH_OVERRIDE` value of the `SharedRunnersSetting` enum is deprecated. Use `DISABLED_AND_OVERRIDABLE` instead" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead.
announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated.
announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
- removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
- removal_date: "2023-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ removal_date: "2024-05-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: tschmitke # (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/385636 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- In GitLab 16.0, the `DISABLED_WITH_OVERRIDE` value of the `SharedRunnersSetting` GraphQL enum type will be replaced with the value, `DISABLED_AND_OVERRIDABLE`.
+ In GitLab 17.0, the `DISABLED_WITH_OVERRIDE` value of the `SharedRunnersSetting` GraphQL enum type will be replaced with the value, `DISABLED_AND_OVERRIDABLE`.
#
# OTHER OPTIONAL FIELDS
#
diff --git a/data/deprecations/15-8-deprecate-merge-request-approvals-fields.yml b/data/deprecations/15-8-deprecate-merge-request-approvals-fields.yml
deleted file mode 100644
index 3e0e10b54db..00000000000
--- a/data/deprecations/15-8-deprecate-merge-request-approvals-fields.yml
+++ /dev/null
@@ -1,14 +0,0 @@
-- title: 'Approvers and Approver Group fields in Merge Request Approval API'
- announcement_milestone: '15.8'
- announcement_date: '2023-01-22'
- removal_milestone: '16.0'
- removal_date: '2023-05-22'
- breaking_change: true
- body: |
- The endpoint to get the configuration of approvals for a project returns empty arrays for `approvers` and `approval_groups`. These fields were deprecated in favor of the endpoint to [get project-level rules](https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-project-level-rules) for a merge request. API users are encouraged to switch to this endpoint instead. These fields will be removed from the `get configuration` endpoint in v5 of the GitLab REST API.
- stage: create
- tiers:
- issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/353097
- documentation_url: https://docs.gitlab.com/ee/api/merge_request_approvals.html#get-project-level-rules
- image_url:
- video_url:
diff --git a/data/deprecations/15-8-deprecate-slack-notifications-integration.yml b/data/deprecations/15-8-deprecate-slack-notifications-integration.yml
index 3cbcbc83925..8ac12d64a77 100644
--- a/data/deprecations/15-8-deprecate-slack-notifications-integration.yml
+++ b/data/deprecations/15-8-deprecate-slack-notifications-integration.yml
@@ -4,7 +4,7 @@
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: g.hickman # (required) GitLab username of the person reporting the change
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/372411 # (required) Link to the deprecation issue in GitLab
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/372411 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
As we're consolidating all Slack capabilities into the
GitLab for Slack app, we're [deprecating the Slack notifications
diff --git a/data/deprecations/15-8-deprecate-system-hook-test-endpoint.yml b/data/deprecations/15-8-deprecate-system-hook-test-endpoint.yml
deleted file mode 100644
index afde85f03d9..00000000000
--- a/data/deprecations/15-8-deprecate-system-hook-test-endpoint.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-- title: "Test system hook endpoint" # (required) Clearly explain the change, or planned change. For example, "The `confidential` field for a `Note` is deprecated" or "The maximum number of characters in a job name will be limited to 250."
- announcement_milestone: "15.8" # (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: arturoherrero # (required) GitLab username of the person reporting the deprecation
- 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/381572 # (required) Link to the deprecation issue in GitLab
- body: | # (required) Do not modify this line, instead modify the lines below.
- The [test system hook](https://docs.gitlab.com/ee/api/system_hooks.html#test-system-hook) endpoint returns dummy data.
- This endpoint is now deprecated and will be removed from the GitLab codebase.
-#
-# 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: "16.0" # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
- #
- # OTHER OPTIONAL FIELDS
- #
- tiers: [Core, Premium, Ultimate] # (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/api/system_hooks.html#test-system-hook # (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/deprecations/15-8-deprecate-updated-at-error.yml b/data/deprecations/15-8-deprecate-updated-at-error.yml
index 9b4c5c3e007..6985803c12e 100644
--- a/data/deprecations/15-8-deprecate-updated-at-error.yml
+++ b/data/deprecations/15-8-deprecate-updated-at-error.yml
@@ -21,7 +21,7 @@
announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated.
announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
- removal_date: 2023-05-22 # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_date: 2023-05-22 # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: cbalane # (required) GitLab username of the person reporting the change
stage: Release # (required) String value of the stage that the feature was created in. e.g., Growth
diff --git a/data/deprecations/15-8-jira-connect-app-cookie-auth.yml b/data/deprecations/15-8-jira-connect-app-cookie-auth.yml
index 324bcb83ae9..ac25d06859c 100644
--- a/data/deprecations/15-8-jira-connect-app-cookie-auth.yml
+++ b/data/deprecations/15-8-jira-connect-app-cookie-auth.yml
@@ -7,6 +7,6 @@
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387299 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
Cookie authentication in the GitLab for Jira Cloud app is now deprecated in favor of OAuth authentication.
- You must [set up OAuth authentication](https://docs.gitlab.com/ee/integration/jira/connect-app.html#set-up-oauth-authentication)
- to continue to use the GitLab for Jira Cloud app. Without OAuth, you will not be able to manage linked namespaces.
- tiers: [Core, Premium, Ultimate] # (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]
+ On self-managed, you must [set up OAuth authentication](https://docs.gitlab.com/ee/integration/jira/connect-app.html#set-up-oauth-authentication-for-self-managed-instances)
+ to continue to use the GitLab for Jira Cloud app. Without OAuth, you can't manage linked namespaces.
+ tiers: [Core, Premium, Ultimate] # (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]
diff --git a/data/deprecations/15-8-live-preview.yml b/data/deprecations/15-8-live-preview.yml
index 05ec5111e4a..a8fbb0e038e 100644
--- a/data/deprecations/15-8-live-preview.yml
+++ b/data/deprecations/15-8-live-preview.yml
@@ -2,7 +2,7 @@
announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated.
announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
removal_milestone: "15.9" # (required) The milestone when this feature is planned to be removed
- removal_date: "2023-02-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_date: "2023-02-22" # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: ericschurter # (required) GitLab username of the person reporting the change
stage: create # (required) String value of the stage that the feature was created in. e.g., Growth
diff --git a/data/deprecations/15-8-projects-api-ops-access-level.yml b/data/deprecations/15-8-projects-api-ops-access-level.yml
index 4e0fbbe63ab..06fb1b76232 100644
--- a/data/deprecations/15-8-projects-api-ops-access-level.yml
+++ b/data/deprecations/15-8-projects-api-ops-access-level.yml
@@ -21,7 +21,7 @@
announcement_milestone: "15.8" # (required) The milestone when this feature was first announced as deprecated.
announcement_date: "2023-01-22" # (required) The date of the milestone release when this feature was first announced as deprecated. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
removal_milestone: "16.0" # (required) The milestone when this feature is planned to be removed
- removal_date: 2023-05-22 # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
+ removal_date: 2023-05-22 # (required) The date of the milestone release when this feature is planned to be removed. This should almost always be the 22nd of a month (YYYY-MM-22), unless you did an out of band blog post.
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: cbalane # (required) GitLab username of the person reporting the change
stage: Release # (required) String value of the stage that the feature was created in. e.g., Growth
diff --git a/data/deprecations/15-8-pull-through-cache-container-registry.yml b/data/deprecations/15-8-pull-through-cache-container-registry.yml
index 60a759517e0..6a59dd606e2 100644
--- a/data/deprecations/15-8-pull-through-cache-container-registry.yml
+++ b/data/deprecations/15-8-pull-through-cache-container-registry.yml
@@ -6,4 +6,4 @@
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/842 # (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 is deprecated in GitLab 15.8 and will be removed in GitLab 16.0. While the Container Registry pull-through cache functionality is useful, we have not made significant changes to this feature. You can use the upstream version of the container registry to achieve the same functionality. Removing the pull-through cache allows us also to remove the upstream client code without sacrificing functionality.
+ The Container Registry [pull-through cache](https://docs.docker.com/registry/recipes/mirror/) is deprecated in GitLab 15.8 and will be removed in GitLab 16.0. The pull-through cache is part of the upstream [Docker Distribution project](https://github.com/distribution/distribution). However, we are removing the pull-through cache in favor of the GitLab Dependency Proxy, which allows you to proxy and cache container images from Docker Hub. Removing the pull-through cache allows us also to remove the upstream client code without sacrificing functionality.
diff --git a/data/deprecations/15-8-raise-permissions-settings-package-stage.yml b/data/deprecations/15-8-raise-permissions-settings-package-stage.yml
index 72b53ee8c9b..a7d211622ff 100644
--- a/data/deprecations/15-8-raise-permissions-settings-package-stage.yml
+++ b/data/deprecations/15-8-raise-permissions-settings-package-stage.yml
@@ -1,17 +1,17 @@
- title: "Maintainer role providing the ability to change Package settings using GraphQL API"
announcement_milestone: "15.8"
- removal_milestone: "16.0"
+ removal_milestone: "17.0"
breaking_change: true
reporter: trizzi
stage: Package
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/370471
body: |
The ability for users with the Maintainer role to change the **Packages and registries** settings for a group using
- the GraphQL API is deprecated in GitLab 15.8 and will be removed in GitLab 16.0. These settings include:
+ the GraphQL API is deprecated in GitLab 15.8 and will be removed in GitLab 17.0. These settings include:
- [Allowing or preventing duplicate package uploads](https://docs.gitlab.com/ee/user/packages/maven_repository/#do-not-allow-duplicate-maven-packages).
- [Package request forwarding](https://docs.gitlab.com/ee/user/packages/maven_repository/#request-forwarding-to-maven-central).
- [Enabling lifecycle rules for the Dependency Proxy](https://docs.gitlab.com/ee/user/packages/dependency_proxy/reduce_dependency_proxy_storage.html).
- In GitLab 16.0 and later, you must have Owner role for a group to change the **Packages and registries**
+ In GitLab 17.0 and later, you must have the Owner role for a group to change the **Packages and registries**
settings for the group using either the GitLab UI or GraphQL API.
diff --git a/data/deprecations/15-8-third-party-registries.yml b/data/deprecations/15-8-third-party-registries.yml
index 6da3e550bb3..83380581505 100644
--- a/data/deprecations/15-8-third-party-registries.yml
+++ b/data/deprecations/15-8-third-party-registries.yml
@@ -1,4 +1,4 @@
-- title: "Support for third party registries" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead.
+- title: "Use of third party container registries is deprecated" # (required) Actionable title. e.g., The `confidential` field for a `Note` is deprecated. Use `internal` instead.
announcement_milestone: "15.8" # (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
@@ -6,8 +6,19 @@
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/376216 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- Support for third-party container registries is deprecated in GitLab 15.8 and will be [removed](https://gitlab.com/gitlab-org/gitlab/-/issues/376217) in GitLab 16.0. Supporting both GitLab's Container Registry and third-party container registries is challenging for maintenance, code quality, and backward compatibility. This hinders our ability to stay [efficient](https://about.gitlab.com/handbook/values/#efficiency).
+ Using third-party container registries with GitLab as an auth endpoint is deprecated in GitLab 15.8 and the [end of support](https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology) is scheduled for GitLab 16.0. This impacts self-managed customers that have connected their external registry to the GitLab user interface to find, view, and delete container images.
+
+ Supporting both GitLab's Container Registry as well as third-party container registries is challenging for maintenance, code quality, and backward compatibility. This hinders our ability to stay [efficient](https://about.gitlab.com/handbook/values/#efficiency). As a result we will not support this functionality moving forward.
+
+ This change will not impact your ability to pull and push container images to external registries using pipelines.
Since we released the new [GitLab Container Registry](https://gitlab.com/groups/gitlab-org/-/epics/5523) version for GitLab.com, we've started to implement additional features that are not available in third-party container registries. These new features have allowed us to achieve significant performance improvements, such as [cleanup policies](https://gitlab.com/groups/gitlab-org/-/epics/8379). We are focusing on delivering [new features](https://gitlab.com/groups/gitlab-org/-/epics/5136), most of which will require functionalities only available on the GitLab Container Registry. This deprecation allows us to reduce fragmentation and user frustration in the long term by focusing on delivering a more robust integrated registry experience and feature set.
Moving forward, we'll continue to invest in developing and releasing new features that will only be available in the GitLab Container Registry.
+#
+# 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: 16.0 # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
diff --git a/data/deprecations/15-8-visual-review-tool.yml b/data/deprecations/15-8-visual-review-tool.yml
index 4833bc314d8..ced41ff3cbd 100644
--- a/data/deprecations/15-8-visual-review-tool.yml
+++ b/data/deprecations/15-8-visual-review-tool.yml
@@ -18,6 +18,6 @@
# OTHER OPTIONAL FIELDS
#
tiers: Premium # (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/review_apps/#visual-reviews # (optional) This is a link to the current documentation page
+ documentation_url: https://docs.gitlab.com/ee/ci/review_apps/#visual-reviews # (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/deprecations/15-9-JWT-OIDC.yml b/data/deprecations/15-9-JWT-OIDC.yml
index e924d698bc5..48e1b862032 100644
--- a/data/deprecations/15-9-JWT-OIDC.yml
+++ b/data/deprecations/15-9-JWT-OIDC.yml
@@ -1,42 +1,42 @@
-# This is a template for announcing a feature deprecation or other important planned change.
-#
-# Please refer to the deprecation guidelines to confirm your understanding of GitLab's definitions.
-# https://docs.gitlab.com/ee/development/deprecation_guidelines/#terminology
-#
-# Deprecations and other future breaking changes must be announced at least
-# three releases prior to removal.
-#
-# Breaking changes must happen in a major release.
-#
-# See the OPTIONAL END OF SUPPORT FIELDS section below if an End of Support period also applies.
-#
-# 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: "Old versions of JSON web tokens are deprecated"
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
+ removal_milestone: "16.5" # (required) The milestone when this feature is planned to be removed
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: dhershkovitch # (required) GitLab username of the person reporting the change
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/366798 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- Now that we have released [ID tokens](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html)
- with OIDC support, the old JSON web tokens are deprecated and will be removed.
- Both the `CI_JOB_JWT` and `CI_JOB_JWT_V2` tokens, exposed to jobs as predefined variables,
- will no longer be available in GitLab 16.0.
+ [ID tokens](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html) with OIDC support
+ were introduced in GitLab 15.7. These tokens are more configurable than the old JSON web tokens (JWTs), are OIDC compliant,
+ and only available in CI/CD jobs that explictly have ID tokens configured.
+ ID tokens are more secure than the old `CI_JOB_JWT*` JSON web tokens which are exposed in every job,
+ and as a result these old JSON web tokens are deprecated:
+
+ - `CI_JOB_JWT`
+ - `CI_JOB_JWT_V1`
+ - `CI_JOB_JWT_V2`
+
+ To prepare for this change, configure your pipelines to use [ID tokens](https://docs.gitlab.com/ee/ci/yaml/index.html#id_tokens)
+ instead of the deprecated tokens. For OIDC compliance, the `iss` claim now uses
+ the fully qualified domain name, for example `https://example.com`, previously
+ introduced with the `CI_JOB_JWT_V2` token.
+
+ In GitLab 15.9 to 15.11, you can [enable the **Limit JSON Web Token (JWT) access**](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication)
+ setting, which prevents the old tokens from being exposed to any jobs and enables
+ [ID token authentication for the `secrets:vault` keyword](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication).
+
+ In GitLab 16.0 and later:
+
+ - This setting will be removed.
+ - CI/CD jobs that use the `id_tokens` keyword can use ID tokens with `secrets:vault`,
+ and will not have any `CI_JOB_JWT*` tokens available.
+ - Jobs that do not use the `id_tokens` keyword will continue to have the `CI_JOB_JWT*`
+ tokens available until GitLab 16.5.
- To prepare for this change, you should:
+ In GitLab 16.5, the deprecated tokens will be completely removed and will no longer
+ be available in CI/CD jobs.
- - Configure your pipelines to use the fully configurable and more secure
- [`id_token`](https://docs.gitlab.com/ee/ci/yaml/index.html#id_tokens) keyword instead.
- - [Enable the **Limit JSON Web Token (JWT) access**](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication)
- setting, which prevents the old tokens from being exposed to any jobs. This setting
- will be permanently enabled for all projects in GitLab 16.0.
#
# 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.
diff --git a/data/deprecations/15-9-accessibility-testing-deprecation.yml b/data/deprecations/15-9-accessibility-testing-deprecation.yml
index 17863cf78af..74fb61ed2fc 100644
--- a/data/deprecations/15-9-accessibility-testing-deprecation.yml
+++ b/data/deprecations/15-9-accessibility-testing-deprecation.yml
@@ -21,6 +21,6 @@
# 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/testing/accessibility_testing.html # (optional) This is a link to the current documentation page
+ documentation_url: https://docs.gitlab.com/ee/ci/testing/accessibility_testing.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/deprecations/15-9-remove-offset-pagination-jobs-api.yml b/data/deprecations/15-9-ci-builds-column-validations.yml
index 8c3406a34e3..b94200dce8d 100644
--- a/data/deprecations/15-9-remove-offset-pagination-jobs-api.yml
+++ b/data/deprecations/15-9-ci-builds-column-validations.yml
@@ -1,7 +1,7 @@
#
# REQUIRED FIELDS
#
-- title: "Remove offset pagination from Jobs API" # (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."
+- 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.
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: "16.0" # (required) The milestone when this feature is being removed.
@@ -9,15 +9,21 @@
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: jheimbuck_gl # (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/367537 # (required) Link to the deprecation issue in GitLab
+ 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.
- A request to the API for `/api/v4/projects/:id/jobs` can return a paginated list of jobs. Projects can contain hundreds or thousands of jobs, so using an offset to paginate through them is slow. Users should instead use [`keyset-based pagination`](https://docs.gitlab.com/ee/api/rest/index.html#keyset-based-pagination) when requesting consecutive pages of results.
+ While CI/CD [job names](https://docs.gitlab.com/ee/ci/jobs/index.html#job-name-limitations) have a strict 255 character limit, other CI/CD parameters do not yet have validations ensuring they also stay under the limit.
- In milestone 16.0 we will remove offset-based pagination.
+ In GitLab 16.0, validation will be added to strictly limit the following to 255 characters as well:
+
+ - The `stage` keyword.
+ - The `ref`, which is the Git branch or tag name for the pipeline.
+ - The `description` and `target_url` parameter, 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 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: "https://docs.gitlab.com/ee/api/jobs.html#list-project-jobs" # (optional) This is a link to the current documentation page
+ documentation_url: "https://docs.gitlab.com/ee/ci/yaml/#stages" # (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/deprecations/15-9-deprecate-ci-pre-clone-script.yml b/data/deprecations/15-9-deprecate-ci-pre-clone-script.yml
new file mode 100644
index 00000000000..bb1dcc9412a
--- /dev/null
+++ b/data/deprecations/15-9-deprecate-ci-pre-clone-script.yml
@@ -0,0 +1,23 @@
+- title: "Deprecation and planned removal for `CI_PRE_CLONE_SCRIPT` variable on GitLab SaaS" # (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) Change to false if this is not a breaking change.
+ reporter: DarrenEastman # (required) GitLab username of the person reporting the change
+ 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/391896 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The [`CI_PRE_CLONE_SCRIPT` variable](https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner.html#pre-clone-script) supported by GitLab SaaS Runners is deprecated as of GitLab 15.9 and will be removed in 16.0. The `CI_PRE_CLONE_SCRIPT` variable enables you to run commands in your CI/CD job prior to the runner executing Git init and get fetch. For more information about how this feature works, see [Pre-clone script](https://docs.gitlab.com/ee/ci/runners/saas/linux_saas_runner.html#pre-clone-script). As an alternative, you can use the [`pre_get_sources_script`](https://docs.gitlab.com/ee/ci/yaml/#hookspre_get_sources_script).
+ #
+ # 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: 16.0 # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
+ #
+ # OTHER OPTIONAL FIELDS
+ #
+ tiers: Free, Premium, Ultimate # (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/runners/saas/linux_saas_runner.html#pre-clone-script # (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/deprecations/15-9-deprecate-external-field-in-graphql-release-asset-link.yml b/data/deprecations/15-9-deprecate-external-field-in-graphql-release-asset-link.yml
index 3cc9505a0b1..1ee097e0222 100644
--- a/data/deprecations/15-9-deprecate-external-field-in-graphql-release-asset-link.yml
+++ b/data/deprecations/15-9-deprecate-external-field-in-graphql-release-asset-link.yml
@@ -6,7 +6,7 @@
breaking_change: true
reporter: ahmed.hemdan
body: |
- In the [GraphQL API](https://docs.gitlab.com/ee/api/graphql), the `external` field of [`ReleaseAssetLink` type](https://docs.gitlab.com/ee/api/graphql/reference/index.html#releaseassetlink) was used to indicate whether a [release link](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links) is internal or external to your GitLab instance.
+ In the [GraphQL API](https://docs.gitlab.com/ee/api/graphql/), the `external` field of [`ReleaseAssetLink` type](https://docs.gitlab.com/ee/api/graphql/reference/index.html#releaseassetlink) was used to indicate whether a [release link](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links) is internal or external to your GitLab instance.
As of GitLab 15.9, we treat all release links as external, and therefore, this field is deprecated in GitLab 15.9, and will be removed in GitLab 16.0.
To avoid any disruptions to your workflow, please stop using the `external` field because it will be removed and will not be replaced.
stage: Release
diff --git a/data/deprecations/15-9-deprecate-external-field-in-releases-and-release-links-apis.yml b/data/deprecations/15-9-deprecate-external-field-in-releases-and-release-links-apis.yml
index 9415cac6ca6..3ec46abf1aa 100644
--- a/data/deprecations/15-9-deprecate-external-field-in-releases-and-release-links-apis.yml
+++ b/data/deprecations/15-9-deprecate-external-field-in-releases-and-release-links-apis.yml
@@ -6,7 +6,7 @@
breaking_change: true
reporter: ahmed.hemdan
body: |
- In [Releases API](https://docs.gitlab.com/ee/api/releases) and [Release Links API](https://docs.gitlab.com/ee/api/releases/links.html), the `external` field was used to indicate whether a [release link](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links) is internal or external to your GitLab instance.
+ In [Releases API](https://docs.gitlab.com/ee/api/releases/) and [Release Links API](https://docs.gitlab.com/ee/api/releases/links.html), the `external` field was used to indicate whether a [release link](https://docs.gitlab.com/ee/user/project/releases/release_fields.html#links) is internal or external to your GitLab instance.
As of GitLab 15.9, we treat all release links as external, and therefore, this field is deprecated in GitLab 15.9, and will be removed in GitLab 16.0.
To avoid any disruptions to your workflow, please stop using the `external` field because it will be removed and will not be replaced.
stage: Release
diff --git a/data/deprecations/15-9-deprecate-option-to-remove-project-immediately.yml b/data/deprecations/15-9-deprecate-option-to-remove-project-immediately.yml
index 687270fbb71..3c5cc4901ab 100644
--- a/data/deprecations/15-9-deprecate-option-to-remove-project-immediately.yml
+++ b/data/deprecations/15-9-deprecate-option-to-remove-project-immediately.yml
@@ -6,8 +6,8 @@
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/389557 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- The project deletion protection setting in the Admin Area had an option to delete projects immediately. Starting with 16.0, this option will no longer be available, and delayed project deletion will become the default behavior.
+ The group and project deletion protection setting in the Admin Area had an option to delete groups and projects immediately. Starting with 16.0, this option will no longer be available, and delayed group and project deletion will become the default behavior.
- The option will no longer appear as a group setting. Self-managed users will still have the option to define the deletion delay period, and SaaS users have a non-adjustable default retention period of 7 days. Users can still delete the project immediately from the project settings.
+ The option will no longer appear as a group setting. Self-managed users will still have the option to define the deletion delay period, and SaaS users have a non-adjustable default retention period of 7 days. Users can still immediately delete the project from the project settings, and the group from the group settings.
- The option to delete projects immediately by default was deprecated to prevent users from accidentally taking this action and permanently losing projects.
+ The option to delete groups and projects immediately by default was deprecated to prevent users from accidentally taking this action and permanently losing groups and projects.
diff --git a/data/deprecations/15-9-env-search-char-limit.yml b/data/deprecations/15-9-env-search-char-limit.yml
new file mode 100644
index 00000000000..5dbba6ec5e1
--- /dev/null
+++ b/data/deprecations/15-9-env-search-char-limit.yml
@@ -0,0 +1,9 @@
+- title: "Environment search query requires at least three characters" # (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.10" # (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) Change to false if this is not a breaking change.
+ reporter: cbalane # (required) GitLab username of the person reporting the change
+ stage: release # (required) String value of the stage that the feature was created in. e.g., Growth
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/382532 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ From GitLab 16.0, when you search for environments with the API, you must use at least three characters. This change helps us ensure the scalability of the search operation.
diff --git a/data/deprecations/15-9-insecure-ci-job-token.yml b/data/deprecations/15-9-insecure-ci-job-token.yml
index eb40224335c..5664ffee008 100644
--- a/data/deprecations/15-9-insecure-ci-job-token.yml
+++ b/data/deprecations/15-9-insecure-ci-job-token.yml
@@ -7,25 +7,29 @@
breaking_change: true # (required) If this deprecation is a breaking change, set this value to true
reporter: jheimbuck_gl # (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/335465 # (required) Link to the deprecation issue in GitLab
+ 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 the "outbound" scope of the CI/CD job token (`CI_JOB_TOKEN`) to make it more secure. You can prevent job tokens from your project's pipelines from being used to access other projects. If needed, you can list specific projects that you want to access with your project's job tokens.
+ 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 can prevent job tokens **from your project's** pipelines from being used to **access other projects**. When enabled with no other configuration, your pipelines cannot access other projects. To use the job token to access other projects from your pipeline, you must list those projects explicitly in the **Limit CI_JOB_TOKEN access** setting's allowlist, and you must be a maintainer in all the projects.
- In 15.9 we extended this functionality with a better solution, an "inbound" scope limit. You can prevent the job tokens from _other_ projects from being used to access your project. With this feature, you can optionally list specific projects that you want to allow to access your project with _their_ job token.
+ The job token functionality was updated in 15.9 with a better security setting to [allow access to your project with a job token](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#allow-access-to-your-project-with-a-job-token). When enabled with no other configuration, job tokens **from other projects** cannot **access your project**. Similar to the older setting, you can optionally allow other projects to access your project with a job token if you list those projects explicitly in the **Allow access to this project with a CI_JOB_TOKEN** setting's allowlist. With this new setting, you must be a maintainer in your own project, but only need to have the Guest role in the other projects.
- In 16.0, this inbound scope limit will be the only option available for all projects, and the outbound limit setting will be removed. To prepare for this change, you can enable the ["inbound" CI/CD job token limit](https://docs.gitlab.com/ee/ci/jobs/ci_job_token.html#configure-the-job-token-scope-limit) feature now, and list any projects that need to access your project.
-#
-# 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.
-#
+ As a result, the **Limit** setting is deprecated in preference of the better **Allow access** setting. In GitLab 16.0 the **Limit** setting will be disabled by default for all new projects. In projects with this setting currently enabled, it will continue to function as expected, but you will not be able to add any more projects to the allowlist. If the setting is disabled in any project, it will not be possible to re-enable this setting in 16.0 or later.
+
+ 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** 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
-#
+ #
+ # 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
+ 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/deprecations/15-9-legacy-praefect-configuration.yml b/data/deprecations/15-9-legacy-praefect-configuration.yml
index 666a6d4f56a..247fc05f2d5 100644
--- a/data/deprecations/15-9-legacy-praefect-configuration.yml
+++ b/data/deprecations/15-9-legacy-praefect-configuration.yml
@@ -13,8 +13,8 @@
Praefect configuration so the previous configuration method is deprecated.
The single configuration structure available from GitLab 15.9, though backwards compatibility is maintained. Once removed, Praefect must be configured using the single
- configuration structure. You should update the configuration of Praefect at your earliest convenience. See
- [GitLab 15.9 upgrade information](https://docs.gitlab.com/ee/update/#1590).
+ configuration structure. You should update your Praefect configuration as soon as possible using
+ [the upgrade instructions](https://docs.gitlab.com/ee/update/#praefect-omnibus-gitlab-configuration-structure-change).
This change brings Praefect configuration in Omnibus GitLab in line with the configuration structure of Praefect. Previously, the hierarchies and configuration keys
didn't match. The change improves consistency between Omnibus GitLab and source installs and enables us to provide better documentation and tooling for both.
@@ -29,6 +29,6 @@
# 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/administration/gitaly/praefect.html # (optional) This is a link to the current documentation page
+ documentation_url: https://docs.gitlab.com/ee/administration/gitaly/praefect.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/deprecations/15-9-license-compliance-ci-template.yml b/data/deprecations/15-9-license-compliance-ci-template.yml
index 7fd6a348915..edce1062883 100644
--- a/data/deprecations/15-9-license-compliance-ci-template.yml
+++ b/data/deprecations/15-9-license-compliance-ci-template.yml
@@ -1,14 +1,16 @@
- title: "License Compliance CI Template"
announcement_milestone: "15.9"
- removal_milestone: "16.0"
+ removal_milestone: "16.1"
breaking_change: true
reporter: sam.white
stage: secure
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/387561
body: |
- The GitLab [License Compliance](https://docs.gitlab.com/ee/user/compliance/license_compliance/) CI template is now deprecated and is scheduled for removal in the GitLab 16.0 release. Users who wish to continue using GitLab for License Compliance should remove the License Compliance template from their CI pipeline and add the [Dependency Scanning template](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#configuration). The Dependency Scanning template is now capable of gathering the required license information so it is no longer necessary to run a separate License Compliance job. The License Compliance CI template should not be removed prior to verifying that the `license_scanning_sbom_scanner` and `package_metadata_synchronization` flags are enabled for the instance and that the instance has been upgraded to a version that supports [the new method of license scanning](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/).
+ **Update:** We previously announced we would remove the existing License Compliance CI template in GitLab 16.0. However, due to performance issues with the [license scanning of CycloneDX files](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/) we will do this change in 16.1 instead.
- | CI Pipeline Includes | GitLab <= 15.8 | 15.9 <= GitLab < 16.0 | GitLab >= 16.0 |
+ The GitLab [License Compliance](https://docs.gitlab.com/ee/user/compliance/license_compliance/) CI template is now deprecated and is scheduled for removal in the GitLab 16.1 release. Users who wish to continue using GitLab for License Compliance should remove the License Compliance template from their CI pipeline and add the [Dependency Scanning template](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#configuration). The Dependency Scanning template is now capable of gathering the required license information so it is no longer necessary to run a separate License Compliance job. The License Compliance CI template should not be removed prior to verifying that the `license_scanning_sbom_scanner` and `package_metadata_synchronization` flags are enabled for the instance and that the instance has been upgraded to a version that supports [the new method of license scanning](https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/).
+
+ | CI Pipeline Includes | GitLab <= 15.8 | 15.9 <= GitLab < 16.1 | GitLab >= 16.1 |
| ------------- | ------------- | ------------- | ------------- |
| Both DS and LS templates | License data from LS job is used | License data from LS job is used | License data from DS job is used |
| DS template is included but LS template is not | No license data | License data from DS job is used | License data from DS job is used |
diff --git a/data/deprecations/15-9-managed-licenses-api.yml b/data/deprecations/15-9-managed-licenses-api.yml
new file mode 100644
index 00000000000..cbba35c465c
--- /dev/null
+++ b/data/deprecations/15-9-managed-licenses-api.yml
@@ -0,0 +1,9 @@
+- title: "Managed Licenses API"
+ 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
+ body: |
+ The [Managed Licenses API](https://docs.gitlab.com/ee/api/managed_licenses.html) is now deprecated and is scheduled for removal in GitLab 16.0.
diff --git a/data/deprecations/15-9-rails-error-tracking.yml b/data/deprecations/15-9-rails-error-tracking.yml
index 42ec004afa9..4d9fc371213 100644
--- a/data/deprecations/15-9-rails-error-tracking.yml
+++ b/data/deprecations/15-9-rails-error-tracking.yml
@@ -1,12 +1,12 @@
- title: "Error Tracking UI in GitLab Rails is deprecated"
announcement_milestone: "15.9"
- removal_milestone: "16.0"
+ removal_milestone: "16.6"
breaking_change: true
reporter: kbychu
stage: monitor
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389991
body: |
- The [Error Tracking UI](https://docs.gitlab.com/ee/operations/error_tracking.html) is deprecated in 15.9 and will be removed in 16.0. In future versions, you should use the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui/), which will gradually be made available on GitLab.com over the next few releases.
+ The [Error Tracking UI](https://docs.gitlab.com/ee/operations/error_tracking.html) is deprecated in 15.9 and will be removed in 16.6 (milestone might change) once GitLab Observability UI is made available. In future versions, you should use the [GitLab Observability UI](https://gitlab.com/gitlab-org/opstrace/opstrace-ui/), which will gradually be made available on GitLab.com over the next few releases.
During the transition to the GitLab Observability UI, we will migrate the [GitLab Observability Backend](https://gitlab.com/gitlab-org/opstrace/opstrace) from a per-cluster deployment model to a per-tenant deployment model. Because [Integrated Error Tracking](https://docs.gitlab.com/ee/operations/error_tracking.html#integrated-error-tracking) is in Open Beta, we will not migrate any existing user data. For more details about the migration, see the direction pages for:
diff --git a/data/deprecations/15-9-required-pipeline-configuration.yml b/data/deprecations/15-9-required-pipeline-configuration.yml
index 4aa3a83c51e..03ebaab555d 100644
--- a/data/deprecations/15-9-required-pipeline-configuration.yml
+++ b/data/deprecations/15-9-required-pipeline-configuration.yml
@@ -3,13 +3,13 @@
#
- title: "Required Pipeline Configuration is deprecated" # (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
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
breaking_change: true # (required) Change to false if this is not a breaking change.
- reporter: jheimbuck_gl # (required) GitLab username of the person reporting the change
- stage: Verify # (required) String value of the stage that the feature was created in. e.g., Growth
+ reporter: derekferguson # (required) GitLab username of the person reporting the change
+ stage: Compliance Management # (required) String value of the stage that the feature was created in. e.g., Growth
issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/389467 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- Required Pipeline Configuration will be removed in the 16.0 release. This impacts self-managed users on the Ultimate license.
+ Required Pipeline Configuration will be removed in the 17.0 release. This impacts self-managed users on the Ultimate license.
We recommend replacing this with an alternative [compliance solution](https://docs.gitlab.com/ee/user/group/compliance_frameworks.html#compliance-pipelines)
that is available now. We recommend this alternative solution because it provides greater flexibility, allowing required pipelines to be assigned to specific compliance framework labels.
diff --git a/data/deprecations/15-9-sast-analyzer-consolidation.yml b/data/deprecations/15-9-sast-analyzer-consolidation.yml
index 9bbeb36b597..57e77292c27 100644
--- a/data/deprecations/15-9-sast-analyzer-consolidation.yml
+++ b/data/deprecations/15-9-sast-analyzer-consolidation.yml
@@ -11,26 +11,25 @@
We're reducing 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.
- Starting in GitLab 16.0, the GitLab SAST CI/CD template will no longer use the following analyzers, and they will enter End of Support status:
+ Starting in GitLab 16.0, the GitLab SAST CI/CD template will no longer use the [Security Code Scan](https://gitlab.com/gitlab-org/security-products/analyzers/security-code-scan)-based analyzer for .NET, and it will enter End of Support status.
+ We'll remove this analyzer from the [SAST CI/CD template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml) and replace it with GitLab-supported detection rules for C# in the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
- - [Security Code Scan](https://gitlab.com/gitlab-org/security-products/analyzers/security-code-scan) (.NET)
- - [PHPCS Security Audit](https://gitlab.com/gitlab-org/security-products/analyzers/phpcs-security-audit) (PHP)
+ Effective immediately, this analyzer will receive only security updates; other routine improvements or updates are not guaranteed.
+ After this analyzer reaches End of Support in GitLab 16.0, no further updates will be provided.
+ However, we won't delete container images previously published for this analyzer or remove the ability to run it by using a custom CI/CD pipeline job.
- We'll remove these analyzers from the [SAST CI/CD template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml) and replace them with GitLab-supported detection rules and the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
- Effective immediately, these analyzers will receive only security updates; other routine improvements or updates are not guaranteed.
- After these analyzers reach End of Support, no further updates will be provided.
- However, we won't delete container images previously published for these analyzers or remove the ability to run them by using a custom CI/CD pipeline job.
-
- We will also remove Scala from the scope of the [SpotBugs-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs) and replace it with the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
- This change will make it simpler to scan Scala code; compilation will no longer be required.
- This change will be reflected in the automatic language detection portion of the [GitLab-managed SAST CI/CD template](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Security/SAST.gitlab-ci.yml).
- Note that the SpotBugs-based analyzer will continue to cover Groovy and Kotlin.
-
- If you've already dismissed a vulnerability finding from one of the deprecated analyzers, the replacement attempts to respect your previous dismissal. The system behavior depends on:
+ If you've already dismissed a vulnerability finding from the deprecated analyzer, the replacement attempts to respect your previous dismissal. The system behavior depends on:
- whether you've excluded the Semgrep-based analyzer from running in the past.
- which analyzer first discovered the vulnerabilities shown in the project's Vulnerability Report.
See [Vulnerability translation documentation](https://docs.gitlab.com/ee/user/application_security/sast/analyzers.html#vulnerability-translation) for further details.
- If you applied customizations to any of the affected analyzers or if you currently disable the Semgrep analyzer in your pipelines, you must take action as detailed in the [deprecation issue for this change](https://gitlab.com/gitlab-org/gitlab/-/issues/390416#breaking-change).
+ If you applied customizations to the affected analyzer, or if you currently disable the Semgrep-based analyzer in your pipelines, you must take action as detailed in the [deprecation issue for this change](https://gitlab.com/gitlab-org/gitlab/-/issues/390416#breaking-change).
+
+ **Update:** We've reduced the scope of this change. We will no longer make the following changes in GitLab 16.0:
+
+ 1. Remove support for the analyzer based on [PHPCS Security Audit](https://gitlab.com/gitlab-org/security-products/analyzers/phpcs-security-audit) and replace it with GitLab-managed detection rules in the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
+ 1. Remove Scala from the scope of the [SpotBugs-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/spotbugs) and replace it with GitLab-managed detection rules in the [Semgrep-based analyzer](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep).
+
+ Work to replace the PHPCS Security Audit-based analyzer is tracked in [issue 364060](https://gitlab.com/gitlab-org/gitlab/-/issues/364060) and work to migrate Scala scanning to the Semgrep-based analyzer is tracked in [issue 362958](https://gitlab.com/gitlab-org/gitlab/-/issues/362958).
diff --git a/data/deprecations/15-9-secure-analyzers-bump.yml b/data/deprecations/15-9-secure-analyzers-bump.yml
index 339b0ecd78a..b144986da4a 100644
--- a/data/deprecations/15-9-secure-analyzers-bump.yml
+++ b/data/deprecations/15-9-secure-analyzers-bump.yml
@@ -45,11 +45,11 @@
# 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_milestone: # (optional) Use "XX.YY" format. The milestone when support for this feature will end.
#
# OTHER OPTIONAL FIELDS
#
- tiers: [Free, Silver, Gold, Core, Premium, Ultimate] # (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
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate] # (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/deprecations/15-9-secure-template-changes.yml b/data/deprecations/15-9-secure-template-changes.yml
index fa1c8669b37..9129f17b562 100644
--- a/data/deprecations/15-9-secure-template-changes.yml
+++ b/data/deprecations/15-9-secure-template-changes.yml
@@ -10,10 +10,7 @@
The updates will include improvements already released in the Latest versions of the CI/CD templates.
We released these changes in the Latest template versions because they have the potential to disrupt customized CI/CD pipeline configurations.
- In all updated templates, we're:
-
- - Adding support for running scans in merge request (MR) pipelines.
- - Updating the definition of variables like `SAST_DISABLED` and `DEPENDENCY_SCANNING_DISABLED` to disable scanning only if the value is `"true"`. Previously, even if the value were `"false"`, scanning would be disabled.
+ In all updated templates, we're updating the definition of variables like `SAST_DISABLED` and `DEPENDENCY_SCANNING_DISABLED` to disable scanning only if the value is `"true"`. Previously, even if the value were `"false"`, scanning would be disabled.
The following templates will be updated:
@@ -27,7 +24,7 @@
- SAST: [`SAST.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml)
- Secret Detection: [`Secret-Detection.gitlab-ci.yml`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Secret-Detction.gitlab-ci.yml)
- We recommend that you test your pipelines before the 16.0 release if you use one of the templates listed above and you do any of the following:
+ We recommend that you test your pipelines before the 16.0 release if you use one of the templates listed above and you use the `_DISABLED` variables but set a value other than `"true"`.
- 1. You override `rules` for your security scanning jobs.
- 1. You use the `_DISABLED` variables but set a value other than `"true"`.
+ **Update:** We previously announced that we would update the `rules` on the affected templates to run in [merge request pipelines](https://docs.gitlab.com/ee/ci/pipelines/merge_request_pipelines.html) by default.
+ However, due to compatibility issues [discussed in the deprecation issue](https://gitlab.com/gitlab-org/gitlab/-/issues/388988#note_1372629948), we will no longer make this change in GitLab 16.0. We will still release the changes to the `_DISABLED` variables as described above.
diff --git a/data/deprecations/15-9-trigger-job-status.yml b/data/deprecations/15-9-trigger-job-status.yml
index 66681de7f56..fb9d93bfb81 100644
--- a/data/deprecations/15-9-trigger-job-status.yml
+++ b/data/deprecations/15-9-trigger-job-status.yml
@@ -19,13 +19,13 @@
#
- title: "Trigger jobs can mirror downstream pipeline status exactly" # (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
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: dhershkovitch # (required) GitLab username of the person reporting the change
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/285493 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- In some cases, like when a downstream pipeline had the `passed with warnings` status, trigger jobs that were using [`strategy: depend`](https://docs.gitlab.com/ee/ci/yaml/index.html#strategydepend) did not mirror the status of the downstream pipeline exactly. In GitLab 16.0 trigger jobs will show the exact same status as the the downstream pipeline. If your pipeline relied on this behavior, you should update your pipeline to handle the more accurate status.
+ In some cases, like when a downstream pipeline had the `passed with warnings` status, trigger jobs that were using [`strategy: depend`](https://docs.gitlab.com/ee/ci/yaml/index.html#strategydepend) did not mirror the status of the downstream pipeline exactly. In GitLab 17.0 trigger jobs will show the exact same status as the the downstream pipeline. If your pipeline relied on this behavior, you should update your pipeline to handle the more accurate status.
#
# OPTIONAL END OF SUPPORT FIELDS
#
diff --git a/data/deprecations/16-0-CiRunner-projects-default-sort.yml b/data/deprecations/16-0-CiRunner-projects-default-sort.yml
new file mode 100644
index 00000000000..d462afb757b
--- /dev/null
+++ b/data/deprecations/16-0-CiRunner-projects-default-sort.yml
@@ -0,0 +1,27 @@
+#
+# REQUIRED FIELDS
+#
+- title: "CiRunner.projects default sort is changing to `id_desc`" # (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."
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ announcement_milestone: "16.0" # (required) The milestone when this feature was first announced as deprecated.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: pedropombeiro # (required) GitLab username of the person reporting the change
+ 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/372117 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `CiRunner.projects`'s field default sort order value will change from `id_asc` to `id_desc`.
+ If you rely on the order of the returned projects to be `id_asc`, change your scripts to make the choice explicit.
+#
+# 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: https://docs.gitlab.com/ee/api/graphql/reference/index.html#cirunnerprojects # (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/deprecations/16-0-Vault-integration.yml b/data/deprecations/16-0-Vault-integration.yml
index e08666e67ff..987ac2bed3c 100644
--- a/data/deprecations/16-0-Vault-integration.yml
+++ b/data/deprecations/16-0-Vault-integration.yml
@@ -19,20 +19,28 @@
#
- title: "HashiCorp Vault integration will no longer use CI_JOB_JWT by default"
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
+ removal_milestone: "16.5" # (required) The milestone when this feature is planned to be removed
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: dhershkovitch # (required) GitLab username of the person reporting the change
- stage: stage # (required) String value of the stage that the feature was created in. e.g., Growth
+ 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/366798 # (required) Link to the deprecation issue in GitLab
body: | # (required) Do not modify this line, instead modify the lines below.
- As part of our effort to improve the security of your CI workflows using JWT and OIDC, the native HashiCorp integration is also being updated in GitLab 16.0. Any projects that use the [`secrets:vault`](https://docs.gitlab.com/ee/ci/yaml/#secretsvault) keyword to retrieve secrets from Vault will need to be [configured to use ID tokens](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication).
+ As part of our effort to improve the security of your CI workflows using JWT and OIDC, the native HashiCorp integration is also being updated in GitLab 16.0. Any projects that use the [`secrets:vault`](https://docs.gitlab.com/ee/ci/yaml/#secretsvault) keyword to retrieve secrets from Vault will need to be [configured to use the ID tokens](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication). ID tokens were introduced in 15.7.
- To be prepared for this change, you should do the following before GitLab 16.0:
+ To prepare for this change, use the new [`id_tokens`](https://docs.gitlab.com/ee/ci/yaml/#id_tokens)
+ keyword and configure the `aud` claim. Ensure the bound audience is prefixed with `https://`.
- - [Disable the use of JSON web tokens](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication) in the pipeline.
- - Ensure the bound audience is prefixed with `https://`.
- - Use the new [`id_tokens`](https://docs.gitlab.com/ee/ci/yaml/#id_tokens) keyword
- and configure the `aud` claim.
+ In GitLab 15.9 to 15.11, you can [enable the **Limit JSON Web Token (JWT) access**](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#enable-automatic-id-token-authentication)
+ setting, which prevents the old tokens from being exposed to any jobs and enables
+ [ID token authentication for the `secrets:vault` keyword](https://docs.gitlab.com/ee/ci/secrets/id_token_authentication.html#configure-automatic-id-token-authentication).
+
+ In GitLab 16.0 and later:
+
+ - This setting will be removed.
+ - CI/CD jobs that use the `id_tokens` keyword can use ID tokens with `secrets:vault`,
+ and will not have any `CI_JOB_JWT*` tokens available.
+ - Jobs that do not use the `id_tokens` keyword will continue to have the `CI_JOB_JWT*`
+ tokens available until GitLab 16.5.
# 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.
#
diff --git a/data/deprecations/16-0-deprecate-omnibus-grafana.yml b/data/deprecations/16-0-deprecate-omnibus-grafana.yml
new file mode 100644
index 00000000000..815c60099e9
--- /dev/null
+++ b/data/deprecations/16-0-deprecate-omnibus-grafana.yml
@@ -0,0 +1,23 @@
+- title: "Bundled Grafana deprecated and disabled"
+ removal_milestone: "16.3"
+ announcement_milestone: "16.0"
+ breaking_change: true
+ reporter: twk3
+ stage: Enablement
+ issue_url: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/7772
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The version of [Grafana bundled with Omnibus GitLab](https://docs.gitlab.com/omnibus/settings/grafana.html) is
+ disabled in 16.0 and will be removed in 16.3.
+ If you are using the bundled Grafana, you must migrate to either:
+
+ - Another implementation of Grafana. For more information, see
+ [Switch to new Grafana instance](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#switch-to-new-grafana-instance).
+ - Another observability platform of your choice.
+
+ The version of Grafana that is currently provided is no longer a supported version.
+
+ In GitLab versions 16.0 to 16.2, you can still [re-enable the bundled Grafana](https://docs.gitlab.com/ee/administration/monitoring/performance/grafana_configuration.html#temporary-workaround).
+ However, enabling the bundled Grafana will no longer work from GitLab 16.3.
+ end_of_support_milestone: 16.3
+ 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/omnibus/settings/grafana.html
diff --git a/data/deprecations/16-0-deprecate-postgresql-13.yml b/data/deprecations/16-0-deprecate-postgresql-13.yml
new file mode 100644
index 00000000000..779a3074f39
--- /dev/null
+++ b/data/deprecations/16-0-deprecate-postgresql-13.yml
@@ -0,0 +1,29 @@
+- title: "PostgreSQL 13 deprecated"
+ removal_milestone: "17.0"
+ announcement_milestone: "16.0"
+ breaking_change: true
+ reporter: rogerwoo
+ stage: Enablement
+ issue_url: https://gitlab.com/groups/gitlab-org/-/epics/9065
+ body: |
+ GitLab follows an [annual upgrade cadence for PostgreSQL](https://about.gitlab.com/handbook/engineering/development/enablement/data_stores/database/postgresql-upgrade-cadence.html).
+
+ Support for PostgreSQL 13 is scheduled for removal in GitLab 17.0.
+ In GitLab 17.0, PostgreSQL 14 becomes the minimum required PostgreSQL version.
+
+ PostgreSQL 13 will be supported for the full GitLab 16 release cycle.
+ PostgreSQL 14 will also be supported for instances that want to upgrade prior to GitLab 17.0.
+
+# 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: 17.0
+ #
+ # 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/deprecations/16-0-deprecate-sidekiq-delivery-method-for-mailroom.yml b/data/deprecations/16-0-deprecate-sidekiq-delivery-method-for-mailroom.yml
new file mode 100644
index 00000000000..a7715f89abb
--- /dev/null
+++ b/data/deprecations/16-0-deprecate-sidekiq-delivery-method-for-mailroom.yml
@@ -0,0 +1,40 @@
+- title: '`sidekiq` delivery method for `incoming_email` and `service_desk_email` is deprecated'
+ announcement_milestone: '16.0'
+ removal_milestone: '17.0'
+ breaking_change: true
+ reporter: msaleiko
+ stage: Monitor
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/398132
+ body: |
+ The `sidekiq` delivery method for `incoming_email` and `service_desk_email` is deprecated and is
+ scheduled for removal in GitLab 17.0.
+
+ GitLab uses a separate process called `mail_room` to ingest emails. Currently, GitLab administrators
+ can configure their GitLab instances to use `sidekiq` or `webhook` delivery methods to deliver ingested
+ emails from `mail_room` to GitLab.
+
+ Using the deprecated `sidekiq` delivery method, `mail_room` writes the job data directly to the GitLab
+ Redis queue. This means that there is a hard coupling between the delivery method and the Redis
+ configuration. Another disadvantage is that framework optimizations such as job payload compression are missed.
+
+ Using the `webhook` delivery method, `mail_room` pushes the ingested email body to the GitLab
+ API. That way `mail_room` does not need to know your Redis configuration and the GitLab application
+ adds the processing job. `mail_room` authenticates with a shared secret key.
+
+ Reconfiguring an Omnibus installation generates this secret key file automatically,
+ so no secret file configuration setting is needed.
+
+ You can configure a custom secret key file (32 characters base 64 encoded) by running a command
+ like below and referencing the secret file in `incoming_email_secret_file` and
+ `service_desk_email_secret_file` (always specify the absolute path):
+
+ ```shell
+ echo $( ruby -rsecurerandom -e "puts SecureRandom.base64(32)" ) > ~/.gitlab-mailroom-secret
+ ```
+
+ If you run GitLab on more than one machine, you need to provide the secret key file for each machine.
+
+ We highly encourage GitLab administrators to start using the `webhook` delivery method for
+ `incoming_email_delivery_method` and `service_desk_email_delivery_method` instead of `sidekiq`.
+ tiers: [Free, Silver, Gold, Core, Premium, Ultimate]
+ documentation_url: https://docs.gitlab.com/ee/user/project/service_desk.html#use-a-custom-email-address
diff --git a/data/deprecations/16-0-graphql-CiRunnerUpgradeStatusType-renamed.yml b/data/deprecations/16-0-graphql-CiRunnerUpgradeStatusType-renamed.yml
new file mode 100644
index 00000000000..cfe4b39deac
--- /dev/null
+++ b/data/deprecations/16-0-graphql-CiRunnerUpgradeStatusType-renamed.yml
@@ -0,0 +1,24 @@
+- title: "CiRunnerUpgradeStatusType GraphQL type renamed to CiRunnerUpgradeStatus" # (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."
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ announcement_milestone: "16.0" # (required) The milestone when this feature was first announced as deprecated.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: pedropombeiro # (required) GitLab username of the person reporting the change
+ 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/409332 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The `CiRunnerUpgradeStatusType` GraphQL type has been renamed to `CiRunnerUpgradeStatus`. In GitLab 17.0,
+ the aliasing for the `CiRunnerUpgradeStatusType` type will be removed.
+#
+# 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: https://docs.gitlab.com/ee/api/graphql/reference/index.html#cirunnerupgradestatus # (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/deprecations/16-0-graphql-RunnerMembershipFilter-renamed.yml b/data/deprecations/16-0-graphql-RunnerMembershipFilter-renamed.yml
new file mode 100644
index 00000000000..67148c698e4
--- /dev/null
+++ b/data/deprecations/16-0-graphql-RunnerMembershipFilter-renamed.yml
@@ -0,0 +1,24 @@
+- title: "GraphQL type, `RunnerMembershipFilter` renamed to `CiRunnerMembershipFilter`" # (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."
+ removal_milestone: "17.0" # (required) The milestone when this feature is planned to be removed
+ announcement_milestone: "16.0" # (required) The milestone when this feature was first announced as deprecated.
+ breaking_change: true # (required) Change to false if this is not a breaking change.
+ reporter: pedropombeiro # (required) GitLab username of the person reporting the change
+ 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/409333 # (required) Link to the deprecation issue in GitLab
+ body: | # (required) Do not modify this line, instead modify the lines below.
+ The GraphQL type, `RunnerMembershipFilter`, has been renamed to `CiRunnerMembershipFilter`. In GitLab 17.0,
+ the aliasing for the `RunnerMembershipFilter` type will be removed.
+#
+# 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: https://docs.gitlab.com/ee/api/graphql/reference/index.html#cirunnermembershipfilter # (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/deprecations/16-0-mobsf-android-manifests.yml b/data/deprecations/16-0-mobsf-android-manifests.yml
new file mode 100644
index 00000000000..fb06112d26e
--- /dev/null
+++ b/data/deprecations/16-0-mobsf-android-manifests.yml
@@ -0,0 +1,12 @@
+- title: "Changing MobSF-based SAST analyzer behavior in multi-module Android projects"
+ removal_milestone: "16.0"
+ announcement_milestone: "16.0"
+ breaking_change: true
+ reporter: connorgilbert
+ stage: Secure
+ issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/408396
+ body: |
+ **Update:** We previously announced a change to how the MobSF-based GitLab SAST analyzer would scan multi-module Android projects.
+ We've cancelled that change, and no action is required.
+
+ Instead of changing which single module would be scanned, we [improved multi-module support](https://gitlab.com/gitlab-org/security-products/analyzers/mobsf/-/merge_requests/73).
diff --git a/data/deprecations/templates/_deprecation_template.md.erb b/data/deprecations/templates/_deprecation_template.md.erb
index 89e14c20050..bbca07fbd3c 100644
--- a/data/deprecations/templates/_deprecation_template.md.erb
+++ b/data/deprecations/templates/_deprecation_template.md.erb
@@ -2,6 +2,7 @@
stage: none
group: none
info: "See the Technical Writers assigned to Development Guidelines: https://about.gitlab.com/handbook/product/ux/technical-writing/#assignments-to-development-guidelines"
+toc: false
---
# Deprecations by version
@@ -18,62 +19,64 @@ For deprecation authors (usually Product Managers and Engineering Managers):
- To add a deprecation, use the example.yml file in `/data/deprecations/templates` as a template.
- For more information about authoring deprecations, check the the deprecation item guidance:
- https://about.gitlab.com/handbook/marketing/blog/release-posts/#creating-a-deprecation-entry
+ https://about.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-and-removals-docs
For deprecation reviewers (Technical Writers only):
- To update the deprecation doc, run: `bin/rake gitlab:docs:compile_deprecations`
- To verify the deprecations doc is up to date, run: `bin/rake gitlab:docs:check_deprecations`
- For more information about updating the deprecation doc, see the deprecation doc update guidance:
- https://about.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-doc
+ https://about.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-and-removals-docs
-->
{::options parse_block_html="true" /}
-In each release, GitLab announces features that are deprecated and no longer recommended for use.
+These GitLab features are deprecated and no longer recommended for use.
Each deprecated feature will be removed in a future release.
Some features cause breaking changes when they are removed.
+On GitLab.com, deprecated features can be removed at any time during the month leading up to the release.
+
**{rss}** **To be notified of upcoming breaking changes**,
add this URL to your RSS feed reader: `https://about.gitlab.com/breaking-changes.xml`
-DISCLAIMER:
-This page contains information related to upcoming products, features, and functionality.
-It is important to note that the information presented is for informational purposes only.
-Please do not rely on this information for purchasing or planning purposes.
-As with all projects, the items mentioned on this page are subject to change or delay.
-The development, release, and timing of any products, features, or functionality remain at the
-sole discretion of GitLab Inc.
-<div class="js-deprecation-filters"></div>
-<% if milestones.any? -%>
- <%- milestones.each do |milestone| %>
-<div class="announcement-milestone">
+You can also view [REST API](https://docs.gitlab.com/ee/api/rest/deprecations.html)
+and [GraphQL](https://docs.gitlab.com/ee/api/graphql/removed_items.html) deprecations/removals.
+
+<% if milestones.any? -%><div class="js-deprecation-filters"></div><%- end -%>
+<%- milestones.each do |milestone| %>
+<div class="milestone-wrapper" data-milestone="<%= milestone %>">
-## Announced in <%= milestone %>
- <%- entries.select{|d| d["announcement_milestone"] == milestone}.each do |deprecation| %>
-<div class="deprecation removal-<%= deprecation["removal_milestone"].gsub('.', '') %><% if deprecation["breaking_change"] -%> breaking-change<% end %>">
+## GitLab <%= milestone %>
+ <%- entries.select{|d| d["removal_milestone"] == milestone}.each do |deprecation| %>
+<div class="deprecation <% if deprecation["breaking_change"] -%>breaking-change<% end %>" data-milestone="<%= milestone %>">
### <%= deprecation["title"] %>
+<div class="deprecation-notes">
+- Announced in: GitLab <span class="milestone"><%= deprecation["announcement_milestone"]%></span>
<% if deprecation["end_of_support_milestone"] -%>
-End of Support: GitLab <span class="removal-milestone"><%= deprecation["end_of_support_milestone"]%></span> <span class="support-end-date"></span><br />
+- End of Support: GitLab <span class="milestone"><%= deprecation["end_of_support_milestone"]%></span>
<% end -%>
-Planned removal: GitLab <span class="removal-milestone"><%= deprecation["removal_milestone"]%></span> <span class="removal-date"></span>
<% if deprecation["breaking_change"] -%>
+- This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
+<%- end -%>
+<% if deprecation["issue_url"] -%>
+- To discuss this change or learn more, see the [deprecation issue](<%= deprecation["issue_url"]%>).
+<%- end -%>
+</div>
-WARNING:
-This is a [breaking change](https://docs.gitlab.com/ee/development/deprecation_guidelines/).
-Review the details carefully before upgrading.
-
-<%= deprecation["body"] -%><% else %>
-<%= deprecation["body"] -%><% end %><%- if deprecation["removal_milestone"] -%>
+<%= deprecation["body"] -%>
</div>
- <%- end -%>
- <%- end -%>
-</div>
<%- end -%>
-<%- else -%>
+</div>
+<%- end -%>
-Deprecated features scheduled for removal will be listed here, sorted by GitLab milestone.
-<% end -%>
+DISCLAIMER:
+This page contains information related to upcoming products, features, and functionality.
+It is important to note that the information presented is for informational purposes only.
+Please do not rely on this information for purchasing or planning purposes.
+As with all projects, the items mentioned on this page are subject to change or delay.
+The development, release, and timing of any products, features, or functionality remain at the
+sole discretion of GitLab Inc.
diff --git a/data/deprecations/templates/example.yml b/data/deprecations/templates/example.yml
index dcb78fa434b..d3b1a8d72a6 100644
--- a/data/deprecations/templates/example.yml
+++ b/data/deprecations/templates/example.yml
@@ -18,8 +18,8 @@
# REQUIRED FIELDS
#
- title: "Feature A is deprecated" # (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: "XX.YY" # (required) The milestone when this feature was first announced as deprecated.
removal_milestone: "XX.YY" # (required) The milestone when this feature is planned to be removed
+ announcement_milestone: "XX.YY" # (required) The milestone when this feature was first announced as deprecated.
breaking_change: true # (required) Change to false if this is not a breaking change.
reporter: exampleuser # (required) GitLab username of the person reporting the change
stage: stage # (required) String value of the stage that the feature was created in. e.g., Growth
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/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml b/data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml
index b506816a54b..b506816a54b 100644
--- a/data/deprecations/15-0-ci-cd-settings-update-mutation-renamed.yml
+++ b/data/removals/16_0/16-0-ci-cd-settings-update-mutation-renamed.yml
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
diff --git a/data/whats_new/202010230001_13_05.yml b/data/whats_new/202010230001_13_05.yml
index e68d89db669..aa2bfa49446 100644
--- a/data/whats_new/202010230001_13_05.yml
+++ b/data/whats_new/202010230001_13_05.yml
@@ -12,7 +12,7 @@
self-managed: true
gitlab-com: true
available_in: [Premium, Ultimate]
- documentation_link: https://docs.gitlab.com/ee/user/group/index.html#group-wikis
+ documentation_link: https://docs.gitlab.com/ee/user/project/wiki/index.html
image_url: https://about.gitlab.com/images/13_5/cdybenko-group-wiki.png
published_at: 2020-10-22
release: 13.5
diff --git a/data/whats_new/20230222001_15_09.yml b/data/whats_new/20230222001_15_09.yml
new file mode 100644
index 00000000000..12f771f397f
--- /dev/null
+++ b/data/whats_new/20230222001_15_09.yml
@@ -0,0 +1,75 @@
+- name: Users with the Guest role can view private repositories
+ description: | # Do not modify this line, instead modify the lines below.
+ Users with the Guest role and an Ultimate license can now view private repository content if their administrator gives them permission. Administrators must create a new role through the API, and assign that role to users who the administrator wants to have view repository permissions. Previously, users with the Guest role could not view code in private projects, limiting their utility.
+ stage: manage
+ self-managed: true
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: https://docs.gitlab.com/ee/user/permissions.html#custom-roles
+ image_url: https://img.youtube.com/vi/46cp_-Rtxps/hqdefault.jpg
+ published_at: 2023-02-22 # YYYY-MM-DD
+ release: 15.9
+- name: Manage license approval policies
+ description: | # Do not modify this line, instead modify the lines below.
+ GitLab now supports flexible license approval policies as the replacement for the [deprecated License-Check feature](https://docs.gitlab.com/ee/update/deprecations.html#license-check-and-the-policies-tab-on-the-license-compliance-page). License approval policies improve the experience over the License-check feature in several ways:
+
+ - Users can choose who is allowed to edit license approval policies.
+ - Multiple policy rules can be created and chained together.
+ - A two-step approval process can be enforced for any desired changes to license approval policies.
+ - A single set of license policies can be applied to multiple development projects, or can be applied at the group or subgroup level, to allow for ease in maintaining a single, centralized ruleset.
+ - Policies can be used to require approval for any license that is not specifically allowed.
+
+ License approval policies can be used alongside the existing License-Check feature, as the two policies are additive and don't conflict. To get started, verify that the `license_scanning_policies` feature flag is enabled for your instance and then navigate to **Security & Compliance > Policies**, create a new Scan Result type policy, and select **License scanning** for your policy rule.
+ stage: manage
+ self-managed: true
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: https://docs.gitlab.com/ee/user/compliance/license_approval_policies.html
+ image_url: https://img.youtube.com/vi/34qBQ9t8qO8/hqdefault.jpg
+ published_at: 2023-02-22 # YYYY-MM-DD
+ release: 15.9
+- name: New License Compliance scanner
+ description: | # Do not modify this line, instead modify the lines below.
+ GitLab now supports a new method of detecting licenses that is capable of parsing and identifying over 500 different types of licenses and can extract license information from packages that are dual-licensed or have multiple different licenses that apply. In GitLab's development testing, this has empirically resulted in dramatically improved accuracy and completeness of results. Fewer CI pipeline minutes are consumed because the License Compliance job is no longer required. Additionally the new method has support for the same languages and versions as GitLab Dependency Scanning.
+
+ To use this new scanner, remove the inclusion of the `Jobs/License-Scanning.yml` template in your CI configuration and instead include the `Jobs/Dependency-Scanning.yml` template. After GitLab 16.0, the old method of scanning with the `Jobs/License-Scanning.yml` template will no longer be supported.
+
+ Currently this feature is available for GitLab SaaS users behind the `license_scanning_sbom_scanner` and `package_metadata_synchronization` feature flags. Users can follow along in GitLab to track the work to enable the [license_scanning_sbom_scanner](https://gitlab.com/gitlab-org/gitlab/-/issues/385173) and the [package_metadata_synchronization](https://gitlab.com/gitlab-org/gitlab/-/issues/390836) feature flags by default along with work to add support for [self-managed instances](https://gitlab.com/gitlab-org/gitlab/-/issues/391904) and [offline instances](https://gitlab.com/gitlab-org/gitlab/-/issues/384047).
+ stage: secure
+ self-managed: false
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: https://docs.gitlab.com/ee/user/compliance/license_scanning_of_cyclonedx_files/
+ image_url: https://about.gitlab.com/images/15_9/new_license_scanner.png
+ published_at: 2023-02-22 # YYYY-MM-DD
+ release: 15.9
+- name: Notifications now available in the GitLab for Slack app
+ description: | # Do not modify this line, instead modify the lines below.
+ The GitLab for Slack app is the new home for managing notifications from GitLab to your Slack workspace. Not only can you use existing app features such as [slash commands](https://docs.gitlab.com/ee/user/project/integrations/slack_slash_commands.html), but you can now also specify which Slack channels you want to notify based on merge request changes, push events, issue changes, and many other GitLab events.
+
+ The [Slack notifications integration](https://docs.gitlab.com/ee/user/project/integrations/slack.html) is now deprecated for SaaS customers and will eventually [be removed](https://gitlab.com/groups/gitlab-org/-/epics/8673) as we continue to expand support for our GitLab for Slack app to better meet your needs.
+
+ To keep your teams in sync with what's happening in GitLab, get the [GitLab for Slack app](https://gitlab.slack.com/apps/A676ADMV5-gitlab) today!
+ stage: manage
+ self-managed: false
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: https://docs.gitlab.com/ee/user/project/integrations/gitlab_slack_application.html#slack-notifications
+ image_url: https://about.gitlab.com/images/15_9/slack_notifications_jan_31-optimized.png
+ published_at: 2023-02-22 # YYYY-MM-DD
+ release: 15.9
+- name: Code Suggestions available in closed beta
+ description: | # Do not modify this line, instead modify the lines below.
+ Every day millions of developers use GitLab to contribute code. We’re starting to empower developers to code more efficiently and effectively with a closed beta of Gitlab Code Suggestions.
+
+ Closed beta participants can use the GitLab Workflow VSCode extension to get code suggestions as they type. Depending on the prompt, the extension either provides entire code snippets like generating functions, or completes the current line. Simply pressing the tab key allows you to accept the suggestions.
+
+ GitLab Code Suggestions can improve developer productivity, focus, and innovation without context switching and within a single DevSecOps platform. While currently limited in closed beta, interested Ultimate customers can express interest by filling out this form to be considered for early access.
+ stage: modelops
+ self-managed: false
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: https://about.gitlab.com/releases/2023/02/22/gitlab-15-9-released/#code-suggestions-available-in-closed-beta
+ image_url: https://about.gitlab.com/images/15_9/DemoFastApi.gif
+ published_at: 2023-02-22 # YYYY-MM-DD
+ release: 15.9
diff --git a/data/whats_new/202303220001_15_10.yml b/data/whats_new/202303220001_15_10.yml
new file mode 100644
index 00000000000..d2598fc8e2d
--- /dev/null
+++ b/data/whats_new/202303220001_15_10.yml
@@ -0,0 +1,77 @@
+- name: Automatically resolve SAST findings when rules are disabled
+ description: |
+ On GitLab.com, GitLab SAST now automatically [resolves](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-status-values) vulnerabilities from the [Semgrep](https://gitlab.com/gitlab-org/security-products/analyzers/semgrep)- and [KICS](https://gitlab.com/gitlab-org/security-products/analyzers/kics)-based analyzers when either you [disable a predefined rule](https://docs.gitlab.com/ee/user/application_security/sast/customize_rulesets.html#disable-predefined-rules), or we remove a rule from the default ruleset. The Vulnerability Management system then leaves a comment explaining that the rule was removed, so you still have a historical record of the vulnerability. This feature is enabled by default on GitLab.com and in GitLab 15.10.
+ stage: Secure
+ self-managed: true
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/application_security/sast/#automatic-vulnerability-resolution'
+ image_url: 'https://about.gitlab.com/images/15_10/automatic-resolution.png'
+ published_at: 2023-03-22
+ release: 15.10
+- name: See all branch-related settings together
+ description: |
+ All branch-related protections now display on a single page. To see a unified list of your branches and all their protection methods, go to **Settings > Repository > Branch rules**. Each branch shows the merge request approvals, security approvals, protected branches, and status checks configured for it. It is now easier to see a holistic view of a specific branch's protections. We hope this change helps you discover, use, and monitor these settings more easily. We'd love your feedback [in issue #388149](https://gitlab.com/gitlab-org/gitlab/-/issues/388149).
+ stage: Create
+ self-managed: false
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/project/repository/branches/'
+ image_url: 'https://img.youtube.com/vi/AUrwtjIr124/hqdefault.jpg'
+ published_at: 2023-03-22
+ release: 15.10
+- name: Create and switch branches in the Web IDE Beta
+ description: |
+ When you open the Web IDE Beta from a repository or merge request, the currently selected branch is used by default. You can create a new branch with your changes or, if you're not on a protected branch, commit to the current branch. Starting with GitLab 15.10, you can now also create a new branch any time while making changes or switch branches in the Web IDE Beta. This way, you can boost your productivity by not having to close the Web IDE Beta to switch contexts.
+ stage: Create
+ self-managed: true
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/project/web_ide_beta/#switch-branches'
+ image_url: 'https://about.gitlab.com/images/15_10/create-web-ide-manage-branches.png'
+ published_at: 2023-03-22
+ release: 15.10
+- name: Compliance frameworks report
+ description: |
+ Previous versions of GitLab provided a compliance report that shows compliance violations. In GitLab 15.10, we've added a compliance framework report so you can quickly see which compliance frameworks have been applied to the projects in your group.
+ stage: Govern
+ self-managed: true
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/compliance/compliance_report/#compliance-frameworks-report'
+ image_url: 'https://about.gitlab.com/images/15_10/govern-compliance-framework-report.png'
+ published_at: 2023-03-22
+ release: 15.10
+- name: Suggested Reviewers generally available
+ description: |
+ Since release in closed beta, Suggested Reviewers has been enabled in over 1,000 projects and suggested over 200,000 reviewers. We've also made the service more reliable and are now making it generally available to all Ultimate customers. Now, GitLab can now recommend a reviewer with [Suggested Reviewers](https://docs.gitlab.com/ee/user/project/merge_requests/reviews/#suggested-reviewers). With this feature, machine learning (ML)-powered suggestions appear in the [reviewer dropdown](https://docs.gitlab.com/ee/user/project/merge_requests/getting_started.html#reviewer) in the merge request sidebar. Suggested Reviewers is our [first of many fully available ML features](https://about.gitlab.com/blog/2023/03/16/what-the-ml-ai/) at GitLab.
+ stage: Modelops
+ self-managed: false
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/project/merge_requests/reviews/#suggested-reviewers'
+ image_url: 'https://about.gitlab.com/images/15_10/create-code-review-suggested-reviewers.png'
+ published_at: 2023-03-22
+ release: 15.10
+- name: Create diagrams in wikis by using the diagrams.net editor
+ description: |
+ With GitLab 15.10, you can more easily create and edit diagrams in wikis by using the diagrams.net GUI editor. This feature is available in the Markdown editor and the content editor and was implemented in close collaboration with the GitLab wider community.
+ stage: Plan
+ self-managed: true
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/markdown.html#diagramsnet-editor'
+ image_url: 'https://img.youtube.com/vi/F6kfhpRN3ZE/hqdefault.jpg'
+ published_at: 2023-03-22
+ release: 15.10
+- name: Apple App Store integration
+ description: |
+ From GitLab 15.10, you can configure and validate your projects with Apple App Store credentials. You can then use those credentials in CI/CD pipelines to automate releases to Test Flight and the App Store. To record your experiences with the App Store integration, see this [feedback issue](https://gitlab.com/gitlab-org/incubation-engineering/mobile-devops/feedback/-/issues/10).
+ stage: Deploy
+ self-managed: true
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/project/integrations/apple_app_store.html'
+ image_url: 'https://img.youtube.com/vi/CwzAWVgJeK8/hqdefault.jpg'
+ published_at: 2023-03-22
+ release: 15.10
diff --git a/data/whats_new/202304220001_15_11.yml b/data/whats_new/202304220001_15_11.yml
new file mode 100644
index 00000000000..cda793f672c
--- /dev/null
+++ b/data/whats_new/202304220001_15_11.yml
@@ -0,0 +1,58 @@
+- name: Code Suggestions for Ultimate & Premium Users
+ description: |
+ Every day millions of developers use GitLab to contribute code. In February, we launched a closed Beta of this feature, and since then, we’ve been working hard to make [Code Suggestions](https://about.gitlab.com/direction/modelops/ai_assisted/code_suggestions/) available to more developers. During Beta, Code Suggestions is free for all Ultimate and Premium customers. Group admins can enable this setting with a new [group-level control](https://docs.gitlab.com/ee/user/project/repository/code_suggestions.html#group-level-setting). Depending on the prompt, the extension either provides entire code snippets like generating functions or completes the current line. Simply pressing the tab key allows you to accept the suggestions.
+
+ GitLab Code Suggestions can improve developer productivity, focus, and innovation without context switching and within a single DevSecOps platform. Please note that this is a high-demand [Beta feature](https://docs.gitlab.com/ee/policy/alpha-beta-support.html#beta) and may have unscheduled downtime. During beta, it may also produce low-quality or incomplete suggestions. Read about [known limitations](https://docs.gitlab.com/ee/user/project/repository/code_suggestions.html#known-limitations). We are continuously iterating to improve Code Suggestions and make it better. Give it a try, and [share your feedback with us](https://gitlab.com/gitlab-org/gitlab/-/issues/405152).
+ stage: modelops
+ self-managed: false
+ gitlab-com: true
+ available_in: [Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/project/repository/code_suggestions.html#code-suggestions-beta'
+ image_url: 'https://about.gitlab.com/images/15_11/code-suggestions-loop.gif'
+ published_at: 2023-04-22
+ release: 15.11
+- name: Manage project compliance frameworks report at group level
+ description: |
+ Prior to GitLab 15.11, if you wanted to add or remove a compliance framework from a project, you needed to go to each project individually to manage which framework was associated with the project. When managing more than a few projects, this process was tedious and inefficient.
+
+ Now, you can manage which compliance frameworks are applied to your projects at the group level, significantly reducing the amount of time needed to make sure your projects are adhering to the regulations and standards you are measured against.
+
+ In GitLab 15.10, you could view all the projects in your group and see which ones had compliance frameworks applied to them. In GitLab 15.11, you can add or remove compliance frameworks directly from the compliance frameworks report.
+ stage: govern
+ self-managed: true
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/user/compliance/compliance_report/#compliance-frameworks-report'
+ image_url: 'https://about.gitlab.com/images/15_11/govern-compliance-frameworks-report-management.png'
+ published_at: 2023-04-22
+ release: 15.11
+- name: Rerun downstream pipeline trigger jobs
+ description: |
+ Previously, if you needed to trigger a rerun of an entire downstream pipeline, you had to rerun the full upstream pipeline. This could be a time-consuming and inefficient process, especially if the upstream pipeline has many jobs or other downstream pipelines.
+
+ In this release, we've added the ability to rerun just the downstream pipeline, without having to re-run the entire parent pipeline, by selecting **Run again** on the trigger job. The newly triggered downstream pipeline replaces the original downstream pipeline in the pipeline graph. This will save you time and resources when you want just the downstream pipeline to run again.
+ stage: verify
+ self-managed: true
+ gitlab-com: true
+ available_in: [Free, Premium, Ultimate]
+ documentation_link: 'https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#recreate-a-downstream-pipeline'
+ image_url: 'https://img.youtube.com/vi/xCqGWWRx-1E/hqdefault.jpg'
+ published_at: 2023-04-22
+ release: 15.11
+- name: Vulnerability dismissal reasons
+ description: |
+ In previous releases, you had to manually add a comment to specify why a vulnerability was dismissed.
+
+ In GitLab 15.11, you can add a reason for dismissing a vulnerability to the Vulnerability Report.
+
+ Now you can quickly and consistently track why vulnerabilities were dismissed.
+
+ This feature is only available on GitLab.com. Support for self-managed instances is tracked in [this issue](https://gitlab.com/groups/gitlab-org/-/epics/4942).
+ stage: govern
+ self-managed: false
+ gitlab-com: true
+ available_in: [Ultimate]
+ documentation_link: https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-dismissal-reasons'
+ image_url: 'https://about.gitlab.com/images/15_11/vulnerability_dismissal_types__reasons.png'
+ published_at: 2023-04-22
+ release: 15.11