Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 29, 2024

This PR contains the following updates:

Package Type Update Change
sentry (source) workspace.dependencies minor 0.34 -> 0.45

Release Notes

getsentry/sentry-rust (sentry)

v0.45.0

Compare Source

Breaking changes
  • Add custom variant to AttachmentType that holds an arbitrary String. (#​916)

v0.44.0

Compare Source

Breaking changes
  • feat(log): support combined LogFilters and RecordMappings (#​914) by @​lcian
    • Breaking change: sentry::integrations::log::LogFilter has been changed to a bitflags struct.
    • It's now possible to map a log record to multiple items in Sentry by combining multiple log filters in the filter, e.g. log::Level::ERROR => LogFilter::Event | LogFilter::Log.
    • If using a custom mapper instead, it's possible to return a Vec<sentry::integrations::log::RecordMapping> to map a log record to multiple items in Sentry.
Behavioral changes
  • ref(log): send logs by default when logs feature flag is enabled (#​915) by @​lcian
    • If the logs feature flag is enabled, the default Sentry log logger now sends logs for all events at or above INFO.
  • ref(logs): enable logs by default if logs feature flag is used (#​910) by @​lcian
    • This changes the default value of sentry::ClientOptions::enable_logs to true.
    • This simplifies the setup of Sentry structured logs by requiring users to just add the log feature flag to the sentry dependency to opt-in to sending logs.
    • When the log feature flag is enabled, the tracing and log integrations will send structured logs to Sentry for all logs/events at or above INFO level by default.

v0.43.0

Compare Source

Breaking changes
  • ref(tracing): rework tracing to Sentry span name/op conversion (#​887) by @​lcian
    • The tracing integration now uses the tracing span name as the Sentry span name by default.
    • Before this change, the span name would be set based on the tracing span target (<module>::<function> when using the tracing::instrument macro).
    • The tracing integration now uses <span target>::<span name> as the default Sentry span op (i.e. <module>::<function> when using tracing::instrument).
    • Before this change, the span op would be set based on the tracing span name.
    • Read below to learn how to customize the span name and op.
    • When upgrading, please ensure to adapt any queries, metrics or dashboards to use the new span names/ops.
  • ref(tracing): use standard code attributes (#​899) by @​lcian
    • Logs now carry the attributes code.module.name, code.file.path and code.line.number standardized in OTEL to surface the respective information, in contrast with the previously sent tracing.module_path, tracing.file and tracing.line.
  • fix(actix): capture only server errors (#​877) by @​lcian
    • The Actix integration now properly honors the capture_server_errors option (enabled by default), capturing errors returned by middleware only if they are server errors (HTTP status code 5xx).
    • Previously, if a middleware were to process the request after the Sentry middleware and return an error, our middleware would always capture it and send it to Sentry, regardless if it was a client, server or some other kind of error.
    • With this change, we capture errors returned by middleware only if those errors can be classified as server errors.
    • There is no change in behavior when it comes to errors returned by services, in which case the Sentry middleware only captures server errors exclusively.
  • fix: send trace origin correctly (#​906) by @​lcian
    • TraceContext now has an additional field origin, used to report which integration created a transaction.
Behavioral changes
  • feat(tracing): send both breadcrumbs and logs by default (#​878) by @​lcian
    • If the logs feature flag is enabled, and enable_logs: true is set on your client options, the default Sentry tracing layer now sends logs for all events at or above INFO.
Features
  • ref(tracing): rework tracing to Sentry span name/op conversion (#​887) by @​lcian

    • Additional special fields have been added that allow overriding certain data on the Sentry span:
      • sentry.op: override the Sentry span op.
      • sentry.name: override the Sentry span name.
      • sentry.trace: given a string matching a valid sentry-trace header (sent automatically by client SDKs), continues the distributed trace instead of starting a new one. If the value is not a valid sentry-trace header or a trace is already started, this value is ignored.
    • sentry.op and sentry.name can also be applied retroactively by declaring fields with value tracing::field::Empty and then recorded using tracing::Span::record.
    • Example usage:
      #[tracing::instrument(skip_all, fields(
          sentry.op = "http.server",
          sentry.name = "GET /payments",
          sentry.trace = headers.get("sentry-trace").unwrap_or(&"".to_owned()),
      ))]
      async fn handle_request(headers: std::collections::HashMap<String, String>) {
          // ...
      }
    • Additional attributes are sent along with each span by default:
      • sentry.tracing.target: corresponds to the tracing span's metadata.target()
      • code.module.name, code.file.path, code.line.number
  • feat(core): add Response context (#​874) by @​lcian

    • The Response context can now be attached to events, to include information about HTTP responses such as headers, cookies and status code.
    • Example:
      let mut event = Event::new();
      let response = ResponseContext {
          cookies: Some(r#""csrftoken": "1234567""#.to_owned()),
          headers: Some(headers_map),
          status_code: Some(500),
          body_size: Some(15),
          data: Some("Invalid request"),
      };
      event
          .contexts
          .insert("response".to_owned(), response.into());
Fixes
  • build(panic): Fix build without other dependencies (#​883) by @​liskin
    • The sentry-panic crate now builds successfully when used as a standalone dependency.
  • fix(transport): add rate limits for logs (#​894) by @​giortzisg

v0.42.0

Compare Source

Features
  • feat(log): support kv feature of log (#​851) by @​lcian
    • Attributes added to a log record using the kv feature are now recorded as attributes on the log sent to Sentry.
  • feat(types): add all the missing supported envelope headers (#​867) by @​lcian
  • feat(types): add setters for envelope headers (#​868) by @​lcian
    • It's now possible to set all of the envelope headers supported by the protocol when constructing envelopes.
  • feat(core): add some DSC fields to transaction envelope headers (#​869) by @​lcian
    • The SDK now sends additional envelope headers with transactions. This should solve some extrapolation issues for span metrics.
Behavioral changes
  • feat: filter username and password in URLs (#​864) by @​lcian
    • Usernames and passwords that could be contained in URLs captured when using the Actix Web or axum integration are now always filtered out.
    • If the Request is created manually by the user, then these fields are not filtered out.
    • This information was already filtered by Relay, but should also be filtered by the SDK itself as a first line of defense.
Fixes

v0.41.0

Compare Source

Breaking changes
  • feat(tracing): support combined EventFilters and EventMappings (#​847) by @​lcian
    • EventFilter has been changed to a bitflags struct.
    • It's now possible to map a tracing event to multiple items in Sentry by combining multiple event filters in the event_filter, e.g. tracing::Level::ERROR => EventFilter::Event | EventFilter::Log.
    • It's also possible to use EventMapping::Combined to map a tracing event to multiple items in Sentry.
    • ctx in the signatures of event_from_event, breadcrumb_from_event and log_from_event has been changed to take impl Into<Option<&'context Context<'context, S>>> to avoid cloning the Context when mapping to multiple items.
Features
  • feat(core): emit debug log when calling capture_log but logs are disabled (#​849) by @​lcian
Fixes
  • fix(logs): stringify u64 attributes greater than i64::MAX (#​846) by @​lcian
Dependencies

v0.40.0

Compare Source

Breaking changes
  • refactor(logs): apply user attributes to log regardless of send_default_pii (#​843) by @​lcian
    • User attributes should be applied to logs regardless of send_default_pii. Therefore, that parameter was removed from sentry_core::Scope::apply_to_log.
Features
  • feat(tracing): add support for logs (#​840) by @​lcian
    • To capture tracing events as Sentry structured logs, enable the logs feature of the sentry crate.
    • Then, initialize the SDK with enable_logs: true in your client options.
    • Finally, set up a custom event filter to map events to logs based on criteria such as severity. For example:
        let sentry_layer = sentry_tracing::layer().event_filter(|md| match *md.level() {
            tracing::Level::ERROR => EventFilter::Event,
            tracing::Level::TRACE => EventFilter::Ignore,
            _ => EventFilter::Log,
        });
  • feat(log): add support for logs (#​841) by @​lcian
    • To capture log records as Sentry structured logs, enable the logs feature of the sentry crate.
    • Then, initialize the SDK with enable_logs: true in your client options.
    • Finally, set up a custom event filter to map records to Sentry logs based on criteria such as severity. For example:
        let logger = sentry::integrations::log::SentryLogger::new().filter(|md| match md.level() {
            log::Level::Error => LogFilter::Event,
            log::Level::Trace => LogFilter::Ignore,
            _ => LogFilter::Log,
        });
  • refactor(logs): cache default attributes and add OS attributes (#​842) by @​lcian
    • os.name and os.version are now being attached to logs as default attributes.
Fixes
  • fix(logs): send environment in sentry.environment default attribute (#​837) by @​lcian
Behavioral changes
  • refactor(tracing): refactor internal code and improve docs (#​839) by @​lcian
    • Errors carried by breadcrumbs will now be stored in the breadcrumb data under their original field name.
    • Before, they were all stored under a single key called errors.
Dependencies

v0.39.0

Compare Source

Features

Support for Sentry structured logs has been added to the SDK.

  • To set up logs, enable the logs feature of the sentry crate and set enable_logs to true in your client options.

  • Then, use the logger_trace!, logger_debug!, logger_info!, logger_warn!, logger_error! and logger_fatal! macros to capture logs.

  • To filter or update logs before they are sent, you can use the before_send_log client option.

  • Please note that breaking changes could occur until the API is finalized.

  • feat(logs): add log protocol types (#​821) by @​lcian

  • feat(logs): add ability to capture and send logs (#​823) by @​lcian & @​Swatinem

  • feat(logs): add macro-based API (#​827) by @​lcian & @​szokeasaurusrex

  • feat(logs): send logs in batches (#​831) by @​lcian

Behavioral changes
  • feat(core): implement Tracing without Performance (#​811) by @​lcian
    • The SDK now implements Tracing without Performance, which makes it so that each Scope is associated with an object holding some tracing information.
    • This information is used as a fallback when capturing an event with tracing disabled or otherwise no ongoing span, to still allow related events to be linked by a trace.
    • A new API Scope::iter_trace_propagation_headers has been provided that will use the fallback tracing information if there is no current Span on the Scope.
Breaking changes
  • refactor: remove debug-logs feature (#​820) by @​lcian
    • The deprecated debug-logs feature of the sentry crate, used for the SDK's own internal logging, has been removed.

v0.38.1

Compare Source

Fixes
  • build: include sentry-actix optionally when release-health is enabled (#​806) by @​lcian
    • sentry-actix is now being included as a dependency only when explicitly added, either as a direct dependency or through the actix feature flag of the sentry crate.
    • Due to a mistake in the Cargo.toml, it was previously being included as a dependency by default when using just the sentry crate with default features.

v0.38.0

Compare Source

OpenTelemetry integration

An OpenTelemetry integration has been released. Please refer to the changelog entry below for the details.

Breaking changes
  • refactor(tracing): remove EventFilter::exception and always attach exception (#​768) by @​lcian
    • The EventFilter::Exception enum variant has been removed. Please use EventFilter::Event instead to achieve the same behavior.
    • Using EventFilter::Event will always attach any error struct used within the error field passed to the tracing macro, as EventFilter::Exception did previously.
    • The error field will also be attached to breadcrumbs as an errors field resembling the structure of Sentry events created from error structs.
  • fix: use release-health flag in sentry-actix and remove it from subcrates where unneeded (#​787) by @​lcian
    • As a follow-up from the changes in the previous release, the ClientOptions fields auto_session_tracking and session_mode are now gated behind the release-health feature flag of the sentry crate.
    • If you depend on sentry with default-features = false, you need to include the release-health feature flag to benefit from the Release Health features of Sentry and have access to the aforementioned client options.
    • The release-health feature flag is used correctly in sentry-actix to enable compilation of that subcrate when it's disabled.
    • The release-health has been removed from the sentry-tracing and sentry-tower subcrates, where it was unnecessary.
  • refactor: remove Surf transport (#​766) by @​lcian
    • The Surf transport has been removed as the surf crate is unmaintained and it was holding back dependency upgrades.
    • If you really want to still use Surf, you can define a custom TransportFactory and pass it as the transport in your ClientOptions
Behavioral changes
  • refactor: honor send_default_pii in sentry-actix and sentry-tower (#​771) by @​lcian
    • The client option send_default_pii (disabled by default) is now honored by sentry-actix and sentry-tower.
    • This means that potentially sensitive headers such as authorization, cookies, and those that usually contain the user's IP address are filtered and not sent to Sentry.
    • If you want to get back to the previous behavior and capture all headers, please set send_default_pii to true in your ClientOptions.
    • Please refer to our Data Collected page for a comprehensive view of the data collected by the SDK.
  • refactor(debug-images): force init DEBUG_META on integration init (#​773) by @​lcian
    • The DebugImages integration has been updated to init the DEBUG_META Lazy immediately.
    • Using this integration is known to cause issues in specific versions of the Linux kernel due to issues in a library it depends on.
    • Previously, on problematic systems the SDK would cause deadlock after capturing the first event. Now the SDK will panic on initialization instead. Please open an issue if you're affected.
Features
  • feat(otel): add OpenTelemetry SpanProcessor, Propagator, Extractor (#​779) by @​lcian
    • A new integration for the opentelemetry crate has been released.
    • It can be used to capture spans created using the opentelemetry API and send them to Sentry.
    • Distributed tracing is also supported, provided that the upstream/downstream services support the Sentry or W3C distributed tracing metadata format.
    • Please refer to the subcrate's README or the crate docs to see an example of setup and usage.
  • feat: expose sentry-actix as a feature of sentry (#​788) by @​lcian
    • sentry-actix is now exposed by the sentry crate as sentry::integrations::actix, gated behind the actix feature flag.
    • Please update your dependencies to not depend on the sentry-actix subcrate directly.
Dependencies
Various fixes & improvements

v0.37.0

Compare Source

Breaking changes
  • chore(msrv): cargo update and bump MSRV to 1.81 (#​754) by @​lcian
    • The minimum supported Rust version has been raised to 1.81.
  • feat(core): introduce release-health feature (#​749) by @​pepperoni505
    • A new release-health feature flag was introduced that gates the Release Health features of Sentry.
    • This allows for compilation of the SDK on certain WASM targets.
    • Release Health features were already present and enabled with no feature flag in previous versions.
    • The new feature flag will be enabled by default when using sentry, sentry-actix, sentry-tower or sentry-tracing with the default features.
    • If you're fine-tuning your feature flags, make sure to enable release-health to get back the previous behavior.
  • ref(metrics): remove features and code related to the old metrics beta (#​740) by @​lcian
    • The metrics feature and the code related to it has been removed from the crate, as the Sentry backend stopped ingesting metrics a while ago.
  • Switch to MIT license (#​724) by @​cleptric
    • The license for the crates has been changed to MIT.
Features
  • feat(actix): capture HTTP request body (#​731) by @​pacifistes
    • The middleware for actix-web now supports capturing and attaching the request body to HTTP request transactions.
    • You need to enable send_default_pii in your client options for this to be enabled, and you can fine-tune the behavior using the new option max_request_body_size.
  • feat(core): transaction.set_data sets data on TraceContext (#​739) by @​lcian
    • transaction.set_data now sets data on TraceContext, as the SDK should not use the extra field.
  • ref(backtrace): add entries and extra logic for in-app detection (#​756) by @​lcian
  • feat(core): add more frames to be considered not in_app (#​760) by @​lcian
    • The logic used by the SDK to detect in-app stack frames has been improved. Now the SDK will mark more frames as not in-app.
    • A similar improvement has been added to the Sentry backend so that old versions of the SDK can benefit from improved in-app reporting.
Fixes
  • fix(http): Finish transaction on drop (#​727) by @​Dav1dde
    • Fixed a bug where the current transaction was not finished (hence not sent to Sentry) when its corresponding future was dropped, e.g. due to a panic.
  • follow #​439 for actix-web. fix #​680 (#​737) by @​pavel-rosputko
    • The HTTP request metadata is now being correctly attached to transactions when using sentry-actix.
  • fix(tracing): wrap error with synthetic mechanism only if attaching stacktrace (#​755) by @​lcian
    • Fixed a bug that should result in improved grouping and issue titles for events reported by sentry-tracing when not capturing stack traces.
  • fix(actix): process request in other middleware using correct Hub (#​758) by @​lcian
    • The subsequent middleware in the chain when processing a request now execute within the correct Hub.
  • fix(anyhow): attach stacktrace only if error provides backtrace (#​759) by @​lcian
    • Fixed a bug where the SDK was providing incorrect stack traces when capturing an anyhow when the backtrace feature is enabled but RUST_BACKTRACE is not set.
    • This should result in correct grouping of the affected issues.
Various fixes & improvements
Dependencies

v0.36.0

Compare Source

Various fixes & improvements

v0.35.0

Compare Source

Fixes:

  • Envelopes will be discarded rather than blocking if the transport channel fills up (previously fixed in async-capable transports, now applied to the curl/ureq transports). (#​701)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@codecov
Copy link

codecov bot commented Nov 29, 2024

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 35.55%. Comparing base (9ea8c02) to head (2505985).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #475   +/-   ##
=======================================
  Coverage   35.55%   35.55%           
=======================================
  Files         178      178           
  Lines       18475    18475           
=======================================
  Hits         6568     6568           
  Misses      11907    11907           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate renovate bot changed the title fix(deps): update rust crate sentry to 0.35 fix(deps): update rust crate sentry to 0.36 Jan 7, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 6c5bfeb to fa6a8f3 Compare January 7, 2025 16:44
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from fa6a8f3 to c79c5c8 Compare February 8, 2025 15:49
@renovate renovate bot changed the title fix(deps): update rust crate sentry to 0.36 chore(deps): update rust crate sentry to 0.36 Feb 8, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from c79c5c8 to 585bca1 Compare February 8, 2025 17:26
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 585bca1 to e2e9726 Compare April 1, 2025 13:40
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.36 chore(deps): update rust crate sentry to 0.37 Apr 1, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from e2e9726 to 94ae285 Compare May 9, 2025 19:29
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.37 chore(deps): update rust crate sentry to 0.38 May 9, 2025
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.38 chore(deps): update rust crate sentry to 0.39 Jun 10, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch 2 times, most recently from 9aa80f0 to abd1c9d Compare June 17, 2025 11:05
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.39 chore(deps): update rust crate sentry to 0.40 Jun 17, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from abd1c9d to 8046732 Compare June 23, 2025 14:49
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.40 chore(deps): update rust crate sentry to 0.41 Jun 23, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 8046732 to 8f4ad3f Compare July 29, 2025 10:47
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.41 chore(deps): update rust crate sentry to 0.42 Jul 29, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 8f4ad3f to 4d54537 Compare September 24, 2025 10:42
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.42 chore(deps): update rust crate sentry to 0.43 Sep 24, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 4d54537 to 135940e Compare September 25, 2025 16:50
@renovate
Copy link
Contributor Author

renovate bot commented Sep 25, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package sentry@0.34.0 --precise 0.45.0
error: failed to acquire package cache lock

Caused by:
  failed to open: /home/ubuntu/.cargo/.package-cache

Caused by:
  failed to create directory `/home/ubuntu/.cargo`

Caused by:
  File exists (os error 17)

@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from 135940e to c49e877 Compare October 7, 2025 11:15
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.43 chore(deps): update rust crate sentry to 0.44 Oct 7, 2025
@renovate renovate bot force-pushed the renovate/sentry-rust-monorepo branch from c49e877 to 2505985 Compare October 8, 2025 10:06
@renovate renovate bot changed the title chore(deps): update rust crate sentry to 0.44 chore(deps): update rust crate sentry to 0.45 Oct 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant