---
stage: none
group: none
info: "To determine the technical writer assigned to the Stage/Group associated with this page, see <https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments>"
toc: false
title: Deprecations and removals by version
---

The following 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.
- To view documentation for a removed feature, see the [GitLab Docs archive](https://docs.gitlab.com/archives/).
- For GraphQL API deprecations, you should [verify your API calls work without the deprecated items](../api/graphql/_index.md#verify-against-the-future-breaking-change-schema).

For advanced searching and filtering of this deprecation information, try
[a tool built by our Customer Success team](https://gitlab-com.gitlab.io/cs-tools/gitlab-cs-tools/what-is-new-since/?tab=deprecations).

[REST API deprecations](../api/rest/deprecations.md) are documented separately.

{{< icon name="rss" >}} **To be notified of upcoming breaking changes**,
add this URL to your RSS feed reader: `https://about.gitlab.com/breaking-changes.xml`

<!-- vale off -->
<!--
DO NOT EDIT THIS PAGE DIRECTLY

This page is automatically generated from the template located at
`data/deprecations/templates/_deprecation_template.md.erb`, using
the YAML files in `/data/deprecations` by the Rake task
located at `lib/tasks/gitlab/docs/compile_deprecations.rake`,

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 deprecation item guidance:
  <https://handbook.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-doc>

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://handbook.gitlab.com/handbook/marketing/blog/release-posts/#update-the-deprecations-doc>
-->
<%-
  CANCELLED_STATUSES = ["Cancelled", "Canceled"]
  PENDING_STATUSES = ["Pending"]
-%>
<%- milestones.each do |milestone| %>
<%-
  # Check if this is a special status milestone (like "Pending" or "Cancelled")
  is_cancelled = CANCELLED_STATUSES.any? { |status| milestone.downcase == status.downcase }
  is_pending = PENDING_STATUSES.any? { |status| milestone.downcase == status.downcase }
  is_special_status = is_cancelled || is_pending
-%>
<%- if is_cancelled -%>
## Canceled changes

The following changes have been canceled.
<%- elsif is_pending -%>
## Pending changes

The following changes have been removed from their original milestone and are being reassessed.
<%- else -%>
## GitLab <%= milestone %>
<%- end -%>
<%- entries.select{|d| d["removal_milestone"] == milestone}.each do |deprecation| -%>

### <%= deprecation["title"] %>

- Announced in GitLab <%= deprecation["announcement_milestone"]%>
<%- if deprecation["end_of_support_milestone"] && !is_special_status -%>
- End of Support in GitLab <%= deprecation["end_of_support_milestone"]%>
<%- end -%>
<%- if deprecation["removal_milestone"] && !is_special_status -%>
- Removal in GitLab <%= deprecation["removal_milestone"]%><% if deprecation["breaking_change"] -%> ([breaking change](https://docs.gitlab.com/update/terminology/#breaking-change))<% end %>
<%- end -%>
<%- if deprecation["issue_url"] -%>
- To discuss this change or learn more, see the [deprecation issue](<%= deprecation["issue_url"]%>).
<%- end -%>
<%- if is_cancelled -%>

> [!note]
> This change has been canceled.
<%- elsif is_pending -%>

> [!note]
> This change has been removed from its original milestone and is being reassessed.
<%- end -%>

<%= deprecation["body"] -%>
<%- end -%>
<%- end -%>

> [!disclaimer]
