Skip to content

Releases: getsentry/relay

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

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)