Session Replay: Add options to selectively mask/unmask views captured in replay. The following options are available: (#3689)
android:tag="sentry-mask|sentry-unmask" in XML or view.setTag("sentry-mask|sentry-unmask") in code tags
if you already have a tag set for a view, you can set a tag by id: <tag android:id="@id/sentry_privacy" android:value="mask|unmask"/> in XML or view.setTag(io.sentry.android.replay.R.id.sentry_privacy, "mask|unmask") in code
view.sentryReplayMask() or view.sentryReplayUnmask() extension functions
mask/unmask Views of a certain type by adding fully-qualified classname to one of the lists options.experimental.sessionReplay.addMaskViewClass() or options.experimental.sessionReplay.addUnmaskViewClass(). Note, that all of the view subclasses/subtypes will be masked/unmasked as well
For example, (this is already a default behavior) to mask all TextViews and their subclasses (RadioButton, EditText, etc.): options.experimental.sessionReplay.addMaskViewClass("android.widget.TextView")
If you're using code obfuscation, adjust your proguard-rules accordingly, so your custom view class name is not minified
Session Replay: Support Jetpack Compose masking (#3739)
To selectively mask/unmask Composables, use Modifier.sentryReplayMask() and Modifier.sentryReplayUnmask() modifiers
Session Replay: Mask WebView, VideoView and androidx.media3.ui.PlayerView by default (#3775)
Fixes
Avoid stopping appStartProfiler after application creation (#3630)
Session Replay: Correctly detect dominant color for TextViews with Spans (#3682)
Fix ensure Application Context is used even when SDK is initialized via Activity Context (#3669)
Fix potential ANRs due to Calendar.getInstance usage in Breadcrumbs constructor (#3736)
Fix potential ANRs due to default integrations (#3778)
Lazily initialize heavy SentryOptions members to avoid ANRs on app start (#3749)
Breaking changes:
options.experimental.sessionReplay.errorSampleRate was renamed to options.experimental.sessionReplay.onErrorSampleRate (#3637)
Manifest option io.sentry.session-replay.error-sample-rate was renamed to io.sentry.session-replay.on-error-sample-rate (#3637)
Change redactAllText and redactAllImages to maskAllText and maskAllImages (#3741)
7.15.0-alpha.1
Features
Add support for setting sentry-native handler_strategy (#3671)
Session Replay: Add options to selectively mask/unmask views captured in replay. The following options are available: (#3689)
android:tag="sentry-mask|sentry-unmask" in XML or view.setTag("sentry-mask|sentry-unmask") in code tags
if you already have a tag set for a view, you can set a tag by id: <tag android:id="@id/sentry_privacy" android:value="mask|unmask"/> in XML or view.setTag(io.sentry.android.replay.R.id.sentry_privacy, "mask|unmask") in code
view.sentryReplayMask() or view.sentryReplayUnmask() extension functions
mask/unmask Views of a certain type by adding fully-qualified classname to one of the lists options.experimental.sessionReplay.addMaskViewClass() or options.experimental.sessionReplay.addUnmaskViewClass(). Note, that all of the view subclasses/subtypes will be masked/unmasked as well
For example, (this is already a default behavior) to mask all TextViews and their subclasses (RadioButton, EditText, etc.): options.experimental.sessionReplay.addMaskViewClass("android.widget.TextView")
If you're using code obfuscation, adjust your proguard-rules accordingly, so your custom view class name is not minified
Session Replay: Support Jetpack Compose masking (#3739)
To selectively mask/unmask @Composables, use Modifier.sentryReplayMask() and Modifier.sentryReplayUnmask() modifiers
Session Replay: Mask WebView, VideoView and androidx.media3.ui.PlayerView by default (#3775)
Fixes
Avoid stopping appStartProfiler after application creation (#3630)
Session Replay: Correctly detect dominant color for TextViews with Spans (#3682)
Fix ensure Application Context is used even when SDK is initialized via Activity Context (#3669)
Fix potential ANRs due to Calendar.getInstance usage in Breadcrumbs constructor (#3736)
Fix potential ANRs due to default integrations (#3778)
Lazily initialize heavy SentryOptions members to avoid ANRs on app start (#3749)
Breaking changes:
options.experimental.sessionReplay.errorSampleRate was renamed to options.experimental.sessionReplay.onErrorSampleRate (#3637)
Manifest option io.sentry.session-replay.error-sample-rate was renamed to io.sentry.session-replay.on-error-sample-rate (#3637)
Change redactAllText and redactAllImages to maskAllText and maskAllImages (#3741)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps io.sentry:sentry-android from 7.14.0 to 7.15.0.
Release notes
Sourced from io.sentry:sentry-android's releases.
Changelog
Sourced from io.sentry:sentry-android's changelog.
Commits
f74af4a
release: 7.15.00ab3bb3
[SR] Change terminology from redact/ignore to mask/unmask (#3741)6548825
[SR] Support Jetpack Compose redaction (#3739)1607621
[QA] Fix potential ANRs due to default integrations (#3778)503f916
[QA] Lazily load SentryOptions members (#3749)955c6ee
chore(readme): Add info about updated release channels (#3773)b5b093e
Replace Calendar.getInstance with System.currentTimeMillis for breadcrumb cto...7e57220
Adds breadcrumb origin field (#3727)b11dc55
Ensure app context is used even when SDK is initialized via Activity Context ...6c8acb8
Bump github/codeql-action from 3.26.7 to 3.26.8 (#3708)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show