Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 5 additions & 12 deletions docs/cli/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,17 @@ Because releases work on projects you will need to specify the organization and

## Creating Releases

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:

- contain newlines, tabulator characters, forward slashes(/), or back slashes(\\)
- be (in their entirety) period (.), double period (..), or space ( )
- exceed 200 characters

The value can be arbitrary, but for certain platforms, recommendations exist:

- 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 (foo@1.0+2 becomes 1.0 (2)), so invoking them will cause an error.
- 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`.
- if you tag releases we recommend using the release tag prefixed with a product or package name (for example, `my-project-name@2.3.12`).
Releases are created with the `sentry-cli releases new` command. It takes at the very least a version identifier that uniquely identifies the releases.

```bash
#!/bin/sh
sentry-cli releases new "$VERSION"
```

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.
There are some release name restrictions and conventions to be aware of. [Learn more about Naming Releases](/product/releases/naming-releases/).

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.


## Finalizing Releases

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/android/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,40 +13,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co

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

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/apple/common/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/dart/common/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/dart/guides/flutter/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/dotnet/common/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/elixir/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
35 changes: 1 addition & 34 deletions docs/platforms/go/common/configuration/releases.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,40 +11,7 @@ A release is a version of your code that is deployed to an <PlatformLink to="/co
- Resolve issues by including the issue number in your commit message
- Receive email notifications when your code gets deployed

## Bind the Version

Include a release ID (often called a "version") when you initialize the SDK.

The release name cannot:

- contain newlines, tabulator characters, forward slashes(`/`) or back slashes(`\`)
- be (in their entirety) period (`.`), double period (`..`), or space ( )
- exceed 200 characters

The value can be arbitrary, but we recommend either of these naming strategies:

- **Semantic Versioning**: `package@version` or `package@version+build` (for example, `my.project.name@2.3.12+1234`)
- `package` is the unique identifier of the project/app (`CFBundleIdentifier` on iOS, `packageName` on Android)
- `version` is the semver-like structure `<major>.<minor?>.<patch?>.<revision?>-<prerelease?>` (`CFBundleShortVersionString` on iOS, `versionName` on Android)
- `build` is the number that identifies an iteration of your app (`CFBundleVersion` on iOS, `versionCode` on Android)
- **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.

<Alert>

Releases are global per organization; prefix them with something project-specific for easy differentiation.

</Alert>

The behavior of a few features depends on whether a project is using semantic or time-based versioning.

- Regression detection
- `release:latest`

We automatically detect whether a project is using semantic or time-based versioning based on:

- If ≤ 2 releases total: we look at most recent release.
- If 3-9 releases (inclusive): if any of the most recent 3 releases is semver, project is semver.
- 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.
<Include name="bind-release-version.mdx" />

## Setting a Release

Expand Down
Loading
Loading