Skip to content

Conversation

@pull
Copy link

@pull pull bot commented Dec 15, 2025

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

github-actions bot and others added 30 commits December 15, 2025 11:38
Update Rust toolchain to 1.92 (1.92.0).

  **Changes:**
  - Update `rust-toolchain.toml` channel to `1.92`

**Release Notes:** https://github.com/rust-lang/rust/releases/tag/1.92.0

  ---
🤖 *This PR was created automatically by the Rust toolchain update bot.*

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Daniel Szoke <daniel.szoke@sentry.io>
### Description
Set minimum supported self-hosted version, and add this to README.

### Issues
- Resolves #3026
- Resolves [CLI-246](https://linear.app/getsentry/issue/CLI-246/mention-minimum-supported-self-hosted-version-in-readme)
⚠️ **Breaking change:** Do not merge until ready to release in a major.

Remove the `--app-id`, `--version`, and `--version-code` arguments to the `sentry-cli upload-proguard` command. Users currently using these arguments should simply stop using them. With this change, we also no longer wait for assembly of the mapping to finish on the backend; previously we needed to wait to associate the release.

This change also removes any code that had been called when these flags were specified.

 - Resolves #2868
 - Resolves [CLI-197](https://linear.app/getsentry/issue/CLI-197/remove-flags-for-setting-release)
⚠️ **Breaking change:** Do not merge until ready to release in a major.

As Sentry CLI 3.0.0 will only support Sentry servers with chunk uploading support, we can now assume that 404 errors from the `/organizations/{org}/chunk-upload/` endpoint are due to the organization not existing, and not due to the chunk upload endpoint not existing.

- Resolves #2900
- Resolves [CLI-211](https://linear.app/getsentry/issue/CLI-211/assume-404-when-getting-chunk-upload-endpoint-is-due-to-non-existent)

________

BREAKING CHANGE: Several subcommands no longer support Sentry servers which lack support for chunked uploads.
### Description
⚠️ **Breaking change:** Do not merge until ready to release in a major.

Use chunked uploading for `sentry-cli upload-proguard`, as chunked uploads are generally more reliable than non-chunked uploads, and chunked uploading is the uploading method used by all other file uploading commands in Sentry CLI.

Users who previously had set the `SENTRY_EXPERIMENTAL_PROGUARD_CHUNK_UPLOAD` environment variable to opt into the chunk uploading behavior no longer need to set this variable, as all ProGuard files are always uploaded with chunked uploading.

### Issues
- Resolves #2328
- Resolves [CLI-13](https://linear.app/getsentry/issue/CLI-13/make-chunk-uploads-the-default-for-proguard-files)

_______

BREAKING CHANGE: The `sentry-cli upload-proguard` file can no longer upload to Sentry servers which lack support for receiving ProGuard mappings via chunked upload.
⚠️ **Breaking change:** Do not merge until ready to release in a major.

Removed support for the legacy API key authentication method. Users must now use auth tokens instead.

Specifically, users supplying an API key via any of the following options 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

- Resolves #2873
- Resolves [CLI-199](https://linear.app/getsentry/issue/CLI-199/remove-api-key-authentication)

_____

BREAKING CHANGE: API-key based authentication is no longer supported. The `--api-key` CLI flag and `apiKey` JS option have been removed; the `SENTRY_API_KEY` environment variable and `api_key` configuration file field are no longer read.
### Description
This argument does not do anything, so we will remove it.

### Issues
- Resolves #2874
- Resolves [CLI-200](https://linear.app/getsentry/issue/CLI-200/remove-upload-proguards-android-manifest-argument)
### Description
Removed the `sentry-cli sourcemaps explain` command, which has been deprecated for some time.

### Issues
- Resolves #2865
- Resolves [CLI-2865](https://linear.app/getsentry/issue/CLI-195/remove-sentry-cli-sourcemaps-explain-command)
### Description
Remove the deprecated `--platform` argument.

### Issues
- Resolves #2851
- Resolves [CLI-193](https://linear.app/getsentry/issue/CLI-193/remove-upload-proguard-platform-flag)
### Description
Removed support for non-chunked uploads of debug files.

### Issues
- Resolves #2950
- Resolves [CLI-227](https://linear.app/getsentry/issue/CLI-227/remove-support-for-non-chunked-debug-file-uploads)
### Description
All debug file formats have been supported for at least three years, so with the Sentry CLI 3.0 release, all servers we support will support all debug file formats. Therefore, checking supported formats is no longer needed.

### Issues
- Resolves #2953
- Resolves [CLI-229](https://linear.app/getsentry/issue/CLI-229/assume-server-supports-all-debug-file-formats)
### Description
Remove all `sentry-cli files ...` subcommands. Also, remove the `sentry-cli releases files ...` commands, which are aliases for the `files` subcommands.

### Issues
- Resolves #2513
- Resolves [CLI-85](https://linear.app/getsentry/issue/CLI-85/remove-all-files-subcommands)
### Description
Following #2956, the `UploadContext` struct's `projects` field is always `Some`, indicating we have at least one project.

Here, we change the type from `Option<NonEmptySlice>` to `NonEmptySlice` to indicate that we always have a project set.
### Description
Remove support for non-chunked sourcemaps uploads. Also, drop `ReleaseFiles` chunk upload capability, as we now assume that all servers support chunked uploads for release files.

### Issues
- Resolves #2949
- Resolves [CLI-226](https://linear.app/getsentry/issue/CLI-226/remove-support-for-non-chunked-sourcemap-uploads)
### Description
Remove support for the deprecated release bundle uploads. Source maps are always uploaded as artifact bundles, now.

Also, we now assume all Sentry servers support `ArtifactBundle` and `ArtifactBundleV2`.

### Issues
- Resolves #2842
- Resolves [CLI-188](https://linear.app/getsentry/issue/CLI-188/remove-support-for-release-bundle-uploads)
### Description
We added the `live = 'rejectOnError'` option in #2605 with the intention to make the behavior provided by setting `live = 'rejectOnError'` the default behavior of setting `live = true` in the next major.

### Issues
- Resolves #2606
- Resolves [CLI-138](https://linear.app/getsentry/issue/CLI-138/v3-fix-js-interface-execute-promise-resolve-values)
### Description
This option has already been deprecated.

### Issues
- Resolves #2516
- Resolves [CLI-86](https://linear.app/getsentry/issue/CLI-86/remove-releases-finalize-started-option)
### Description
It appears we have never supported `brotli` server-side so there is no reason to support it in the CLI, either.

### Issues
- Resolves #2808
- Resolves [CLI-174](https://linear.app/getsentry/issue/CLI-174/remove-brotli-support-for-chunk-uploads)
closes #2985

This will ensure that in the future don't have to work around certain features which are not available in older Node versions.
### Description
We should instead use the organization-release endpoints. The
project-release endpoints have been kept around for backwards
compatibility with ancient self-hosted versions, which we are dropping
support for.

### Issues
- Resolves #2840 - Resolves
[CLI-186](https://linear.app/getsentry/issue/CLI-186/remove-calls-to-projectsreleases-endpoints)
### Description
Removed the deprecated `--use-artifact-bundle` flag from the `sentry-cli sourcemaps upload` command and its corresponding `useArtifactBundle` option from the Node.js API. This flag was a no-op that only emitted a deprecation warning, and its removal simplifies the CLI and API by eliminating an unused and misleading option.

### Issues
* resolves: #2352
* resolves: CLI-20

---
<a href="https://cursor.com/background-agent?bcId=bc-2137bde5-9602-436e-9260-e3a6e192ae9c"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-cursor-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in Cursor" src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-2137bde5-9602-436e-9260-e3a6e192ae9c"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-web-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web" src="https://cursor.com/open-in-web.svg"></picture></a>

___

Co-authored-by: Daniel Szoke <daniel.szoke@sentry.io>
### Description
The `react-native appcenter` subcommand has been deprecated and is no longer needed. This change removes the entire subcommand implementation, including associated utility functions and related code.

### Issues
* resolves: #2489
* resolves: CLI-70

---
<a href="https://cursor.com/background-agent?bcId=bc-9f461c4f-40d8-4689-be4d-6bf60878cb91"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-cursor-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-cursor-light.svg"><img alt="Open in Cursor" src="https://cursor.com/open-in-cursor.svg"></picture></a>&nbsp;<a href="https://cursor.com/agents?id=bc-9f461c4f-40d8-4689-be4d-6bf60878cb91"><picture><source media="(prefers-color-scheme: dark)" srcset="https://cursor.com/open-in-web-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://cursor.com/open-in-web-light.svg"><img alt="Open in Web" src="https://cursor.com/open-in-web.svg"></picture></a>
### Description

Removed all `sentry-cli send-metric` subcommands.

This is basically the resurrection of #2710 🧟 (🥔 @vgrozdanic).

### Issues
- Resolves #2713 - Resolves
[CLI-157](https://linear.app/getsentry/issue/CLI-157/remove-send-metric-commands)

__

Co-authored-by: Daniel Szoke <daniel.szoke@sentry.io>
…3005)

Align debug ID injection [with the relevant TC39 proposal](https://github.com/tc39/ecma426/blob/main/proposals/debug-id.md#debug-ids-in-source-maps) by upgrading the `sourcemap` crate to [9.3.0](https://github.com/getsentry/rust-sourcemap/releases/tag/9.3.0), which serializes the Debug ID on a sourcemap [under the `"debugId"` key, instead of the `"debug_id"` key](getsentry/rust-sourcemap#134). The crate still supports reading the `"debug_id"` key, but the `"debugId"` key takes precedence if both keys are present.

These changes primarily affect the `sourcemaps inject` command, which will now place the debug ID in the `"debugId"` field rather than the `"debug_id"` field. The `sourcemaps upload` command is also affected, as sourcemaps will be rewritten with `"debugId"` rather than `"debug_id"`. Previously, rewriting preserved the key being used; if a sourcemap contained both keys, both would have been preserved after rewriting, but after these changes, we emit only `"debugId"`. For example, if a sourcemap contains only the `"debug_id"` key, the rewritten sourcemap will have that key in `"debugId"` instead; however, if a sourcemap contains both the `"debugId"` and the `"debug_id"` keys, the `"debug_id"` is completely stripped, and its value ignored.

Closes #2221
Closes [CLI-44](https://linear.app/getsentry/issue/CLI-44/time-capsule-dont-open-before-nov-6-2025-emit-debugid-instead-of-debug)
(closes #2617)
(closes [CLI-142](https://linear.app/getsentry/issue/CLI-142/use-typescript-to-generate-type-declarations))

This PR migrates all JavaScript files in the `lib/` directory to native TypeScript, removing the need for JSDoc type annotations and improving type safety.

### Main Changes

- Converted all `.js` files to `.ts` with proper TypeScript syntax
- Changed module system from CommonJS to ES6 modules for better TypeScript interoperability
- Updated exports to use ES6 `export` syntax instead of `module.exports`
- All types are now exported as named exports for better type inference and IDE support
- `OptionsSchema` is now a union to satisfy `SOURCEMAPS_OPTIONS`, as this one didn't had the required `param`
- The exports of `lib/releases/options` has changed its name

### Breaking Changes

**Module Exports**
- **Before**: `module.exports = SentryCli;` (CommonJS)
- **After**: `export class SentryCli { ... }` (ES6 named export)

We could have maintained backwards compatibility with `export = SentryCli;`. The only problem were the types which needed to be exported as well. With ES6 named exports, we can now export all types alongside the class.

### Internal Improvements

Simplified `Release` constructor
- **Before**: `new Releases({ ...this.options, configFile })` - configFile was merged into options
- **After**: `new Releases(this.options, configFile)` - two separate parameters

With 2 parameters it's easier to maintain and makes the separation of concerns clearer.
This removes `node-fetch` entirely. We could have upgrade to `node-fetch@3`, but this one requires ESM-only, which we can't support (we still need CJS support for our `@sentry/*` bundler packages).

With this PR we use now `undici` which also has a `ProxyAgent` included, so we got rid of `https-proxy-agent` as well.

Closes #1810
Closes [CLI-25](https://linear.app/getsentry/issue/CLI-25/upgrade-to-node-fetch-v3-to-avoid-punycode-deprecation-warning)
### Description

Explicitly define a versioning policy that we will follow in Sentry CLI 3.0 and onwards.

This policy intentionally defines our public API narrowly. The goal is to preserve flexibility in how we maintain the CLI, while providing users clarity on which features they can consider stable.

### Issues
- Resolves #2594
- Resolves [CLI-132](https://linear.app/getsentry/issue/CLI-132/add-version-supportsemver-policies)
)

## Summary

Move the SENTRY_PIPELINE plugin tracking changelog entry from the 2.58.3
release section to the Unreleased section, as this feature was merged
after the 2.58.3 release.

Related to #2994
getsentry-bot and others added 2 commits December 15, 2025 12:58
@pull pull bot locked and limited conversation to collaborators Dec 15, 2025
@pull pull bot added the ⤵️ pull label Dec 15, 2025
@pull pull bot merged commit 775efe4 into Mattlk13:master Dec 15, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants