Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
277 commits
Select commit Hold shift + click to select a range
268920f
feat(http): Apply cookie collection policy
adinauer Jul 22, 2026
a0d6c1c
feat(user): Apply user information collection policy
adinauer Jul 22, 2026
1987b1e
fix(core): Filter malformed cookie pairs
adinauer Jul 23, 2026
65e461b
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Jul 23, 2026
9da9baa
test(okhttp): Return headers from response mocks
adinauer Jul 24, 2026
4c500b6
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Jul 24, 2026
530d28d
fix(android): Scope device info cache to SDK options
adinauer Jul 24, 2026
f83d56c
feat(replay): Inherit network collection policy
adinauer Jul 24, 2026
b27d61d
fix(android): Apply user info policy to distinct ID
adinauer Jul 24, 2026
1786e17
fix(spring): Bind Data Collection key-value policies
adinauer Jul 24, 2026
b13daf8
ref(core): Rename URL query parameter option
adinauer Aug 10, 2026
b64b91b
Merge branch 'feat/data-collection-foundation' into feat/data-collect…
adinauer Aug 10, 2026
9b6ddb7
Merge branch 'feat/data-collection-options' into feat/data-collection…
adinauer Aug 10, 2026
6a66949
ref(core): Rename URL query parameter resolver
adinauer Aug 10, 2026
a904161
Merge branch 'feat/data-collection-resolver' into feat/data-collectio…
adinauer Aug 10, 2026
2f66a94
Merge branch 'feat/data-collection-graphql' into feat/data-collection…
adinauer Aug 10, 2026
78ec5e5
Merge branch 'feat/data-collection-database-query-data' into feat/dat…
adinauer Aug 10, 2026
ddd436d
Merge branch 'feat/data-collection-incoming-request-body' into feat/d…
adinauer Aug 10, 2026
32bb973
Merge branch 'feat/data-collection-incoming-response-body' into feat/…
adinauer Aug 10, 2026
3352d09
Merge branch 'feat/data-collection-outgoing-request-body' into feat/d…
adinauer Aug 10, 2026
29fc629
Merge branch 'feat/data-collection-outgoing-response-body' into feat/…
adinauer Aug 10, 2026
1bf10c4
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 10, 2026
e104fe1
Merge branch 'feat/data-collection-http-response-headers' into feat/d…
adinauer Aug 10, 2026
11e4cc0
ref(http): Use URL query parameter option name
adinauer Aug 10, 2026
ccfe195
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 10, 2026
f68e0bc
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 10, 2026
e2efff7
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 10, 2026
ab524a9
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 10, 2026
2e67f3e
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 10, 2026
4c5f15b
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 10, 2026
c030de2
test(spring): Bind URL query parameter policies
adinauer Aug 10, 2026
a40c2e4
fix(core): Preserve Data Collection on null setter
adinauer Aug 10, 2026
9bce9f3
Merge branch 'feat/data-collection-options' into feat/data-collection…
adinauer Aug 10, 2026
9f37039
Merge branch 'feat/data-collection-resolver' into feat/data-collectio…
adinauer Aug 10, 2026
79f9353
Merge branch 'feat/data-collection-graphql' into feat/data-collection…
adinauer Aug 10, 2026
f6ca83a
Merge branch 'feat/data-collection-database-query-data' into feat/dat…
adinauer Aug 10, 2026
12c91a3
Merge branch 'feat/data-collection-incoming-request-body' into feat/d…
adinauer Aug 10, 2026
835957f
Merge branch 'feat/data-collection-incoming-response-body' into feat/…
adinauer Aug 10, 2026
8dedc6f
Merge branch 'feat/data-collection-outgoing-request-body' into feat/d…
adinauer Aug 10, 2026
2c8ce2d
Merge branch 'feat/data-collection-outgoing-response-body' into feat/…
adinauer Aug 10, 2026
33c5bf4
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 10, 2026
8197fd3
Merge branch 'feat/data-collection-http-response-headers' into feat/d…
adinauer Aug 10, 2026
d7a900d
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 10, 2026
065e25c
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 10, 2026
029819e
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 10, 2026
a86242a
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 10, 2026
ef60dac
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 10, 2026
ec07c59
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 10, 2026
44992bd
fix(android): Preserve installation ID independently of Data Collection
adinauer Aug 12, 2026
cc72c0c
fix(ktor): Exclude query parameters from span descriptions
adinauer Aug 24, 2026
b5030a5
test(apollo): Cover response header filtering
adinauer Aug 24, 2026
6fbe36c
merge: Update Data Collection stack
adinauer Aug 24, 2026
501c268
merge: Update Data Collection stack
adinauer Aug 24, 2026
9b13132
merge: Update Data Collection stack
adinauer Aug 24, 2026
4593802
merge: Update Data Collection stack
adinauer Aug 24, 2026
3ef2801
merge: Update Data Collection stack
adinauer Aug 24, 2026
0571ff4
merge: Update Data Collection stack
adinauer Aug 24, 2026
a02c830
merge: Update Data Collection stack
adinauer Aug 24, 2026
8b8792b
merge: Update Data Collection stack
adinauer Aug 24, 2026
cdf4101
merge: Update Data Collection stack
adinauer Aug 24, 2026
3b884f7
fix(opentelemetry): Exclude queries from span descriptions
adinauer Aug 25, 2026
3d27590
fix(opentelemetry): Preserve completed request headers
adinauer Aug 27, 2026
2e27f7f
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 27, 2026
0f4240b
Merge branch 'feat/data-collection-http-response-headers' into feat/d…
adinauer Aug 27, 2026
988579b
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 27, 2026
cdc7e78
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 27, 2026
75edf3f
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 27, 2026
faa7366
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 27, 2026
83dec69
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 27, 2026
ce1bcdb
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 27, 2026
9940696
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Aug 27, 2026
702938d
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Aug 27, 2026
3c596eb
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Aug 27, 2026
9044470
fix(opentelemetry): Preserve completed URL attributes
adinauer Aug 27, 2026
c4e29eb
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 27, 2026
83cc96f
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 27, 2026
f512e36
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 27, 2026
cc6741a
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 27, 2026
d945bde
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 27, 2026
121bd20
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 27, 2026
a140879
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Aug 27, 2026
ebb0c0b
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Aug 27, 2026
fa2f138
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Aug 27, 2026
dc6cd57
fix(opentelemetry): Normalize legacy HTTP target descriptions
adinauer Aug 27, 2026
f1f23e1
fix(database): Preserve query descriptions
adinauer Aug 28, 2026
5e6df6a
Merge branch 'feat/data-collection-database-query-data' into feat/dat…
adinauer Aug 28, 2026
e2e780e
Merge branch 'feat/data-collection-incoming-request-body' into feat/d…
adinauer Aug 28, 2026
b574464
Merge branch 'feat/data-collection-incoming-response-body' into feat/…
adinauer Aug 28, 2026
6566174
Merge branch 'feat/data-collection-outgoing-request-body' into feat/d…
adinauer Aug 28, 2026
3d8e910
Merge branch 'feat/data-collection-outgoing-response-body' into feat/…
adinauer Aug 28, 2026
c90ffb3
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 28, 2026
ca96df4
Merge branch 'feat/data-collection-http-response-headers' into feat/d…
adinauer Aug 28, 2026
b9eeeb5
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 28, 2026
ce866a6
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 28, 2026
3f4d26d
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 28, 2026
bf7ee9f
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 28, 2026
8fab2ba
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 28, 2026
a34b528
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 28, 2026
1df8831
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Aug 28, 2026
8a85eec
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Aug 28, 2026
52a8c5c
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Aug 28, 2026
425d776
fix(replay): Keep Replay independent from Data Collection
adinauer Aug 28, 2026
c7cb54d
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 28, 2026
f7158aa
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 28, 2026
d00f95d
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Aug 28, 2026
5079a92
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Aug 28, 2026
657b90b
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Aug 28, 2026
3a6fa4f
test(graphql): Cover GraphqlUtils request body filtering
adinauer Aug 31, 2026
d0020cf
fix(graphql): Filter batched GraphQL request bodies
adinauer Aug 31, 2026
01fb6b8
test(graphql): Cover malformed batched request body entries
adinauer Aug 31, 2026
301c20f
Merge branch 'feat/data-collection-graphql' into feat/data-collection…
adinauer Aug 31, 2026
89ce079
Merge branch 'feat/data-collection-database-query-data' into feat/dat…
adinauer Aug 31, 2026
1ca5ecb
Merge branch 'feat/data-collection-incoming-request-body' into feat/d…
adinauer Aug 31, 2026
66b0141
Merge branch 'feat/data-collection-incoming-response-body' into feat/…
adinauer Aug 31, 2026
aa9b4ab
Merge branch 'feat/data-collection-outgoing-request-body' into feat/d…
adinauer Aug 31, 2026
3c74442
Merge branch 'feat/data-collection-outgoing-response-body' into feat/…
adinauer Aug 31, 2026
976de46
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 31, 2026
c1f1de2
Merge branch 'feat/data-collection-http-response-headers' into feat/d…
adinauer Aug 31, 2026
71619ec
Merge branch 'feat/data-collection-query-params' into feat/data-colle…
adinauer Aug 31, 2026
64e2cd7
Merge branch 'feat/data-collection-cookies' into feat/data-collection…
adinauer Aug 31, 2026
80de43e
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Aug 31, 2026
c19c0c3
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Aug 31, 2026
994ccc0
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Aug 31, 2026
ffc725c
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Aug 31, 2026
fc33170
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Aug 31, 2026
e437711
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Aug 31, 2026
2aafe00
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Aug 31, 2026
8afc27f
ref(core): Clarify forced Data Collection configuration
adinauer Aug 31, 2026
619bee6
Merge branch 'feat/data-collection-foundation' into feat/data-collect…
adinauer Aug 31, 2026
e9df1c2
Merge branch 'feat/data-collection-options' into feat/data-collection…
adinauer Aug 31, 2026
140a666
test(core): Clarify Data Collection resolver scenarios
adinauer Aug 31, 2026
c7a9cbb
Merge branch 'feat/data-collection-resolver' into feat/data-collectio…
adinauer Aug 31, 2026
78e33b6
Merge branch 'feat/data-collection-graphql' into feat/data-collection…
adinauer Aug 31, 2026
6ea6d11
Merge branch 'feat/data-collection-database-query-data' into feat/dat…
adinauer Aug 31, 2026
13f738d
Merge branch 'feat/data-collection-incoming-request-body' into feat/d…
adinauer Aug 31, 2026
7a9630f
Merge branch 'feat/data-collection-incoming-response-body' into feat/…
adinauer Aug 31, 2026
b884d74
Merge branch 'feat/data-collection-outgoing-request-body' into feat/d…
adinauer Aug 31, 2026
f741f4a
Merge branch 'feat/data-collection-outgoing-response-body' into feat/…
adinauer Aug 31, 2026
f6fa18c
test(apollo): Cover request header filtering in Apollo 4
adinauer Aug 31, 2026
7f7ca0e
Merge branch 'feat/data-collection-http-request-headers' into feat/da…
adinauer Aug 31, 2026
a3ab073
feat(core): Add Data Collection external options
adinauer Sep 1, 2026
e4ff2f6
fix(core): Use URL query parameter external option name
adinauer Sep 2, 2026
e549730
feat(android): Add Data Collection manifest options
adinauer Sep 2, 2026
a81ffe7
fix(core): Reject malformed cookie pairs
adinauer Sep 2, 2026
c528d85
Merge remote-tracking branch 'origin/feat/data-collection-cookies' in…
adinauer Sep 2, 2026
ebc9925
Merge branch 'feat/data-collection-user-info' into fix/data-collectio…
adinauer Sep 2, 2026
5864749
Merge branch 'fix/data-collection-device-info-options' into feat/data…
adinauer Sep 2, 2026
935cb70
Merge branch 'feat/data-collection-session-replay-network-options' in…
adinauer Sep 2, 2026
2296468
revert: fix(android): Apply user info policy to distinct ID
adinauer Sep 2, 2026
b2b8015
Merge branch 'fix/data-collection-android-installation-id' into fix/d…
adinauer Sep 2, 2026
f02d652
Merge branch 'fix/data-collection-spring-binding' into fix/data-colle…
adinauer Sep 2, 2026
149b73f
Merge branch 'fix/data-collection-preserve-installation-id' into fix/…
adinauer Sep 2, 2026
92336bb
Merge branch 'fix/data-collection-ktor-span-description' into fix/dat…
adinauer Sep 2, 2026
9623300
Merge branch 'fix/data-collection-opentelemetry-span-description' int…
adinauer Sep 2, 2026
ddb009f
Merge branch 'feat/data-collection-external-options' into feat/data-c…
adinauer Sep 2, 2026
a78374a
feat(core): [Data Collection 1] Add configuration types (#5760)
adinauer Sep 2, 2026
c4a43d9
Merge pull request #5761 from getsentry/feat/data-collection-options
adinauer Sep 2, 2026
160ae58
Merge pull request #5799 from getsentry/feat/data-collection-resolver
adinauer Sep 2, 2026
45b2728
Merge pull request #5800 from getsentry/feat/data-collection-graphql
adinauer Sep 2, 2026
77067c9
Merge pull request #5801 from getsentry/feat/data-collection-database…
adinauer Sep 2, 2026
34b69d0
Merge pull request #5802 from getsentry/feat/data-collection-incoming…
adinauer Sep 2, 2026
0d69665
Merge pull request #5803 from getsentry/feat/data-collection-incoming…
adinauer Sep 2, 2026
f665ca5
Merge pull request #5804 from getsentry/feat/data-collection-outgoing…
adinauer Sep 2, 2026
b86cbff
Merge pull request #5805 from getsentry/feat/data-collection-outgoing…
adinauer Sep 2, 2026
6347a0b
Merge pull request #5806 from getsentry/feat/data-collection-http-req…
adinauer Sep 2, 2026
14a445d
Merge pull request #5807 from getsentry/feat/data-collection-http-res…
adinauer Sep 2, 2026
86e38ab
Merge pull request #5810 from getsentry/feat/data-collection-query-pa…
adinauer Sep 2, 2026
6cdd40e
chore: Merge data collection base into cookie filtering
adinauer Sep 2, 2026
a4cd356
chore: Synchronize data collection stack
adinauer Sep 2, 2026
9c1c8b8
chore: Synchronize data collection stack
adinauer Sep 2, 2026
793f1f6
chore: Synchronize data collection stack
adinauer Sep 2, 2026
89bcf71
chore: Synchronize data collection stack
adinauer Sep 2, 2026
e84aad5
chore: Synchronize data collection stack
adinauer Sep 2, 2026
1a701bd
chore: Synchronize data collection stack
adinauer Sep 2, 2026
98f65aa
chore: Synchronize data collection stack
adinauer Sep 2, 2026
420d9f4
chore: Synchronize data collection stack
adinauer Sep 2, 2026
db5a45e
chore: Synchronize data collection stack
adinauer Sep 2, 2026
489982d
fix(core): Skip null filtered cookie headers
adinauer Sep 7, 2026
6900fba
fix(core): Preserve blank cookie segments
adinauer Sep 7, 2026
3315b18
ref(core): Remove broad cookie filtering catches
adinauer Sep 7, 2026
b11dcdd
ref(core): Extract cookie utilities from HTTP utilities
adinauer Sep 7, 2026
38d713d
chore: Merge data collection cookie updates
adinauer Sep 7, 2026
398569f
chore: Merge data collection stack updates
adinauer Sep 7, 2026
5e1dbaa
chore: Merge data collection stack updates
adinauer Sep 7, 2026
46ecdf0
chore: Merge data collection stack updates
adinauer Sep 7, 2026
1bca221
chore: Merge data collection stack updates
adinauer Sep 7, 2026
ff6f348
chore: Merge data collection stack updates
adinauer Sep 7, 2026
aa225ef
chore: Merge data collection stack updates
adinauer Sep 7, 2026
8eb768a
chore: Merge data collection stack updates
adinauer Sep 7, 2026
59dc5f7
chore: Merge data collection stack updates
adinauer Sep 7, 2026
a69b1d7
fix(core): Avoid sharing Data Collection fallbacks
adinauer Sep 7, 2026
941890c
chore: Merge data collection stack updates
adinauer Sep 7, 2026
9db1e39
chore: Merge data collection stack updates
adinauer Sep 7, 2026
021509d
chore: Merge data collection stack updates
adinauer Sep 7, 2026
f50a16f
chore: Merge data collection stack updates
adinauer Sep 7, 2026
139eff2
chore: Merge data collection stack updates
adinauer Sep 7, 2026
7913763
Merge branch 'main' into feat/data-collection
adinauer Sep 7, 2026
6a03c1f
chore: Merge Data Collection branch updates
adinauer Sep 7, 2026
8df5844
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
afe9679
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
0b792a3
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
79b17e5
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
8021138
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
92fc585
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
3018d82
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
809ee42
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
54f0009
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
4edd118
fix(core): Support WebSocket URL parsing
adinauer Sep 7, 2026
1cd8044
changelog
adinauer Sep 7, 2026
33078e4
test(okhttp): Use valid Set-Cookie fixture
adinauer Sep 7, 2026
75bc968
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
46d51d0
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
a680c76
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
69c04f3
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
e802bca
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
3712d5a
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
8473e60
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
ee8f61c
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
f9b7075
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
0087620
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
7d0de1b
revert: fix(opentelemetry): Exclude queries from span descriptions
adinauer Sep 7, 2026
58f096f
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
8fadb23
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
1a94384
chore: Merge Data Collection stack updates
adinauer Sep 7, 2026
c40ffe5
fix(core): [Data Collection 24] Narrow utility exception handling
adinauer Sep 7, 2026
1f2aba4
fix(spring): Preserve URL credential filtering
adinauer Sep 8, 2026
069d598
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
2434ba0
ref(core): Centralize HTTP client cookie filtering
adinauer Sep 8, 2026
0800ca5
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
e30bf6b
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
7deab9a
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
0664aae
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
9f50ccb
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
c58f8d6
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
c55b259
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
0b2763d
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
4844227
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
f366516
chore: Merge Data Collection stack updates
adinauer Sep 8, 2026
bb73d62
Merge pull request #5811 from getsentry/feat/data-collection-cookies
adinauer Sep 8, 2026
d9d0356
Merge pull request #5812 from getsentry/feat/data-collection-user-info
adinauer Sep 8, 2026
48f9273
Merge pull request #5831 from getsentry/fix/data-collection-device-in…
adinauer Sep 8, 2026
764db2e
Merge pull request #5832 from getsentry/feat/data-collection-session-…
adinauer Sep 8, 2026
93cca38
Merge pull request #5834 from getsentry/fix/data-collection-spring-bi…
adinauer Sep 8, 2026
81a532a
Merge pull request #5937 from getsentry/fix/data-collection-preserve-…
adinauer Sep 8, 2026
14c363d
Merge pull request #5983 from getsentry/fix/data-collection-ktor-span…
adinauer Sep 8, 2026
5e3fa6c
Merge pull request #6036 from getsentry/feat/data-collection-external…
adinauer Sep 8, 2026
4b95c7e
Merge pull request #6038 from getsentry/feat/data-collection-android-…
adinauer Sep 8, 2026
48709b5
Merge pull request #6064 from getsentry/fix/data-collection-websocket…
adinauer Sep 8, 2026
6fab6c4
Merge pull request #6065 from getsentry/ref/data-collection-narrow-ca…
adinauer Sep 8, 2026
29e42b8
docs: Document Data Collection configuration
adinauer Sep 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,114 @@
# Changelog

## Unreleased

### Features

- Add `dataCollection`, a fine-grained replacement for `sendDefaultPii`, for controlling data collected automatically by SDK integrations ([#5759](https://github.com/getsentry/sentry-java/pull/5759))
- `sendDefaultPii` remains supported for backwards compatibility. When `dataCollection` is not configured, the SDK preserves the existing `sendDefaultPii` behavior.
- Configuring any `dataCollection` option makes it the source of truth. `sendDefaultPii` is then ignored, and omitted `dataCollection` options use the defaults below.
- Data explicitly supplied through APIs such as `Sentry.setUser`, scopes, event processors, or `beforeSend` is not affected.

| Option | Default | Behavior |
| --- | --- | --- |
| `userInfo` | `true` | Allows 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. |
| `httpBodies` | All 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.document` | `true` | Collects GraphQL documents. |
| `graphql.variables` | `true` | Collects GraphQL variables. |
| `databaseQueryData` | `true` | Allows collection of associated query data, such as bound parameters, write payloads, and results, where supported. Sanitized query statements and structural database metadata remain available. |

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`, and `identity`. 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 collection in an options callback:

```java
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());
});
```

Configure the same options in `sentry.properties`:

```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
```

Configure them with Spring Boot properties:

```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
```

Configure them in `AndroidManifest.xml`:

```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" />
```

See the [Data Collection documentation](https://docs.sentry.io/platforms/java/configuration/options/#dataCollection) for all configuration keys, supported integrations, and migration guidance.

### Fixes

- Support `ws` and `wss` URL parsing for WebSocket instrumentation ([#6064](https://github.com/getsentry/sentry-java/pull/6064))

## 8.55.0

### Features
Expand Down
1 change: 0 additions & 1 deletion sentry-android-core/api/sentry-android-core.api
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,6 @@ public final class io/sentry/android/core/DeviceInfoUtil {
public fun getSplitApksInfo ()Lio/sentry/android/core/ContextUtils$SplitApksInfo;
public fun getTotalMemory ()Ljava/lang/Long;
public static fun isCharging (Landroid/content/Intent;Lio/sentry/SentryOptions;)Ljava/lang/Boolean;
public static fun resetInstance ()V
}

public abstract class io/sentry/android/core/EnvelopeFileObserverIntegration : io/sentry/Integration, java/io/Closeable {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -681,7 +681,7 @@ private void mergeUser(final @NotNull SentryBaseEvent event) {
if (user.getId() == null) {
user.setId(getDeviceId());
}
if (user.getIpAddress() == null && options.isSendDefaultPii()) {
if (user.getIpAddress() == null && options.getDataCollectionResolver().isUserInfo()) {
user.setIpAddress(IpAddressUtils.DEFAULT_IP_ADDRESS);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ private void mergeUser(final @NotNull SentryBaseEvent event) {
if (user.getId() == null) {
user.setId(Installation.id(context));
}
if (user.getIpAddress() == null && options.isSendDefaultPii()) {
if (user.getIpAddress() == null && options.getDataCollectionResolver().isUserInfo()) {
user.setIpAddress(IpAddressUtils.DEFAULT_IP_ADDRESS);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@
import android.os.SystemClock;
import android.util.DisplayMetrics;
import io.sentry.DateUtils;
import io.sentry.ISentryLifecycleToken;
import io.sentry.SentryLevel;
import io.sentry.SentryOptions;
import io.sentry.android.core.internal.util.CpuInfoUtils;
import io.sentry.android.core.internal.util.DeviceOrientations;
import io.sentry.android.core.internal.util.RootChecker;
import io.sentry.protocol.Device;
import io.sentry.protocol.OperatingSystem;
import io.sentry.util.AutoClosableReentrantLock;
import java.io.File;
import java.util.Calendar;
import java.util.Collections;
Expand All @@ -34,17 +32,10 @@
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;

@ApiStatus.Internal
public final class DeviceInfoUtil {

@SuppressLint("StaticFieldLeak")
private static volatile DeviceInfoUtil instance;

private static final @NotNull AutoClosableReentrantLock staticLock =
new AutoClosableReentrantLock();

private final @NotNull Context context;
private final @NotNull SentryAndroidOptions options;
private final @NotNull BuildInfoProvider buildInfoProvider;
Expand Down Expand Up @@ -80,19 +71,7 @@ public DeviceInfoUtil(
@NotNull
public static DeviceInfoUtil getInstance(
final @NotNull Context context, final @NotNull SentryAndroidOptions options) {
if (instance == null) {
try (final @NotNull ISentryLifecycleToken ignored = staticLock.acquire()) {
if (instance == null) {
instance = new DeviceInfoUtil(ContextUtils.getApplicationContext(context), options);
}
}
}
return instance;
}

@TestOnly
public static void resetInstance() {
instance = null;
return options.getOrCreateDeviceInfoUtil(context);
}

// we can get some inspiration here
Expand Down
Loading