Skip to content

Commit a9f338f

Browse files
dingsdaxclaudestephanie-anderson
authored
docs(sdk): deprecating-an-api playbook (#16510)
This playbook guides SDK maintainers through the complete API deprecation lifecycle, covering: - **Multi-SDK coordination**: Check if cross-SDK rollout process is needed - **Deprecation announcement requirements**: - In-code warnings with replacement API, migration examples, and docs links - Changelog entries explaining migration path - Migration guides with copy-pastable before/after examples - AI tool validation to ensure migration guides are actionable - **Maintenance period**: Deprecated APIs must remain functional for at least one full minor release cycle with passing tests - **Removal process**: APIs can only be removed in major versions with `BREAKING CHANGE:` commit footer - **Communication**: Changelog, docs updates, and optional blog posts for high-impact deprecations The playbook ensures users have clear migration paths and sufficient time to adapt before breaking changes occur. Part of the broader SDK playbooks migration initiative. ## IS YOUR CHANGE URGENT? - [ ] Urgent deadline (GA date, etc.): - [ ] Other deadline: - [x] None: Not urgent, can wait up to 1 week+ ## SLA - Teamwork makes the dream work, so please add a reviewer to your PRs. - Please give the docs team up to 1 week to review your PR unless you've added an urgent due date to it. Thanks in advance for your help! ## PRE-MERGE CHECKLIST - [ ] Checked Vercel preview for correctness, including links - [ ] PR was reviewed and approved by any necessary SMEs (subject matter experts) - [ ] PR was reviewed and approved by a member of the [Sentry docs team](https://github.com/orgs/getsentry/teams/docs) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Stephanie Anderson <stephanie.anderson@sentry.io>
1 parent 1ee2506 commit a9f338f

2 files changed

Lines changed: 137 additions & 0 deletions

File tree

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
title: Cross-SDK Rollout
3+
spec_id: sdk/playbooks/cross-sdk-rollout
4+
spec_version: 1.0.0
5+
spec_status: draft
6+
spec_depends_on:
7+
- id: sdk/getting-started/standards/coordination-maintenance
8+
version: ">=1.0.0"
9+
- id: sdk/getting-started/standards/api-architecture
10+
version: ">=1.0.0"
11+
spec_changelog:
12+
- version: 1.0.0
13+
date: 2026-02-23
14+
summary: Initial placeholder — detailed content to be added
15+
---
16+
17+
<SpecRfcAlert />
18+
19+
<SpecMeta />
20+
21+
## Overview
22+
23+
This playbook guides SDK teams through coordinating changes that affect multiple Sentry SDKs. It covers proposal writing, cross-team review, sequencing decisions, and coordinated rollout.
24+
25+
**Note:** This playbook is currently a placeholder. Detailed content will be added in a future update.
26+
27+
---
28+
29+
## Steps
30+
31+
#### 1. Write a proposal
32+
33+
Create an RFC or issue describing the change, affected SDKs, rollout order, and timeline.
34+
35+
#### 2. Cross-SDK review period
36+
37+
Allow at least 1 week for all affected SDK teams to review and comment.
38+
39+
#### 3. Implement with coordination
40+
41+
Follow the [Cross-SDK Coordination Protocol](/sdk/getting-started/standards/coordination-maintenance#cross-sdk-coordination-protocol).
42+
43+
#### 4. Track progress
44+
45+
Create a tracking issue or project board to monitor implementation across SDKs.
46+
47+
## Referenced Standards
48+
49+
- [Cross-SDK Coordination Protocol](/sdk/getting-started/standards/coordination-maintenance#cross-sdk-coordination-protocol) — coordination process
50+
- [Semantic conventions process](/sdk/getting-started/standards/api-architecture#semantic-conventions-process) — conventions for new attributes
51+
52+
---
53+
54+
<SpecChangelog />
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
---
2+
title: Deprecating an API
3+
spec_id: sdk/playbooks/deprecating-an-api
4+
spec_version: 1.0.0
5+
spec_status: candidate
6+
spec_depends_on:
7+
- id: sdk/getting-started/standards/api-architecture
8+
version: ">=1.0.0"
9+
- id: sdk/getting-started/standards/repository-docs
10+
version: ">=1.0.0"
11+
- id: sdk/getting-started/standards/coordination-maintenance
12+
version: ">=1.0.0"
13+
spec_changelog:
14+
- version: 1.0.0
15+
date: 2026-02-23
16+
summary: Initial playbook — API deprecation lifecycle with migration guides and multi-SDK coordination
17+
---
18+
19+
<SpecRfcAlert />
20+
21+
<SpecMeta />
22+
23+
## Overview
24+
25+
This playbook guides SDK maintainers through deprecating an API in a way that minimizes user disruption. It covers deprecation announcements, migration guide creation, maintenance periods, and eventual removal. By following these steps, users will have clear migration paths and sufficient time to adapt.
26+
27+
Related resources:
28+
- [Deprecation lifecycle](/sdk/getting-started/standards/api-architecture#deprecation-lifecycle) — deprecation timeline and requirements
29+
- [Breaking change process](/sdk/getting-started/standards/api-architecture#breaking-change-process) — process for eventual API removal
30+
- [Cross-SDK Rollout](/sdk/getting-started/playbooks/cross-sdk-rollout) — coordinating deprecations across multiple SDKs
31+
32+
---
33+
34+
## Steps
35+
36+
#### 1. If this is a multi-SDK deprecation
37+
38+
If the deprecation affects multiple Sentry SDKs, you **MUST** follow the [Cross-SDK Rollout](/sdk/getting-started/playbooks/cross-sdk-rollout) process first to coordinate timing and approach across SDK teams.
39+
40+
#### 2. Announce in a minor release
41+
42+
In the minor release where the API is deprecated, you **MUST**:
43+
44+
- Add a deprecation warning in code that includes:
45+
- What to use instead (replacement API)
46+
- A code example of the migration
47+
- A link to documentation
48+
- Add a changelog entry explaining the deprecation and the migration path
49+
- Open a docs PR with a migration guide containing copy-pastable before/after examples ([Documentation-with-Code](/sdk/getting-started/standards/repository-docs#documentation-with-code))
50+
- Test the migration guide by having an AI tool follow it — if the tool can't complete the migration, rewrite the guide
51+
52+
#### 3. Maintain the deprecated API
53+
54+
The deprecated API **MUST** stay functional for at least one full minor release cycle. Tests for the deprecated code path **MUST** remain and continue to pass during this period.
55+
56+
This gives users time to migrate without breaking their applications immediately.
57+
58+
#### 4. Remove in the next major version only
59+
60+
When removing the deprecated API in a major version, you **MUST**:
61+
62+
- Remove the API and its tests
63+
- Include `BREAKING CHANGE:` in the commit footer ([Breaking change process](/sdk/getting-started/standards/api-architecture#breaking-change-process))
64+
- Update the migration guide to reference the major version that removes it
65+
66+
#### 5. Communicate
67+
68+
You **MUST** provide:
69+
- Changelog entry documenting the removal
70+
- Docs update referencing the version where removal occurred
71+
72+
For high-impact deprecations, you **SHOULD** consider a blog post or announcement to reach users who may not regularly check changelogs.
73+
74+
## Referenced Standards
75+
76+
- [Deprecation lifecycle](/sdk/getting-started/standards/api-architecture#deprecation-lifecycle) — deprecation timeline requirements
77+
- [Breaking change process](/sdk/getting-started/standards/api-architecture#breaking-change-process) — process for API removal in major versions
78+
- [Documentation-with-Code](/sdk/getting-started/standards/repository-docs#documentation-with-code) — copy-pastable migration examples requirement
79+
- [Cross-SDK Coordination Protocol](/sdk/getting-started/standards/coordination-maintenance#cross-sdk-coordination-protocol) — coordinating multi-SDK changes
80+
81+
---
82+
83+
<SpecChangelog />

0 commit comments

Comments
 (0)