Repository navigation
publish: getsentry/sentry-java@8.58.0 #9627
Description
Requested by: @adinauer
Merge target: (default)
Quick links:
Assign the accepted label to this issue to approve the release.
Targets
- maven
- github
- registry
Checked targets will be skipped (either already published or user-requested skip). Uncheck to retry a target.
📋 Changelog
Features
-
Add
LocalSentrySpantosentry-composeso apps can provide a parentISpanto a composable subtree and have nestedSentryTracedspans attach to it ([publish: getsentry/sentry-android-gradle-plugin@5.9.0 #6112]feat(compose): Introduce LocalSentrySpan sentry-java#6112) -
Add
dataCollection, a fine-grained replacement forsendDefaultPii, for controlling data collected automatically by SDK integrations (#5759)[!WARNING]
sendDefaultPiiwill be removed in the next major SDK version. Migrate todataCollectionbefore upgrading.- Until then, when
dataCollectionis not configured, the SDK preserves the existingsendDefaultPiibehavior. - Configuring any
dataCollectionoption makes it the source of truth.sendDefaultPiiis then ignored, and omitteddataCollectionoptions use the defaults below. - The Logback appender is a compatibility exception. When an encoder is configured,
sendDefaultPii=truecontinues to include the original message template and parameters. To opt in independently ofsendDefaultPii, set<includeUnencodedMessage>true</includeUnencodedMessage>on the Sentry appender inlogback.xmlorlogback-spring.xml. - Data explicitly supplied through APIs such as
Sentry.setUser, scopes, event processors, orbeforeSendis not affected.
To opt in to the documented
dataCollectiondefaults without configuring an individual option:Sentry.init(options -> options.getDataCollection().forceDataCollection());
Option Default Behavior userInfotrueAllows integrations to populate user identity and IP address information automatically. cookies{ mode: DENY_LIST, terms: [] }Collects cookies while filtering sensitive values. httpHeaders.request{ mode: DENY_LIST, terms: [] }Collects request headers while filtering sensitive values. httpHeaders.response{ mode: DENY_LIST, terms: [] }Collects response headers while filtering sensitive values. httpBodiesAll supported body types Collects supported incoming and outgoing request and response bodies. An empty set disables body collection. urlQueryParams{ mode: DENY_LIST, terms: [] }Collects URL query parameters while filtering sensitive values. graphql.documenttrueCollects GraphQL documents. graphql.variablestrueCollects GraphQL variables. databaseQueryDatatrueAllows collection of associated query data, such as bound parameters, write payloads, and results, where supported. Sanitized query statements and structural database metadata remain available. filePathstrueAllows file-system instrumentation to collect file and directory paths. File extensions and byte counts remain available when disabled. Cookies, HTTP headers, and URL query parameters support three modes:
OFF: Do not collect the category.DENY_LIST: Collect values except those matching the built-in sensitive deny-list or additional configured terms.ALLOW_LIST: Only send plaintext values for matching terms. The built-in sensitive deny-list still applies.
Matching is case-insensitive and partial. The built-in sensitive deny-list contains
auth,token,secret,password,passwd,pwd,key,jwt,bearer,sso,saml,csrf,xsrf,credentials,session,sid, andidentity. Filtered values are replaced with"[Filtered]". Custom deny-list terms extend rather than replace this list.Configure all HTTP body types, a custom cookie deny-list, a request-header allow-list, and disable URL query parameter and file path collection in an options callback:
Sentry.init( options -> { options .getDataCollection() .setHttpBodies( EnumSet.of( HttpBodyType.INCOMING_REQUEST, HttpBodyType.OUTGOING_REQUEST, HttpBodyType.INCOMING_RESPONSE, HttpBodyType.OUTGOING_RESPONSE)); options .getDataCollection() .setCookies( KeyValueCollectionBehavior.denyList( "forwarded", "-ip", "remote-", "via", "-user")); options .getDataCollection() .getHttpHeaders() .setRequest( KeyValueCollectionBehavior.allowList("content-type", "x-request-id")); options .getDataCollection() .setUrlQueryParams(KeyValueCollectionBehavior.off()); options.getDataCollection().setFilePaths(false); });
Configure the same options in
sentry.properties:data-collection.http-bodies=incoming_request,outgoing_request,incoming_response,outgoing_response data-collection.cookies.mode=deny_list data-collection.cookies.terms=forwarded,-ip,remote-,via,-user data-collection.http-headers.request.mode=allow_list data-collection.http-headers.request.terms=content-type,x-request-id data-collection.url-query-params.mode=off data-collection.file-paths=false
Configure them with Spring Boot properties:
sentry.data-collection.http-bodies=incoming-request,outgoing-request,incoming-response,outgoing-response sentry.data-collection.cookies.mode=deny-list sentry.data-collection.cookies.terms=forwarded,-ip,remote-,via,-user sentry.data-collection.http-headers.request.mode=allow-list sentry.data-collection.http-headers.request.terms=content-type,x-request-id sentry.data-collection.url-query-params.mode=off sentry.data-collection.file-paths=false
Configure them in
AndroidManifest.xml:<meta-data android:name="io.sentry.data-collection.http-bodies" android:value="incoming_request,outgoing_request,incoming_response,outgoing_response" /> <meta-data android:name="io.sentry.data-collection.cookies.mode" android:value="deny_list" /> <meta-data android:name="io.sentry.data-collection.cookies.terms" android:value="forwarded,-ip,remote-,via,-user" /> <meta-data android:name="io.sentry.data-collection.http-headers.request.mode" android:value="allow_list" /> <meta-data android:name="io.sentry.data-collection.http-headers.request.terms" android:value="content-type,x-request-id" /> <meta-data android:name="io.sentry.data-collection.url-query-params.mode" android:value="off" /> <meta-data android:name="io.sentry.data-collection.file-paths" android:value="false" />
See the Data Collection documentation for all configuration keys, supported integrations, and migration guidance.
- Until then, when
Activity
github-actions commentedon Sep 23, 2026
Approved. Checking CI status on the release branch. Publishing will start automatically when CI passes.
getsantry commentedon Sep 23, 2026
CI checks passed for getsentry/sentry-java@8.58.0. Publishing is starting now.
github-actions commentedon Sep 23, 2026
Publishing: run#35880124792
github-actions commentedon Sep 23, 2026
Published successfully: run#35880124792