From 36fc17375675ba1ca5abfb53d6d0da802bc8678a Mon Sep 17 00:00:00 2001 From: Luis Date: Sun, 25 Oct 2026 15:40:17 +0000 Subject: [PATCH 1/2] fix(onboarding): Raise sentry-rust fallback version to 0.49.0 Keeps the fallback in line with the builder API to be used in the snippets. --- static/app/gettingStartedDocs/rust/onboarding.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/app/gettingStartedDocs/rust/onboarding.tsx b/static/app/gettingStartedDocs/rust/onboarding.tsx index e2866c86a5a6..f2edc7673773 100644 --- a/static/app/gettingStartedDocs/rust/onboarding.tsx +++ b/static/app/gettingStartedDocs/rust/onboarding.tsx @@ -9,7 +9,7 @@ import {getPackageVersion} from 'sentry/utils/gettingStartedDocs/getPackageVersi type Params = DocsParams; const getInstallSnippet = (params: Params) => { - const version = getPackageVersion(params, 'sentry.rust', '0.42.0'); + const version = getPackageVersion(params, 'sentry.rust', '0.49.0'); return params.isLogsSelected ? ` [dependencies] From dd946cf2555ad46f9565c7daf87eb73db6cb8bf0 Mon Sep 17 00:00:00 2001 From: Luis Date: Sun, 25 Oct 2026 15:40:28 +0000 Subject: [PATCH 2/2] fix(onboarding): Use ClientOptions builder in Rust snippets `ClientOptions` is `#[non_exhaustive]` since sentry-rust 0.49.0, so the struct expression in the configure and verify snippets no longer compiles (E0639). Switch to the builder-style API instead. --- .../gettingStartedDocs/rust/onboarding.tsx | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/static/app/gettingStartedDocs/rust/onboarding.tsx b/static/app/gettingStartedDocs/rust/onboarding.tsx index f2edc7673773..96ac842c356c 100644 --- a/static/app/gettingStartedDocs/rust/onboarding.tsx +++ b/static/app/gettingStartedDocs/rust/onboarding.tsx @@ -20,23 +20,21 @@ sentry = "${version}"`; }; const getConfigureSnippet = (params: Params) => ` -let _guard = sentry::init(("${params.dsn.public}", sentry::ClientOptions { - release: sentry::release_name!(), - // Capture user IPs and potentially sensitive headers when using HTTP server integrations - // see https://docs.sentry.io/platforms/rust/data-management/data-collected for more info - send_default_pii: true, - ..Default::default() -}));`; +let _guard = sentry::init(( + "${params.dsn.public}", + sentry::ClientOptions::new() + .maybe_release(sentry::release_name!()) + .send_default_pii(true), +));`; const getVerifySnippet = (params: Params) => ` fn main() { - let _guard = sentry::init(("${params.dsn.public}", sentry::ClientOptions { - release: sentry::release_name!(), - // Capture user IPs and potentially sensitive headers when using HTTP server integrations - // see https://docs.sentry.io/platforms/rust/data-management/data-collected for more info - send_default_pii: true, - ..Default::default() - })); + let _guard = sentry::init(( + "${params.dsn.public}", + sentry::ClientOptions::new() + .maybe_release(sentry::release_name!()) + .send_default_pii(true), + )); // Sentry will capture this panic!("Everything is on fire!");