| CARVIEW |
Select Language
HTTP/2 200
date: Sat, 27 Dec 2025 05:05:30 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"39d97e93d3fea793fc687aabd37dc054"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=WlgTuBCrxOPuYT%2FYRR1rrh%2BWdFLL%2FctKjJWFNX1mniWPWRq1W6wYpNeD8jUGHSFsLC79K%2BcaUYUPWcbSosBur8UppWyvzRRFm5kJa9u6Op35PhwUccEiHM%2BBr6DeQwF4z8NZYbf2yAWv5Ntes0ttMpCVCdT78giCZvy9MmzPDWMq4mNEqJOKnR7CUqIGVw3k7ubOAfHM5rMRME%2F%2FFbZu6owvvAzVZSY%2FLMTihDLAaDuaB070hYRuof4Z6KocLuQgsAGxERVeLTXsEFgWPvCmbw%3D%3D--TTaDJ6FzNNrcJCEN--oBgD3yAxoKbLLEOPBE5USg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.642184418.1766811929; Path=/; Domain=github.com; Expires=Sun, 27 Dec 2026 05:05:29 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 27 Dec 2026 05:05:29 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: BB8A:292CC8:3F3E434:4C2DB17:694F6919
Releases Β· getsentry/sentry-java Β· GitHub
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Skip to content
Navigation Menu
{{ message }}
-
-
Notifications
You must be signed in to change notification settings - Fork 465
Releases: getsentry/sentry-java
Releases Β· getsentry/sentry-java
8.29.0
Assets 54
- sha256:d3ba175ea7a9fb1e8d93cb35aab234e8c576d39358bf29184bb8f8982859c4df3.74 MB
2025-12-16T08:30:27Z - sha256:2755478802886a3ce5afe6b1b1b5975c4b1f53043b8b6b7b53668055766c72ec3.48 KB
2025-12-16T08:30:27Z - sha256:ea5fa4ae02633f43b5dfc12baa0c90c7825660ee07febd69e3bffa75c4a9de741.12 MB
2025-12-16T08:30:27Z - sha256:ffadf3fe1f8301d2353633f2b4df4fb40ca6fe708e3fb8e9badab15f1de26675277 KB
2025-12-16T08:30:27Z - sha256:3666124f4262aaccb98c37c32ca50ae2c34f278e5e45d3081c0d80a6d223032e303 KB
2025-12-16T08:30:27Z - sha256:5cd87fe7cb0798557e9054d5fd614e19df8c5cea77bb867e0a469011dda6f642276 KB
2025-12-16T08:30:27Z - sha256:5e80dae86603c05e835a13176afd07c24f5df33965c6502c5c9fa6be9413fcfd289 KB
2025-12-16T08:30:27Z - sha256:5e9c3e2fd65c74c6800ac0febfdafa9f03859ccbcaefca948d6261d9dc95a3bf691 KB
2025-12-16T08:30:27Z - sha256:e795a7f5f59ce7ae1edcf3d9c27569483a0de6dfc3c12e925fcd312f3bf55ed5297 KB
2025-12-16T08:30:27Z - sha256:ce55e2702885d24224c952025ddc3f53d9b093e02f95a731e163a9eaa14b1800290 KB
2025-12-16T08:30:27Z -
2025-12-16T07:55:08Z -
2025-12-16T07:55:08Z - Loading
2 people reacted
8.28.0
Features
- Android: Flush logs when app enters background (#4951)
- Add option to capture additional OkHttp network request/response details in session replays (#4919)
- Depends on
SentryOkHttpInterceptorto intercept the request and extract request/response bodies - To enable, add url regexes via the
io.sentry.session-replay.network-detail-allow-urlsmetadata tag in AndroidManifest (code sample)- Or you can manually specify SentryReplayOptions via
SentryAndroid#init:
(Make sure you disable the auto init via manifest meta-data: io.sentry.auto-init=false)
- Or you can manually specify SentryReplayOptions via
- Depends on
Kotlin
SentryAndroid.init(
this,
options -> {
// options.dsn = "https://examplePublicKey@o0.ingest.sentry.io/0"
// options.sessionReplay.sessionSampleRate = 1.0
// options.sessionReplay.onErrorSampleRate = 1.0
// ..
options.sessionReplay.networkDetailAllowUrls = listOf(".*")
options.sessionReplay.networkDetailDenyUrls = listOf(".*deny.*")
options.sessionReplay.networkRequestHeaders = listOf("Authorization", "X-Custom-Header", "X-Test-Request")
options.sessionReplay.networkResponseHeaders = listOf("X-Response-Time", "X-Cache-Status", "X-Test-Response")
});Java
SentryAndroid.init(
this,
options -> {
options.getSessionReplay().setNetworkDetailAllowUrls(Arrays.asList(".*"));
options.getSessionReplay().setNetworkDetailDenyUrls(Arrays.asList(".*deny.*"));
options.getSessionReplay().setNetworkRequestHeaders(
Arrays.asList("Authorization", "X-Custom-Header", "X-Test-Request"));
options.getSessionReplay().setNetworkResponseHeaders(
Arrays.asList("X-Response-Time", "X-Cache-Status", "X-Test-Response"));
});Improvements
- Avoid forking
rootScopesfor Reactor if current thread hasNoOpScopes(#4793)- This reduces the SDKs overhead by avoiding unnecessary scope forks
Fixes
- Fix missing thread stacks for ANRv1 events (#4918)
- Fix handling of unparseable mime-type on request filter (#4939)
Internal
- Support
spanenvelope item type (#4935)
Dependencies
Assets 54
2 people reacted
8.27.1
Assets 54
3 people reacted
8.27.0
Features
- Implement OpenFeature Integration that tracks Feature Flag evaluations (#4910)
- To make use of it, add the
sentry-openfeaturedependency and register the the hook using:openFeatureApiInstance.addHooks(new SentryOpenFeatureHook());
- To make use of it, add the
- Implement LaunchDarkly Integrations that track Feature Flag evaluations (#4917)
- For Android, please add
sentry-launchdarkly-androidas a dependency and register theSentryLaunchDarklyAndroidHook - For Server / JVM, please add
sentry-launchdarkly-serveras a dependency and register theSentryLaunchDarklyServerHook
- For Android, please add
- Detect oversized events and reduce their size (#4903)
- You can opt into this new behaviour by setting
enableEventSizeLimitingtotrue(sentry.enable-event-size-limiting=truefor Spring Bootapplication.properties) - You may optionally register an
onOversizedEventcallback to implement custom logic that is executed in case an oversized event is detected- This is executed first and if event size was reduced sufficiently, no further truncation is performed
- In case we detect an oversized event, we first drop breadcrumbs and if that isn't sufficient we also drop stack frames in order to get an events size down
- You can opt into this new behaviour by setting
Improvements
- Do not send manual log origin (#4897)
Dependencies
- Bump Spring Boot 4 to GA (#4923)
Assets 54
2 people reacted
8.26.0
Features
- Add feature flags API (#4812) and (#4831)
- You may now keep track of your feature flag evaluations and have them show up in Sentry.
- Top level API (
Sentry.addFeatureFlag("my-feature-flag", true);) writes to scopes and the current span (if there is one) - It is also possible to use API on
IScope,IScopes,ISpanandITransactiondirectly - Feature flag evaluations tracked on scope(s) will be added to any errors reported to Sentry.
- The SDK keeps the latest 100 evaluations from scope(s), replacing old entries as new evaluations are added.
- For feature flag evaluations tracked on spans:
- Only 10 evaluations are tracked per span, existing flags are updated but new ones exceeding the limit are ignored
- Spans do not inherit evaluations from their parent
- Drop log events once buffer hits hard limit (#4889)
- If we have 1000 log events queued up, we drop any new logs coming in to prevent OOM
- Remove vendored code and upgrade to async profiler 4.2 (#4856)
- This adds support for JDK 23+
Fixes
- Removed SentryExecutorService limit for delayed scheduled tasks (#4846)
- Fix visual artifacts for the Canvas strategy on some devices (#4861)
- [Config] Trim whitespace on properties path (#4880)
- Only set
DefaultReplayBreadcrumbConverterif replay is available (#4888) - Session Replay: Cache connection status instead of using blocking calls (#4891)
- Fix log count in client reports (#4869)
- Fix profilerId propagation (#4833)
- Fix profiling init for Spring and Spring Boot w Agent auto-init (#4815)
- Copy active span on scope clone (#4878)
Improvements
- Fallback to distinct-id as user.id logging attribute when user is not set (#4847)
- Report Timber.tag() as
timber.taglog attribute (#4845) - Session Replay: Add screenshot strategy serialization to RRWeb events (#4851)
- Report discarded log bytes (#4871)
- Log why a properties file was not loaded (#4879)
Dependencies
Assets 51
2 people reacted
8.25.0 (stable)
Fixes
- [ANR] Removed AndroidTransactionProfiler lock (#4817)
- Avoid ExecutorService for DefaultCompositePerformanceCollector timeout (#4841)
- This avoids infinite data collection for never stopped transactions, leading to OOMs
- Fix wrong .super() call in SentryTimberTree (#4844)
Improvements
- [ANR] Defer some class availability checks (#4825)
- Collect PerformanceCollectionData only for sampled transactions (#4834)
- Breaking change: Transactions with a deferred sampling decision (
sampled == null) won't be collecting any performance data anymore (CPU, RAM, slow/frozen frames).
- Breaking change: Transactions with a deferred sampling decision (
Dependencies
Assets 51
2 people reacted
8.24.0
Features
- Attach MDC properties to logs as attributes (#4786)
- MDC properties set using supported logging frameworks (Logback, Log4j2, java.util.Logging) are now attached to structured logs as attributes.
- The attribute reflected on the log is
mdc.<key>, where<key>is the original key in the MDC. - This means that you will be able to filter/aggregate logs in the product based on these properties.
- Only properties with keys matching the configured
contextTagsare sent as log attributes.- You can configure which properties are sent using
options.setContextTagsif initalizing manually, or by specifying a comma-separated list of keys with acontext-tagsentry insentry.propertiesorsentry.context-tagsinapplication.properties. - Note that keys containing spaces are not supported.
- You can configure which properties are sent using
- Add experimental Sentry Android Distribution module for integrating with Sentry Build Distribution to check for and install updates (#4804)
- Allow passing a different
HandlertoSystemEventsBreadcrumbsIntegrationandAndroidConnectionStatusProviderso their callbacks are deliver to that handler (#4808) - Session Replay: Add new experimental Canvas Capture Strategy (#4777)
- A new screenshot capture strategy that uses Android's Canvas API for more accurate and reliable text and image masking
- Any
.drawText()or.drawBitmap()calls are replaced by rectangles, ensuring no text or images are present in the resulting output - Note: If this strategy is used, all text and images will be masked, regardless of any masking configuration
- To enable this feature, set the
screenshotStrategy, either via code:or AndroidManifest.xml:SentryAndroid.init(context) { options -> options.sessionReplay.screenshotStrategy = ScreenshotStrategyType.CANVAS }
<application> <meta-data android:name="io.sentry.session-replay.screenshot-strategy" android:value="canvas" /> </application>
Fixes
- Avoid StrictMode warnings (#4724)
- Use logger from options for JVM profiler (#4771)
- Session Replay: Avoid deadlock when pausing replay if no connection (#4788)
- Session Replay: Fix capturing roots with no windows (#4805)
- Session Replay: Fix
java.lang.IllegalArgumentException: width and height must be > 0(#4805) - Handle
NoOpScopesinContextwhen starting a span through OpenTelemetry (#4823)- This fixes "java.lang.IllegalArgumentException: The DSN is required" when combining WebFlux and OpenTelemetry
- Session Replay: Do not use recycled screenshots for masking (#4790)
- This fixes native crashes seen in
Canvas.<init>/ScreenshotRecorder.capture
- This fixes native crashes seen in
- Session Replay: Ensure bitmaps are recycled properly (#4820)
Miscellaneous
- Mark SentryClient(SentryOptions) constructor as not internal (#4787)
Dependencies
Assets 51
2 people reacted
8.24.0-alpha.2
Features
- Attach MDC properties to logs as attributes (#4786)
- MDC properties set using supported logging frameworks (Logback, Log4j2, java.util.Logging) are now attached to structured logs as attributes.
- The attribute reflected on the log is
mdc.<key>, where<key>is the original key in the MDC. - This means that you will be able to filter/aggregate logs in the product based on these properties.
- Only properties with keys matching the configured
contextTagsare sent as log attributes.- You can configure which properties are sent using
options.setContextTagsif initalizing manually, or by specifying a comma-separated list of keys with acontext-tagsentry insentry.propertiesorsentry.contex-tagsinapplication.properties. - Note that keys containing spaces are not supported.
- You can configure which properties are sent using
- Add experimental Sentry Android Distribution module for integrating with Sentry Build Distribution to check for and install updates (#4804)
- Allow passing a different
HandlertoSystemEventsBreadcrumbsIntegrationandAndroidConnectionStatusProviderso their callbacks are deliver to that handler (#4808)
Fixes
- Avoid StrictMode warnings (#4724)
- Use logger from options for JVM profiler (#4771)
- Session Replay: Avoid deadlock when pausing replay if no connection (#4788)
Miscellaneous
- Mark SentryClient(SentryOptions) constructor as not internal (#4787)
Dependencies
Assets 51
8.23.1-alpha.1
Assets 50
8.23.0
Features
- Add session replay id to Sentry Logs (#4740)
- Add support for continuous profiling of JVM applications on macOS and Linux (#4556)
- Sentry continuous profiling on the JVM is using async-profiler under the hood.
- By default this feature is disabled. Set a profile sample rate and chose a lifecycle (see below) to enable it.
- Add the
sentry-async-profilerdependency to your project - Set a sample rate for profiles, e.g.
1.0to send all of them. You may useoptions.setProfileSessionSampleRate(1.0)in code orprofile-session-sample-rate=1.0insentry.properties - Set a profile lifecycle via
options.setProfileLifecycle(ProfileLifecycle.TRACE)in code orprofile-lifecycle=TRACEinsentry.properties- By default the lifecycle is set to
MANUAL, meaning you have to explicitly callSentry.startProfiler()andSentry.stopProfiler() - You may change it to
TRACEwhich will create a profile for each transaction
- By default the lifecycle is set to
- To automatically upload Profiles for each transaction in a Spring Boot application
- set
sentry.profile-session-sample-rate=1.0andsentry.profile-lifecycle=TRACEinapplication.properties - or set
sentry.profile-session-sample-rate: 1.0andsentry.profile-lifecycle: TRACEinapplication.yml
- set
- Profiling can also be combined with our OpenTelemetry integration
Fixes
- Start performance collection on AppStart continuous profiling (#4752)
- Preserve modifiers in
SentryTraced(#4757)
Improvements
Assets 50
1 person reacted
Previous Next
You canβt perform that action at this time.