Skip to content

Releases: getsentry/relay

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)

25.11.0

17 Nov 19:28

Choose a tag to compare

Breaking Changes:

  • Simplify proxy mode to forward without processing. (#5165)

Features:

  • Only apply non-destructive PII rules to log bodies by default. (#5272)
  • Allow configuring separate http server for internal routes. (#5352)
  • Infer the client ip when set to {{auto}} for EAP items. (#5304)
  • Increase the default size limit for attachments to 200MiB. (#5310)
  • Add sentry.origin attribute to OTLP spans. (#5294)
  • Normalize deprecated attribute names according to sentry-conventions for logs and V2 spans. (#5257)
  • Allow sample rate per trace metric. (#5317)
  • Remove the profile context from transactions if profiles are currently rate limited. (#5346)
  • Replace is_remote with is_segment on the Span V2 schema. (#5306)
  • Add response_timeout config setting for Redis. (#5329)
  • Remove projects:discard-transaction feature flag. (#5307)

Bug Fixes:

  • Relay would record an invalid internal outcome when there should be no outcome. (#5372)
  • Redis pools being sized too small by default. (#5358)
  • Fix array attributes not being applied to standalone spans. (#5337)
  • Envelopes created from integrations can now be spooled. (#5284)
  • Make referer optional in Vercel Log Drain Transform. (#5273)
  • Fix potentially missing attachment outcomes when rate limiting. (#5301)
  • Tag spans' count per root metric with the trace root's transaction instead of the local transaction. (#5281)
  • Use vercel.path instead of url.path for Vercel Log Drain Transform. (#5274)
  • Add Google Storebot to the crawler filter list. (#5300)
  • Prevent duplicate fields in kafka spans. (#5373)

Internal:

  • Switch default allocator from jemalloc to mimalloc. (#5239)
  • Add internal attributes to aid searching trace metrics. (#5260)
  • Remove sentry.timestamp_nanos for log items. (#5295)
  • Remove the span kind from the Kafka span schema. (#5368)
  • Unconditionally enable span extraction. (#5308)

25.10.0

15 Oct 18:11

Choose a tag to compare

Features:

  • Enables more PII rules for MCP attributes. (#5219
  • Enables more PII rules for AI attributes. (#5166
  • Add Memory Info context to event schema. (#5154)
  • Add Thread Pool Info context to event schema. (#5153)
  • Add Unity Info context to event schema. (#5155)
  • Generate sentry.name attributes for spans without names. (#5143)
  • Add integration endpoints for OTLP. (#5176)
  • Emit a metric to record keep/drop decisions in Dynamic Sampling. (#5164, #5204)
  • Trim event tag keys & values to 200 chars instead of dropping them. (#5198)
  • Add trace metric protocol. (#5207)
  • Add sentry.origin attribute to OTLP logs. (#5190)
  • Add new iPhone 17 devices. (#5203)
  • Upgrade sqlparser and improve SQL parsing for span grouping. (#5211)
  • Maps unknown_error span status to internal_error. (#5202)
  • Add otp and two[-_]factor to default scrubbing rules. (#5250)
  • Add event merging logic for Playstation crashes. (#5228)
  • Implement PII scrubbing for V2 spans. (#5168)
  • Add vercel log drain endpoint. (#5212)

Bug Fixes:

  • Emit monitor outcomes when dropping/rejecting an envelope. (#5177)
  • Apply span name generation to spans extracted from transaction events. (#5191)

Internal:

  • Update most dependencies to semver compatible versions. (#5245)
  • No longer writes Spans as trace items. (#5152)
  • Removes support for the otel_span envelope item type. (#5238)
  • Produce spans to ingest-spans by default. (#5163)
  • Add retentions to the project configuration and use them for logs. (#5135)
  • Produce Span V2 Kafka messages. (#5151, #5173, #5199, #5216)
  • Extract additional user.geo.* attributes on spans. (#5194)
  • Modernize session processing and move to Relay's new processing framework. (#5201)
  • Add TraceMetric data category. (#5206)
  • Match placeholder segments in sentry conventions attributes. (#5237)

25.9.0

17 Sep 13:57

Choose a tag to compare

Breaking Changes:

  • Removes support for the deprecated and early alpha only otel log item type. (#5082)
  • Remove static mode. (#5108)

Features:

  • Add InstallableBuild and SizeAnalysis data categories. (#5084)
  • Add dynamic PII derivation to metastructure. (#5107)
  • Detect PII status of attributes based on sentry-conventions. (#5113)
  • Add support for an OTLP /v1/logs endpoint. This endpoint is gated behind the organizations:relay-otel-logs-endpoint feature flag. (#5130)

Internal:

  • Disable PII scrubbing for gen ai operation name. (#5064)
  • Set the default log retention to 30 days for full fidelity and downsampled data. (#5065)
  • Improved PII Scrubbing for attributes / logs (#5061))
  • Introduces a project scope sampling rule type. (#5077))
  • Produce transactions on transactions Kafka topic, even if they have attachments. (#5081)
  • Removes metric stats from the codebase. (#5097)
  • Add option gating Snuba publishing to ingest-replay-events for Replays. (#5088, #5115)
  • Add gen_ai_cost_total_tokens attribute and double write total tokens cost. (#5121)
  • Change mapping of incoming OTLP spans with ERROR status to Sentry's internal_error status. (#5127)
  • Change the feature flag for the alpha OTLP trace endpoint from projects:relay-otel-endpoint to organizations:relay-otlp-trace-endpoint. (#5133)
  • Add ai_operation_type_map to global config. (#5125)
  • Infer gen_ai.operation.type from span.op. (#5129)

25.8.0

15 Aug 17:39

Choose a tag to compare

  • Add data categories for Prevent. (#5052)

Features:

  • Build and publish Relay containers with a distroless base image. (#4940)
  • Add unhandled status type for Release Health session and sessions envelopes. (#4939)
  • Implements basic inbound filters for logs. (#5011)
  • Always emit a span usage metric, independent of span feature flags. (#4976)
  • Improve PII scrubbing for logentry.formatted by ensuring only sensitive data is redacted, rather than replacing the entire field value. (#4985)
  • Add payload size as an attribute to logs. (#5042)
  • Pass downsampled_event_retention to Traceitem where appropriate. (#5013, #5041)
  • Remove RelayMode::Capture and the associated logic. (#5053)

Bug Fixes:

  • Normalize OS and Browser names in contexts when missing a version. (#4957)
  • Normalize AI pipeline name and streaming flag to gen_ai.* names. (#4982)
  • Deal with sub-microsecond floating point inaccuracies for logs and spans correctly. (#5002)

Internal:

  • Enforce span limits for transactions and vice versa. (#4963)
  • Emit outcomes for skipped large attachments on playstation crashes. (#4862)
  • Disable span metrics. (#4931,#4955)
  • Deprecate old AI monitoring attributes. (#4960)
  • Normalize legacy ai.* attributes to gen_ai.* names. (#4924)
  • Force the routing key to be random instead of letting Kafka handle the randomization. (#4974)
  • Stop extracting the sentry.severity_number attribute for logs. (#4989)
  • Stop extracting the sentry.trace_flags attribute for logs. (#4988)
  • Add Jwm to the supported image types. (#4975)
  • Process logs in all non-proxy Relays. (#4973)
  • Add support for pre-hashed signatures. (#5012)
  • Add producer_name tag, and more rdkafka stats. (#5031)
  • Add healthcheck command to relay CLI, for self hosted. (#5044)
  • Change the default configuration to produce to snuba-items. (#5055)
  • Backfill client and server sample rates on spans. (#5059)

25.7.0

16 Jul 05:04

Choose a tag to compare

Features:

  • Add mechanism to allow ingestion only from trusted relays. (#4772)
  • Serialize OTEL span array attributes to JSON. (#4930)

Bug Fixes:

  • Preserve user specified event values in Unreal crash reports. (#4882)
  • OS name parsing of Unreal crash reports. (#4854)
  • Do not overwrite geo information if already set. (#4888)
  • The type fields of contexts are now enforced to be strings. Non-string values are replaced with the
    context's key. (#4932)
  • Do not drop custom measurements if no config is present. (#4941)

Internal:

  • No longer store debug symbols and the source in the docker image. (#4942)
  • Forward logs to Kafka directly instead of serialized as envelope. (#4875)
  • Remember accepted/ingested bytes for log outcomes. (#4886)
  • Add gen_ai.response.tokens_per_second span attribute on AI spans. (#4883)
  • Add support for playstation data requests. (#4870)
  • Expand the NEL attributes & others. (#4874)
  • Normalize legacy AI agents attributes to OTel compatible names. (#4916)
  • Fix cost calculation for cached and reasoning tokens. (#4922)
  • Implement serialization of metadata for logs. (#4929)

25.6.2

30 Jun 22:15

Choose a tag to compare

Features:

  • Add configuration to allow high cardinality tags in metrics. (#4805)
  • Make client sdk mandatory for profile sample v2. (#4853)
  • Sharding into many topics based on partition key. (#4861)
  • Parse Chromium stability report from minidumps into context (#4837)

Internal:

  • Introduces a new processing pipeline and implements it for logs. (#4777)
  • Produce spans to the items topic. (#4735)
  • Update opentelemetry-proto and sentry-protos dependencies. (#4847)
  • Take into account more types of tokens when doing AI cost calculation. (#4840)
  • Use the FiniteF64 type for measurements. (#4828)
  • Derive a sentry.description attribute for V2 spans (#4832)
  • Consider gen_ai also as AI span op prefix. (#4859)
  • Change pii scrubbing on some AI attributes to optional (#4860)
  • Conditionally set total_cost and total_tokens attributes on AI spans. (#4868)