Releases: getsentry/relay
Releases · getsentry/relay
23.7.1
23.7.0
23.6.2
Features:
- Add filter based on transaction names. (#2118, #2284)
- Use GeoIP lookup also in non-processing Relays. Lookup from now on will be also run in light normalization. (#2229)
- Metrics extracted from transactions from old SDKs now get a useful
transaction
tag. (#2250, #2272).
Bug Fixes:
- Keep stack frames closest to crash when quantity exceeds limit. (#2236)
- Drop profiles without a transaction in the same envelope. (#2169)
Internal:
23.6.1
- No documented changes.
23.6.0
Bug Fixes:
- Make counting of total profiles consistent with total transactions. (#2163)
Features:
- Add
data
andapi_target
fields toResponseContext
and scrubgraphql
bodies. (#2141) - Add support for X-Vercel-Forwarded-For header. (#2124)
- Add
lock
attribute to the frame protocol. (#2171) - Reject profiles longer than 30s. (#2168)
- Change default topic for transaction metrics to
ingest-performance-metrics
. (#2180) - Add Firefox "dead object" error to browser extension filter (#2215)
- Add events whose
url
starts withfile://
to localhost inbound filter (#2214)
Internal:
23.5.2
23.5.1
23.5.0
Bug Fixes:
- Enforce rate limits for monitor check-ins. (#2065)
- Allow rate limits greater than
u32::MAX
. (#2079) - Do not drop envelope when client closes connection. (#2089)
Features:
- Scrub sensitive keys (
passwd
,token
, ...) in Replay recording data. (#2034) - Add support for old 'violated-directive' CSP format. (#2048)
- Add document_uri to csp filter. (#2059)
- Store
geo.subdivision
of the end user location. (#2058) - Scrub URLs in span descriptions. (#2095)
Internal:
- Remove transaction metrics allowlist. (#2092)
- Include unknown feature flags in project config when serializing it. (#2040)
- Copy transaction tags to the profile. (#1982)
- Lower default max compressed replay recording segment size to 10 MiB. (#2031)
- Increase chunking limit to 15MB for replay recordings. (#2032)
- Add a data category for indexed profiles. (#2051, #2071)
- Differentiate between
Profile
andProfileIndexed
outcomes. (#2054) - Split dynamic sampling implementation before refactoring. (#2047)
- Refactor dynamic sampling implementation across
relay-server
andrelay-sampling
. (#2066) - Adds support for
replay_id
field for theDynamicSamplingContext
'sFieldValueProvider
. (#2070) - On Linux, switch to
jemalloc
instead of the system memory allocator to reduce Relay's memory footprint. (#2084) - Scrub sensitive cookies
__session
. (#2105)) - Parse profiles' metadata to check if it should be marked as invalid. (#2104)
- Set release as optional by defaulting to an empty string and add a dist field for profiles. (#2098, #2107)
- Accept source map debug images in debug meta for Profiling. (#2097)
23.4.0
Breaking Changes:
This release contains major changes to the web layer, including TCP and HTTP handling as well as all web endpoint handlers. Due to these changes, some functionality was retired and Relay responds differently in specific cases.
Configuration:
- SSL support has been dropped. As per official guidelines, Relay should be operated behind a reverse proxy, which can perform SSL termination.
- Connection config options
max_connections
,max_pending_connections
, andmax_connection_rate
no longer have an effect. Instead, configure the reverse proxy to handle connection concurrency as needed.
Endpoints:
- The security endpoint no longer forwards to upstream if the mime type doesn't match supported mime types. Instead, the request is rejected with a corresponding error.
- Passing store payloads as
?sentry_data=<base64>
query parameter is restricted toGET
requests on the store endpoint. Other endpoints require the payload to be passed in the request body. - Requests with an invalid
content-encoding
header will now be rejected. Exceptions to this are an empty string andUTF-8
, which have been sent historically by some SDKs and are now treated as identity (no encoding). Previously, all unknown encodings were treated as identity. - Temporarily, response bodies for some errors are rendered as plain text instead of JSON. This will be addressed in an upcoming release.
Metrics:
- The
route
tag of request metrics uses the route pattern instead of schematic names. There is an exact replacement for every previous route. For example,"store-default"
is now tagged as"/api/:project_id/store/"
. - Statsd metrics
event.size_bytes.raw
andevent.size_bytes.uncompressed
have been removed.
Features:
- Allow monitor checkins to paass
monitor_config
for monitor upserts. (#1962) - Add replay_id onto event from dynamic sampling context. (#1983)
- Add product-name for devices, derived from the android model. (#2004)
- Changes how device class is determined for iPhone devices. Instead of checking processor frequency, the device model is mapped to a device class. (#1970)
- Don't sanitize transactions if no clustering rules exist and no UUIDs were scrubbed. (#1976)
- Add
thread.lock_mechanism
field to protocol. (#1979) - Add
origin
to trace context and span. (#1984) - Add
jvm
debug file type. (#2002) - Add new
mechanism
fields to protocol to support exception groups. (#2020) - Change
lock_reason
attribute to aheld_locks
dictionary in thethread
interface. (#2018)
Internal:
- Add BufferService with SQLite backend. (#1920)
- Upgrade the web framework and related dependencies. (#1938)
- Apply transaction clustering rules before UUID scrubbing rules. (#1964)
- Use exposed device-class-synthesis feature flag to gate device.class synthesis in light normalization. (#1974)
- Adds iPad support for device.class synthesis in light normalization. (#2008)
- Pin schemars dependency to un-break schema docs generation. (#2014)
- Remove global service registry. (#2022)
- Apply schema validation to all topics in local development. (#2013)
Monitors:
- Monitor check-ins may now specify an environment (#2027)