Releases: getsentry/relay
Releases · getsentry/relay
24.11.0
Breaking Changes:
- Removes support for metric meta envelope items. (#4152)
- Removes support for the project cache endpoint version 2 and before. (#4147)
Bug Fixes:
- Allow profile chunks without release. (#4155)
Features:
- Add check to ensure unreal user info is not empty. (#4225)
- Retain empty string values in
span.data
andevent.contexts.trace.data
. (#4174) - Allow
sample_rate
to be float type when deserializingDynamicSamplingContext
. (#4181) - Support inbound filters for profiles. (#4176)
- Scrub lower-case redis commands. (#4235)
- Make the maximum idle time of a HTTP connection configurable. (#4248)
- Allow configuring a Sentry server name with an option or the
RELAY_SERVER_NAME
environment variable. (#4251)
Internal:
- Add a metric that counts span volume in the root project for dynamic sampling (
c:spans/count_per_root_project@none
). (#4134) - Add a tag
target_project_id
to both root project metrics for dynamic sampling (c:transactions/count_per_root_project@none
andc:spans/count_per_root_project@none
) which shows the flow trace traffic from root to target projects. (#4170) - Remove
buffer
entries and scrub array contents from MongoDB queries. (#4186) - Use
DateTime<Utc>
instead ofInstant
for tracking the received time of theEnvelope
. (#4184) - Add a field to suggest consumers to ingest spans in EAP. (#4206)
- Run internal worker threads with a lower priority. (#4222)
- Add additional fields to the
Event
Getter
. (#4238) - Replace u64 with
OrganizationId
new-type struct for organization id. (#4159) - Add computed contexts for
os
,browser
andruntime
. (#4239) - Add
CachingEnvelopeStack
strategy to the buffer. (#4242)
24.10.0
Breaking Changes:
- Only allow processing enabled in managed mode. (#4087)
Bug Fixes:
- Report invalid spans with appropriate outcome reason. (#4051)
- Use the duration reported by the profiler instead of the transaction. (#4058)
- Incorrect pattern matches involving adjacent any and wildcard matchers. (#4072)
Features:
- Add a config option to add default tags to all Relay Sentry events. (#3944)
- Automatically derive
client.address
anduser.geo
for standalone spans. (#4047) - Add support for uploading compressed (gzip, xz, zstd, bzip2) minidumps. (#4029)
- Add user geo information to Replays. (#4088)
- Configurable span.op inference. (#4056)
- Enable support for zstd
Content-Encoding
. (#4089) - Add support for creating User from LoginId in Unreal Crash Context. (#4093)
- Add multi-write Redis client. (#4064)
Internal:
- Remove unused
cogs.enabled
configuration option. (#4060) - Add the dynamic sampling rate to standalone spans as a measurement so that it can be stored, queried, and used for extrapolation. (#4063)
- Use custom wildcard matching instead of regular expressions. (#4073)
- Allowlist the SentryUptimeBot user-agent. (#4068)
- Feature flags of graduated features are now hard-coded in Relay so they can be removed from Sentry. (#4076, #4080)
- Add parallelization in Redis commands. (#4118)
24.9.0
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 ofDateTime
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 implementDiskUsage
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 therelay-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
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
toregex-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 thePriority
struct. (#3922) - Extract
user.geo.subregion
for mobile spans. (#3927)
24.7.1
24.7.0
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
andany
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
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:
24.5.1
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
anddb_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 newPartition
bucket shift mode. (#3661)
24.5.0
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 theSpan
Getter
implementation. (#3577) - Ensure
chunk_id
andprofiler_id
are UUIDs and sort samples. (#3588) - Add a calculated measurement based on the AI model and the tokens used. (#3554)
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: