forked from getsentry/sentry-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] master from getsentry:master #131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> <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> <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
### Description This comment [is confusing](https://github.com/getsentry/sentry-cli/pull/2930/changes#r2542519816), and on further reflection, I believe it is unnecessary. ### Issues - Resolves #3035 - Resolves [CLI-249](https://linear.app/getsentry/issue/CLI-249/fix-leftover-pr-comment)
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 : )