-
-
Notifications
You must be signed in to change notification settings - Fork 31
chore(deps): update CLI to v3.0.1 #354
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
base: main
Are you sure you want to change the base?
Conversation
aaa311f to
7b3e8c5
Compare
7b3e8c5 to
171924a
Compare
171924a to
3affc16
Compare
3affc16 to
423ccc9
Compare
e25a66e to
0e45c70
Compare
0e45c70 to
dbfed39
Compare
acdc8dc to
2d72f91
Compare
2d72f91 to
f3d8d51
Compare
f3d8d51 to
da795e7
Compare
da795e7 to
13fb3a3
Compare
13fb3a3 to
a3a278e
Compare
a3a278e to
95a0799
Compare
95a0799 to
461c338
Compare
461c338 to
1bfa61b
Compare
1bfa61b to
4dbdc2a
Compare
4dbdc2a to
693f88f
Compare
| const _version = '3.0.1'; | ||
|
|
||
| final currentCLISources = { | ||
| HostPlatform.darwinUniversal: CLISource( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: The plugin uses the files subcommand, which was removed in sentry-cli 3.0.1. This will break builds for users with legacy_web_symbolication: true.
Severity: CRITICAL | Confidence: High
🔍 Detailed Analysis
The PR upgrades the embedded sentry-cli to version 3.0.1, which removes the files subcommand. However, the plugin's _executeCliForLegacySourceMaps() method still constructs commands using this removed subcommand when the legacy_web_symbolication option is enabled. This will cause the build process to fail with an unrecognized command error for any user who has this legacy option enabled, breaking their upgrade path without warning.
💡 Suggested Fix
Update the command generation logic in _executeCliForLegacySourceMaps() to align with the new command structure of sentry-cli 3.0.1. Alternatively, if the feature is no longer supported, add a deprecation warning and prevent its use with the new CLI version to avoid build failures.
🤖 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: lib/src/cli/_sources.dart#L10
Potential issue: The PR upgrades the embedded `sentry-cli` to version 3.0.1, which
removes the `files` subcommand. However, the plugin's `_executeCliForLegacySourceMaps()`
method still constructs commands using this removed subcommand when the
`legacy_web_symbolication` option is enabled. This will cause the build process to fail
with an unrecognized command error for any user who has this legacy option enabled,
breaking their upgrade path without warning.
Did we get this right? 👍 / 👎 to inform future reviews.
Reference ID: 7682739
| import 'host_platform.dart'; | ||
|
|
||
| const _version = '2.52.0'; | ||
| const _version = '3.0.1'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Legacy sourcemap upload breaks with removed CLI command
Bumping sentry-cli to v3.0.1 breaks the legacy_web_symbolication feature. The _executeCliForLegacySourceMaps method invokes releases files <release> upload-sourcemaps, but sentry-cli 3.0.0 removed all releases files ... subcommands. Users with legacy_web_symbolication: true configured will get runtime failures because the CLI command they depend on no longer exists.
Bumps scripts/update-cli.sh from 2.52.0 to 3.0.1.
Auto-generated by a dependency updater.
Changelog
3.0.1
Performance Improvements
sentry build upload) in preparation for this week's beta release! (#3038)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.0
New Sentry Support Policy
sentry-cli3.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
sentry-cli files ...andsentry-cli releases files ...subcommands (#2956). These commands provided functionality for managing release files, a feature that has been deprecated in Sentry. Users still usingsentry-cli files uploadto upload source maps should migrate tosentry-cli sourcemaps upload.sentry-cli sourcemaps explaincommand (#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.sentry-cli send-metric ...subcommands (#3006). These commands have been deprecated, and the data they send is no longer accepted by Sentry.--api-keyCLI flagSENTRY_API_KEYenvironment variableapi_keyconfiguration file fieldapiKeyoption in the JavaScript APIupload-proguardsubcommand's--app-id,--version,--version-code,--android-manifest, and--platformarguments (#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.--startedargument from thesentry-cli releases finalizecommand (#2972). This argument is a no-op, so any users using it should simply stop using it.--use-artifact-bundleflag fromsentry-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-clivia the npm packagesentry/cli:The
SentryCli.executemethod'sliveparameter now only takes boolean values (#2971). Settinglivetotruenow 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
optionparameter toReleases.uploadSourceMapsno longer takes aliveproperty (#2971). We now always execute the command withliveset totrue.Removed the
apiKeyoption fromSentryCliOptions(#2935). If you are usingapiKey, you need to generate and use an Auth Token via theauthTokenoption, instead.Removed the
useArtifactBundleoption fromSentryCliUploadSourceMapsOptions(#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
SentryCliReleaseshas been removed.The JavaScript wrapper now uses named exports instead of default exports (#2989). You need to update your imports:
For ESM imports:
Improvements
sentry-cli upload-proguardcommand now uses chunked uploading by default (#2918). Users who previously set theSENTRY_EXPERIMENTAL_PROGUARD_CHUNK_UPLOADenvironment variable to opt into this behavior no longer need to set the variable.debugIdfield, per the TC39 Debug ID proposal (#3005). This change affects thesentry-cli sourcemaps injectcommand and, unless--no-rewriteis passed, thesentry-cli sourcemaps uploadcommand. Sentry CLI can still read thedebug_idfield, but whenever the CLI writes or rewrites a source map, we always usedebugId.sentry-cli build uploadcommand now automatically tracks Sentry plugin versions from theSENTRY_PIPELINEenvironment variable (#2994). WhenSENTRY_PIPELINEcontains a recognized Sentry plugin (e.g.,sentry-gradle-plugin/4.12.0orsentry-fastlane-plugin/1.2.3), the plugin version is written to the.sentry-cli-metadata.txtfile in uploaded build archives, enabling the backend to store metadata for size analysis and build distribution tracking.Fixes
2.58.4
Fixes
npm run(#3030). This change ensures the postinstall script remains compatible with package managers other thannpm.2.58.3
Improvements
sentry-cli build uploadcommand, we now only auto-detect Git metadata when we detect we are running in a CI environment, unless the user manually overrides this behavior (#2974). This change prevents local development builds from triggiering GitHub status checks for size analysis.--force-git-metadataand--no-git-metadata, which force-enable and force-disable automatic Git data collection, respectively, overriding the default behavior.sentry-cli build uploadcommand now automatically detects the correct branch or tag reference in non-PR GitHub Actions workflows (#2976). Previously,--head-refwas only auto-detected for pull request workflows. Now it works for push, release, and other workflow types by using theGITHUB_REF_NAMEenvironment variable.Fixes
sentry-cli sourcemaps injectcommand could inject JavaScript code into certain incorrectly formatted source map files, corrupting their JSON structure (#3003).2.58.2
Improvements
sentry-cli build uploadcommand's--head-shaand--base-shaarguments (#2945). The CLI now validates that these are valid SHA1 sums. Passing an empty string is also allowed; this prevents the default values from being used, causing the values to instead be unset.Fixes
sentry-cli build uploadcommand's--vcs-provider,--head-repo-name,--head-ref,--base-ref, and--base-repo-namearguments resulted in 400 errors (#2946). Now, setting these to empty strings instead explicitly clears the default value we would set otherwise, as expected.2.58.1
Deprecations
Improvements
sentry-cli debug-files bundle-jvmno longer makes any HTTP requests to Sentry, meaning auth tokens are no longer needed, and the command can be run offline (#2926).Fixes
base_shaandbase_refwhen they equalhead_shaduring auto-inference, since comparing a commit to itself provides no meaningful baseline (#2924).sentry-cli sourcemaps upload. The error now correctly indicates the organization doesn't exist, rather than incorrectly suggesting the Sentry server lacks artifact bundle support (#2931).2.58.0
New Features
sentry-cli build uploadcommands (#2899, #2905). At the time of this release, build uploads are still in closed beta on the server side, so most customers cannot use this functionality quite yet.Deprecations
upload-proguardsubcommand's--platformflag (#2863). This flag was a no-op for some time, so we will remove it in the next major.upload-proguardsubcommand's--android-manifestflag (#2891). This flag was a no-op for some time, so we will remove it in the next major.sentry-cli sourcemaps uploadcommand's--no-dedupeflag (#2913). The flag was no longer relevant for sourcemap uploads to modern Sentry servers and was made a no-op.Fixes
--base-ref,--base-sha) when using thebuild uploadsubcommand in git repos. Previously this worked only in the context of GitHub workflows (#2897, #2898).Performance
sentry-cli sourcemaps uploadcommand by eliminating an HTTP request to the Sentry server, which was not required in most cases (#2913).Internal changes
2.57.0
New Features
projectsfield toSentryCliUploadSourceMapsOptions(#2856)Deprecations
upload-proguardsubcommand's--app-id,--version, and--version-codeflags (#2852), as we plan to remove these flags in Sentry CLI 3.x. Users should simply stop using the flags; the values specified there have never had an effect on deobfuscation, and are no longer visible in Sentry.Fixes
sentry-cli debug-files bundle-jvmandsentry-cli sourcemaps upload. Any stderr output during the progress bar was lost if stderr was redirected.2.56.1
Deprecations
Fixes & improvements
2.56.0
Various fixes & improvements
SENTRY_RELEASEenvironment variable (#2807) by szokeasaurusrex2.55.0
Various fixes & improvements
2.54.0
Various fixes & improvements
2.53.0
Various fixes & improvements
Changes from 2.53.0-alpha
2.53.0-alpha reintroduced the
build(previously namedmobile-app) commands. 2.53.0 is the first stable release to reintroduce them.Please note, the
buildcommands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.2.53.0-alpha
This release reintroduces the
build(previously namedmobile-app) commands.Various fixes & improvements