From d451744ea1737f9cae110fca8a0193308630997f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jarka=20Ko=C5=A1anov=C3=A1?= Date: Mon, 6 Oct 2025 09:16:36 +0200 Subject: [PATCH 1/3] Clarify breaking change process --- doc/development/deprecation_guidelines/_index.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/development/deprecation_guidelines/_index.md b/doc/development/deprecation_guidelines/_index.md index f3f0a812c17b69..f4b6b7d4456aa6 100644 --- a/doc/development/deprecation_guidelines/_index.md +++ b/doc/development/deprecation_guidelines/_index.md @@ -23,6 +23,16 @@ Product and Engineering Managers are responsible and accountable for customer im **We aim to eliminate all breaking changes from GitLab.** If you have exhausted the alternatives and believe you have a strong case for why a breaking change should be allowed, you can follow the process below to seek an exception. +## When a deprecation approval and deprecation issue is not needed + +A breaking change exception is **not required** in the following cases: + +1. **Feature flag that was always disabled by default**: If the feature being removed was behind a feature flag that was always disabled by default, no exception process is needed. Customers who enabled such features did so at their own risk, as outlined in the [feature flag documentation](../../administration/feature_flags/_index.md). + +1. **Experimental GraphQL fields or mutations**: If a GraphQL field or mutation is marked as experimental, it can be removed without following the standard breaking change process. + +For all other cases, you must follow the breaking change exception process outlined below. + ## How do I get approval to move forward with a breaking change? **By default, no breaking change is allowed unless the breaking change implementation plan has been granted explicit approval by following the process below.** -- GitLab From 925c55e734b673c29e00dacaacdb8ec85c7aea05 Mon Sep 17 00:00:00 2001 From: Ajay Thomas Date: Mon, 6 Oct 2025 11:20:30 -0400 Subject: [PATCH 2/3] Updated numbering --- doc/development/deprecation_guidelines/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/deprecation_guidelines/_index.md b/doc/development/deprecation_guidelines/_index.md index f4b6b7d4456aa6..5460b28a5d337f 100644 --- a/doc/development/deprecation_guidelines/_index.md +++ b/doc/development/deprecation_guidelines/_index.md @@ -29,7 +29,7 @@ A breaking change exception is **not required** in the following cases: 1. **Feature flag that was always disabled by default**: If the feature being removed was behind a feature flag that was always disabled by default, no exception process is needed. Customers who enabled such features did so at their own risk, as outlined in the [feature flag documentation](../../administration/feature_flags/_index.md). -1. **Experimental GraphQL fields or mutations**: If a GraphQL field or mutation is marked as experimental, it can be removed without following the standard breaking change process. +2. **Experimental GraphQL fields or mutations**: If a GraphQL field or mutation is marked as experimental, it can be removed without following the standard breaking change process. For all other cases, you must follow the breaking change exception process outlined below. -- GitLab From 60089d0d6f4c972c533391a570a42860b76eccc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jarka=20Ko=C5=A1anov=C3=A1?= Date: Tue, 7 Oct 2025 12:15:21 +0200 Subject: [PATCH 3/3] Fix number in the list --- doc/development/deprecation_guidelines/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/development/deprecation_guidelines/_index.md b/doc/development/deprecation_guidelines/_index.md index 5460b28a5d337f..f4b6b7d4456aa6 100644 --- a/doc/development/deprecation_guidelines/_index.md +++ b/doc/development/deprecation_guidelines/_index.md @@ -29,7 +29,7 @@ A breaking change exception is **not required** in the following cases: 1. **Feature flag that was always disabled by default**: If the feature being removed was behind a feature flag that was always disabled by default, no exception process is needed. Customers who enabled such features did so at their own risk, as outlined in the [feature flag documentation](../../administration/feature_flags/_index.md). -2. **Experimental GraphQL fields or mutations**: If a GraphQL field or mutation is marked as experimental, it can be removed without following the standard breaking change process. +1. **Experimental GraphQL fields or mutations**: If a GraphQL field or mutation is marked as experimental, it can be removed without following the standard breaking change process. For all other cases, you must follow the breaking change exception process outlined below. -- GitLab