-
-
Notifications
You must be signed in to change notification settings - Fork 3
Rust SDK Releases — June 2026 (detailed) #145
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -12,16 +12,34 @@ date: 2026-06-30 | |||||
| author: rahulchhabria@sentry.io | ||||||
| --- | ||||||
|
|
||||||
| Releases covered: **0.48.3** | ||||||
| Releases covered: | ||||||
|
|
||||||
| | Version | Date | Link | | ||||||
| |---------|------|------| | ||||||
| | 0.48.3 | Jun 2026 | [Release notes](https://github.com/getsentry/sentry-rust/releases/tag/0.48.3) | | ||||||
| | 0.48.3 | 2026-06-25 | [Release notes](https://github.com/getsentry/sentry-rust/releases/tag/0.48.3) | | ||||||
|
|
||||||
| ## What changed | ||||||
| ## TL;DR | ||||||
|
|
||||||
| - **Client report support (0.48.3):** The SDK now reports data it discards to Sentry's Stats page — covering transport drops, queue drops, rate-limit backoff, sampling, event processors, and `before_send*` callbacks, with span counts for dropped transactions. | ||||||
| - **New `TransportFactory` APIs (0.48.3):** Added `create_transport_with_options` and transport-specific options types (`ReqwestHttpTransportOptions`, `CurlHttpTransportOptions`, `UreqHttpTransportOptions`, `EmbeddedSVCHttpTransportOptions`) for cleaner custom transport construction. | ||||||
| - **`EnvelopeFilter` / `EnvelopeFilterCallbacks` (0.48.3):** New types to observe envelope items removed by `Envelope::filter`, including attachments dropped alongside their filtered event or transaction. | ||||||
| - **Deprecation (0.48.3):** `Hub::with` is deprecated — use `Hub::current` instead. | ||||||
| - **Bug fix (0.48.3):** Fixed `ureq` transport handling for 429 rate-limit and 413 payload-too-large HTTP responses. | ||||||
| - SDK now reports discarded data to Sentry's Stats page — transport drops, sampling, event processors, and `before_send*` callbacks are all tracked automatically. | ||||||
| - New `TransportFactory::create_transport_with_options` and transport-specific options types for cleaner custom transport construction. | ||||||
| - `EnvelopeFilter` / `EnvelopeFilterCallbacks` to observe all items removed by `Envelope::filter`, including attachments. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. m: See comment below
Suggested change
|
||||||
| - `Hub::with` deprecated — use `Hub::current()` instead. | ||||||
| - Fixed `ureq` transport handling of 429 and 413 HTTP responses. | ||||||
|
|
||||||
| ## Release notes | ||||||
|
|
||||||
| ### New Features | ||||||
|
|
||||||
| 0.48.3 makes the SDK automatically track data it discards and report aggregate counts to Sentry's Stats page. Drops from transport layers, background queues, rate-limit backoff, sampling decisions, event processors, and `before_send`/`before_send_transaction` callbacks are all covered. For dropped transactions, span counts are included; for dropped logs and metrics, byte counts are included. No configuration is required — the SDK batches these reports and sends them in future envelopes automatically. | ||||||
|
|
||||||
| The transport API is modernised in 0.48.3. `TransportFactory::create_transport_with_options` is added as the preferred way to construct transports. It receives a `TransportOptions` struct containing only transport-relevant fields (DSN, user agent, proxy settings, TLS configuration) rather than full `ClientOptions`, making custom transports simpler to write. Transport-specific options types are also introduced — `ReqwestHttpTransportOptions`, `CurlHttpTransportOptions`, `UreqHttpTransportOptions`, and `EmbeddedSVCHttpTransportOptions` — each with `with_options` constructors. The existing `TransportFactory::create_transport` continues to work but now receives `ClientOptions` reconstructed from `TransportOptions`, which only includes transport-relevant fields. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. l: These changes only affect those who have custom transports or who manually configure the built-in transports. As this is likely a minority of users, I would clarify the wording so that we don't leave folks wondering whether these changes affect them.
Suggested change
|
||||||
|
|
||||||
| `EnvelopeFilter` and `EnvelopeFilterCallbacks` are new in 0.48.3 and allow callers to observe which envelope items are removed by `Envelope::filter`. Previously, the closure received items as they were removed but attachments dropped alongside their parent event or transaction were not surfaced. The new types make all filtered items visible. | ||||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. m: I doubt anyone other than us will use these APIs; the APIs are only public because they need to be, as they cross the crate boundary. I am guessing this changelog is meant to be more end-user-facing than the Rust SDK changelog itself, so I would recommend we just omit this section, and keep it only in the SDK changelog.
Suggested change
|
||||||
|
|
||||||
| ### Deprecations | ||||||
|
|
||||||
| 0.48.3 deprecates `Hub::with`. Use `Hub::current()` to access the current hub. | ||||||
|
|
||||||
| ### Bug Fixes | ||||||
|
|
||||||
| The `ureq` HTTP transport was not correctly handling 429 (Too Many Requests) and 413 (Payload Too Large) response codes. Both are now processed as the appropriate transport-level errors. | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that correct? 😅