Releases: getsentry/relay
Releases · getsentry/relay
24.4.2
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
, andframes.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:
24.4.1
24.4.0
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 theEnvelope
headers. (#3405)
Features:
- Breaking change: Kafka topic configuration keys now support the default topic name. The previous aliases
metrics
andmetrics_transactions
are no longer supported if configuring topics manually. Useingest-metrics
ormetrics_sessions
instead ofmetrics
, andingest-performance-metrics
ormetrics_generic
instead ofmetrics_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
andremote_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
andcache.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 id6
. (#3389) - Extract
cache.item_size
andcache.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
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
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)
24.1.2
Features:
- Add
raw_domain
tag to indexed spans. (#2975) - Obtain
span.domain
field from the span data'surl.scheme
andserver.address
properties when applicable. (#2975) - Do not truncate simplified SQL expressions. (#3003)
- Add
app_start_type
as a tag for self time and duration for app start spans. (#3027), (#3066)
Internal:
- Emit a usage metric for total spans. (#3007)
- Drop timestamp from metrics partition key. (#3025)
- Drop spans ending outside the valid timestamp range. (#3013)
- Extract INP metrics from spans. (#2969, #3041)
- Add ability to rate limit metric buckets by namespace. (#2941)
- Upgrade sqlparser to 0.43.1.(#3057)
- Implement project scoped cardinality limits. (#3071)
24.1.1
Features:
- Add new legacy browser filters. (#2950)
Internal:
- Implement quota system for cardinality limiter. (#2972)
- Use cardinality limits from project config instead of Relay config. (#2990)
- Proactively move on-disk spool to memory. (#2949)
- Default missing
Event.platform
andEvent.level
fields during light normalization. (#2961) - Copy event measurements to span & normalize span measurements. (#2953)
- Add
allow_negative
toBuiltinMeasurementKey
. Filter out negative BuiltinMeasurements ifallow_negative
is false. (#2982) - Add possiblity to block metrics or their tags with glob-patterns. (#2954, #2973)
- Forward profiles of non-sampled transactions. (#2940)
- Enable throttled periodic unspool of the buffered envelopes. (#2993)
Bug Fixes:
- Add automatic PII scrubbing to
logentry.params
. (#2956) - Avoid producing
null
values in metric data. These values were the result of Infinity or NaN values extracted from event data. The values are now discarded during extraction. (#2958) - Fix processing of user reports. (#2981, #2984)
- Fetch project config when metrics are received. (#2987)
24.1.0
Features:
- Add a global throughput rate limiter for metric buckets. (#2928)
- Group db spans with repeating logical conditions together. (#2929)
Bug Fixes:
- Normalize event timestamps before validating them, fixing cases where Relay would drop valid events with reason "invalid_transaction". (#2878)
- Resolve a division by zero in performance score computation that leads to dropped metrics for transactions. (#2911)
Internal:
- Add
duration
metric for mobile app start spans. (#2906) - Introduce the configuration option
http.global_metrics
. When enabled, Relay submits metric buckets not through regular project-scoped Envelopes, but instead through the global endpoint. When this Relay serves a high number of projects, this can reduce the overall request volume. (#2902) - Record the size of global metrics requests in statsd as
upstream.metrics.body_size
. (#2908) - Make Kafka spans compatible with the Snuba span schema. (#2917, #2926)
- Only extract span metrics / tags when they are needed. (#2907, #2923, #2924)
- Normalize metric resource identifiers in
event._metrics_summary
andspan._metrics_summary
. (#2914) - Validate error_id and trace_id vectors in replay deserializer. (#2931)
- Add a data category for indexed spans. (#2937)
- Add nested Android app start span ops to span ingestion (#2927)
23.12.1
Internal:
- Use a Lua script and in-memory cache for the cardinality limiting to reduce load on Redis. (#2849)
- Extract metrics for file spans. (#2874)
- Add an internal endpoint that allows Relays to submit metrics from multiple projects in a single request. (#2869)
- Emit a
processor.message.duration
metric to assess the throughput of the internal CPU pool. (#2877)
23.12.0
Features:
- Ingest OpenTelemetry and standalone Sentry spans via HTTP or an envelope. (#2620)
- Partition and split metric buckets just before sending. Log outcomes for metrics. (#2682)
- Support optional
PerformanceScoreWeightedComponent
in performance score processing. (#2783) - Return global config ready status to downstream relays. (#2765)
- Add Mixed JS/Android Profiles events processing. (#2706)
- Allow to ingest measurements on a span. (#2792)
- Extract size metrics for all resource spans when permitted. (#2805)
- Allow access to more fields in dynamic sampling and metric extraction. (#2820)
- Add Redis set based cardinality limiter for metrics. (#2745)
- Support issue thresholds for Cron Monitor configurations (#2842)
Bug Fixes:
- In on-demand metric extraction, use the normalized URL instead of raw URLs sent by SDKs. This bug prevented metrics for certain dashboard queries from being extracted. (#2819)
- Ignore whitespaces when parsing user reports. (#2798)
Internal:
- Support source context in metric code locations metadata entries. (#2781)
- Temporarily add metric summaries on spans and top-level transaction events to link DDM with performance monitoring. (#2757)
- Add size limits on metric related envelope items. (#2800)
- Include the size offending item in the size limit error message. (#2801)
- Allow ingestion of metrics summary on spans. (#2823)
- Add metric_bucket data category. (#2824)
- Org rate limit metrics per bucket. (#2836)
- Emit image resource spans, grouped by domain and extension. (#2826, #2855)
- Parse timestamps from strings in span OpenTelemetry schema. (#2857)