Skip to content

Releases: getsentry/relay

24.11.0

19 Nov 00:52
Compare
Choose a tag to compare

Breaking Changes:

  • Removes support for metric meta envelope items. (#4152)
  • Removes support for the project cache endpoint version 2 and before. (#4147)

Bug Fixes:

  • Allow profile chunks without release. (#4155)

Features:

  • Add check to ensure unreal user info is not empty. (#4225)
  • Retain empty string values in span.data and event.contexts.trace.data. (#4174)
  • Allow sample_rate to be float type when deserializing DynamicSamplingContext. (#4181)
  • Support inbound filters for profiles. (#4176)
  • Scrub lower-case redis commands. (#4235)
  • Make the maximum idle time of a HTTP connection configurable. (#4248)
  • Allow configuring a Sentry server name with an option or the RELAY_SERVER_NAME environment variable. (#4251)

Internal:

  • Add a metric that counts span volume in the root project for dynamic sampling (c:spans/count_per_root_project@none). (#4134)
  • Add a tag target_project_id to both root project metrics for dynamic sampling (c:transactions/count_per_root_project@none and c:spans/count_per_root_project@none) which shows the flow trace traffic from root to target projects. (#4170)
  • Remove buffer entries and scrub array contents from MongoDB queries. (#4186)
  • Use DateTime<Utc> instead of Instant for tracking the received time of the Envelope. (#4184)
  • Add a field to suggest consumers to ingest spans in EAP. (#4206)
  • Run internal worker threads with a lower priority. (#4222)
  • Add additional fields to the Event Getter. (#4238)
  • Replace u64 with OrganizationId new-type struct for organization id. (#4159)
  • Add computed contexts for os, browser and runtime. (#4239)
  • Add CachingEnvelopeStack strategy to the buffer. (#4242)

24.10.0

16 Oct 22:30
Compare
Choose a tag to compare

Breaking Changes:

  • Only allow processing enabled in managed mode. (#4087)

Bug Fixes:

  • Report invalid spans with appropriate outcome reason. (#4051)
  • Use the duration reported by the profiler instead of the transaction. (#4058)
  • Incorrect pattern matches involving adjacent any and wildcard matchers. (#4072)

Features:

  • Add a config option to add default tags to all Relay Sentry events. (#3944)
  • Automatically derive client.address and user.geo for standalone spans. (#4047)
  • Add support for uploading compressed (gzip, xz, zstd, bzip2) minidumps. (#4029)
  • Add user geo information to Replays. (#4088)
  • Configurable span.op inference. (#4056)
  • Enable support for zstd Content-Encoding. (#4089)
  • Add support for creating User from LoginId in Unreal Crash Context. (#4093)
  • Add multi-write Redis client. (#4064)

Internal:

  • Remove unused cogs.enabled configuration option. (#4060)
  • Add the dynamic sampling rate to standalone spans as a measurement so that it can be stored, queried, and used for extrapolation. (#4063)
  • Use custom wildcard matching instead of regular expressions. (#4073)
  • Allowlist the SentryUptimeBot user-agent. (#4068)
  • Feature flags of graduated features are now hard-coded in Relay so they can be removed from Sentry. (#4076, #4080)
  • Add parallelization in Redis commands. (#4118)

24.9.0

16 Sep 21:06
Compare
Choose a tag to compare

Bug Fixes:

  • Use matches_any_origin to scrub HTTP hosts in spans. (#3939).
  • Keep frames from both ends of the stacktrace when trimming frames. (#3905)
  • Use UnixTimestamp instead of DateTime when sorting envelopes from disk. (#4025)

Features:

  • Add configuration option to specify the instance type of Relay. (#3938)
  • Update definitions for user agent parsing. (#3951)
  • Extend project config API to be revision aware. (#3947)
  • Removes processing.max_secs_in_past from the main config in favor of event retention from the project config. (#3958)

Internal:

  • Record too long discard reason for session replays. (#3950)
  • Add EnvelopeStore trait and implement DiskUsage for tracking disk usage. (#3925)
  • Increase replay recording limit to two hours. (#3961)
  • Forward profiles of non-sampled transactions (with no options filtering). (#3963)
  • Make EnvelopeBuffer a Service. (#3965)
  • No longer send COGS data to dedicated Kafka topic. (#3953)
  • Remove support for extrapolation of metrics. (#3969)
  • Remove the internal dashboard that shows logs and metrics. (#3970)
  • Remove the OTEL spans endpoint in favor of Envelopes. (#3973)
  • Remove the generate-schema tool. Relay no longer exposes JSON schema for the event protocol. Consult the Rust type documentation of the relay-event-schema crate instead. (#3974)
  • Allow creation of SqliteEnvelopeBuffer from config, and load existing stacks from db on startup. (#3967)
  • Only tag user.geo.subregion on frontend and mobile projects. (#4013, #4023)
  • Implement graceful shutdown mechanism in the EnvelopeBuffer. (#3980)

24.8.0

15 Aug 19:02
Compare
Choose a tag to compare

Bug Fixes:

  • Allow metrics summaries with only count (for sets). (#3864)
  • Do not trim any span field. Remove entire span instead. (#3890)
  • Do not drop replays, profiles and standalone spans in proxy Relays. (#3888)
  • Prevent an endless loop that causes high request volume and backlogs when certain large metric buckets are ingested or extrected. (#3893)
  • Extract set span metrics from numeric values. (#3897)

Internal:

  • Add experimental support for V2 envelope buffering. (#3855, #3863)
  • Add client_sample_rate to spans, pulled from the trace context. (#3872)
  • Collect SDK information in profile chunks. (#3882)
  • Introduce trim = "disabled" type attribute to prevent trimming of spans. (#3877)
  • Make the tcp listen backlog configurable and raise the default to 1024. (#3899)
  • Extract user.geo.country_code into span indexed. (#3911)
  • Add span.system tag to span metrics (#3913)
  • Switch glob implementations from regex to regex-lite. (#3926)
  • Disables unicode support in user agent regexes. (#3929)
  • Extract client sdk from transaction into profiles. (#3915)
  • Extract user.geo.subregion into span metrics/indexed. (#3914)
  • Add last_peek field to the Priority struct. (#3922)
  • Extract user.geo.subregion for mobile spans. (#3927)

24.7.1

23 Jul 19:32
Compare
Choose a tag to compare

Features:

  • "Cardinality limit" outcomes now report which limit was exceeded. (#3825)
  • Derive span browser name from user agent. (#3834)

Internal:

  • Use a dedicated thread pool for CPU intensive workloads. (#3833)
  • Remove BufferGuard in favor of memory checks via MemoryStat. (#3821)
  • Add ReplayVideo entry to DataCategory. (#3847)

24.7.0

15 Jul 20:38
Compare
Choose a tag to compare

Bug Fixes:

  • Fixes raw OS description parsing for iOS and iPadOS originating from the Unity SDK. (#3780)
  • Fixes metrics dropped due to missing project state. (#3553)
  • Incorrect span outcomes when generated from a indexed transaction quota. (#3793)
  • Report outcomes for spans when transactions are rate limited. (#3749)
  • Only transfer valid profile ids. (#3809)

Internal:

  • Aggregate metrics before rate limiting. (#3746)
  • Make sure outcomes for dropped profiles are consistent between indexed and non-indexed categories. (#3767)
  • Add web vitals support for mobile browsers. (#3762)
  • Ingest profiler_id in the profile context and in spans. (#3714, #3784)
  • Support extrapolation of metrics extracted from sampled data, as long as the sample rate is set in the DynamicSamplingContext. (#3753)
  • Extract thread ID and name in spans. (#3771)
  • Compute metrics summary on the extracted custom metrics. (#3769)
  • Add support for all and any RuleCondition(s). (#3791)
  • Copy root span data from contexts.trace.data when converting transaction events into raw spans. (#3790)
  • Remove experimental double-write from spans to transactions. (#3801)
  • Add feature flag to disable replay-video events. (#3803)
  • Write the envelope's Dynamic Sampling Context (DSC) into event payloads for debugging. (#3811)

24.6.0

18 Jun 17:29
Compare
Choose a tag to compare

Bug fixes:

  • Trim fields in replays to their defined maximum length. (#3706)
  • Emit span usage metric for every extracted or standalone span, even if common span metrics are disabled. (#3719)
  • Stop overwriting the level of user supplied errors in unreal crash reports. (#3732)
  • Apply rate limit on extracted spans when the transaction is rate limited. (#3713)

Internal:

  • Treat arrays of pairs as key-value mappings during PII scrubbing. (#3639)
  • Rate limit envelopes instead of metrics for sampled/indexed items. (#3716)
  • Improve flush time calculation in metrics aggregator. (#3726)
  • Default client of RequestMeta to relay-http for incoming monitor requests. (#3739)

24.5.1

04 Jun 21:03
Compare
Choose a tag to compare

Bug fixes:

  • Apply globally defined metric tags to legacy transaction metrics. (#3615)
  • Limit the maximum size of spans in an transaction to 800 kib. (#3645)
  • Scrub identifiers in spans with op:db and db_system:redis. (#3642)
  • Stop trimming important span fields by marking them trim = "false". (#3670)

Features:

  • Apply legacy inbound filters to standalone spans. (#3552)
  • Add separate feature flags for add-ons span metrics and indexed spans. (#3633)

Internal:

  • Send microsecond precision timestamps. (#3613)
  • Pull AI token counts from the 'data' section as well. (#3630)
  • Map outcome reasons for dynamic sampling to reduced set of values. (#3623)
  • Extract status for spans. (#3606)
  • Forward received_at timestamp for buckets sent to Kafka. (#3561)
  • Limit metric name to 150 characters. (#3628)
  • Add validation of Kafka topics on startup. (#3543)
  • Send attachment data inline when possible. (#3654)
  • Drops support for transaction metrics extraction versions < 3. (#3672)
  • Move partitioning into the Aggregator and add a new Partition bucket shift mode. (#3661)

24.5.0

15 May 18:18
Compare
Choose a tag to compare

Breaking Changes:

  • Remove the AWS lambda extension. (#3568)

Bug fixes:

  • Properly handle AI metrics from the Python SDK's @ai_track decorator. (#3539)
  • Mitigate occasional slowness and timeouts of the healthcheck endpoint. The endpoint will now respond promptly an unhealthy state. (#3567)

Features:

  • Apple trace-based sampling rules to standalone spans. (#3476)

Internal:

  • Add metrics extraction config to global config. (#3490, #3504)
  • Adjust worker thread distribution of internal services. (#3516)
  • Extract cache.item_size from measurements instead of data. (#3510)
  • Collect enviornment tag as part of exclusive_time_light for cache spans. (#3510)
  • Forward span.data on the Kafka message. (#3523)
  • Tag span duration metric like exclusive time. (#3524)
  • Emit negative outcomes for denied metrics. (#3508)
  • Increase size limits for internal batch endpoints. (#3562)
  • Emit negative outcomes when metrics are rejected because of a disabled namespace. (#3544)
  • Add AI model costs to global config. (#3579)
  • Add support for event. in the Span Getter implementation. (#3577)
  • Ensure chunk_id and profiler_id are UUIDs and sort samples. (#3588)
  • Add a calculated measurement based on the AI model and the tokens used. (#3554)

24.4.2

29 Apr 23:38
Compare
Choose a tag to compare

Breaking Changes:

  • Stop supporting dynamic sampling mode "total", which adjusted for the client sample rate. (#3474)

Bug fixes:

  • Respect country code TLDs when scrubbing span tags. (#3458)
  • Extract HTTP status code from span data when sent as integers. (#3491)

Features:

  • Separate the logic for producing UserReportV2 events (user feedback) and handle attachments in the same envelope as feedback. (#3403)
  • Use same keys for OTel span attributes and Sentry span data. (#3457)
  • Support passing owner when upserting Monitors. (#3468)
  • Add features to ClientSDKInfo (#3478
  • Extract frames.slow, frames.frozen, and frames.total metrics from mobile spans. (#3473)
  • Extract frames.delay metric from mobile spans. (#3472)
  • Consider "Bearer" (case-insensitive) a password. PII will scrub all strings matching that substring. (#3484)
  • Add support for CF-Connecting-IP header. (#3496)

Internal:

  • Emit gauges for total and self times for spans. (#3448)
  • Collect exclusive_time_light metrics for cache.* spans. (#3466)
  • Build and publish ARM docker images for Relay. (#3272).