Skip to content

Releases: getsentry/relay

26.4.1

22 Apr 19:53

Choose a tag to compare

Breaking Changes:

  • Docker images are no longer published to Docker Hub, use the Github Container Registry instead (see documentation). (#5845)

Features:

  • Use ModelMetadata config with context size and utilization. (#5814)
  • Handle minidump placeholders. (#5849)
  • Add config option to spread envelopes evenly across buffer partitions. (#5853)

Internal:

  • Move unreal crash report expansion from processing into endpoint. (#5825)
  • Ports legacy standalone span processing to the processing framework. (#5852)
  • Retry failing objectstore requests. (#5836)
  • Add mobile normalizations to SpanV2 processing pipeline (mobile tag, main thread, outlier filtering, app start backfill from V1 transactions, device class). (#5824)
  • Remove the deprecated aiModelCosts global config, superseded by aiModelMetadata. (#5862)

Bug Fixes:

  • Respond with 429 if otlp logs are rate limited, as per spec. (#5841)
  • Respect rate limit silencing also when all items are rate limited. (#5840)

26.4.0

15 Apr 18:54

Choose a tag to compare

Breaking Changes:

  • To prevent false positives, non-public email addresses (e.g. user@localhost) are no longer scrubbed by default. (#5737)

Bug Fixes:

  • Scrub API key headers with hyphens (e.g. x-api-key) in default PII scrubbing. (#5829)
  • Store segment name in sentry.transaction in addition to sentry.segment.name on OTLP spans. (#5765)
  • Explicitly handle in-flight requests during shutdown. (#5746, #5769)
  • Emit outcomes in both log_byte and log_item categories when logs are dropped. (#5766)
  • Propagate an event's retention policy to its attachments (#5774)
  • Prevent panic in span description normalization. (#5781)
  • Limit overall stream size in playstation multiparts. (#5795)

Features:

  • Transition error processing pipeline to a more modern implementation. (#5702)
  • Set sentry.segment.id and sentry.segment.name attributes on OTLP segment spans. (#5748)
  • Envelope buffer: Add option to disable flush-to-disk on shutdown. (#5751)
  • Allow configuring Objectstore client auth parameters. (#5720)
  • Metric size limit per metric default changed to 1mib. (#5779)
  • Use gen_ai.function_id as a fallback for gen_ai.agent.name. (#5776)
  • Add gen_ai.input.messages and gen_ai.output.messages as distinct fields for SpanData. (#5797)
  • Merge gen_ai.request.messages into gen_ai.input.messages and gen_ai.response.text into gen_ai.output.messages. (#5813)
  • Extract http.query and url.query attributes from query_string in transactions' request context. (#5784)
  • Add ModelMetadata global config with context size. (#5831)

Internal:

  • Update trace metric PII scrubbing to use relay_pii::eap::scrub. (#5815)
  • Calculate and track accepted bytes per individual trace metric item via TraceMetricByte data category. (#5744, #5767)
  • Graduate standalone span ingestion feature flag. (#5786)
  • Remove cardinality limiter. (#5809)
  • Use new processor architecture to process standalone profiles. (#5741)
  • TUS: Disallow creation with upload. (#5734)
  • Add logic to verify attachment placeholders and correctly store them. (#5747)
  • Remove continuous-profiling-beta feature flags. (#5762)
  • Playstation: Do not upload attachments if quota is 0. (#5770)
  • Add payload byte size to trace metrics. (#5764)
  • Remove transaction metrics extraction. (#5792)
  • Mix kafka partition key with org id. (#5772)
  • Set a trace_id on all events by default for internal use. (#5759)

26.3.1

17 Mar 19:28

Choose a tag to compare

Internal:

  • Use new processor architecture to process standalone user reports. (#5731)

26.3.0

16 Mar 16:34

Choose a tag to compare

Breaking Changes:

  • Use a more mature (dog)statsd backend, with proper support for unix sockets and reservoir sampling.
    Due to the new backend, all sampling and tag filtering configuration options have been removed. (#5675)
  • Remove unused outcomes.emit_client_outcomes configuration option. (#5722)

Bug Fixes:

  • Normalize custom metric units to none on trace metrics during processing. (#5718)
  • Prevent minidump compression bomb. (#5613)
  • Relay Temporarily rejected unknown headers on envelope items. (#5709)

Features:

  • Populate gen_ai.response.model from gen_ai.request.model if not already set. (#5654)
  • Add support for Unix domain sockets for statsd metrics. (#5668)
  • Support deployment.environment OTLP resource attribute for setting the Sentry environment. (#5691)
  • Allow users to opt-out of DNS caching. (#5700)
  • Update device classification for new iPad and iPhone models. (#5704)
  • Add TraceMetricByte data category. (#5719)

Internal:

  • Strip performance metric specs from extraction while keeping extraction interfaces intact. (#5674)
  • Allow deferred lengths to the /upload endpoint when the sender is trusted. (#5658)
  • Stream non-prosperodmp attachments received at /playstation to objectstore. (#5673)
  • Use new processor architecture to process client reports. (#5686)
  • Use new processor architecture to process standalone attachments. (#5703)
  • Prevent timeouts on the /upload endpoint. (#5692)
  • Handle traffic bursts in the objectstore service. (#5689)
  • Disable fetch_materials on GoCD pipeline-complete stages. (#5697)

26.2.1

21 Feb 00:39

Choose a tag to compare

Bug Fixes:

  • Return status code 200 instead of 202 for OTLP endpoints. (#5645)

Features:

  • Add experimental /upload endpoint for large file uploads. (#5638)

26.2.0

17 Feb 07:36

Choose a tag to compare

Bug Fixes:

  • Emit outcomes for spans trimmed from a transaction. (#5410)
  • Support sample alias in CSP reports. (#5554)
  • Fix inconsistencies with Insights' expected attributes. (#5561)
  • Emit outcomes for dropped standalone replay_event items. (#5634)
  • Validate that EAP integer attributes fit into i64. (#5621)

Features:

  • Add new frame fields for MetricKit flamegraphs. (#5539)
  • Apply clock drift correction to logs and trace metrics. (#5609)
  • Add Culture context to event schema. (#5615)
  • Trim spans with a new EAP trimming processor. (#5616)
  • Forwarded requests are now streamed instead of buffered in-memory. (#5624)

Internal:

  • Add EAP double-write for session data. (#5588)
  • Always process OTLP spans with the span streaming pipeline. (#5631)
  • Embed AI operation type mappings into Relay. (#5555)
  • Use new processor architecture to process transactions. (#5379)
  • Add gen_ai_response_time_to_first_token as a SpanData attribute. (#5575)
  • Add sampling to expensive envelope buffer statsd metrics. (#5576)
  • Use new processor architecture to process replays. (#5580)
  • Add gen_ai.cost_calculation.result metric to track AI cost calculation outcomes by integration and platform. (#5560)
  • Normalizes and validates trace metric names. (#5589)
  • Add manual category to cost calculation metric origin tag (#5603)
  • Remove the ReplayEvents Kafka topic and the replay.relay-snuba-publishing-disabled.sample-rate option. (#5629)

26.1.0

15 Jan 20:08

Choose a tag to compare

Breaking Changes:

  • Return status code 413 if a request is rejected due to size limits. (#5474)

Features:

  • Updates rdkafka to 2.10 which fixes some protocol incompatibilities with Kafka 4. (#5523)
  • Add sentry.category normalization for V2 spans. (#5533)
  • Include cache write token cost in cost calculation for gen_ai spans. (#5530)

Bug Fixes:

  • Write item IDs of logs, metrics and trace attachments in correct byte order. (#5526)
  • Reworked AI span extraction to also take trace context into account. (#5515)
  • Mark root spans (spans without a parent) as segments in OTEL conversion. (#5532)

Internal:

  • Release Docker image to GHCR and DockerHub via Craft. (#5509)
  • Tag span usage and count_per_root_project metrics with segment information. (#5511)
  • Experimental support for loading configuration values from files. (#5531)
  • Remove support for global quotas. (#5534)

25.12.1

23 Dec 16:35

Choose a tag to compare

Features:

  • Double write to legacy attributes for backwards compatibility. (#5490)

25.12.0

15 Dec 18:42

Choose a tag to compare

Features:

  • Updates Legacy Browser inbound filters. (#5326)
  • Increases log size limits to better support log drains. (#5441)
  • Add functionality to process and store span attachments. (#5423, #5363)
  • Apply existing cookie rules to http.request.header.cookie.<key> fields. (#5456)
  • Add functionality to process and store trace attachments. (#5457)
  • Lower default memory utilization threshold for disk spooling from 90% to 80%. When Relay hits 80% memory utilization, it will start spooling envelopes to disk instead of processing them. (#5472)

Bug Fixes:

  • Fix parsing of data categories/quotas when using an aliased data category name. (#5435)

Internal:

  • Revise trace metric and log size limits. (#5440)
  • Update is_ai_span and infer_ai_operation_type to use gen_ai.operation.name. (#5433)
  • Add project_id to profile item kafka headers. (#5458)
  • Remove recycle_check_frequency from Redis configuration. (#5476)
  • Remove gen_ai_usage_total_cost attribute and stop double writing costs. (#5471)

25.11.1

01 Dec 18:14

Choose a tag to compare

Breaking Changes:

  • Switch Statsd histogram metrics to distribution metrics. (#5378)

Features:

  • Support comparing release versions without build code. (#5376)
  • Support uploading attachments directly to objectstore. (#5367)
  • Add span_count item header to the envelope protocol. (#5392)
  • Add event.name attribute to OTLP logs. (#5396)
  • Remove feature flag for Vercel Log Drain endpoint. (#5406)
  • Add http.request.header.cookie to fields scrubbed by cookie rules. (#5408)
  • Map request_id to trace_id in vercel log drain transform. (#5333)
  • Populate sentry.platform during OTLP ingestion. (#5411)
  • Implement optional opportunistic caching for quotas. (#5416)
  • Add db attribute normalization to V2 spans. (#5399)

Internal:

  • Derive the rate limiting decision in Relay from consumed quota. (#5390)