Skip to content

Sync JNI branch with release 9.16.0#3599

Merged
buenaflor merged 112 commits into
deps/jni-0.15.xfrom
sync/jni-9.16.0
Mar 27, 2026
Merged

Sync JNI branch with release 9.16.0#3599
buenaflor merged 112 commits into
deps/jni-0.15.xfrom
sync/jni-9.16.0

Conversation

@buenaflor

@buenaflor buenaflor commented Mar 26, 2026

Copy link
Copy Markdown
Contributor

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.dart

After resolving, regenerate JNI bindings:

cd packages/flutter && scripts/safe-regenerate-jni.sh

#skip-changelog

dependabot Bot and others added 30 commits December 30, 2025 14:40
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 [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>
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]>
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]>
…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.
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.
dependabot Bot and others added 10 commits March 26, 2026 11:39
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>
* 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>
@buenaflor
buenaflor requested a review from denrase as a code owner March 26, 2026 17:09
Copilot AI review requested due to automatic review settings March 26, 2026 17:09

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.0 and update related dependency versions/docs.
  • Fix/guard against upstream behavior changes (sqflite SqfliteDatabaseExecutor hard-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.

Comment thread packages/firebase_remote_config/pubspec.yaml Outdated
Comment thread packages/supabase/pubspec.yaml Outdated
Comment thread packages/sqflite/pubspec.yaml Outdated
Comment thread packages/sqflite/pubspec.yaml Outdated
Comment thread packages/hive/pubspec.yaml Outdated
Comment thread packages/logging/pubspec.yaml Outdated
Comment thread packages/link/pubspec.yaml Outdated
Comment thread packages/isar/pubspec.yaml Outdated
Comment thread packages/isar/pubspec.yaml Outdated
Comment thread packages/dio/pubspec.yaml Outdated
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

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

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.

Create PR

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 versions

This Bugbot Autofix run was free. To enable autofix for future PRs, go to the Cursor dashboard.

Comment thread .github/workflows/min_version_test.yml
buenaflor and others added 7 commits March 27, 2026 12:41
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.
@buenaflor
buenaflor merged commit ea3f876 into deps/jni-0.15.x Mar 27, 2026
141 checks passed
@buenaflor
buenaflor deleted the sync/jni-9.16.0 branch March 27, 2026 12:46
@orestesgaolin

Copy link
Copy Markdown

nice one!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants