Sync JNI branch with release 9.16.0#3599
Conversation
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 5. - [Release notes](https://github.com/actions/cache/releases) - [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md) - [Commits](actions/cache@v4...v5) --- updated-dependencies: - dependency-name: actions/cache dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v5...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(logging): introduce SentryDebugLogger for enhanced diagnostic logging This commit adds a new `SentryDebugLogger` class to provide a lightweight, isolate-compatible logging solution for the Sentry SDK. The logger supports various log levels and can be configured for each isolate. Additionally, it integrates with `SentryOptions` to enable logging based on the debug flag and diagnostic level. The existing `IsolateLogger` has been removed in favor of this new implementation, streamlining the logging process across the SDK. - Added `SentryDebugLogger` for structured logging. - Updated `SentryOptions` to configure the logger based on debug settings. - Replaced instances of `IsolateLogger` with `SentryDebugLogger` in relevant files. - Added unit tests for the new logger functionality. * refactor(sentry): remove debug logger warning from Sentry initialization This commit removes a debug logger warning message from the Sentry class during initialization. The change helps to clean up the logging output and streamline the initialization process without affecting functionality. * docs(debug_logger): update example usage and clarify instance requirements This commit updates the documentation for the `SentryDebugLogger` to reflect the correct variable name in the example and adds a note emphasizing that each package should have at least one top-level instance of the logger. This enhances clarity for users implementing the logger in their applications. * refactor(sentry): remove unused debug logger import and enhance debug logger documentation This commit removes the unused import of the debug logger from the Sentry class and adds an internal annotation to the `SentryDebugLogger` in the debug logger file. Additionally, a comment is added in the isolate worker to suppress a lint warning related to the internal member usage, improving code clarity and maintainability. * refactor(sentry): remove unused debug logger import from sentry_options.dart This commit removes the unused import of the debug logger from the `sentry_options.dart` file, contributing to cleaner code and improved maintainability. * docs(debug_logger): correct example usage in documentation This commit updates the example usage in the `SentryDebugLogger` documentation to reflect the correct variable name, enhancing clarity for users implementing the logger in their applications. * Update * refactor(debug_logger): remove unused category parameter from logging methods This commit simplifies the `SentryDebugLogger` class by removing the unused `category` parameter from the `debug`, `info`, `warning`, `error`, and `fatal` logging methods. This change enhances code clarity and reduces unnecessary complexity in the logging interface. * refactor(debug_logger_test): remove test for category logging This commit removes the test case that checks logging with a category parameter from the `debug_logger_test.dart` file. This change aligns with the recent refactor of the `SentryDebugLogger` class, which eliminated the unused category parameter, thereby enhancing the clarity and relevance of the test suite. * refactor(android_replay_handler): enhance debug logging with context This commit updates the logging statements in the `_AndroidReplayHandler` class to include the debug name from the configuration. This change improves the clarity of log messages by providing context for unexpected messages and payload types, aiding in debugging and monitoring efforts. * refactor(debug_logger_test): enhance test coverage and improve naming conventions This commit refactors the `debug_logger_test.dart` file by renaming test groups for clarity and adding new tests to verify the behavior of `SentryOptions.debug` and `SentryOptions.diagnosticLevel`. The changes improve the organization and comprehensiveness of the test suite, ensuring better validation of the `SentryDebugLogger` configuration and logging functionality. * refactor(sentry_options): improve debug logger configuration and diagnostic level handling This commit refactors the `SentryOptions` class to enhance the configuration of the debug logger. The `diagnosticLevel` setter now updates the logger's minimum level dynamically, ensuring that changes to the diagnostic level are reflected immediately. Additionally, the debug logger configuration is encapsulated in a private method for better organization and clarity. * refactor(logging): replace SentryDebugLogger with SentryInternalLogger and enhance logging functionality This commit refactors the logging mechanism by replacing the `SentryDebugLogger` with the new `SentryInternalLogger` across the codebase. The `SentryInternalLogger` provides improved logging capabilities, including compile-time constants for release, profile, and debug modes, ensuring better tree-shaking and performance. Additionally, the associated tests have been updated to validate the new logger's behavior, enhancing overall logging clarity and maintainability. * refactor(logging): remove SentryDebugLogger and its import from the codebase This commit removes the `SentryDebugLogger` class and its associated import from `sentry_options.dart`, streamlining the logging functionality in the Sentry SDK. This change is part of the ongoing effort to enhance the logging mechanism by transitioning to the `SentryInternalLogger`, which offers improved capabilities and performance. * refactor(sentry_options): update logger configuration methods to use SentryInternalLogger This commit modifies the `SentryOptions` class to replace calls to the deprecated `_configureDebugLogger` method with `_configureInternalLogger`. This change aligns with the recent transition to the `SentryInternalLogger`, ensuring consistent logging configuration and improving overall code clarity. * refactor(logging): rename debugLogger to internalLogger for consistency This commit renames the `debugLogger` to `internalLogger` across the codebase, including tests and various components. This change aligns with the recent transition to the `SentryInternalLogger`, ensuring consistent naming and improving clarity in the logging functionality. * refactor(logging): remove debugLogger test and update logging references to internalLogger This commit removes the test for the `debugLogger` constant in `internal_logger_test.dart` and updates references from `debugLogger` to `internalLogger` in the `_AndroidEnvelopeHandler` and `_AndroidReplayHandler` classes. These changes ensure consistency in the logging implementation and align with the recent transition to the `SentryInternalLogger`. * refactor(logging): move _defaultLogOutput method to SentryInternalLogger This commit relocates the `_defaultLogOutput` method into the `SentryInternalLogger` class, enhancing the organization of the logging functionality. This change improves code clarity and aligns with the ongoing refactor to streamline the logging mechanism within the Sentry SDK. * refactor(logging): improve error logging format in isolate_worker This commit enhances the error logging format in the `isolate_worker.dart` file by improving the readability of the log statement. The changes ensure that the error and stack trace are clearly separated, contributing to better debugging and monitoring of isolate message handling failures.
…Sdk` is disabled (#3420) * Update * Update CHANGELOG * Enhance AndroidEnvelopeSender to buffer envelopes when worker is not started and flush them upon starting. Update tests to reflect new buffering behavior and log changes from warning to info level. * Refactor SentryNativeJava tests: Split tests into separate files for VM and web environments. Introduce new test file for SentryNativeJava with ReplaySizeAdjustment and EnvelopeSender initialization tests. Remove redundant web stubs and streamline imports. * Refactor AndroidEnvelopeSender: Remove pending envelopes buffering and streamline envelope capture logic. Ensure envelopes are sent directly when the worker is available, and adjust logging for envelope capture in the main isolate. Update SentryNativeJava to start the envelope sender conditionally. * Enhance AndroidEnvelopeSender to manage closed state and improve envelope capture logic. Introduce a flag to prevent envelope capture after closure and update logging to use a required logger parameter. Adjust tests to reflect changes in behavior when the worker is not started. * Refactor AndroidEnvelopeSender: Adjust captureEnvelope method to ensure client assignment occurs after closed state check. This change improves clarity and maintains the integrity of the envelope sending process. * Fix AndroidEnvelopeSender start method to prevent spawning a worker if already closed. Update tests to reflect the expected spawn count when the sender is closed. * Update Android envelope capture test to assert behavior when the native channel is unavailable. Introduced a matcher for improved error handling in the captureEnvelope method. * Refactor AndroidEnvelopeSender start method to ensure proper closure handling during worker spawning. Introduce a guard clause to close the worker if the sender is already closed, enhancing stability and preventing resource leaks. * Refactor AndroidEnvelopeSender test to clarify logging behavior when sending envelopes in the main isolate. Update test description for improved readability and understanding of the expected functionality. * refactor(AndroidEnvelopeSender): update constructor to use SentryOptions and improve logging This commit refactors the `AndroidEnvelopeSender` class to replace the `_options` parameter with `SentryOptions` in the constructor. It also enhances the logging mechanism by utilizing `internalLogger` for logging messages related to envelope capture. The `_captureEnvelope` method has been updated to streamline error handling and improve clarity in logging, ensuring better maintainability and consistency across the codebase. * refactor(AndroidEnvelopeSender test): enhance logging configuration for envelope sending This commit updates the logging mechanism in the `AndroidEnvelopeSender` test to utilize the new `SentryInternalLogger`. The changes include removing the previous debug options and configuring the logger to capture logs with improved structure and clarity. This refactor aims to enhance the maintainability and consistency of logging behavior during envelope sending in the main isolate.
* Update * Refine test naming conventions in AGENTS.md for improved clarity and structure - Updated guidelines to ensure test group and test names read as coherent sentences. - Introduced a structured approach for naming by depth, emphasizing the use of subjects, contexts, variants, and behaviors. - Added examples and anti-patterns to illustrate best practices in test organization and naming. * Enhance Dart code design guidelines in AGENTS.md - Added comprehensive guidelines for identifiers, ordering, formatting, comments, and documentation to improve code consistency and readability. - Included best practices for naming conventions, code structure, and documentation styles to align with the Effective Dart guide. - Emphasized the importance of adhering to these guidelines for new and modified tests. * Refactor AGENTS.md for improved clarity and structure - Streamlined project structure section by removing table format for a more concise list format. - Updated environment section to include specific Flutter and Dart versions. - Enhanced testing guidelines with clearer commands and descriptions for Dart and Flutter packages. - Added new guidelines for modern Dart language features to promote clarity and reduce boilerplate in code. * Enhance agent documentation and testing guidelines - Updated AGENTS.md to clarify the structure and purpose of the Sentry Dart/Flutter SDK. - Introduced new documentation files for code guidelines and test conventions, emphasizing best practices for Dart/Flutter development. - Added detailed sections on naming conventions, test structure, and the use of modern Dart features to improve code clarity and maintainability. - Ensured that all new and modified code adheres to these updated guidelines for consistency across the project. * Update documentation comments guidelines in code-guidelines.md - Renamed section from "Doc Comments" to "Documentation Comments" for clarity. - Added recommendations for when to write comments, emphasizing the importance of self-documenting code. - Included specific guidelines on documenting public APIs and non-obvious reasoning, while advising against commenting on obvious behavior and providing excessive inline commentary.
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.203.0 to 1.208.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-s3 dependency-version: 1.208.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) from 1.203.0 to 1.208.0. - [Release notes](https://github.com/aws/aws-sdk-ruby/releases) - [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-ruby/commits) --- updated-dependencies: - dependency-name: aws-sdk-s3 dependency-version: 1.208.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.268.0 to 1.278.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](ruby/setup-ruby@8aeb6ff...4c24fa5) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-version: 1.278.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub <[email protected]>
Bumps [reactivecircus/android-emulator-runner](https://github.com/reactivecircus/android-emulator-runner) from 2.34.0 to 2.35.0. - [Release notes](https://github.com/reactivecircus/android-emulator-runner/releases) - [Changelog](https://github.com/ReactiveCircus/android-emulator-runner/blob/main/CHANGELOG.md) - [Commits](ReactiveCircus/android-emulator-runner@1dcd009...b530d96) --- updated-dependencies: - dependency-name: reactivecircus/android-emulator-runner dependency-version: 2.35.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Giancarlo Buenaflor <[email protected]>
Co-authored-by: GitHub <[email protected]>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Giancarlo Buenaflor <[email protected]>
) Co-authored-by: GitHub <[email protected]>
…her` (#3448) * Add TelemetryProcessor for span and log buffering Co-Authored-By: Claude Sonnet 4.5 <[email protected]> * Remove SpanV2 and TraceLifecycle dependencies - Remove addSpan method from TelemetryProcessor interface - Remove span buffer from DefaultTelemetryProcessor - Remove captureSpan method from SentryClient - Remove traceLifecycle property from SentryOptions - Remove span imports and exports - Update mocks to remove span-related code Co-Authored-By: Claude Sonnet 4.5 <[email protected]> * Remove span-related tests from sentry_client_test Co-Authored-By: Claude Sonnet 4.5 <[email protected]> * Remove span-related processor tests Co-Authored-By: Claude Sonnet 4.5 <[email protected]> * Remove span import from Flutter mocks Co-Authored-By: Claude Sonnet 4.5 <[email protected]> * Fix wiring up * Update * Update * Update CHANGELOG * Update * Remove logbatcher * Polish --------- Co-authored-by: Claude Sonnet 4.5 <[email protected]>
* chore: update metrics/flutter.properties to 3.38.7 * update * update * Update --------- Co-authored-by: GitHub <[email protected]> Co-authored-by: Giancarlo Buenaflor <[email protected]>
* update kotlin version handling in android build scripts for CI compatibility * Fix Kotlin version format in workflow file * Update * Update * Update * Remove CI override comment for Kotlin language version Removed comment about allowing CI to override Kotlin language version.
* Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Fix analyze * Refactor Pana score check logic in analyze.yml
Add .claude/settings.local.json to .gitignore to prevent committing local Claude Code configuration.
…3451) Co-authored-by: GitHub <[email protected]>
Adds trace connected metrics feature to Dart --------- Co-authored-by: Claude Sonnet 4.5 <[email protected]>
…irst (#3463) Make log implementation consistent with metrics and span-first Co-authored-by: Claude Sonnet 4.5 <[email protected]>
Bumps [actions/setup-java](https://github.com/actions/setup-java) from 4 to 5. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v4...v5) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3472) Add a new `captureNativeFailedRequests` option to control native HTTP failed request capturing independently from `captureFailedRequests`. This separation allows users to: - Keep Dart-side failed request capturing enabled while disabling native - Or vice versa, based on their needs For backwards compatibility, `captureNativeFailedRequests` defaults to `null`, which falls back to the value of `captureFailedRequests`. This ensures existing users who set `captureFailedRequests = false` will still have native capturing disabled as expected.
Bumps [getsentry/craft](https://github.com/getsentry/craft) from 2.24.2 to 2.25.0. - [Release notes](https://github.com/getsentry/craft/releases) - [Changelog](https://github.com/getsentry/craft/blob/master/CHANGELOG.md) - [Commits](getsentry/craft@78da70b...f4889d0) --- updated-dependencies: - dependency-name: getsentry/craft dependency-version: 2.25.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3588) Co-authored-by: GitHub <[email protected]>
) Co-authored-by: GitHub <[email protected]>
Co-authored-by: GitHub <[email protected]>
* ci: Automate JNI branch sync on release Add a workflow that triggers on release published to automatically sync the deps/jni-0.15.x branch. It merges the release tag, regenerates JNI bindings via a safe fallback script, opens a PR, and updates the version tracker table on issue #3373. The safe-regenerate script tries the normal path first (flutter build apk + jnigen). If that fails due to binding incompatibility, it falls back to compiling only the Java/Kotlin plugin code via Gradle and creating a stub libs.jar for jnigen — bypassing Dart compilation. Refs GH-3373 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * ci: Use push trigger for version tracker and fix job conditions Switch update-tracker from pull_request:closed to push trigger on deps/jni-0.15.x so it fires on any merge (PR or direct push) and correctly uses the merge commit SHA. Guard sync job with explicit event_name == 'release' check to prevent it running on push events. Refs GH-3373 Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * Update .github/workflows/sync-jni-branch.yml Co-authored-by: Copilot <[email protected]> * ci(sync-jni): Harden workflow security and scope permissions Pass github.event.release.tag_name through env instead of inline ${{ }} interpolation to prevent script injection. Add tag format validation. Move all context properties out of run blocks into env. Scope permissions per-job: sync gets contents/pull-requests/issues write, update-tracker gets only issues write. Also read version from pubspec.yaml instead of parsing commit messages, making version detection resilient to squash merges. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * fix(ci): Create failure issue on merge conflicts in JNI sync The merge step lacked continue-on-error, so merge conflicts halted the workflow before the issue creation step could run. Now the merge step allows continuation on failure, downstream steps are gated on merge success, and the failure issue fires for either merge or regeneration failures with a "Failed step" indicator. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * ci(sync-jni): Remove update-tracker job and clean up triggers Remove the update-tracker job and its push trigger since version tracking on the issue is no longer needed. Restore safe concurrency settings (cancel-in-progress: false) to prevent cancelling in-flight syncs. Simplify job condition to just the prerelease check. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> * chore(ci): Remove unused env vars from failure step Remove REPO and REGENERATE_OUTCOME env vars that were declared but never referenced in the run script. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]> --------- Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]> Co-authored-by: Copilot <[email protected]>
Bumps [json](https://github.com/ruby/json) from 2.16.0 to 2.17.1.2. - [Release notes](https://github.com/ruby/json/releases) - [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md) - [Commits](ruby/json@v2.16.0...v2.17.1.2) --- updated-dependencies: - dependency-name: json dependency-version: 2.17.1.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.293.0 to 1.295.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](ruby/setup-ruby@dffb23f...319994f) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-version: 1.295.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3595) Co-authored-by: GitHub <[email protected]>
There was a problem hiding this comment.
Pull request overview
Automated sync of the JNI compatibility branch with release 9.16.0, including dependency/version bumps, workflow pinning, and a couple of upstream fixes/regressions (sqflite executor casting + user interaction hit-testing behavior) plus automation to help maintain the JNI branch.
Changes:
- Bump SDK/component versions to
9.16.0and update related dependency versions/docs. - Fix/guard against upstream behavior changes (sqflite
SqfliteDatabaseExecutorhard-cast; Flutter scaffold element name variance; user-interaction hit-testing regression tests). - Add JNI-branch maintenance automation (safe JNI regeneration script + sync workflow) and pin GitHub Actions to SHAs.
Reviewed changes
Copilot reviewed 74 out of 78 changed files in this pull request and generated 25 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/supabase/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/sqflite/test/sentry_database_test.dart | Adds regression tests for getVersion/setVersion TypeError. |
| packages/sqflite/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/sqflite/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/sqflite/lib/src/sentry_sqflite_transaction.dart | Implements SqfliteDatabaseExecutor forwarding to avoid sqflite hard-cast TypeError. |
| packages/sqflite/lib/src/sentry_database_executor.dart | Implements SqfliteDatabaseExecutor and forwards db/txn. |
| packages/sqflite/lib/src/sentry_database.dart | Ensures wrapped Database also satisfies SqfliteDatabaseExecutor. |
| packages/logging/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/logging/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/link/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/isar/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/isar/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/hive/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/hive/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/flutter/test/user_interaction/sentry_user_interaction_widget_test.dart | Makes widget-path assertions framework-version tolerant; adds regression tests for stacked routes + hitTest distortion. |
| packages/flutter/sentry-native/CMakeCache.txt | Updates pinned sentry-native version to 0.13.3. |
| packages/flutter/scripts/safe-regenerate-jni.sh | Adds a safer regeneration path for JNI bindings on the jni 0.15.x branch. |
| packages/flutter/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/flutter/lib/src/version.dart | Bumps reported Flutter SDK version to 9.16.0. |
| packages/flutter/lib/src/user_interaction/sentry_user_interaction_widget.dart | Adjusts element traversal to avoid hitTest side effects and skip offstage elements. |
| packages/flutter/ios/sentry_flutter/Sources/sentry_flutter/SentryFlutter.swift | Enables replay in “unreliable environment”; adds rationale comment. |
| packages/flutter/ios/sentry_flutter/Package.swift | Bumps sentry-cocoa SPM dependency to 8.58.0. |
| packages/flutter/ios/sentry_flutter.podspec | Bumps CocoaPods dependency to Sentry/HybridSDK 8.58.0. |
| packages/flutter/example/pubspec.yaml | Version conflict markers introduced during sync (needs resolution). |
| packages/flutter/example/ios/Runner.xcworkspace/xcshareddata/swiftpm/Package.resolved | Removes resolved SPM lockfile from example iOS workspace. |
| packages/flutter/example/ios/Gemfile.lock | Updates Ruby gem lockfile dependency versions. |
| packages/flutter/android/build.gradle | Bumps sentry-android and sentry-spotlight to 8.37.1. |
| packages/firebase_remote_config/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/file/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/file/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/drift/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/drift/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/dio/pubspec.yaml | Version/dependency conflict markers introduced during sync (needs resolution). |
| packages/dio/lib/src/version.dart | Bumps reported integration version to 9.16.0. |
| packages/dart/test/telemetry/metric/metric_test.dart | Updates metric timestamp serialization expectation to seconds w/ microseconds. |
| packages/dart/test/telemetry/log/log_test.dart | Updates log timestamp serialization expectation to seconds since epoch. |
| packages/dart/pubspec.yaml | Version conflict markers introduced during sync (needs resolution). |
| packages/dart/lib/src/version.dart | Bumps reported core SDK version to 9.16.0. |
| packages/dart/lib/src/utils/date_time_extension.dart | Adds shared secondsSinceEpoch helper for microsecond precision. |
| packages/dart/lib/src/telemetry/metric/metric.dart | Switches telemetry metric timestamps to seconds since epoch (microsecond precision). |
| packages/dart/lib/src/telemetry/log/log.dart | Switches telemetry log timestamps to seconds since epoch. |
| metrics/flutter.properties | Bumps Flutter version used in metrics to 3.41.5. |
| metrics/Gemfile.lock | Updates Ruby gem lockfile dependency versions. |
| docs/sdk-versions.md | Records 9.16.0 dependency matrix (Android/Cocoa/Native/etc). |
| CHANGELOG.md | Adds 9.16.0 (and includes prior 9.15.0) entries. |
| .github/workflows/web-example-ghpages.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/update-deps.yml | Pins updater action to SHA; adds Cocoa SDK major-version pattern restriction. |
| .github/workflows/testflight.yml | Pins actions/checkout and updates ruby/setup-ruby pin. |
| .github/workflows/sync-jni-branch.yml | New workflow to auto-merge release tags into JNI branch and regenerate bindings. |
| .github/workflows/supabase.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/sqflite.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/release.yml | Pins actions to SHAs (create token, checkout, craft). |
| .github/workflows/min_version_test.yml | Pins actions/checkout and setup-java to commit SHAs. |
| .github/workflows/metrics.yml | Pins multiple actions to commit SHAs. |
| .github/workflows/logging.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/link.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/kotlin-version-compatibility.yml | Pins actions/checkout and setup-java to commit SHAs. |
| .github/workflows/isar.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/hive.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/format-and-fix.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/flutter_test.yml | Pins actions/checkout and setup-java to commit SHAs. |
| .github/workflows/flutter.yml | Pins actions/checkout and setup-java to commit SHAs. |
| .github/workflows/flutter-symbols.yml | Pins actions/checkout and upload-artifact to commit SHAs. |
| .github/workflows/firebase_remote_config.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/file.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/e2e_dart.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/drift.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/dio.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/diagrams.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/dart.yml | Pins actions/checkout to a commit SHA. |
| .github/workflows/danger.yml | Pins getsentry/github-workflows/danger to a commit SHA. |
| .github/workflows/changes-in-high-risk-code.yml | Pins dorny/paths-filter and actions/github-script to commit SHAs. |
| .github/workflows/changelog-preview.yml | Pins reusable workflow reference to a commit SHA. |
| .github/workflows/analyze.yml | Pins actions/checkout to a commit SHA. |
| .github/actions/flutter-test/action.yml | Pins setup-java action to a commit SHA. |
| .github/ISSUE_TEMPLATE/BUG_REPORT.yml | Adds fields about using other monitoring solutions. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Take release 9.16.0 version for all files except: - packages/flutter/pubspec.yaml: keep jni: ^0.15.0 - packages/flutter/lib/src/native/java/binding.dart: keep JNI branch version
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix prepared a fix for the issue found in the latest run.
- ✅ Fixed: Min version test no longer tests actual minimum version
- Restored Flutter version from 3.35.6 to 3.24.0 in both the workflow file (all 3 jobs) and min_version_test/pubspec.yaml to match the declared minimum version in package constraints.
Or push these changes by commenting:
@cursor push 9f7fcb4734
Preview (9f7fcb4734)
diff --git a/.github/workflows/min_version_test.yml b/.github/workflows/min_version_test.yml
--- a/.github/workflows/min_version_test.yml
+++ b/.github/workflows/min_version_test.yml
@@ -32,7 +32,7 @@
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # [email protected]
with:
- flutter-version: '3.35.6'
+ flutter-version: '3.24.0'
- name: Build Android
run: |
@@ -49,7 +49,7 @@
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # [email protected]
with:
- flutter-version: '3.35.6'
+ flutter-version: '3.24.0'
- uses: ruby/setup-ruby@319994f95fa847cf3fb3cd3dbe89f6dcde9f178f # [email protected]
with:
@@ -84,7 +84,7 @@
- uses: subosito/flutter-action@fd55f4c5af5b953cc57a2be44cb082c8f6635e8e # [email protected]
with:
- flutter-version: '3.35.6'
+ flutter-version: '3.24.0'
- name: Build web
run: |
diff --git a/min_version_test/pubspec.yaml b/min_version_test/pubspec.yaml
--- a/min_version_test/pubspec.yaml
+++ b/min_version_test/pubspec.yaml
@@ -19,7 +19,7 @@
environment:
sdk: '3.5.0'
- flutter: '3.35.6'
+ flutter: '3.24.0'
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versionsThis Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.
jni ^0.15.0 requires Flutter >=3.35.6, so the pubspec constraint must reflect this. Also add JNI branch sync instructions to AGENTS.md so agents know how to resolve merge conflicts correctly. Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
The min_version_test project scaffolding is incompatible with Flutter 3.35.6 required by jni ^0.15.0. The jni-version-check workflow guards the dependency constraint instead.
|
nice one! |


Summary
Automated sync of the JNI compatibility branch with release
9.16.0.44 conflicts auto-resolved (took release version for workflows, version files, docs, source code).
14 conflicts remain with markers — these need manual resolution to preserve JNI-specific dependencies:
packages/*/pubspec.yaml(13 files)packages/flutter/lib/src/native/java/binding.dartAfter resolving, regenerate JNI bindings:
#skip-changelog