- In the JavaScript API, added multi-project support to
releases.newDeploy()method. This method now accept aprojectsoption (array of project slugs), aligning them with the Rust CLI's multi-project capabilities and matching the existing behavior ofreleases.new()andreleases.uploadSourceMaps()(#3001).
- 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)
- Fixed a bug that prevented project IDs from being used with the
sentry-cli releases newcommand for users with self-hosted Sentry instances on versions older than 25.12.1 (#3068).
- Fixed a bug on Intel-based macOS systems that prevented Sentry CLI from respecting self-signed certificates trusted in the macOS keychain (#3059).
- Fixed a bug on ARM-based macOS systems that prevented Sentry CLI from respecting self-signed certificates trusted in the macOS keychain (#3057).
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.
- 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)
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.
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.
- Removed all
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. - Removed the
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. - 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-keyCLI flagSENTRY_API_KEYenvironment variableapi_keyconfiguration file fieldapiKeyoption in the JavaScript API
- Removed the
upload-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. - Removed the
--startedargument from thesentry-cli releases finalizecommand (#2972). This argument is a no-op, so any users using it should simply stop using it. - Removed the
--use-artifact-bundleflag fromsentry-cli sourcemaps upload(#3002). The flag was a no-op that only emitted a deprecation warning.
The following changes only apply when using sentry-cli via the npm package @sentry/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:
// 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';
- The
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. - We now place source map debug IDs under the source map's
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. - The
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.
- Fixed misleading error message claiming the server doesn't support chunk uploading when the actual error was a non-existent organization (#2930).
- Use node directly in the postinstall script, instead of using
npm run(#3030). This change ensures the postinstall script remains compatible with package managers other thannpm.
- For the
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.- We can detect most common CI environments based on the environment variables these set.
- We introduced two new arguments,
--force-git-metadataand--no-git-metadata, which force-enable and force-disable automatic Git data collection, respectively, overriding the default behavior.
- The
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.
- Fixed a bug where the
sentry-cli sourcemaps injectcommand could inject JavaScript code into certain incorrectly formatted source map files, corrupting their JSON structure (#3003).
- Added validation for the
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.
- Fixed a bug where providing empty-string values for the
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.
- Deprecated API key authentication (#2934, #2937). Users who are still using API keys to authenticate Sentry CLI should generate and use an Auth Token instead.
- The
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).
- Skip setting
base_shaandbase_refwhen they equalhead_shaduring auto-inference, since comparing a commit to itself provides no meaningful baseline (#2924). - Improved error message when supplying a non-existent organization to
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).
- Removed experimental status from the
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. - Added CLI version metadata to build upload archives (#2890).
- Deprecated the
upload-proguardsubcommand's--platformflag (#2863). This flag was a no-op for some time, so we will remove it in the next major. - Deprecated the
upload-proguardsubcommand's--android-manifestflag (#2891). This flag was a no-op for some time, so we will remove it in the next major. - Deprecated the
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.
- Fixed autofilled git base metadata (
--base-ref,--base-sha) when using thebuild uploadsubcommand in git repos. Previously this worked only in the context of GitHub workflows (#2897, #2898).
- Slightly sped up the
sentry-cli sourcemaps uploadcommand by eliminating an HTTP request to the Sentry server, which was not required in most cases (#2913).
- Migrated JavaScript wrapper to TypeScript for better type safety (#2910)
- (JS API) Add
projectsfield toSentryCliUploadSourceMapsOptions(#2856)
- Deprecated the
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. - Added a deprecation notice for release bundle uploads, a legacy method for uploading source maps (#2844). Release bundle uploads will be removed in Sentry CLI 3.x in favor of artifact bundles, the newer source map upload method introduced in Sentry version 23.6.2. Self-hosted users: You must upgrade to Sentry 23.6.2 or later before upgrading to Sentry CLI 3.x.
- Fixed a bug where some log messages would not show up in CI environments or when redirecting stderr to a file (#2830). Specifically, this bug was affecting any subcommand that uses a progress bar, such as
sentry-cli debug-files bundle-jvmandsentry-cli sourcemaps upload. Any stderr output during the progress bar was lost if stderr was redirected.
- Added a deprecation notice for legacy uploading methods (#2836, #2837)
- Support for these legacy uploading methods, required to upload to self-hosted Sentry servers below version 10.0.0, will be removed in the next major release (3.x). If you observe these new deprecation notices, we recommend upgrading your self-hosted Sentry server, or pinning Sentry CLI to a compatible version (2.x).
- You may encounter these deprecation notices when uploading debug files or sourcemaps.
- Fixed a bug with sourcemap injection (#2764) by @szokeasaurusrex
- This change ensures we do not attempt to associate multiple compiled sources with the same sourcemap. As there should be at most one sourcemap for each compiled source, associating multiple compiled sources with the same sourcemap would lead to an invalid state.
- Updated some outdated dependencies (#2816, #2818, and #2819)
- feat: auto-fetch head-ref from GitHub Actions in detached HEAD state (#2805) by @runningcode
- feat: automatically fetch base SHA in GitHub Actions PR workflows (#2799) by @runningcode
- feat(preprod): use deflated compression when creating the zip file (#2800) by @trevor-e
- feat(preprod): make sure at least one app bundle is present for upload (#2795) by @trevor-e
- feat(preprod): fail upload if app is missing Info.plist (#2793) by @trevor-e
- feat: restore GitHub Actions base branch detection (#2792) by @runningcode
- fix: lower log level for missing base ref detection (EME-369) (#2813) by @runningcode
- fix: simplify debug logging for PR number detection (EME-362) (#2812) by @runningcode
- fix: serialize VCS tests to prevent race conditions (EME-368) (#2811) by @runningcode
- fix: Validate
SENTRY_RELEASEenvironment variable (#2807) by @szokeasaurusrex - fix: use actual PR head SHA in GitHub Actions instead of merge commit (#2785) by @runningcode
- fix: suppress warning messages in failing build upload tests (#2791) by @runningcode
- feat(build): preserve repository name case for build upload (#2777) by @runningcode
- fix(sourcemaps): Display injection errors (#2775) by @szokeasaurusrex
- feat: Normalize VCS provider names to match backend (#2770) by @runningcode
- feat: Improve upload error message to show cause (#2765) by @runningcode
- fix: Safer asset catalog reader for liquid glass (#2771) by @noahsmartin
- fix(releases): handle partial SHAs correctly in commit resolution (#2734) by @srest2021
- Fix: symlinks in normalized upload (#2744) by @noahsmartin
- feat(vcs): Prefer upstream remote over origin for base repo name (#2737) by @runningcode
- feat(build): Add auto-detection of base_repo_name from git remote (#2735) by @runningcode
- feat(build): Add auto-detection of PR number from GitHub Actions (#2722) by @runningcode
- feat(build): Auto-detect base_ref from git merge-base (#2720) by @runningcode
- feat(logs): support log streaming (#2666) by @vgrozdanic
- feat(mobile-app): Add release notes option (#2712) by @noahsmartin
2.53.0-alpha reintroduced the build (previously named mobile-app) commands. 2.53.0 is the first stable release to reintroduce them.
Please note, the build commands are still experimental, and are therefore subject to breaking changes, including removal, in any release, without notice.
- feat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (#2706) by @rbro112
- chore(mobile-app): Rename mobile-app subcommand to build (#2719) by @rbro112
- Revert "feat(mobile-app): Reintroduce mobile-app feature gating (#2643)" (#2670) by @noahsmartin
- meta(cursor): Add rule to avoid explicit type annotations (#2717) by @szokeasaurusrex
- retry on cloudflare timeout (#2695) by @manishrawat1992
This release reintroduces the build (previously named mobile-app) commands.
- feat(mobile-app): Add default vcs base_ref parsing for mobile-app subcommand (#2706) by @rbro112
- chore(mobile-app): Rename mobile-app subcommand to build (#2719) by @rbro112
- Revert "feat(mobile-app): Reintroduce mobile-app feature gating (#2643)" (#2670) by @noahsmartin
- meta(cursor): Add rule to avoid explicit type annotations (#2717) by @szokeasaurusrex
- retry on cloudflare timeout (#2695) by @manishrawat1992
- feat(dart): add
dart-symbol-map uploadcommand (#2691) by @buenaflor - Add default vcs head_repo_name and provider parsing for mobile-app subcommand (#2699) by @rbro112
- ref(debug-files): Remove unnecessary
collect(#2705) by @szokeasaurusrex - build(deps): bump github/codeql-action from 3.29.5 to 3.29.8 (#2700) by @dependabot
- build(deps): bump actions/checkout from 4.2.2 to 5.0.0 (#2701) by @dependabot
- build(deps): bump actions/create-github-app-token from 2.0.6 to 2.1.1 (#2702) by @dependabot
- build(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 (#2703) by @dependabot
- Use URL from backend (#2698) by @chromy
- feat(mobile-app): Add new VCS params to mobile-app command (#2682) by @rbro112
- feat(launchpad): Add asset catalog files to zip without adding to folder (#2667) by @noahsmartin
- feat(preprod): Show analysis URL after mobile-app upload (#2675) by @chromy
- feat(logs): allow project slugs in logs list (#2688) by @shellmayr
- fix(debug-files): Run all processing steps with
--no-upload(#2693) by @P1n3appl3
- fix(logs): Mark
logscommand as beta (#2690) by @szokeasaurusrex
This release introduces a new sentry-cli logs list command, which lists your Sentry logs. For more details, see sentry-cli logs list --help.
Please note: if you receive a 403 error when using the new command, you may need to generate a new auth token with different permissions. You can do this by navigating to Settings → Developer Settings → Personal Tokens in Sentry. On the Personal Tokens page, generate a token with org:read scope, and pass this to the command using --auth-token or by setting the SENTRY_AUTH_TOKEN environment variable.
- fix(js): Stop calling
releases files upload-sourcemaps(#2676) by @szokeasaurusrex
This change removes the mobile-app upload experimental feature which was introduced in 2.50.1.
- build(deps): bump form-data from 3.0.1 to 3.0.4 (#2638) by @dependabot
This release introduces the new experimental mobile-app upload subcommand. This command is experimental, and therefore subject to changes, including breaking changes and/or removal, in any release. The command might not work as expected.
- feat(js): Expose
rejectOnErrorin publicexecutetype declarations (#2628) by @Lms24
- feat(js): Export
liveoption type forreleases.uploadSourceMaps(#2627) by @Lms24
- feat(js): Add
live: 'rejectOnError'execution mode toexecutemethod (#2605) by @Lms24
- feat: allow optionally disabling Swift sandbox (#2587) by @carlocab
No user-facing changes.
- ref: Exclude
mobile-appcommand from release builds (#2582) by @szokeasaurusrex - feat(login): Improve error output for login errors (#2581) by @szokeasaurusrex
- test(monitors): pass empty options to grep (#2562) by @lcian
- feat(login): Warn when overwriting existing auth token (#2554) by @szokeasaurusrex
- meta: Add .sentryclirc to gitignore (#2547) by @rbro112
- build: Bump MSRV to 1.86
- feat: Mark
react-native appcenteras deprecated (#2522) by @chromy - docs: Fix typo "the the" -> "the" (#2519) by @chromy
- feat(npm): Add support for installing
npmpackage on Android (#2524) by @szokeasaurusrex - feat: Retry all HTTP requests (#2523) by @szokeasaurusrex
- ref: Only obtain max retry count once (#2521) by @szokeasaurusrex
- fix: Don't error if invalid value supplied for max retries (#2520) by @szokeasaurusrex
- fix: Explicitly deprecate
--startedflag (#2515) by @szokeasaurusrex - fix: Use
orig_pathfor bundle sources output file name (#2514) by @szokeasaurusrex - feat: Mark all
filessubcommands as deprecated. (#2512) by @Swatinem - Support multiple files in SENTRY_DOTENV_PATH (#2454) by @Kinqdos
- fix(sourcemaps): Avoid associating only sourcemap with all minified sources (#2447) by @szokeasaurusrex
- feat(sourcemaps): Multi-project sourcemaps upload (#2497) by @szokeasaurusrex
- Sourcemaps can now be uploaded to multiple projects at once by passing each project to the
sentry-cli sourcemaps uploadcommand, like so:sentry-cli sourcemaps upload -p project1 -p project2 /path/to/sourcemaps
- Note that users on old versions of self-hosted Sentry may need to upgrade their self-hosted server to a newer version to take advantage of multi-project uploads.
- Sourcemaps can now be uploaded to multiple projects at once by passing each project to the
- ref: Rename
fixup_js_file_end(#2475) by @szokeasaurusrex - ref: Use slice instead of vec for assemble artifact request (#2498) by @szokeasaurusrex
- ref: Separate
LegacyUploadContextfor legacy uploads (#2494) by @szokeasaurusrex - feat: Remove organization and project info log (#2490) by @szokeasaurusrex
- feat(sourcemaps): Support injecting indexed sourcemaps (#2470) by @szokeasaurusrex
- test(sourcemaps): Assert injection outputs (#2483) by @szokeasaurusrex
- build: Bump
tokioto1.44.2(#2474) by @szokeasaurusrex - chore: Fix nightly clippy lints (#2469) by @loewenheim
This release explicitly deprecates the sentry-cli debug-files upload command's --info-plist argument, since the argument does nothing. If you are using the --info-plist argument, you should stop using it.
- fix(debug_files): Don't call
xcodebuild(#2443) by @szokeasaurusrex
This is a re-release of 2.45.5-alpha as a stable release. There are no code changes from 2.45.5-alpha, since the Windows ARM build for that version was published successfully.
This release adds a binary for Windows on ARM.
We are releasing this as an alpha to test that the new Windows ARM build is published to NPM correctly.
- ci(npm): Release Windows ARM build to
npm(#2436) by @szokeasaurusrex - ci: Run lint action on all target operating systems (#2360) by @szokeasaurusrex
- ref: Simplify
is_homebrew_install(#2434) by @szokeasaurusrex - build(deps): bump github/codeql-action from 3.28.12 to 3.28.13 (#2435) by @dependabot
- ref: Simplify
set_executable_mode(#2433) by @szokeasaurusrex - ci: Build for Windows ARM (#2429) by @szokeasaurusrex
- build: Replace
usernamewithwhoami(#2432) by @szokeasaurusrex - build: Remove direct
winapidependency (#2431) by @szokeasaurusrex - build(deps): bump actions/create-github-app-token from 1.11.0 to 1.11.7 (#2430) by @dependabot
- ci: Auto-update GHA with Dependabot (#2428) by @szokeasaurusrex
- ci: Update and securely pin all actions (#2427) by @szokeasaurusrex
- ci: Remove unneeded
-D warnings(#2425) by @szokeasaurusrex - ci: Stop using
actions-rs(#2424) by @szokeasaurusrex - deps: Update zip to 2.4.2 (#2423) by @loewenheim
- build: update
zipdependency (#2421) by @szokeasaurusrex
- build(macos): Sign macOS binaries (#2401) by @szokeasaurusrex
- ci(docker): Fix GHCR releases so they are multiarch (#2418) by @szokeasaurusrex
- fix(sourcemaps): Fix mismatches between path and URL on Windows (#2414) by @BYK
- fix(sourcemaps): Exclude skipped files from bundle file count (#2397) by @a-hariti
- fix: warn about missing SENTRY_RELEASE when it's set to empty string (#2394) by @a-hariti
- build(node): Bump
semver@5.*dependencies (#2399) by @szokeasaurusrex - build(node): Bump
semver@6.*(#2400) by @szokeasaurusrex - build(node): Bump
semver@^7.*dependencies (#2398) by @szokeasaurusrex - build(node): Bump
cross-spawn@7.0.X(#2396) by @szokeasaurusrex - build(node): Bump
cross-spawn@^6.0.5(#2395) by @szokeasaurusrex - ci(docker): Release Docker image to GHCR (#2393) by @szokeasaurusrex
- ci(docker): Fix caching (#2391) by @szokeasaurusrex
This release is a re-release of 2.42.0. There are no code changes to the CLI. We are performing this re-release because 2.42.0 failed to publish to Docker Hub.
- ci(docker): Don't publish to GHCR via Craft (#2392) by @szokeasaurusrex
With this release, we now build and publish multi-architecture (arm64 and aarch64) Docker images for Sentry CLI.
- feat: Only warn for token org mismatch (#2382) by @szokeasaurusrex
- feat: Improve custom panic hook (#2355) by @szokeasaurusrex
- We now have better error messages when there is an internal error in Sentry CLI.
- feat: Deprecate
--use-artifact-bundleoption (#2349) by @szokeasaurusrex - feat: Deprecate
useArtifactBundleJS option (#2348) by @szokeasaurusrex - fix(update): Properly handle errors when getting latest CLI version (#2370) by @szokeasaurusrex
- ci(docker): Add Craft targets for
docker(#2390) by @szokeasaurusrex - ci(docker): Enable caching of Docker builds (#2389) by @szokeasaurusrex
- ci(docker): Remove invalid argument (#2388) by @szokeasaurusrex
- ci(docker): Build each architecture natively (#2387) by @szokeasaurusrex
- build(docker): Build Docker image on host architecture (#2386) by @szokeasaurusrex
- build: Use hash instead of branch in GHCR tag (#2384) by @szokeasaurusrex
- build: Build Docker image in CI and publish to GHCR (#2383) by @szokeasaurusrex
- ci: Pin Actions runners' OS versions (#2353) by @szokeasaurusrex
- meta: Update LICENSE (#2380) by @szokeasaurusrex
- build: Update
urlcrate (#2379) by @szokeasaurusrex - docs: Explain why lint is disabled (#2371) by @szokeasaurusrex
- ref(sourcemaps): Fix
unnecessary_wrapsforadd_debug_id_references(#2369) by @szokeasaurusrex - ref(sourcemaps): Fix
unnecessary_wrapsforadd_sourcemap_references(#2368) by @szokeasaurusrex - ref(sourcemaps): Fix
unnecessary_wrapslint forSourceMapsProcessor::add(#2367) by @szokeasaurusrex - ref(sourcemaps): Make
lookup_posnot returnOption(#2366) by @szokeasaurusrex - ref: Make
Api::with_bodyreturnSelf(#2363) by @szokeasaurusrex - ref(api): Make
with_retryreturnSelf(#2365) by @szokeasaurusrex - ref(api): Make
progress_bar_modereturnSelf(#2364) by @szokeasaurusrex - ref(config): Fix
unnecessary_wrapslint forset_auth(#2362) by @szokeasaurusrex - ref(config): Remove unneeded
ResultfromConfig::from_file(#2361) by @szokeasaurusrex - ref: Enable
clippy::unnecessary_wrapslint (#2358) by @szokeasaurusrex - ci: Change lint action to
-D warnings(#2359) by @szokeasaurusrex - ref: Simplify
--log-levelparsing (#2356) by @szokeasaurusrex - docs: Correct typo in doc string (#2354) by @szokeasaurusrex
- build: Replace
dotenvwithdotenvy(#2351) by @szokeasaurusrex- This fixes a problem where multiline env variables were not supported in
.envfiles
- This fixes a problem where multiline env variables were not supported in
- build: Bump
symbolicto12.13.3(#2346) by @szokeasaurusrex - ref(api): Replace custom deserializer with derive (#2337) by @szokeasaurusrex
- ref(sourcemaps): Reduce sourcemap upload memory usage (#2343) by @szokeasaurusrex
- build: Update
memmap2(#2340) by @szokeasaurusrex - ref: Fix new clippy lints (#2341) by @szokeasaurusrex
- feat(dif): Fail
debug-files uploadwhen file is too big (#2331) by @szokeasaurusrex - ref(dif): Handle "too big" error with warning (#2330) by @szokeasaurusrex
- ref(dif): Create type for DIF validation errors (#2329) by @szokeasaurusrex
- ref(api): Remove unnecessary
collect(#2333) by @szokeasaurusrex
- feat(debugid): Update debug ID snippet to write on
globalThiswhen available (#2301) by @lforst
- build: Change release opt-level (#2325) by @szokeasaurusrex
- build: Make backtraces useable in release builds (#2324) by @szokeasaurusrex
- fix(chunking): Remove power-of-two chunk size restriction (#2312) by @szokeasaurusrex
We made several refactors and added several tests in this release. These changes should not affect users.
- ref(sourcemaps): Reword "no sourcemap ref" (#2320) by @szokeasaurusrex
- test(proguard): Add chunk upload tests (#2322) by @szokeasaurusrex
- ref(proguard): Use existing chunked upload logic (#2318) by @szokeasaurusrex
- ref(chunks): Remove
upload-difreference frompoll_assemble(#2321) by @szokeasaurusrex - ref(chunks): Make
render_detailtakeOption<&str>(#2317) by @szokeasaurusrex - ref(chunks): Extract upload logic from
upload_difs_chunked(#2316) by @szokeasaurusrex - ref(chunks): Rename
uploadmodule tooptions(#2315) by @szokeasaurusrex - ref(chunks): Make
ChunkOptionsastruct(#2314) by @szokeasaurusrex - ref(dif): Use
&strinDifUploadstruct (#2307) by @szokeasaurusrex - ref(dif): Genericize
poll_assemble(#2300) by @szokeasaurusrex - feat(release): Replace release bot with GH app (#2306) by @Jeffreyhung
- fix(proguard): Add leading
/to uploaded Proguard file name (#2304) by @szokeasaurusrex - ref(dif): Genericize
try_assembleoptionsparameter (#2299) by @szokeasaurusrex - ref(api): Rename
ChunkedUploadOptionsto indicate they are set by server (#2298) by @szokeasaurusrex - ref(proguard): Use
Chunked<ProguardMapping>for proguard upload (#2296) by @szokeasaurusrex - ref(chunks): Make
ChunkedDifRequesttakeCow<'_, str>forname(#2295) by @szokeasaurusrex - ref(proguard): Replace
MappingRefwithProguardMapping(#2294) by @szokeasaurusrex - ref(proguard): Create new
proguardutilssubmodule (#2293) by @szokeasaurusrex - ref(proguard): Directly open paths as
ByteView(#2292) by @szokeasaurusrex - ref(dif): Put hash in
ChunkedDifRequest(#2290) by @szokeasaurusrex - ref(chunks): Rename
Namedtrait toAssemblable(#2289) by @szokeasaurusrex - ref(dif): Make
poll_assemblegeneric (#2287) by @szokeasaurusrex - ref(dif): Rename
ToAssembletrait - ref(dif): Make
try_assemble_difgeneric - ref(dif): Replace
ChunkedDifMatchwith genericChunkedObject - ref(utils): Use
usizeinget_sha1_checksumssignature - test(chunk-upload): Test chunk uploading only some chunks missing
- ref: Fix new Clippy lints
- test(chunk-upload): Test upload where only some files need upload (#2276)
- test(chunk-upload): Test chunk upload with many chunks (#2275)
- ref(test): Use constant for expected request boundary (#2277)
- test(chunk-upload): Add a test for uploading multiple debug files (#2274)
- ref(sourcemaps): Fix clippy lint
- ref(test): Introduce
assert_cmdtest manager - test(chunk-upload): Add test for full chunk upload
- fix(sourcemaps): Correctly read files with debug_id and debugId (#2268) by @loewenheim
- build: Remove unused dependencies (#2255) by @szokeasaurusrex
- ref(proguard): Define environment variable name in constant (#2265) by @szokeasaurusrex
- ref(test): Remove redundant line (#2266) by @szokeasaurusrex
- fix(proguard): Wait until chunks are assembled (#2267) by @szokeasaurusrex
- feat(proguard): Introduce experimental chunk uploading feature (#2264) by @szokeasaurusrex
- feat: Read debug IDs from
debugIdfield in sourcemaps (#2222)
- ref(proguard): Delete pointless code (#2263) by @szokeasaurusrex
- fix: Improve error handling in dif.rs (#2225)
- ci: Run codeql-analysis on all PRs (#2224)
- build: Add
assert_cmdas a dev dependency - ref(api): Remove dead code (#2217)
- ref: Remove
SENTRY_DUMP_REPONSEenvironment variable (#2212) - ref(utils): Remove
allow(dead_code)from update utils (#2216) - ref(api): Remove blanket
allow(dead_code)(#2215) - ref(api): Only allow dead code where needed (#2213)
- ref(test): Broaden
with_header_matchertypes (#2261) by @szokeasaurusrex - ref(test): Accept
impl Into<Matcher>forwith_matcher(#2260) by @szokeasaurusrex - ref(test): Align
with_reponse_bodyparameter tomockito(#2259) by @szokeasaurusrex - ref(test): Make mock builder status default to
200(#2258) by @szokeasaurusrex - ref(test): Change chunk upload options org (#2257) by @szokeasaurusrex
- ref(test): Bump
mockitomocking library (#2254) by @szokeasaurusrex - ref(test): Use
TestManagerin new chunk upload test (#2253) by @szokeasaurusrex - ref(test): Add
TestManagerstruct for uniform test setup (#2252) by @szokeasaurusrex - ref(tests):
mock_common_endpointsrefactor (#2251) by @szokeasaurusrex - ref(tests): Simplify
mock_common_upload_endpoints(#2250) by @szokeasaurusrex - ref(tests): Extract
mock_common_upload_endpointsinto module (#2249) by @szokeasaurusrex - ref(tests): Rename
mockingtomock_endpoint_builder(#2248) by @szokeasaurusrex - ref: Fix typo in tests (#2243) by @szokeasaurusrex
- ref(test): Rename
EndpointOptionstoMockEndpointBuilder(#2247) by @szokeasaurusrex - ref(test): Refactor
EndpointOptions(#2246) by @szokeasaurusrex - ref(test): Privatize struct fields of
EndpointOptions(#2245) by @szokeasaurusrex - ref(test): Move mock endpoint code to module (#2244) by @szokeasaurusrex
- test: batch send-event tests (#2230) by @szokeasaurusrex
- test: Run
trycmdtests withRUST_BACKTRACE=0(#2242) by @szokeasaurusrex - test(send-metric): Batch tests together (#2241) by @szokeasaurusrex
- test(react_native): Bubble up
target_os(#2240) by @szokeasaurusrex - test(projects): Batch tests together (#2239) by @szokeasaurusrex
- test(monitors): Batch monitors tests (#2236)
- test(monitors): Delete unneeded monitors test (#2237)
- test(organizations): Batch tests together (#2238)
- test(events): Batch tests together (#2235)
- test(debug-files): Batch tests together (#2234)
- test: batch token validation tests (#2231)
- test: batch upload-proguard tests (#2233)
- test: batch update tests (#2232)
- test: Batch org token tests together (#2229)
- test: Batch
bash_hooktests together (#2226) - test: batch login tests (#2228)
- test: Batch send envelope tests together (#2227)
- test(debug-files): Add test for
assembleendpoint call - ref(tests): Decouple test env vars from trycmd code
- deps: Update symbolic to 12.12.0 (#2210) by @loewenheim
- meta: Remove
.vscodedirectory from version control (#2208) by @szokeasaurusrex - build(windows): Statically link CRT on Windows (#2203) by @szokeasaurusrex
- ref: Update
mainto indicate it does not return (#2192) by @szokeasaurusrex - ref: Indicate that
commands::maindoes not return (#2191) by @szokeasaurusrex
- feat(errors): Print backtrace when
RUST_BACKTRACE=1(#2189) by @szokeasaurusrex - fix(crons): Don't panic when passing
--auth-token(#2172) by @szokeasaurusrex
All Xcode uploads are now executed in the foreground, which should allow for easier debugging of any problems that occur while uploading files during the build process, since errors will be logged directly within Xcode.
With this change, the --force-foreground flag is no longer needed, since we always upload in the foreground. The flag is now a deprecated no-op.
There are no code changes in this release. It is being performed to test an update to the release build process.
There are no code changes in this release. It is a re-release of 2.36.4, which we are making because 2.36.4 and 2.36.3 failed to publish to PyPI.
This releases fixes includes a bugfix (#2171 by @szokeasaurusrex) for #2169. The bug caused any command run with
sentry-cli monitors run to not be executed whenever sending the cron checkin to Sentry failed, e.g. during a Sentry
outage or due to some other network failure. With the bugfix, we log the error and execute the program even when there
was an error sending the checkin.
We recommend that all users using sentry-cli monitors run upgrade to Sentry CLI version 2.36.4 immediately.
- build: Upgrade
curl-sys(#2164) by @szokeasaurusrex
- fix(deploys): Honor
--projectindeploys newsubcommand (#2160) by @szokeasaurusrex - ref(metrics): Deprecate
send-metriccommands (#2154) by @szokeasaurusrex
- Fix a bug where background Xcode uploads sometimes failed
- Log when file not added to source bundle (#2146) by @szokeasaurusrex
- Bump Symbolic to
12.11.0. This fixes a bug where uploading source files sometimes failed when any of the files were not UTF-8 encoded
- fix: Only warn about mismatched URLs when they are different (#2143) by @szokeasaurusrex
- feat(proguard): Retry
upload-proguardon 507 status (#2141) by @szokeasaurusrex
- build: Bump symbolic to
12.10.1(#2134) by @szokeasaurusrex- This includes an upstream bugfix for a bug that prevented debug file uploading with sources when any of the sources were not valid UTF-8.
- fix(debugIds): Always instantiate global
Errorclass in debugId injection snippet (#2132) by @Lms24
- fix(react-native): Fix RN 0.75 node binary build fail (#2131) by @krystofwoldrich
- feat: Prefer org auth token URL over manually provided URL (#2122) by @szokeasaurusrex
- meta: Update version pin README.md (#2123) by @szokeasaurusrex
- build: Update symbolic dependency to 12.10.0 (#2120) by @trzeciak
This release contains a fix for a bug where auth tokens would, under the following circumstances, be logged to stdout:
- The auth token was passed as a command line argument to Sentry CLI (via
--auth-token) - The log level was set to
infoordebug- The default log level is
warn, so users using the default log level were unaffected by this bug
- The default log level is
We now redact the --auth-token argument and anything else that looks like it might be an auth token when logging the
arguments that the Sentry CLI was called with (see #2115 and #2118 for details).
- ref(token): Use secrecy crate to store auth token (#2116) by @szokeasaurusrex
- fix: Improve "project not found" message (#2112) by @szokeasaurusrex
- fix: Improve "release not found" message (#2112) by @szokeasaurusrex
- Fall back to co-location heuristic if sourcemap url appears remote (#1871) by @brettdh
- fix(sourcebundle): Skip non-UTF8 files (#2109) by @loewenheim
- Recognize new format user tokens (prefixed with
sntryu_) (#2100) by @szokeasaurusrex - Fix regression in
files upload(#2107) - docs: Fix typos (#2102) by @kianmeng
- docs(id-support): Document that -p and -o arguments accept slugs and IDs (#2101) by @iamrajjoshi
- chore(deps): bump tar from 6.1.13 to 6.2.1 (#2027) by @dependabot
- build(deps): bump braces from 3.0.2 to 3.0.3 (#2088) by @dependabot
- build(deps): bump ws from 7.5.9 to 7.5.10 (#2091) by @dependabot
- build: Bump
curlto0.4.46inCargo.toml(#2099) by @szokeasaurusrex - build: Update
curl-sys(#2075) by @szokeasaurusrex
Release performed for technical reasons. This release is identical to 2.32.0.
- docs(commands): Add info about clap Derive API (#2066) by @elramen
- feat(metrics): Add send-metric command (#2063) by @elramen
- feat(auth): Allow global config to be located in XDG directory (#2059) by @elramen
- fix(commands): Add missing env vars for release name detection (#2051) by @elramen
- Fix regressions related to
releases set-commitscommand, which were introduced in 2.31.1.
- fix(proguard): Don't require auth token with --no-upload flag (#2047) by @markushi
- fix(debug-files): Improve error when
checkpassed a directory (#2034) by @szokeasaurusrex - fix(xcode): Improve Xcode error msg when config load fails (#2028) by @elramen
With this change, dSYM uploads to the legacy endpoint and release file uploads are routed to the region URL directly ( e.g. to https://us.sentry.io instead of https://sentry.io). This change only affects users using the CLI to interact with SaaS Sentry; everything stays the same for self-hosted users.
- build:
make lintonly with default features (#1994) by @szokeasaurusrex
Release made for technical reasons. There are no code changes in this version.
Release made for technical reasons. There are no code changes in this version.
- fix: Handle .env errors (#1987) by @szokeasaurusrex
This release re-enables Python releases. There are no code changes.
- fix(sourcemaps): allow complex file extensions (#1976) by @szokeasaurusrex
The monitors run subcommand now no longer accepts --auth-token or other means of authentication using token-based
auth. It is now required to use DSN based auth to monitor cron jobs using the sentry-cli.
Updated version 2.29.0 changelog. No code changes.
This release fixes the behavior of sourcemaps inject and sourcemaps upload. We now treat minified and non-minified
source files the same way in both commands, which was always the desired behavior, and is also consistent with our JS
bundler plugins.
Please be aware that from now on, sourcemaps inject will inject debug IDs into all JS source files at the path
provided to the command. If you only wish for some of the files to have debug IDs injected, you need to modify the
path(s) passed to sourcemaps inject or you need to use the --ignore or --ignore-file options to exclude the files
you do not wish to inject the debug IDs into.
In the sourcemaps upload command, we have eliminated the "Minified Scripts" section in the Source Maps Upload Report.
Instead, these minified scripts will appear under "Scripts."
Sentry CLI now validates that you have provided an auth token whenever you run a command that requires authentication to succeed. If you fail to provide an auth token when running such a command, the Sentry CLI will exit with an error message explaining that the auth token is required but missing.
- fix(sourcemaps): Add
.cjsand.mjsto defaultsourcemaps uploadextensions (#1961) by @szokeasaurusrex - fix(xcode): Only parse Plist when required during RN source maps upload (#1940) by @krystofwoldrich
- fix(files): Fail when deleting all files fails with 404 error (#1949) by @szokeasaurusrex
- fix: support windows on arm via x64 binary (#1943) by @MarshallOfSound
- fix(deploys): Revert "fix(deploys): Use
--projectargument (#1930)" (#1942) by @szokeasaurusrex
- fix(deploys): Use
--projectargument (#1930) by @szokeasaurusrex
- New cron monitor configuration options (#1922) by @szokeasaurusrex
- The
sentry-cli monitors runcommand now has two new command line arguments:--failure-issue-thresholdand--recovery-threshold. These arguments allow the user to specify the number of consecutive failed checkins that trigger an issue to be created and the number of successful checkins that trigger the issue to be resolved, respectively.
- The
- fix(sourcemaps): print source map URL instead of {source_url} on error (#1917) by @jbg
- Prefer
--urlargument over empty auth token URL (#1914) by @szokeasaurusrex - feat(xcode): Print redirected output file path when going to the background (#1920) by @krystofwoldrich
- Correct error message for querying events/issues on non-existing project. The message now states that the project could not be found, instead of stating that the organization could not be found. (#1916) by @szokeasaurusrex
- Remove
dsyms/associateAPI usage (#1886) by @Swatinem
- meta: Revert "meta: Temporarily disable npm targets for v1 release (#1903)" (#1908) by @szokeasaurusrex
- Add "--environment" option to "monitors run" (supplement "-e" shorthand) (#1881) by @skalee
- meta: Temporarily disable npm targets for v1 release (#1903) by @lforst
- No documented changes.
- No documented changes.
- fix: Upload Xcode debug files and source maps background upload (#1896) by @krystofwoldrich
- revert: Fixed a
curlissue on Windows (#1815) by @xpirt
- revert: Fixed a
- fix(api): Fix panic that occurred when
sentry-cli logincalled with--auth-token(#1893) by @szokeasaurusrex
- Revert #1885, which was causing an error in the
sentry-cli logincommand (#1889) by @szokeasaurusrex
- feat(sourcemaps): Improve
sourcemaps resolvecommand output (#1880) by @szokeasaurusrex - feat(api): Validate Auth Tokens client-side (#1885) by @szokeasaurusrex
- ref: Removed unneeded identity
map(#1883) by @szokeasaurusrex - ci: Skip fallback download in tests (#1878) by @lforst
- ref: Emit better log message for fallback postinstall script (#1877) by @lforst
- fix: Manually download binary if optional dependency binary can't be found after installation (#1874) by @lforst
- fix(hybrid-cloud): Updates organization list to handle single org fanout (#1872) by @GabeVillalobos
- ref: upgrade git2 so safe.directory is implemented more correctly (#1866) by @asottile-sentry
- fix(hybrid-cloud): Adds region fan-out to organizations list command (#1860) by @GabeVillalobos
- fix: install the x64 cli on windows-on-arm hosts (#1858) by @MarshallOfSound
- build: Bump tempfile dependency (#1857) by @szokeasaurusrex
- build: Fix CLI in Xcode Cloud by Disabling Link-time Optimizations (#1855) by @szokeasaurusrex
- chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 (#1675) by @dependabot
- chore(deps): bump word-wrap from 1.2.3 to 1.2.5 (#1856) by @dependabot
- feat(api): More descriptive
releases propose-versionerror (#1854) by @szokeasaurusrex - meta: Restructure Bug Report Issue Template (#1852) by @szokeasaurusrex
- fix(sourcemaps): don't attempt to treat remote URL as a local file path (#1850) by @brettdh
- feat(api): Validate
monitors runcommand's--timezoneargument (#1847) by @szokeasaurusrex
ref: Transition to binaries over npm (#1836)
This release contains no changes and was done for technical purposes.
This release contains no changes and was done for technical purposes.
- feat: Add opt-in code path to use binary distributions instead of downloaded CLI (#1835)
- build: Add optional dependencies to main cli package for binary distributions (#1834)
- feat: Publish binary distributions on npm (#1833)
- build: Add placeholder packages for npm binary distributions (#1828)
This release contains no changes and was done for technical purposes.
- Improved error message if a project slug is missing (#1811) by @cleptric
- Fixed a
curlissue on Windows (#1815) by @xpirt - Added support for monitor upserts (#1807) by @szokeasaurusrex
- Fixed a bug in sourcemap
sourceRoothandling (#1818) by @loewenheim
- feat: Deprecate
sourcemaps explain(#1797) by @loewenheim - Allow log-level parameter to affect log from reading config (#1789) by @szokeasaurusrex
- feat: Add shell completion generation (#1775) by @NickyMeuleman
- fix: Log messages for invalid objects (#1771) by @loewenheim
- fix(rn): Remove hermesc envs if hermes is disabled (#1754) by @krystofwoldrich
- fix: Don't fail on duplicate proguard release association (#1762) by @loewenheim
- fix: Make URL in org auth tokens optional (#1766) by @loewenheim
- Explain how to update in the README (#1767) by @philipphofmann
- fix: Strip
/api/0prefix from endpoint URLs (#1752) by @loewenheim
- feat:
loginnow opens the org auth token creation page (#1737) by @loewenheim - feat: Debug IDs are now supported in Hermes bundles (#1667) by @krystofwoldrich
- feat: The root sourcemap for RAM bundles is now uploaded, improving support for preloaded modules (#1743) by @krystofwoldrich
- feat: Commands with a
--waitflag now also have a--wait-for <SECS>option that additionally puts a limit on the wait time. (#1748) by @loewenheim - deps:
symbolicupdated to 12.4.1 (#1749) by @loewenheim
- fix(sourcemaps): Query parameters and fragments are removed from source mapping URLs (#1735) by @loewenheim
- fix(sourcemaps): Debug ID injection is significantly faster (#1736) by @loewenheim
- fix: Always poll artifact assembly, even if nothing was uploaded (#1726) by @loewenheim
- feat(rn): Allow custom bundle command and Expo export:embed in xcode wrap calls (#1723) by @krystofwoldrich
- feat(bash-hook): Add support for
SENTRY_RELEASEin bash-hook (#1720) by @boozec - misc: Add CONTRIBUTING.md for working with integration tests (#1716) by @kamilogorek
- test: Prevent .sentryclirc being read from global config (#1716) by @kamilogorek
- test: Do not sign git tags and commits during tests (#1716) by @kamilogorek
- test: Make sure to always skip opening editor in git-based tests (#1716) by @kamilogorek
- deps: Bump sourcemap to 6.4.1 (#1715) by @kamilogorek
- fix(injection): Make debug id injection sound (#1693) by @loewenheim
- fix(set-commits): Allow --initial-depth to be specified alongside --auto (#1703) by @kamilogorek
- feat: Allow the CLI binary path to be overridden (#1697) by @koddsson
- fix: Correctly detect local binary when installing via npm (#1695)
- feat(issues): Add
issues listcommand (#1349) - feat(inject): Make sourcemap discovery smarter (#1663)
- feat(config): Support organization-based tokens (#1673)
- feat(proguard): Create a weak release association with a proguard mapping file (#1688)
- fix(inject): Make pragma detection stricter (#1648)
- fix(inject): Mark paths argument as required (#1662)
- fix(debug-files): Add wasm to supported debug-files upload formats (#1683)
- fix(sourcemaps): Sourcemap rewriting no longer deletes debug ids when uploading (#1686)
- ref(sourcemaps): Do not dedupe artifacts if server won't handle it due to url limit (#1680)
- feat: Don't upload chunks that are already on the server (fixed version) (#1660)
- Revert "feat: Don't upload chunks that are already on the server (#1651)"
- fix: Make artifact bundle creation deterministic (#1652)
- feat: Don't upload chunks that are already on the server (#1651)
- fix(inject): Add semicolon at the end of inject snippet (#1643) by @kamilogorek
- ref(debug-files): Use temp file handle instead of keeping zips in memory (#1641) by @kamilogorek
- feat(crons): Bring back legacy token-auth checkin API (#1634) by @evanpurkhiser
- ref: Unhide sourcemaps inject command as its already GA (#1631) by @kamilogorek
- ref: Match case-insensitive value when finding repo by name (#1629) by @maxnowack
- ref(inject): Inject code snippet at the start (#1567) by @loewenheim
- feat(crons): Replace API checkins w/ send_envelope (#1618) by @evanpurkhiser
- ref(types): Add dedupe to available TS types (#1619) by @kamilogorek
- ref(debug-files): Polish after-upload message output (#1620) by @kamilogorek
- ci: Use macos-latest to run build workflow (#1617) by @kamilogorek
- Update
sentrySDK to fix sending raw envelopes (#1616) by @Swatinem - misc: Add custom issues templates (#1613) by @kamilogorek
- ref: Remove proguard from debug-files upload types (#1615) by @kamilogorek
- ref(inject): Constrain file search by extensions (#1608) by @loewenheim
- feat(crons): Allow specifying checkin environment (#1599) by @evanpurkhiser
- chore(crons): Make monitors command visible (#1600) by @evanpurkhiser
- feat: Print bundle id after artifact bundle creation (#1593) by @loewenheim
- ref: Use 'embedded sourcemap' label for upload log (#1595) by @kamilogorek
- Add ability to send an Event as Raw Envelope (#1582) by @Swatinem
- feat(js): Skip null as option same as undefined (#1579) by @mitsuhiko
- Add command
sentry-cli debug-files bundle-jvmfor bundling Java (and other JVM based languages) sources (#1551) by @adinauer
- feat(debug_id): More determinism for JS debug IDs (#1577) by @mitsuhiko
- fix: inject only injects into js files (#1571) by @mitsuhiko
- feat: Add deterministic debug IDs for minified JS files (#1570) by @mitsuhiko
- fix(build) Hotfix allowing extra binaries during wheel build (#1575) by @ashwoods
- fix(inject): Don't inject non-js files (#1572) by @loewenheim
- feat(bash-hook): Add ability to specify tags for bash hook script (#1560)
- feat(sourcemaps): Add
--use-artifact-bundleflag to force Artifact Bundles usage (#1557) (#1559) - ref(sourcemaps): Check for release or debug ids before upload (#1561)
- ref(sourcemaps): Skip empty bundle uploads (#1552)
- ref(inject): Inject files with embedded sourcemaps (#1558)
- ref(inject): Inject regardless of whether a sourcemap is present (#1563)
- fix(inject): Use
File::createto make sure files are truncated (#1562)
- fix: Attach checkin payload to monitor requests (#1550) by @kamilogorek
- Use a deterministic bundle ID (#1546) by @mitsuhiko
- ref(crons): Prefer DSN based auth (#1545) by @kamilogorek
- fix(inject): Improve fixup_js_file (#1533) by @loewenheim
- feat(inject): Handle relative and absoule sourcemap URLs (#1530) by @loewenheim
- ref(monitors): Prefer slugs over guids (#1540) by @evanpurkhiser
- feat(auth): Support DSN auth for the API client (#1536) by @evanpurkhiser
- ref(crons): monitors command is not legacy atm (#1538) by @evanpurkhiser
- fix(help): Consistent wording for API keys (#1539) by @evanpurkhiser
- fix: Make sourcemap injection on upload opt-in (#1534)
- fix: Properly overwrite the sourcemap when injecting (#1525)
- ref: Allow multiple paths in
sourcemaps inject(#1523)
- feat: Implement new chunk based upload for standalone artifact bundles (#1490)
- feat: Inject sourcemap debug ids by default when performing
sourcemaps uploadand print injection report (#1513) - ref: Use recursive walk instead of globbing when looking for
sourcemaps injectfiles (#1504) - ref: When injecting sourcemap debug ids, make sure that
sourceMappingURLcomment is always kept at the end of a file (#1511)
- fix: Include sources referenced but not embedded by an object file (#1486)
- chore: Reapply clap update to v4 and fix releases subcommands (#1500)
- deps: Update rust-sourcemap to 6.2.3 (#1502)
- ref: fix macos wheel tags, add musllinux tags (#1497) by @asottile-sentry
- No documented changes.
- fix: Revert clap-rs v4 update and add regression test for 'releases files upload-sourcemap' (#1496) by @vaind
- ref: also distribute sentry-cli as a pip package (#1494) by @asottile-sentry
- ref: Support lower and uppercased env vars for npm cache (#1493) by @kamilogorek
- feat: Add sourcemaps inject command (#1469) by @loewenheim
- chore: update clap to v4 (#1489) by @vaind
- chore: update clap deprecations (#1487) by @vaind
- deps: Update symbolic to 12.0.0 (#1488) by @loewenheim
- feat: add new
debug-files print-sourcescommand (#1476) by @vaind
- feat: Added the
--rawflag tosend-envelopeto allow sending envelopes without parsing or validation. (#1468) - feat: extract and upload embedded Portable PDB from PE (#1463)
- ref(monitors): Drop passing
SENTRY_TRACE_ID(#1472) - ref(monitors): Rename MonitorStatus -> MonitorCheckinStatus (#1471)
- ref: Deduplicate artifacts upload using queried checksums (#1456)
- ref: Add better debug message for malformed config files (#1450)
- feat: Enable portable PDB debug-files upload via Symbolic v11 (#1440)
- feat: Add support for Cloudflare Pages when detecting a release name (#1419)
- feat: Pass
SENTRY_TRACE_IDto executed process inmonitors(#1441) - feat: Pass
SENTRY_MONITOR_IDto executed process inmonitors(#1438) - fix: Prevent Sentry from attempting to access unbound variables in
bash-hook(#1415)
- feat: Report spawn failures for monitors by @mitsuhiko
- fix: Allow for path based sourcemaps in validation report @kamilogorek
- feat: Add
--decompressoption to JS types (#1402) by @FSchieber - fix: Always expand Plist vars during XCode upload (#1403) by @krystofwoldrich
- feat: Replace
npmlogdependency and restore support for Node v10 (#1392) by @mydea - fix: Handle closed connection when fetching
sentry-clibinary via JS script (#1389) by @kamilogorek - fix: Re-add
server_namein events viacontextssentry-rust feature (#1383) by @bengentil - ref: Add length limit validation to
orgarguments (#1386) by @olksdr
- fix: Replace usage of eval to obfuscate binary path from bundlers (#1374) by @timfish
- fix: Use forward slash for Windows binary location path (#1369) by @timfish
- fix: Add + to reserved query characters in url encoding (#1365) by @kamilogorek
- feat: Add
headersoption to the JavaScript API (#1355) by @thibmeu - fix: Add % and / to reserved path characters in url encoding (#1364) by @kamilogorek
- feat: Add support for Portable PDB debug files (#1345) by @Swatinem
- fix: paths argument for debug-files find should take a value (#1346) by @kamilogorek
- chore: reuse danger workflow (#1332) by @vaind
- fix: Update symbolic to fix spurious EOF errors (#1339) by @Swatinem
- fix: Break out of the loop when we reach cursor limit for list_release_files (#1337) by @kamilogorek
- ref: Provide better user messages for properties file configs (#1336) by @kamilogorek
- feat(sourcemaps): Add no-dedupe flag for skipping deduplication (#1334) by @kamilogorek
- misc: Add note about MSVC requirement (#1333) by @kamilogorek
- ref: Use better artifacts url resolution for sourcemaps explain (#1329) by @kamilogorek
- feat: Add top-level events command with list subcommand (#1307) by @dcariotti
- fix: Use direct plist env vars fallback when called within xcode itself (#1311) by @kamilogorek
- fix: Fallback to xcodebuild vars for faulty Info.plist files (#1310) by @kamilogorek
- ref: Log warning when debug source excedes item size limit (#1305) by @kamilogorek
- feat: Allow for selecting frame in sourcemaps explain (#1293) by @kamilogorek
- misc: 1.74.5 changelog (#1291) by @kamilogorek
- chore: add missing changelog entry for 1.74.4 (#1289) by @vaind
- ref: Print better error when processing appcenter paths (#1287) by @kamilogorek
- fix: Make sure release exists before querying for artifacts (#1284) by @kamilogorek
- ci: Disable rustup self-update (#1278) by @kamilogorek
- feat: Add decompress flag to sourcemaps and files upload (#1277) by @kamilogorek
- feat: Use checksum to dedupe uploaded release artifacts (#1275) by @kamilogorek
- ref: Dont print install progressbar for nonTTY and CI=1 (#1270) by @kamilogorek
- fix: move dist option to SentryCliUploadSourceMapsOptions (#1269) by @ikenfin
- fix: Allow for using --auth-token with login command (#1266) by @kamilogorek
- deps: Update all Rust dependencies (#1265) by @kamilogorek
- fix: Increase TempFile robustness on Windows (#1256) (#1263) by @kamilogorek
- ref: Remove confusing ending dots from command logs (#1261) by @kamilogorek
- fix: Correct typo in sourcemaps explain output (#1258) by @huwq1987
- fix: Use first frame that has context-line in explain (#1255) by @kamilogorek
- feat: Add send-envelope command (#1254) by @kamilogorek
- feat: Compute and upload il2cpp line mappings (#1248) by @loewenheim
- ref: Skip protected zip files when uploading debug files (#1245) by @kamilogorek
Problem statement:
Uploading source maps is a common source of frustration. Source maps are also one of the great value adds to our in product experience. We want to automate supporting customers with frequent issues.
https://docs.sentry.io/platforms/javascript/sourcemaps/troubleshooting_js/
_Outcome: _
Developers will be provided with a tool to help them discover any issues they may have when uploading source maps
Sentry support will have a tool and docs to suggest to customers to hopefully first discover issues, and second at least know what their problem is NOT.
Key measurements:
- qualitative: Is this useful for customers and support
- quantitative: Can we try to influence the number of Zendesk tickets
- quantitative: Can we influence the resolution time of source maps related Zendesk tickets
Can we find a way to track in zendesk the number of times the sentry-cli “y-tho“ functionality was useful
Additional
This is something users would run locally so I do not think we can track usage exactly what was not covered in y-tho
- Verify your source maps are built correctly
- Verify your source maps work locally
- Verify your source files are not too large
- this is a fuzzy requirement today in sentry
- Verify artifacts are not gzipped
- Verify workers are sharing the same volume as web (if running self-hosted Sentry via Docker)
- Should spit out an easily readable and easily copy and paste - to put into ZenDesk or elsewhere for support colleagues
Possible second milestone:
https://github.com/getsentry/rust-sourcemap/tree/master/cli
- In sentry error incorrect source map location
- this helps when producing sourcemaps locally then line and column
- this verify that it resolves locally
- if yes then it is a problem in between on sentry server side or upload
- 1st Verifies what you upload to sentry is exactly what you upload to sentry
- 2nd step from “y-tho” ensure previous steps are not for waste
- What is being automated?
- on release page you have your files (release artificats)
- download
- manually check the line number matches the error
- if correct then data is correct
- then you know an error with cli and not with the source maps that were uploaded
- on release page you have your files (release artificats)
By: @kamilogorek (#1235)
- ref: Change comment format for find_matching_artifact (#1243) by @kamilogorek
- ref: Log correct AppCenter error message (#1243) by @kamilogorek
- fix: Respect no-zips option for debug files upload (#1239) by @saf-e
- chore: fix recommended VS Code extension name (#1240) by @vaind
- ref: Rename VERSION to SENTRY_CLI_VERSION in install readme (#1227) by @kamilogorek
- feat: Add organizations list command (#1213) by @kamilogorek
- docs(cli): Sync get-cli readme with our docs; add version specifier (#1225) by @kamilogorek
- test: Add integration tests for projects command (#1212) by @kamilogorek
- fix: replace git.io links with redirect targets (#1209) by @asottile-sentry
- ref: Prevent @vercel/nft and similar tools from including binary file in their bundles (#1207) by @kamilogorek
- ref: Use node-fetch@v2 for the simplicity sake (#1206) by @kamilogorek
- ref: Make
--headera global flag so its position independent (#1194) - ref: Restore
monitorsas hidden command w. integration tests (#1196) - ref: Restore
bash-hookas hidden command w. integration tests (#1197)
- fix: Remove
fetch.FetchErrorusage in favor of catch-all clause (#1193) by @kamilogorek - ref: Restore and hide legacy aliases from 1.x for backward compatibility (#1192) by @kamilogorek
- fix: Allow hyphenated release names with any flags position (#1187) by @kamilogorek
This is the first, long-overdue major release in over 5 years of sentry-cli's life. Some APIs were removed, some reworked, some newly added.
Most of introduced API changes are backward compatible through hidden aliases, so there is no immediate need for users developing 3rd party tools to make all the changes immediatelly. We do however encourage everyone to do it sooner or later, as deprecated items will be removed in the next major releases.
Breaking changes are denotated with (breaking) tag, and appropriate required changes are provided for each entry.
- feat: Add
debug-filescommand, which is a joined functionality ofdifutilandupload-difcommands. - feat: Add
deployscommand, which was extracted fromreleases deployssubcommand. - feat: Add
filescommand, which was extracted fromreleases filessubcommand. - feat: Add
sourcemaps uploadcommand, which was extracted fromreleases files upload-sourcemapssubcommand. - feat: Add
sourcemaps resolvecommand. - feat: Allow for specifying global
--headerargument, which supports multiple occurences, to configure outgoing requests - feat: Implement global
--quiet/--silentflags to allow silencingstdoutoutput (This flag is currently implemented only for selected subcommands)
- ref: Remove
react-native codepushsubcommand (usereact-native appcenterinstead) (breaking) - ref: Remove
react-native-gradleandreact-native-xcodecommands (usereact-native gradleandreact-native xcodeinstead) (breaking) - ref: Remove
crash_reportingrelated code andwith_crash_reportingcrate feature (no required changes) (breaking) - ref: Remove
SENTRY_NO_PROGRESS_BARenv var in favor ofSENTRYCLI_NO_PROGRESS_BAR(rename env variable) ( breaking) - ref: Hide
difutil idsubcommand (usedebug-files checkinstead) - ref: Hide
upload-dsymcommand (usedebug-files uploadinstead) - ref: Make
releases upload-sourcemaps --rewritea default behavior now ref: Removerestored in 2.0.2 as hidden aliasupload-dsymcommand (usedebug-files uploadinstead) (breaking)ref: Removerestored in 2.0.2 as hidden aliasdifutil idsubcommand (usedebug-files checkinstead) (breaking)ref: Remove- restored in 2.0.3 as hidden commandmonitorscommand (support for this feature has been dropped) (breaking)ref: Remove- restored in 2.0.3 as hidden commandbash-hookcommand (use1.xif you still need the functionality) (breaking)
- ref: Update minimal required
nodeversion tov12(update node version) (breaking) - ref: Rename
--headerargument ofreleases files uploadcommand to--file-header(rename flag) (breaking) - ref: Rename
CUSTOM_HEADERtoSENTRY_HEADERanddefaults.custom_headertohttp.header(rename env variable or update config file) (breaking) - ref: Make
ignore-emptyforreleases set-commitsa default behavior and hide--ignore-emptyflag (remove--ignore-emptyusage) (breaking)
- feat: Implement
--quietflag forreleases upload-sourcemapscommand - feat: Implement
--quietflag fordifutil checkcommand - ref: Make
--auth-tokena global argument - ref: Make all
ProgressBarinstances and logs always write tostderr - ref: Migrate error handling from
failuretoanyhowcrate
- deps: Add resolution to bump
ansi-regexto version^3.0.1(#1281) - ref: Increase
TempFilerobustness on Windows (#1256)
- ci: Add merge target (f9a2db3) by @kamilogorek
- ref: Prevent @vercel/nft and similar tools from including binary file in their bundles (#1207) by @kamilogorek
- deps: Update symbolic and git-rs crates (#1170) by @kamilogorek
- ref: Filter non-error goblin logs (#1169) by @kamilogorek
- ref: Use provided version in release log messages (#1162) by @kamilogorek
- revert: ref: Dont run install script using node binary #1151 (#1155) by @kamilogorek
- ref: Make org and project flags position independent (#1153) by @kamilogorek
- ref: Dont run install script using node binary (#1151) by @kamilogorek
- feat: Add show-projects and show-commits flags to 'releases info' command (#1144) by @kamilogorek
- ref: Rework find_id function of difutil find (#1149) by @kamilogorek
- ref: Rework find_matching_rev tests to not use our real repo history (#1147) by @kamilogorek
- deps: Update git2 crate to 0.14.1 to support custom git extensions (#1140) by @kamilogorek
- ci: Change stale GitHub workflow to run once a day (#1141) by @kamilogorek
- install: Rename SENTRY_NO_PROGRESS_BAR flag to SENTRYCLI_NO_PROGRESS_BAR (#1132) by @kamilogorek
- feat: Allow for using local binary through SENTRYCLI_USE_LOCAL env (#1129) by @kamilogorek
- ref: Dont panic on malformed xcodeproj directories (#1127) by @kamilogorek
- feat: Add checksum validation for installed binaries (set
SENTRYCLI_SKIP_CHECKSUM_VALIDATIONto opt-out) (#1123) - fix: Detect unwind and debug information in files linked with
gold(#1124) - ref: Silence progress bar in CI environments by default (#1122)
- feat: Use default xcode values for plist struct (#1111)
- fix: Fixes a panic when inspecting debug files larger than 4GB (#1117)
- ref: Update log message when bundle ID is missing (#1113)
- fix: Dont include
debug_idduring assemble when not PDBs are not supported (#1110) - ref: Remove all release files instantaneously with
--allflag (#1108)
- feat: Add
CUSTOM_HEADERsupport to JS wrapper (#1077) - feat: Add
SENTRYCLI_SKIP_DOWNLOADflag for preventing download (#1074) - feat: Allow for configuring max item size for dif bundles (#1099)
- fix: Prevent daemonize mode from crashing upload process (#1104)
- fix: Restore logger initialization (#1102)
- ref: Box
ParseDif::Objectvalue to prevent large enum variant (#1094) - ref: Rename ini group from
dsymtodifwith a fallback (#1103) - ref: Show
projectflag for releases command (#1065)
- feat: Add optional positional argument to
send-eventthat allows to specify a path to JSON serialized events (#1058) - fix: Handle
SENTRY_CLI_NO_EXIT_TRAPunbound variable (#1059)
- feat: Add
SENTRY_CLI_NO_EXIT_TRAPflag to control EXIT trap inbash-hookcommand (#1050) - fix: Remove warning about relative urls for chunk uploads (#1054)
- fix: Typo in
vscRemoteTS type (#1052) - fix: Use internal timer for ProgressBar duration (#1055)
- ref: Update dockerfile alpine image (#1057)
- feat: Add
no-uploadflag forupload-difcommand (#1044) - feat: Add support for glob patterns in
upload-sourcemapscommand (#1048) - feat: Allow to load dotenv from non-standard path through
SENTRY_DOTENV_PATH(#1046) - fix: Follow symlinks when traversing during sourcemaps upload (#1043)
- ref: Use
SOURCE_VERSIONfirst prior toHEROKU_SLUG_COMMITin Heroku (#1045)
- misc: Re-release of
1.69.0due to malformed artifacts
- feat: Print upload context details (#1016)
- feat: Allow for changing log stream through
SENTRYCLI_LOG_STREAMvariable (#1010) - fix: Set archString to
armv7whenarch="arm"(#1024) - fix: Dont render progress bar when content length is missing (#1011)
- fix: Do not supply
debug_idfor object files (#981) - ref: Update
symbolicto8.3.1(#1033) - ref: Hide
upload-symbol-mapsflag forupload-difcommand (#1017)
- feat: Add ability for
includein JS sourcemap upload options to be an object (#1001)
- fix: Correctly resolve paths with hashes in
url_to_bundle_path(#1000) - ref: Provide JSDocs for TS typings, change
started/finishedtonumber|string, addignoreEmptyto JS API (#999) - ref: Add
npm_config_cache_folderto function of getting cache (#998)
- feat: Print sourcemaps/files operations timings information (#995)
- feat: Add
--ignore-emptyflag toreleases set-commitcommand, that will not bail command when no patchset is created (#993) - feat: Add
--rawand--delimiterflags toreleases listcommand (#994)
- feat: Allow to define a custom
releaseanddistfor XCode SourceMaps upload (#967) - feat: Support custom request header through
CUSTOM_HEADERenv variable andhttp.custom_headerconfig (#970) - fix: Add missing
ignoreMissingflag forsetCommitcommand to JS API (#974) - fix: Change ignore-missing to flag with 'long' modifier (#965)
- feat: Allow for ignoring missing commits in set-commit with
--ignore-missingflag (#963) - feat: Support BCSymbolMap uploading (#952)
- ref: Rely on spawn process error for detecting command presence (#958)
- fix: Redirect spawned JS process outputs to
/dev/nullinstead of filling up pipe buffers (#949) - ref: Allow
upload-difto follow symlinks to make it inline withdifutilbehavior (#948)
- feat: Add TypeScript
SentryClitypes (#934) - ref: Provide a helpful error messages for xcode/codepush/appcenter binary calls (#937)
- feat: List logging levels on CLI output (#926)
- fix: Update proguard version (#927)
- fix: Run update nagger only for versions lower than current one (#925)
- fix: Add some npm logging to aid in troubleshooting (#921)
- fix: Correctly detect hidden Swift symbols (#918)
- fix: Rename
arm64asaarch64in install script (#917) - fix: Verify CLI installation before launching (#916)
- build: ARM for Linux (#890)
- ref:
is_outdatedshould not report when release contains version older than latest (#899)
- fix: Detect debug information in MIPS binaries (#897)
- fix: Use
http_proxyconfig value in the handler directly (#893) - fix: Limit chunk upload waiting to 5 minutes (#896)
- ref: Prefer universal binaries in homebrew (#879)
- ref: Prefer universal binaries on macOS (#878)
- build: macOS arm64 on stable Rust (#884)
- build: Build universal macOS binary on macos-latest (#877)
- fix: Add missing underscores for template in bash hook (#872)
- feat: macOS builds for
arm64and universal binaries (#873)
Sentry-cli will not upgrade to the arm64 build automatically, if you're currently running on Rosetta 2. To install the
arm64 version:
- Please ensure that your terminal and shell both run natively without emulation. You can check this by running
uname -min your terminal. - Remove your existing installation of
sentry-cli. - Follow the Installation Instructions for a fresh installation.
- fix: Restore release modification calls to use put request, while preserving restore/archive capability (#870)
- feat: Added support for WASM debug info files (#863)
- feat: Allows the user to specify multiple projects for a release (#842)
- feat: Add cli arg to override sentry-cli command in bash-hook (#852)
- ref: Remove --rewrite flag and make it a default (#853)
- feat: Expose environment configuration in javascript (#830)
- ref: Use better error messages for install script (#833)
- feat: Allow for passing custom timestamp with
send-event(#826) - fix: OS arch detection for
IA32(#824)
- fix: Use updated release name format during upload process (#818)
- feat: Add support for architectures other than x86/x64 when running installation script (#811)
- feat: Add
--confirmflag to skip confirmation prompt during uninstall command (#812) - misc: Upgrade symbolic to
7.5.0(#813)
- fix: Path handling edgecases for
upload-dif(#795) - fix: Dont limit commits count for release updates (#808)
- ref: Update Android/iOS releases format (#805)
- feat: add support for CicleCI (#784)
- fix: Default to sending local commits if no repos linked (#791)
- ref: Make Update Nagger less aggressive (#793)
- feat: Release files batch upload (#715)
- feat: Add pipeline env variable option and include it in UA string (#774)
- feat: Upload formatted commit metadata from local git tree to Sentry for a release (#776)
- feat: Provide flag for allowing failures in monitor command (#780)
- fix: Do not error when offsetting too far on enumeration (#746)
- fix: Update base "alpine" image in Dockerfile (#757)
- fix: Allow for release names with leading hyphen (#770)
- fix: Handle teamless projects correctly (#773)
- fix: Parse BitBucket Server integration repo url correctly (#775)
- ref: Switch from symbolic::proguard to proguard crate (#756)
- feat: Add
--no-environparameter tobash-hook(#745) - feat: Allow for disabling install progress-bar without silencing npm using
SENTRY_NO_PROGRESS_BARenv var (#754) - fix: Use correct required option to
newDeployJS api (#755)
- feat:
releases deploysJavaScript API (#741) - fix:
--log-levelshould be case insensitive (#740)
- fix: Dont panic on unknown log level (#733)
- ref: Use temp dir to store jsbundle maps (#737)
- fix: Correctly store child process before attaching handlers (#718)
This release sets node.engine: >=8 which makes it incompatible with Node v6
If you need to support Node v6, please pin your dependency to 1.52.1
or use selective version resolution: https://classic.yarnpkg.com/en/docs/selective-version-resolutions/
- feat: Support Google Cloud Builder VCS detection (#481)
- fix: Mark files as unusable withid (#709)
- fix: Respect
configFilefor release commands invoked through JS API (#700)
- feat: Add an optional argument to override the entire release name for a CodePush release (#692)
- feat: Introduce
g/globalflag forlogincommand (#690) - feat: Add support for
INFOPLIST_OTHER_PREPROCESSOR_FLAGS(#682) - feat: Detect CodeBuild slug for
propose-version(#681) - feat: Show project and organization when using info log level (#670)
- feat: Add
bitbucket_serverto reference url check (#668) - fix: Log config path only when its actually loaded (#677)
- fix: Make sure that requests are not authenticated twice and warn for rel urls (#675)
- fix: Override local
env.SENTRY_PROPERTIESrather than globalprocess.env(#667) - fix:
react-nativexcode uses regex to detect Debug builds (#665) - meta: Add Linux support to the Homebrew formula (#674)
- fix: Skip files larger than 1MB (#662)
- feat: Add
distoption toreact-native appcentercommand (#653) - ref: Notify user about missing
sudocommand instead of incorrect "No such file or directory" when updating/uninstallingsentry-cli(#656) - fix: Remove redundant
Closing connection 0warnings after every HTTP request (#657) - fix: Update release structure for XCode React Native calls (#660)
- feat: Allow setting of
gitremote (#637) - feat: Expose code IDs from
difutilcheck (#639) - feat: Implement workarounds for dealing with hermes bytecode (#646)
- feat: Allow for
--silentflag in installation script (#648) - feat: Support
distoption in JS API (#642) - ref: Treat
301/302upload_chunksresponse codes as errors (#651) - fix: Add
Content-Length=0header to reprocessing POST request (#647)
- Add support for
git://,git+ssh://, andgit+https?://VCS repos (#636) - Allow overriding dist in Xcode (#627)
- Skip pch and large files in source bundles (#624)
- Detect Heroku's
SOURCE_VERSIONenvironment variable (#613) - Allow extensions with dots for sourcemap uploads (#605)
- Fix validation of
releases set-commitsoptions in JS (#618) - Add an optional column for project slugs in
releases list(#612) - Add an optional
--waitflag for upload-dif (#619)
NOTE: This release changes the default behavior of upload-dif. Previously,
the command waited until Sentry had fully processed uploaded files. Now, the
command terminates after a successful upload but does not wait for server-side
processing. This will speed up uploads for the common case. Specify --wait for
the old behavior if you want to make sure that debug files are available before
sending native events.
- Add support for Brotli, GZip and Deflate compression algorithms for binary download (#607)
- Fix binary download progress bar calculations (#606)
Changes:
- Always show the full version in
releases list(#584). - Do not warn when using the standard docker entrypoint.
JavaScript API:
- Pass the
silentoption toreleasescommands in JavaScript (#552). - Allow setting commits on a release in JavaScript (#580).
Fixed bugs:
- Fix an error in the bash hook if the log file gets deleted (#583).
- Fix detection of Azure repositories in
releases set-commits(#576). - Fix detection of annotated tags in
releases set-commits(#598). - Fix normalization of sourcemap URL prefixes with trailing slashes (#599).
- Fix upload of source bundles created with
difutil bundle-sources(#602).
- Fix potentially broken payloads in
send-event.
- Trim whitespace in header values to prevent potential header injections through the auth token header. (#563)
- Improved Azure DevOps URL parsing. (#556)
- Relax the release file limit for sourcemap uploads when artifact bundles are supported by the serntry server (#559)
- Allow ports in VCS urls when associating commits (#551)
- Support PDB and PE uploads to Sentry (#553)
- Emit better version names for react native (#506)
- Fix a regression in sourcemap uploads for certain release names (#549)
- Ensure case insensitive git repository matching (#511)
- Fix a regression with URL prefixes in sourcemap uploads (#544)
- Even faster sourcemap uploads to sentry.io (#540, #542)
- Fixed a segfault in curl on empty file uploading (#535)
- Parallelize source map uploads (#533)
- Add support for File RAM Bundles (#528)
- Accept more Azure DevOps URLs (#525)
- Add support for Indexed RAM Bundles (#523)
- Add "silent" option to JS constructor (#512)
- Fix slow unzipping in debug file upload (#519)
- Warn before uploading more than 20.000 files to a release (#513)
- Recognizes GNU compressed debug files on Linux
- Also uploads Breakpad files and ELF files only containing symbol tables
- Automatically retry on various socket and SSL errors (#466, #490)
- Use a connection pool for the outgoing API requests. This is likely to resolve some issues in curl itself that manifested itself as malloc errors on shutdown (#489)
- Upgrade internal dependencies and shrink overall binary (#488)
- Upgrade internal sentry crate
- Fix Proguard upload issues on Windows (#484).
- Release enabling an internal sentry experiment.
- Fix plist parsing
- Upgraded symbolic which offers support top R8 code shrinker.
- Added
SENTRY_NO_PROGRESS_BARenvironment variable to suppress progress bars (#467) - Fixed an issue where dif uploads would indicate failure if no files where to upload.
- Report non zero status for server side processing errors on dif upload (#465)
- Improve error messages for 502/504 (#459)
- Relax VCS url comparisions to improve on-prem support
- Retry on upload-related operations (chunk-upload, assemble) (#456)
- Add new anylog version (#455)
- Fix the detection of debug information in ELF files (#437)
- Add support for ELF files in the
difutilcommands (#447) - Speed up
sentry-cli updateby using the Sentry release registry (#438) - Dump http requests in debug mode for better debugging (#448)
- Support React Native >= 0.46 (@stephan-nordnes-eriksen, #377)
- Cache binaries to speed up NPM package installation (@timfish, #425)
- Check for successful upload of debug files (#429)
- Limit debug file uploads to 2GB (maximum allowed by Sentry) (#432)
- Add support for GitLab in
releases set-commits(#419) - Fix a bug where uploaded debug files might show up as "Generic" (#420)
- Print out how sentry-cli was invoked in debug log
- Download packages from Fastly's CDN when installing via NPM and Brew (#417)
- Allow uploading executables and debug symbols in one go (#412)
- Fixes a bug that prevented listing and creating releases
- Show project IDs in project listing (#384)
- Fetch all projects, repos and releases if you have more than 100 (#388, #390)
- Support debug symbols with DWARF 5 debug information (#389)
- Fix
--no-environparameter insend-event(#391) - Remove a misleading success message in
send-event(#397) - Improve debug logs and error output (#393, #394, #399)
- Fix a bug introduced with the
--url-suffixoption inupload-sourcemaps - Fix broken commit detection for releases (#378, #381)
- Add
--url-suffixoption forupload-sourcemaps(#373)
- Additional compatibility improvements for the Docker image (#368)
- Add a warning about new Docker entrypoint (#367)
- Change entrypoint for Docker image (#358)
- Use
perloverstrftimein bash hook (#359) - Fix iTunes Connect BCSymbolMap handling in
upload-dif(#362) - Display error messages when re-uploading broken DIFs (#363)
- Resolve a hang on certain windows versions on shutdown (#349)
- Improve the error message for renamed projects (#330)
- Fix appcenter commands on Windows (#331)
- Fix grammar in some help texts (#337, @gorgos)
- Fix frozen upload-dif on some Windows versions (#342)
- Add support for AppCenter CLI for codepush releases (#327)
- Deprecate the codepush CLI command (#327)
- Fix a bug where commands would fail with connection errors
- Skip invalid ZIP files during debug file upload (#320)
- Generate better error messages for renamed projects (#321)
- Compress debug symbols for faster uploads (#315)
- Refactor
send-eventto include more consistent information (#316, #318)
- Improve update prompts (#306, @danielcompton)
- Support event environments in bash hook (#312, @geniass)
- Use
DWARF_DSYM_FOLDER_PATHin upload-dsym (#313) - Skip malformed object files during upload scan (#313)
- Drop support for older macOS versions to work around an old xcode linker bug
- Disabled automatic crash reporting
- Fixed out of bounds panic for sourcemaps without sources (#299)
- Fixed commit detection when VSTS was used (#300)
- Restrict file permissions for newly created
.sentryclirc(#296) - Fix
SENTRY_DSNenvironment variable parsing forsend-eventaction (#292) - Build statically linked
musl-based binaries for Linux (#294) - Detect
HEROKU_SLUG_COMMITin propose-version (#298)
- Add better error diagnostics (internal change, #288)
- Show correct identifiers when uploading Windows symbols (#280)
- Attempted to make the windows executable more portable (#269)
- Fixed the JavaScript API (#270)
- Fixed a bug where breadcrumbs were not always sent (#268)
- Fixed #252
- Expose
executeon SentryCli js wrapper
- Improve the upload for debug information files. It is now faster, allows to resume after network errors, and supports much larger files.
- Add commands to upload Breakpad and ELF (Linux) symbols. See our documentation page for more information.
- Fix JavaScript tests on Windows
- Fix NPM installation on Windows
- BREAKING: Drop support for Node 0.12. Please pin version
1.28.4or install sentry-cli using a different method if you still require Node 0.12. - Fix NPM installation behind proxies
- Remove console output when using the JS interface
- Revert
Info.plisthandling to pre-1.27.1as it was causing issues when the"Preprocess Info.plist File"setting was turned on in Xcode - Include CA certificates in the Docker container
- Reverted new config handling because of problems it caused.
- Fixed use of
SENTRYCLI_CDNURLto override the npm download URL. See the documentation for more information - Better handling of environment variables and config files. Please let us know if one of your configuration files or environments doesn't get recognized anymore after the update
- The official docker image is now smaller and does not require dependencies anymore
- Replaced confusing errors when using
codepushwith hints to resolve the error
- Expose getPath() to not break setups
- Change JS bindings to be conform with the cli interface Please note that this is a breaking change if you used the JS interface before.
- Read from the correct
Info.plistin XCode builds, courtesy of @adbi - Allow to specify device family and model in
send-event, courtesy of @kirkins - Supply environment variables when using the JavaScript API
- Allow to override the NPM download URL via
SENTRYCLI_CDNURLenvironment variable
- Support all options in the JS binding for
upload-sourcemaps, courtesy of @montogeek - Enable automatic IP addresses when sending events with
send-event, courtesy of @kirkins - No longer require secret keys to send events with
send-event - Improve and speed up debug symbol handling in
upload-dsym
- Faster discovery of debug symbols in
upload-dsyms - Fix a bug in sourcemap uploading via JS, courtesy of @roelvanhintum
- Security update to OpenSSL 1.0.2n for Linux builds
- Fix a SSL verification command line flag
- The npm package has moved to
@sentry/cli - Installing with npm on Windows now downloads the 64-bit version
- Exit with a proper error code when
send-eventfails, courtesy of @kirkins - More informative errors on failed API requests
- No more annoying update reminders in the Docker images
- Do not run update nagger if the command is not connected to a terminal
- Source map uploading now correctly determines sourcemap references even if the rewrite flag is not passed.
- There is an offical Docker image with
sentry-clipreinstalled:docker run --rm -it -v $(pwd):/work getsentry/sentry-cli sentry-cli --help - Added support for automatically determining corvoda releases.
- Fix an issue with bash hooking not working if sentry-cli was installed on a path containing whitespace
- Improved sending events from bash. See Sending Events for more information
- Hook into bash and send events for failed commands automatically. See Bash Hooks for more information
- Set
SENTRY_LOAD_DOTENV=0to disable automatic loading of.envfiles - Fix an issue where
info.plistfiles were not resolved in XCode projects - Fix an issue where the
PROJECT_DIRenvironment was not used correctly
- Fix a bug that prevented uploads of ProGuard mapping files on Windows
- Improve command and parameter descriptions (
--help) - Updated dependencies
- Add
--ignoreand--ignore-fileparameters toupload-dsyms - Fix some typos in the CLI (thanks @mbudde and @AdrienDS)
- Fix codepush command for android
- Fixed added bitbucket provider support #115
- Updated dependencies
- Added encoding detection for javascript files
- Added bitbucket provider support
- Fixed an issue where codepush was not passing the right plist to the parser
- Resolved an issue where sourcemaps were not uploaded (#112)
- Added support for preprocessor
info.plistfiles - Unified
info.plisthandling in all places - Added basic validation for the API URL to avoid common user errors
- Resolved an issue with NPM releases on ES5 environments
- Resolved an issue where
releases propose-versionincorrectly required an org to be passed - Added support for handling
BCSymbolMapfiles when uploading dsym files
- Ensure parent directories exist when writing Proguard meta properties.
- Write Proguard properties even if upload is disabled.
- Reject leading/trailing spaces in releases.
- Made npm install compatible with ES5
- Solved a potential issue with spaces in file paths for npm installation
- Added automatic update check (can be disabled with
update.disable_checkin the config or theSENTRY_DISABLE_UPDATE_CHECKenvironment variable) - Resolved a crash when uploading empty files
- Lowered default symbol upload size to work around some server limitations
- added ability to upload proguard files with a forced UUID
- added
difutil uuidcommand to print the UUID(s) of a mapping file to stdout
- Improved the
no-uploadflag to proguard upload - Added debug info files debug commands
- Added support for disabling desktop notifications (only affects xcode builds so far)
- Added support for uploading proguard files on supported sentry server versions
- Fixed installation for npm
- Put
sentry-cli.exedirectly into thebin/folder on windows for npm installations
- Fixed another issue with yarn redownloading binaries
- Added
distsupport for send-event - Improved download script for npm installs to not download unnecessarily with yarn.
- Added support for explicit bundle IDs for codepush releases
- Added
--print-release-nameto print out the release name for codepush releases to the command line to improve scripting capabilities - Extended
propose-versionfor releases to support iOS and android release names if projects are automatically discovered - Parse grade files instead of android manifests for version and bundle IDs for release detection
- Fix broken xcode notifications when projects where opened from the command line
- Fixed limitations in automatically detecting the bundle IDs for xcode projects
- Resolved an issue where sourcemap uploading failed when empty files were encountered
- Initial work for codepush support (pending support in
react-native-sentry) - Moved
react-native-xcodetoreact-native xcode - Added support for
${FOO}style variable expansion in xcode
- Fixed an issue for windows npm installation
- Stop generating a debug log file in
/tmpfor npm on unixes
- fixed a bug that caused the npm install to fail
- Added user support for
send-event
- Improved logging facilities
- Fixed npm installation on windows
- Changes sourcemap rewriting to ignore bad files on source inlining.
- Fixed a bug in the JSON output of the
infocommand.
- Added support for referring to previous hashes in
set-commitswithOLD_REV..NEW_REV - Resolve tags and other refs (like
HEAD) in commits when a repo is available - Use newer protocol for release commit updating
- Strip commit SHAs for display
- Strip dotted path prefixes in release names for display
- Change the log format for api headers in debug logging
- Added request headers to debug logging
- The
infocommand now returns an exit code of 1 in case the config is incomplete - Added
--config-status-jsonto theinfocommand to better support sentry-cli invoked from scripts - dsym batches are now calculated by size and not by file count. This should solve a few 413 errors some users are experiencing
- The dsym upload will now skip over files that do not contain DWARF debug information which resolves issues where release files were uploaded as debug symbols instead of the actual dsym files
- Sourcemap uploads now automatically replace previous files with the same name.
- Honor
CLICOLORenvironment variable - Added progress bars for source map and debug symbol upload
- No longer attempt to upload multiple versions of debug symbols with the same UUID. This was an issue where signed and unsigned debug symbols were discovered in derived data in case of debug builds.
- Support
--validateand--rewritein one command better for source map upload.
- Added
--fingerprintsupport tosend-event - Added distribution support.
Breaking Change: releases managed for react-native and mobile are now using the new
distribution feature. Use older versions of sentry-cli if you do not wish to manage
distributions on self hosted Sentry versions.
- Added
--uuidparameter toupload-dsym - Added
--no-zipsparameter toupload-dsym - Added
--derived-dataparameter toupload-dsym
- resolved an issue with some features of xcode variable expansion not working correctly
- Added basic support for working with the improved relases API that span projects in an org
- Added deploy support
- improved file and release list rendering
- added
sentry-cli releases propose-version
- Resolved references to sourcemaps sometimes being incorrectly detected
- Resolved an issue where an incorrect Info.plist file was found (#48)
- Added support for
.envfiles - Better support SSL CA bundles on linux systems (probe more locations)
- Added
--finalizeoption to automatically finalize releases on creation - Improved
sentry-cli infocommand rendering and clarity - Added background processing for
sentry react-native-xcode
upload-dsymswhen launched from xcode will now upload symbols in the background and notify with OS X notifications about changes
- Added support for associating dsyms with builds on supporting sentry servers
- Improved validation of parameters and error reporting
- Added progress bar to updater
- Added command to finalize releases
- Resolved an issue that the xcode integration for react native would log out a bogus error
- Added support for fetching sourcemaps from react-native's packager
- Resolved an issue with some sourcemaps not rewriting correctly
- Added
react-native-xcodecommand to support react-native sourcemap generation and uploading - Automatically create releases on sourcemap upload
- Resolved an issue that caused windows versions to write backslashes in URLs in release artifacts
- Fix zip upload
- Added support for upcoming reprocessing feature on sentry for dsym uploads.
- Improved dsym uploading support (fixes #29)
- Resolved an issue where release builds of react-native would not automatically find the sourcemap references
- Upon sourcemap uploading the
sentry-clitool is now automatically attempting to find matching sourcemaps and emit aSourcemapheader with the correct reference. This helps in situations like react-native where the source reference in the file is malformed or points to a non existing file by default - fixed a bug with the
--rewriteflag on the upload sourcemaps tool which caused incorrect sources to be inlined. This is now properly supported. --strip-common-prefixon the upload sourcemaps tool now skips over paths which are not absolute.
- added support for sourcemap rewriting. This will automatically inline sourcecode and flatten indexed sourcemaps and can optionally remove prefixes from source paths. This is useful for react native which otherwise will not work since sourcecode is not contained.
- Improved symbol uploading
- Improved logging of http requests
- Fixed an issue that caused a crash if the
TERMenvironment variable was not set
- Recompiled for Linux to better support arch linux and others
- Resolved issue with multi-chunk dsym uploads failing
- Changed domain to
sentry.io
- Improved handling of
SENTRY_DSNso that it can be set to an invalid value andsentry-clicontinues functioning unless you are trying to send an actual event.
- added the new
issuescommand to bulk manage issues
- Added support for debug logging
- Upgraded the internal SHA1 library
- Added support for
http.proxy_url - Added support for
http.proxy_username - Added support for
http.proxy_password
- Added support for the
http.keepalivesetting
- added proxy support
- removed global dsym uploading which is now done differently
- Fixed an issue that caused validation of sourcemaps to fail if wildcard paths (
~/) were used.
- Default sourcemap url prefix to
~to support the new wildcard feature
- Fixed windows support by bundling OpenSSL statically
- Added basic windows support
- Added
send-eventto submit events to Sentry
- Added
logincommand.
- Made missing ref failures on non minimized JS files warnings instead of errors
- Added support for basic sourcemap validation with the
--validateflag
- Ignore
--extfor explicitly provided files on sourcemap uploads - Properly handle
--ext
- Added the ability to upload individual sourcemaps as files
- Added
infocommand - Addded
.sentryclircconfig file support
- Updated release commands
- Fixes uninstall support
Added basic sourcemap support.
Added sudo support to the update command.
Updated sentry CLI to have improved x-code dsym upload support and added an update command.
Added support for sentry auth tokens.
An initial release of the tool.