Skip to content

Conversation

@github-actions
Copy link
Contributor

Bumps modules/sentry-cli.properties from 2.58.4 to 3.1.0.

Auto-generated by a dependency updater.

Changelog

3.1.0

New Features

  • In the JavaScript API, added multi-project support to releases.newDeploy() method. This method now accept a projects option (array of project slugs), aligning them with the Rust CLI's multi-project capabilities and matching the existing behavior of releases.new() and releases.uploadSourceMaps() (#3001).

Improvements

  • This release includes some changes to enable support for older self-hosted Sentry versions. With these changes, Sentry CLI now officially self-hosted Sentry versions 24.11.1 and above (#3070)

Fixes

  • Fixed a bug that prevented project IDs from being used with the sentry-cli releases new command for users with self-hosted Sentry instances on versions older than 25.12.1 (#3068).
  • Fixed a bug, introduced in version 3.0.0, where the sentry-cli releases list command ignored the --project option (#3048). The command now correctly can filter releases by a single project when supplied via --project. This change does not enable filtering by multiple projects, which has never been supported.

3.0.3

Fixes

  • Fixed a bug on Intel-based macOS systems that prevented Sentry CLI from respecting self-signed certificates trusted in the macOS keychain (#3059).

3.0.2

Fixes

  • Fixed a bug on ARM-based macOS systems that prevented Sentry CLI from respecting self-signed certificates trusted in the macOS keychain (#3057).

Versioning Policy Update

Our versioning policy has reclassified the minimum supported self-hosted Sentry version as being part of the public API. Therefore, we will only increase this minimum supported self-hosted Sentry version in a major release of Sentry CLI.

3.0.1

Performance Improvements

  • We switch to a faster compression algorithm (zstd) for uploading size analysis builds (sentry build upload) in preparation for this week's beta release! (#3038)

3.0.0

New Sentry Support Policy

sentry-cli 3.0.0 and above only officially supports Sentry SaaS and Sentry self-hosted versions 25.11.1 and higher. While many Sentry CLI features may, in practice, continue working with some older Sentry versions, continued support for Sentry versions older than 25.11.1 is not guaranteed. Changes which break support for Sentry versions below 25.11.1 may occur in minor or patch releases.

New Versioning Policy

Sentry CLI now defines a semantic versioning policy. We did not explicitly define a versioning policy previously, and this new policy should give more clarity about what can change in minor or patch releases versus what requires a major version bump.

Breaking Changes

  • Removed all sentry-cli files ... and sentry-cli releases files ... subcommands (#2956). These commands provided functionality for managing release files, a feature that has been deprecated in Sentry. Users still using sentry-cli files upload to upload source maps should migrate to sentry-cli sourcemaps upload.
  • Removed the sentry-cli sourcemaps explain command (#2947). The command had been deprecated for some time, since Sentry now has a better in-product debugging flow for source map problems via the "Unminify Code" button, which is displayed on any JavaScript issues which could not be unminified.
  • Removed the sentry-cli send-metric ... subcommands (#3006). These commands have been deprecated, and the data they send is no longer accepted by Sentry.
  • Removed support for the legacy API key authentication method (#2935). Sentry CLI now only supports authenticating with Auth Tokens. If you are using API key authentication via any of the following methods, you need to generate and use an Auth Token, instead:
    • --api-key CLI flag
    • SENTRY_API_KEY environment variable
    • api_key configuration file field
    • apiKey option in the JavaScript API
  • Removed the upload-proguard subcommand's --app-id, --version, --version-code, --android-manifest, and --platform arguments (#2876, #2940, #2948). Users using these arguments should stop using them, as they are unnecessary. The information passed to these arguments is no longer visible in Sentry.
  • Removed the --started argument from the sentry-cli releases finalize command (#2972). This argument is a no-op, so any users using it should simply stop using it.
  • Removed the --use-artifact-bundle flag from sentry-cli sourcemaps upload (#3002). The flag was a no-op that only emitted a deprecation warning.
Node.js Wrapper Breakages

The following changes only apply when using sentry-cli via the npm package sentry/cli:

  • The SentryCli.execute method's live parameter now only takes boolean values (#2971). Setting live to true now behaves like 'rejectOnError' did previously, with a zero exit status resolving the returned promise with "success (live mode)" and a non-zero status rejecting the promise with an error message.

  • The option parameter to Releases.uploadSourceMaps no longer takes a live property (#2971). We now always execute the command with live set to true.

  • Removed the apiKey option from SentryCliOptions (#2935). If you are using apiKey, you need to generate and use an Auth Token via the authToken option, instead.

  • Removed the useArtifactBundle option from SentryCliUploadSourceMapsOptions (#3002). This deprecated option was a no-op that users should simply stop passing.

  • Drop support for Node.js <18. The minimum required Node.js version is now 18.0.0 (#2985).

  • The type export SentryCliReleases has been removed.

  • The JavaScript wrapper now uses named exports instead of default exports (#2989). You need to update your imports:

    // Old (default import)
    const SentryCli = require('sentry/cli');
    
    // New (named import)
    const { SentryCli } = require('sentry/cli');

    For ESM imports:

    // Old
    import SentryCli from 'sentry/cli';
    
    // New
    import { SentryCli } from 'sentry/cli';

Improvements

  • The sentry-cli upload-proguard command now uses chunked uploading by default (#2918). Users who previously set the SENTRY_EXPERIMENTAL_PROGUARD_CHUNK_UPLOAD environment variable to opt into this behavior no longer need to set the variable.
  • We now place source map debug IDs under the source map's debugId field, per the TC39 Debug ID proposal (#3005). This change affects the sentry-cli sourcemaps inject command and, unless --no-rewrite is passed, the sentry-cli sourcemaps upload command. Sentry CLI can still read the debug_id field, but whenever the CLI writes or rewrites a source map, we always use debugId.
  • The sentry-cli build upload command now automatically tracks Sentry plugin versions from the SENTRY_PIPELINE environment variable (#2994). When SENTRY_PIPELINE contains a recognized Sentry plugin (e.g., sentry-gradle-plugin/4.12.0 or sentry-fastlane-plugin/1.2.3), the plugin version is written to the .sentry-cli-metadata.txt file in uploaded build archives, enabling the backend to store metadata for size analysis and build distribution tracking.

Fixes

  • Fixed misleading error message claiming the server doesn't support chunk uploading when the actual error was a non-existent organization (#2930).

@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cli.properties/3.1.0 branch from 50b5f27 to 9d72003 Compare January 13, 2026 03:28
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cli.properties/3.1.0 branch from 9d72003 to 78cb0c7 Compare January 16, 2026 03:28
@bruno-garcia bruno-garcia force-pushed the deps/modules/sentry-cli.properties/3.1.0 branch from 78cb0c7 to 1d53ff6 Compare January 17, 2026 03:27
@github-actions
Copy link
Contributor Author

Semver Impact of This PR

🟢 Patch (bug fixes)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Bug Fixes 🐛

  • Set span.origin by bitsandfoxes in #2464

Build / dependencies / internal 🔧

Deps

  • Update CLI to v3.1.0 by github-actions[bot] in #2474
  • Update Java SDK to v8.30.0 by github-actions in #2481
  • Update Native SDK to v0.12.3 by github-actions in #2471
  • Update Java SDK to v8.29.0 by github-actions in #2462

Other

  • (release) Switch from action-prepare-release to Craft by BYK in #2473
  • Use pull_request_target for changelog preview by BYK in #2483

🤖 This preview updates automatically when you update the PR.

@@ -1,2 +1,2 @@
version = 2.58.4
version = 3.1.0
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Upgrading sentry-cli causes silent symbol upload failures for users with legacy API keys because the process exit code is not checked.
Severity: CRITICAL

Suggested Fix

Check the process.ExitCode after process.WaitForExit() in UploadDebugSymbols and other places where sentry-cli is executed. Log an error and fail the build if the exit code is non-zero. Additionally, add validation to warn users if they are using a deprecated API key instead of a new auth token.

Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.

Location: modules/sentry-cli.properties#L1

Potential issue: The pull request upgrades `sentry-cli` to v3.1.0, which no longer
supports legacy API key authentication. The SDK does not validate the format of the
`Auth` token. In `BuildPostProcess.cs`, the `UploadDebugSymbols` method invokes the
`sentry-cli` process but does not check its `ExitCode` after `process.WaitForExit()`.
When a user with a legacy API key tries to upload symbols, `sentry-cli` exits with an
error, but the build process ignores it and continues silently. This causes symbol
uploads to fail without notification, preventing symbolication of crash reports.

Did we get this right? 👍 / 👎 to inform future reviews.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants