-
-
Notifications
You must be signed in to change notification settings - Fork 466
Comparing changes
Open a pull request
base repository: getsentry/sentry-java
base: 8.22.0
head repository: getsentry/sentry-java
compare: 8.23.0
- 16 commits
- 127 files changed
- 14 contributors
Commits on Sep 22, 2025
-
getsentry-bot committed
Sep 22, 2025 Configuration menu - View commit details
-
Copy full SHA for d217708 - Browse repository at this point
Copy the full SHA d217708View commit details
Commits on Sep 26, 2025
-
Mark
SentryEnvelopeas not internal (#4748)Co-authored-by: Sentry Github Bot <[email protected]> Co-authored-by: Alexander Dinauer <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e4db821 - Browse repository at this point
Copy the full SHA e4db821View commit details -
Handle
RejectedExecutionExceptioneverywhere (#4747)Co-authored-by: Sentry Github Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 818a27d - Browse repository at this point
Copy the full SHA 818a27dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f0a95bc - Browse repository at this point
Copy the full SHA f0a95bcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8294a87 - Browse repository at this point
Copy the full SHA 8294a87View commit details -
Configuration menu - View commit details
-
Copy full SHA for d478d66 - Browse repository at this point
Copy the full SHA d478d66View commit details -
Create Test Matrix for Spring Boot (#4741)
* Create Test Matrix for Spring Boot * caching * ignore android changes * Add missing otel samples / auto init false * add spring modules * fix used module * comment out spring boot 4 noagent for now
Configuration menu - View commit details
-
Copy full SHA for f634d01 - Browse repository at this point
Copy the full SHA f634d01View commit details
Commits on Sep 29, 2025
-
feat(android-distribution): add httpclient for checking for build dis…
…tribution updates (#4734) * feat(android-distribution): implement checkForUpdateBlocking functionality Implements the checkForUpdateBlocking method in DistributionIntegration to check for app updates via Sentry's distribution API. ## Why not reuse existing HttpConnection? The existing `HttpConnection` class is designed specifically for Sentry event transport and is not suitable for distribution API calls: - Hardcoded for POST requests (we need GET) - Expects Sentry envelopes with gzip encoding (we need simple JSON) - Only considers status 200 successful (REST APIs use 200-299 range) - Includes Sentry-specific rate limiting logic ## Changes - **DistributionHttpClient**: New HTTP client for distribution API requests - Supports GET requests with query parameters (main_binary_identifier, app_id, platform, version) - Uses SentryOptions.DistributionOptions for configuration (orgSlug, projectSlug, orgAuthToken) - Handles SSL configuration, timeouts, and proper error handling - **UpdateResponseParser**: JSON response parser for API responses - Parses API responses into UpdateStatus objects (UpToDate, NewRelease, UpdateError) - Handles various HTTP status codes with appropriate error messages - Validates required fields in update information - **DistributionIntegration**: Updated to use new classes - Automatically extracts app information (package name, version) from Android context - Clean separation of concerns with HTTP client and response parser - Comprehensive error handling and logging - **Tests**: Added unit test for DistributionHttpClient with real API integration 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Address PR review feedback - Remove unnecessary Claude-style comments from DistributionHttpClient - Replace manual URL building with Android Uri.Builder for safer parameter encoding - Add comprehensive tests for UpdateResponseParser with 11 test cases - Improve error handling to distinguish between network connection vs server issues - Add clarifying comments about which exceptions indicate network connectivity problems - Fix null value handling in JSON parsing to properly validate "null" strings - Remove unclear comment about package name usage 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Fix User-Agent header to follow codebase conventions Replace custom fallback "sentry-android-distribution" with error throw when sentryClientName is null, following the pattern used throughout the codebase where sentryClientName is expected to always be set. Addresses PR review feedback about reusing consistent user agent. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Update SocketTimeoutException message to mention network connection Change "check connection speed" to "check network connection" to be more general and align with the goal of distinguishing network connectivity issues. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Add NoNetwork status and improve error messages - Add UpdateStatus.NoNetwork subclass for network-specific errors - Update DistributionIntegration to use NoNetwork for UnknownHostException and SocketTimeoutException - Improve UpdateResponseParser error messages to specify which required fields are missing - Add comprehensive tests for specific missing field error messages 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> * Fix CI compilation errors in DistributionHttpClient - Update UpdateCheckParams constructor to use separate versionCode and versionName parameters - Replace Android Uri with string building for better compatibility - Remove unused Android Uri import - Update URL construction to use build_number and build_version query parameters This fixes the CI compilation errors where the old constructor expected a single 'version' parameter. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8e6d732 - Browse repository at this point
Copy the full SHA 8e6d732View commit details -
build(deps): bump github/codeql-action from 3.30.3 to 3.30.5 (#4761)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.3 to 3.30.5. - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@192325c...3599b3b) --- updated-dependencies: - dependency-name: github/codeql-action dependency-version: 3.30.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 4c657b6 - Browse repository at this point
Copy the full SHA 4c657b6View commit details -
Fix(compose): Preserve modifiers in SentryNavigable (#4757)
* Fix(compose): Preserve modifiers in SentryNavigable * Update Changelog --------- Co-authored-by: Michiel Vleeming <[email protected]> Co-authored-by: Markus Hintersteiner <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b66ccf3 - Browse repository at this point
Copy the full SHA b66ccf3View commit details -
Start performance collection on AppStart continuous profiling (#4752)
* app start continuous profiler will now start performance collection when the SDK inits
Configuration menu - View commit details
-
Copy full SHA for 806307f - Browse repository at this point
Copy the full SHA 806307fView commit details
Commits on Sep 30, 2025
-
feat(android-distribution): Add update check button to Android sample (…
…#4764) - Add sentry-android-distribution as debug-only dependency - Add "Check for Update" button to main activity UI - Implement handler that calls Sentry.distribution().checkForUpdate() - Handle all UpdateStatus types: NewRelease, UpToDate, NoNetwork, UpdateError - Display results in toast messages Note: This feature requires proper distribution tokens and configuration to work. This change makes it easier to test the distribution integration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 604a261 - Browse repository at this point
Copy the full SHA 604a261View commit details
Commits on Oct 1, 2025
-
Feat/poc continuous profiling (#4556)
* wip * re-add data category profile_chunk, fix json naming, new converter based on jfr converter bundled with asyncprofiler * read java thread ids from jfr and use those instead of os thread ids, use existing SentryStackFrame instead of JfrFrame, * adhere to sentry conventions re format null safety etc, fix compilation * add profile-session-sample-rate to external options * add platform as constructor param to ProfileChunk, wip: set java continuous profiler in sentry init * add doubleToBigDecimal in JfrSample and ProfileChunk, same as we do it in SentrySpan to work around scientific notation of double, use wall clock profiling * rename JfrProfile to SentryProfile * move java profiling into its own module, load using SPI * [WIP] use getProfilingTracesDirPath * add missing build.gradle.kts for profiler module * WIP continuous profiling in trace mode * cleanup unused classes from vendor, cleanup packages * allow setting profiling-traces-dir-path independently from cache dir using external options * use profileChunk.platform to decide how to deal with the chunk instead of file extension * port relevant AndroidContinuousProfilerTest tests to JavaContinuousProfilerTest * add service loader tests for profiler and profile converter * remove old jfr test files * Support ProfileLifecycle.TRACE (#4576) * delete unused JfrFrame and JfrToSentryProfileconverter * use passed-in profilingTracesHz parameter instead of hardcoded value * start profiler before starting the transaction when ProfileLifecycle.TRACE is used to have the profile ID when SentryTracer is created * use improved way to calculate timestamp of sample * api dump * let profile-lifecycle be set from external_options, add tests for SpringBoot autoconfig * initialize stackTraceFactory only once per chunk * rename profile data classes, add deserialization and tests * extract methods in ProfileConverter, fix SentryProfile serialization and make fields private * use wall=[interval] instead of setting the event to wall and setting the interval separately, this seems to work better and create more samples * start/stop profiler in OtelSentrySpanProcesser in trace mode for root spans * add profiler dependency to jakarta-opentelemetry sample, add needed configs * add dependenies and config to spring-boot-jakarta sample * remove connection status check * extract event visitor * Add enum for ProfileChunk platform * fallback to default temp directory for profiling on jvm if directory is not configured * cleanup some minor things * remove ProfilingInitializer, fix comments * Format code * add getter/setter to sample and metadata * fix compile error * add comment/todo for deleteOnExit * Profiling - Deduplication and cleanup (#4681) * add readme and info about commit of the source repository * delete jfr file on jvm exit * further split into smaller methods * deduplicate frames in order to save bandwidth, add converter tests * remove Platform Enum, use string constants instead for compatibility with cross platform frameworks * implement equals and hashcode for SentryStackFrame to make frame deduplication work * bump api * improve error handling, fix start stop start flow * add new testfile * calculate ticksPerNanosecond in constructor * adapt Ratelimiter to check for both ProfileChunk and ProfileChunkUi ratelimiting * update ratelimiter test to check for both profileChunk and profileChunkUi drops * use string constant instead of string * Format code * add non aggregating event collector to send each event individually, deduplicate stacks * adapt converter tests to new non-aggregated converter * Format code * add logging to loadProfileConverter * Format code * fix duplication of events * catch all exception happening when converting from jfr * add exists and writable info to log message * add method to safely delete file * remove setNative call * fix test * fix reference to commit we vendored from * drop event if it cannot be processed to not lose the whole chunk * make format * fix test * Format code * Profiling - OTEL profiling fix, Stabilization, Logging (#4746) * add skipProfiling flag to TransactionOptions to be able to skip profiling and handle cases where profiling has been started by otel * add profilerId to spanContext so that otel span processor can propagate this to the exporter and SentryTracer * immediately end profiling when stopProfiler is called * bump api, fix android api 24 code * catch all exception happening when converting from jfr * simplify JavaContinuous profiler by catching AsyncProfiler instantiation exceptions in provider * add exists and writable info to log message * add method to safely delete file * remove setNative call * fix test * fix reference to commit we vendored from * drop event if it cannot be processed to not lose the whole chunk * Format code * fix test * Format code * fix test * catch exceptions in startProfiler/stopProfiler * fallback to threadId -1 if it cannot be resolved --------- Co-authored-by: Sentry Github Bot <[email protected]> --------- Co-authored-by: Sentry Github Bot <[email protected]> --------- Co-authored-by: Sentry Github Bot <[email protected]> * change profiler api from Path to String to keep Android Api 21 compatibility * mark all profiling related classes as internal * Format code * mark Sentry profile classes internal * Format code * mark SentryThreadMetadata internal * add changelog entry * Format code * re-add asyncprofiler classes, cr changes * bump api * detect dangerous/invalid chars in profiling directory name * ignore vendored profile conversion code in codecov --------- Co-authored-by: Sentry Github Bot <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0e2c478 - Browse repository at this point
Copy the full SHA 0e2c478View commit details -
Add session replay id to Sentry Logs (#4740)
* added session replay id to logs * added sentry._internal.replay_is_buffering to logs when replay is in buffer mode
Configuration menu - View commit details
-
Copy full SHA for 9023083 - Browse repository at this point
Copy the full SHA 9023083View commit details -
Improve Profiling changelog entry (#4767)
* Enhance documentation for Sentry continuous profiling Expanded details on Sentry continuous profiling feature, including configuration options and default settings. * Update CHANGELOG.md
Configuration menu - View commit details
-
Copy full SHA for dcb8068 - Browse repository at this point
Copy the full SHA dcb8068View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5eccfcd - Browse repository at this point
Copy the full SHA 5eccfcdView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 8.22.0...8.23.0