Skip to content

Commit dee6ac5

Browse files
ryan953michellewzhangjas-kassfanahata
authored
docs(releases): De-duplicate release naming docs, and centralize in /product/releases/naming-releases/ (#14748)
I noticed we had a lot of duplicate pages with the same docs related to release names. The goal of this PR is to: 1. Move Release Name related content out of platform docs, and into a central place. It's not platform specific knowledge really 2. De-duplicate whatever is left over in the platform docs, so it's easier to maintain links to the central docs going forward. The new central page is available at: `/product/releases/naming-releases/` - this content was taken from other places and re-worked a little. Some existing pages are now more streamlined and will link to the new central location: - `/cli/releases/` - `/platforms/javascript/configuration/releases/` (19 platform pages with the exact same content) | New page | CLI Releases | Platform pages | | --- | --- | --- | | <img width="1300" height="852" alt="SCR-20250827-nlxs" src="https://github.com/user-attachments/assets/4dee8d13-1a99-4e35-8925-d232c45f806f" /> | <img width="765" height="470" alt="SCR-20250827-nmcx" src="https://github.com/user-attachments/assets/8e525d12-e875-4ac8-aa4d-f0f551e10b4d" /> | <img width="777" height="382" alt="SCR-20250827-nmgx" src="https://github.com/user-attachments/assets/3836bc51-ad51-4fd4-833b-0ab63d01ca57" /> --------- Co-authored-by: Michelle Zhang <[email protected]> Co-authored-by: Jasmin <[email protected]> Co-authored-by: Shannon Anahata <[email protected]>
1 parent 06a9927 commit dee6ac5

File tree

22 files changed

+79
-658
lines changed

22 files changed

+79
-658
lines changed

docs/cli/releases.mdx

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,17 @@ Because releases work on projects you will need to specify the organization and
1414

1515
## Creating Releases
1616

17-
Releases are created with the `sentry-cli releases new` command. It takes at the very least a version identifier that uniquely identifies the releases. There are a few restrictions -- the release name cannot:
18-
19-
- contain newlines, tabulator characters, forward slashes(/), or back slashes(\\)
20-
- be (in their entirety) period (.), double period (..), or space ( )
21-
- exceed 200 characters
22-
23-
The value can be arbitrary, but for certain platforms, recommendations exist:
24-
25-
- for mobile devices use `package-name@version-number` or `package-name@version-number+build-number`. **Do not** use `VERSION_NUMBER (BUILD_NUMBER)` as the parenthesis are used for display purposes ([email protected]+2 becomes 1.0 (2)), so invoking them will cause an error.
26-
- if you use a DVCS we recommend using the identifying hash (eg: the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let sentry-cli automatically determine this hash for supported version control systems with `sentry-cli releases propose-version`.
27-
- if you tag releases we recommend using the release tag prefixed with a product or package name (for example, `[email protected]`).
17+
Releases are created with the `sentry-cli releases new` command. It takes at the very least a version identifier that uniquely identifies the releases.
2818

2919
```bash
3020
#!/bin/sh
3121
sentry-cli releases new "$VERSION"
3222
```
3323

34-
Releases can also be auto created by different systems. For instance upon uploading a source map a release is automatically created. Likewise releases are created by some clients when an event for a release comes in.
24+
There are some release name restrictions and conventions to be aware of. [Learn more about naming releases](/product/releases/naming-releases/).
25+
26+
Releases can also be auto-created by different systems—for instance, upon uploading a source map, or by some clients when an event that is tagged with a release is ingested. Therefore, it's important to set the release name when building and deploying your application. Learn more in our [Releases](/platform-redirect/?next=/configuration/releases/) documentation.
27+
3528

3629
## Finalizing Releases
3730

docs/platforms/android/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -13,40 +13,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1313

1414
Additionally, releases are used for applying [source maps](/platforms/javascript/sourcemaps/) to minified JavaScript to view original, untransformed source code.
1515

16-
## Bind the Version
17-
18-
Include a release ID (often called a "version") when you initialize the SDK.
19-
20-
The release name cannot:
21-
22-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
23-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
24-
- exceed 200 characters
25-
26-
The value can be arbitrary, but we recommend either of these naming strategies:
27-
28-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
29-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
30-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
31-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
32-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
33-
34-
<Alert>
35-
36-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
37-
38-
</Alert>
39-
40-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
41-
42-
- Regression detection
43-
- `release:latest`
44-
45-
We automatically detect whether a project is using semantic or time-based versioning based on:
46-
47-
- If ≤ 2 releases total: we look at most recent release.
48-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
49-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
16+
<Include name="bind-release-version.mdx" />
5017

5118
## Setting a Release
5219

docs/platforms/apple/common/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

docs/platforms/dart/common/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

docs/platforms/dart/guides/flutter/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

docs/platforms/dotnet/common/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

docs/platforms/elixir/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

docs/platforms/go/common/configuration/releases.mdx

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
1111
- Resolve issues by including the issue number in your commit message
1212
- Receive email notifications when your code gets deployed
1313

14-
## Bind the Version
15-
16-
Include a release ID (often called a "version") when you initialize the SDK.
17-
18-
The release name cannot:
19-
20-
- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
21-
- be (in their entirety) period (`.`), double period (`..`), or space ( )
22-
- exceed 200 characters
23-
24-
The value can be arbitrary, but we recommend either of these naming strategies:
25-
26-
- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `[email protected]+1234`)
27-
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
28-
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
29-
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
30-
- **Commit SHA**: If you use a version control system like Git, we recommend using the identifying hash (for example, the commit SHA, `da39a3ee5e6b4b0d3255bfef95601890afd80709`). You can let Sentry CLI automatically determine this hash for supported version control systems. Learn more in our [Sentry CLI](/cli/releases/#creating-releases) documentation.
31-
32-
<Alert>
33-
34-
Releases are global per organization; prefix them with something project-specific for easy differentiation.
35-
36-
</Alert>
37-
38-
The behavior of a few features depends on whether a project is using semantic or time-based versioning.
39-
40-
- Regression detection
41-
- `release:latest`
42-
43-
We automatically detect whether a project is using semantic or time-based versioning based on:
44-
45-
- If ≤ 2 releases total: we look at most recent release.
46-
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
47-
- If 10 or more releases: if any of the most recent 3 releases is semver, and 3 out of the most recent 10 releases is semver, then the project is semver.
14+
<Include name="bind-release-version.mdx" />
4815

4916
## Setting a Release
5017

0 commit comments

Comments
 (0)