Deprecation guidelines

This page includes information about how and when to remove or make breaking changes to GitLab features.

Terminology

It's important to understand the difference between deprecation and removal:

Deprecation is the process of flagging/marking/announcing that a feature is no longer fully supported and may be removed in a future version of GitLab.

Removal is the process of actually removing a feature that was previously deprecated.

When can a feature be deprecated?

A feature can be deprecated at any time, provided there is a viable alternative.

Deprecations should be announced on the Deprecated feature removal schedule.

For steps to create a deprecation entry, see Deprecations.

When can a feature be removed/changed?

Generally, feature or configuration can be removed/changed only on major release. It also should be deprecated in advance.

For API removals, see the GraphQL and GitLab API guidelines.

For configuration removals, see the Omnibus deprecation policy.

For versioning and upgrade details, see our Release and Maintenance policy.