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 major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the maven-minor group with 2 updates in the / directory: jakarta.servlet:jakarta.servlet-api and io.sentry:sentry-log4j2.
Updates
jakarta.servlet:jakarta.servlet-api
from 6.0.0 to 6.1.0Commits
fe6e12a
Prepare release jakarta.servlet:servlet-parent:6.1.0b09f123
Add missing JARs to webapp - Part of fix for #638e93b9bf
Remove unused code. Part of fix for #63804ad5c7
Update copyright date used in Javadoc footer3154612
Remove text incorrectly added when originally addressing #18314c6ed
Revert Dependabot's JRuby update - it breaks the spec build28a4bbe
---7a912a8
---72d4380
---f203652
Merge pull request #635 from jakartaee/dependabot/maven/org.apache.maven.plug...Updates
io.sentry:sentry-log4j2
from 7.14.0 to 7.15.0Release notes
Sourced from io.sentry:sentry-log4j2's releases.
Changelog
Sourced from io.sentry:sentry-log4j2'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