Skip to content

Releases: getsentry/relay

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).

24.4.1

18 Apr 17:26
Compare
Choose a tag to compare

Features:

  • Add inbound filters for Annotated types. (#3420)
  • Add Linux distributions to os context. (#3443)

Internal:

  • Emit negative outcomes in metric stats for metrics. (#3436)
  • Add new inbound filter: Permission denied to access property "x" (#3442)

24.4.0

15 Apr 23:58
Compare
Choose a tag to compare

Bug fixes:

  • Fix performance regression in disk spooling by using page counts to estimate the spool size. (#3379)
  • Perform clock drift normalization only when sent_at is set in the Envelope headers. (#3405)

Features:

  • Breaking change: Kafka topic configuration keys now support the default topic name. The previous aliases metrics and metrics_transactions are no longer supported if configuring topics manually. Use ingest-metrics or metrics_sessions instead of metrics, and ingest-performance-metrics or metrics_generic instead of metrics_transactions. (#3361)
  • Breaking change: Remove ShardedProducer and related code. The sharded configuration for Kafka is no longer supported. (#3415)
  • Add support for continuous profiling. (#3270)
  • Add support for Reporting API for CSP reports (#3277)
  • Extract op and description while converting opentelemetry spans to sentry spans. (#3287)
  • Drop event_id and remote_addr from all outcomes. (#3319)
  • Support for AI token metrics (#3250)
  • Accept integers in event.user.username. (#3328)
  • Produce user feedback to ingest-feedback-events topic, with rollout rate. (#3344)
  • Extract cache.item_size and cache.hit data into span indexed ([#3367]#3367)
  • Allow IP addresses in metrics domain tag. (#3365)
  • Support the full unicode character set via UTF-8 encoding for metric tags submitted via the statsd format. Certain restricted characters require escape sequences, see docs for the precise rules. (#3358)
  • Stop extracting count_per_segment and count_per_op metrics. (#3380)
  • Add cardinality_limited outcome with id 6. (#3389)
  • Extract cache.item_size and cache.hit metrics. ([#3371]#3371)
  • Optionally convert segment spans to transactions for compatibility. (#3375)
  • Add feature flag for replay video event types. (#3402)
  • Extract scrubbed IP addresses into the span.domain tag. (#3383)

Internal:

  • Enable db.redis span metrics extraction. (#3283)
  • Add data categories for continuous profiling. (#3284, #3303)
  • Apply rate limits to span metrics. (#3255)
  • Extract metrics from transaction spans. (#3273, #3324)
  • Implement volume metric stats. (#3281)
  • Implement cardinality metric stats. (#3360)
  • Scrub transactions before enforcing quotas. (#3248)
  • Implement metric name based cardinality limits. (#3313)
  • Kafka topic config supports default topic names as keys. (#3282, #3350)
  • Set all span tags on the transaction span. (#3310)
  • Emit outcomes for user feedback events. (#3026)
  • Collect duration for all spans. (#3322)
  • Add project_id as part of the span Kafka message headers. (#3320)
  • Stop producing to sessions topic, the feature is now fully migrated to metrics. (#3271)
  • Pass retention_days in the Kafka profile messages. (#3362)
  • Support and expose namespaces for metric rate limit propagation via the x-sentry-rate-limits header. (#3347)
  • Tag span duration metric by group for all ops supporting description scrubbing. (#3370)
  • Copy transaction tags to segment. (#3386)
  • Route spans according to trace_id. (#3387)
  • Log span when encountering a validation error. (#3401)
  • Optionally skip normalization. (#3377)
  • Scrub file extensions in file spans and tags. (#3413)

24.3.0

15 Mar 17:46
Compare
Choose a tag to compare

Features:

  • Extend GPU context with data for Unreal Engine crash reports. (#3144)
  • Implement base64 and zstd metric bucket encodings. (#3218)
  • Implement COGS measurements into Relay. (#3157)
  • Parametrize transaction in dynamic sampling context. (#3141)
  • Adds ReplayVideo envelope-item type. (#3105)
  • Parse & scrub span description for supabase. (#3153, #3156)
  • Introduce generic filters in global configs. (#3161)
  • Individual cardinality limits can now be set into passive mode and not be enforced. (#3199)
  • Allow enabling SSL for Kafka. (#3232)
  • Enable HTTP compression for all APIs. (#3233)
  • Add process.load span to ingested mobile span ops. (#3227)
  • Track metric bucket metadata for Relay internal usage. (#3254)
  • Enforce rate limits for standalone spans. (#3238)
  • Extract span.status_code tag for HTTP spans. (#3245)

Bug Fixes:

  • Forward metrics in proxy mode. (#3106)
  • Do not PII-scrub code locations by default. (#3116)
  • Accept transactions with unfinished spans. (#3162)
  • Don't run validation on renormalization, and don't normalize spans from librelay calls. (#3214)
  • Set segment_id as optional (#3275)

Internal:

  • Add quotas to global config. (#3086)
  • Adds support for dynamic metric bucket encoding. (#3137)
  • Use statsdproxy to pre-aggregate metrics. (#2425)
  • Add SDK information to spans. (#3178)
  • Drop replay envelopes if any item fails. (#3201)
  • Filter null values from metrics summary tags. (#3204)
  • Emit a usage metric for every span seen. (#3209)
  • Add namespace for profile metrics. (#3229)
  • Add segment_id to the profile. (#3265)

24.2.0

15 Feb 21:08
Compare
Choose a tag to compare

Bug Fixes:

  • Fix regression in SQL query scrubbing. (#3091)
  • Normalize route in trace context data field. (#3104)
  • Limit the length of scrubbed span descriptions. (#3115)

Features:

  • Add protobuf support for ingesting OpenTelemetry spans and use official opentelemetry-proto generated structs. (#3044)

Internal:

  • Set the span op on segments. (#3082)