You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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]>
Copy file name to clipboardExpand all lines: docs/cli/releases.mdx
+5-12Lines changed: 5 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,24 +14,17 @@ Because releases work on projects you will need to specify the organization and
14
14
15
15
## Creating Releases
16
16
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.
28
18
29
19
```bash
30
20
#!/bin/sh
31
21
sentry-cli releases new "$VERSION"
32
22
```
33
23
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.
Copy file name to clipboardExpand all lines: docs/platforms/android/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,40 +13,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
13
13
14
14
Additionally, releases are used for applying [source maps](/platforms/javascript/sourcemaps/) to minified JavaScript to view original, untransformed source code.
15
15
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.
Copy file name to clipboardExpand all lines: docs/platforms/apple/common/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
Copy file name to clipboardExpand all lines: docs/platforms/dart/common/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
Copy file name to clipboardExpand all lines: docs/platforms/dart/guides/flutter/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
Copy file name to clipboardExpand all lines: docs/platforms/dotnet/common/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
Copy file name to clipboardExpand all lines: docs/platforms/elixir/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
Copy file name to clipboardExpand all lines: docs/platforms/go/common/configuration/releases.mdx
+1-34Lines changed: 1 addition & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
11
11
- Resolve issues by including the issue number in your commit message
12
12
- Receive email notifications when your code gets deployed
13
13
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.
0 commit comments