Skip to content

Sync JNI branch with 9.14.0#3542

Merged
buenaflor merged 70 commits intodeps/jni-0.15.xfrom
temp/jni-9.14.0
Feb 27, 2026
Merged

Sync JNI branch with 9.14.0#3542
buenaflor merged 70 commits intodeps/jni-0.15.xfrom
temp/jni-9.14.0

Conversation

@buenaflor
Copy link
Copy Markdown
Contributor

#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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: GitHub <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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: GitHub <noreply@github.com>
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] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
)

Co-authored-by: GitHub <noreply@github.com>
…her` (#3448)

* Add TelemetryProcessor for span and log buffering

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* 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 <noreply@anthropic.com>

* Remove span-related tests from sentry_client_test

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Remove span-related processor tests

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Remove span import from Flutter mocks

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Fix wiring up

* Update

* Update

* Update CHANGELOG

* Update

* Remove logbatcher

* Polish

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
* chore: update metrics/flutter.properties to 3.38.7

* update

* update

* Update

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlobuenaflor97@gmail.com>
* 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 <noreply@github.com>
Adds trace connected metrics feature to Dart

---------

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
…irst (#3463)

Make log implementation consistent with metrics and span-first

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
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] <support@github.com>
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.
getsentry-bot and others added 22 commits February 5, 2026 15:47
Co-authored-by: GitHub <noreply@github.com>
…viewing dependency updates (#3509)

* Update BUGBOT.md
* chore: update packages/flutter/scripts/update-android.sh to 8.32.0

* Add spotlight as debugImplementation

* Update analyze

* Updat

* Update android example sdk targets

* Update

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlo_buenaflor@yahoo.com>
Co-authored-by: Giancarlo Buenaflor <giancarlobuenaflor97@gmail.com>
* feat: Synchronize PropagationContext to native SDKs (#3406)

Native crashes/errors on Android and iOS carry their own independently-
generated traceId, disconnecting them from the Dart-side trace. This
wires up the existing native setTrace APIs so the Dart PropagationContext
is synced to native on init and whenever generateNewTrace() is called.

- Add OnTraceReset lifecycle event dispatched from Hub.generateNewTrace()
- Add NativeTraceSyncIntegration that subscribes to OnTraceReset and
  calls the platform-specific native setTrace API
- Implement setTrace on all platform bindings (JNI for Android, method
  channel for Cocoa, no-op for C/Web)
- Add supportsTraceSync capability flag to SentryNativeBinding
- Disable native auto trace ID generation on Android so Flutter is
  the single source of truth
- Add setTrace handler in iOS SentryFlutterPlugin.swift
- Register NativeTraceSyncIntegration in default integrations

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix build

* Update CHANGELOG

* Update

* Update

* Update

* Update

* Fix mocks

* Update

* Update doc

* Fix changelog

* Update

* Review

* Update

* Bubble up error from native flutter plugin in swift

* Move enableNativeTraceSync from dart to flutter options

* Fix duplicate result

* Improve documentation

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* chore: update packages/flutter/scripts/update-native.sh to 0.12.6

* Update gitignore

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlobuenaflor97@gmail.com>
…cking (#3508)

* feat(dart): Add `features` list to `SdkVersion` metadata

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(flutter): Merge native SDK features into event metadata

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat(flutter): Report SPM vs CocoaPods build type as SDK feature on iOS

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Review

* Remove redundant comments

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* ci(release): Switch from action-prepare-release to Craft

This PR migrates from the deprecated action-prepare-release to the new
Craft GitHub Actions (reusable workflow or composite action).

Changes:
- Migrate .github/workflows/release.yml to Craft reusable workflow

* ci(release): Restore GitHub App token authentication

The previous migration incorrectly removed the GitHub App token
authentication step. This commit restores it by switching to the
composite action pattern which preserves the auth flow.

* fix: Pin actions to SHA and add permissions blocks

* fix: Use correct action version SHAs (restore original versions)

* fix: Use correct action version SHAs (restore original versions)

* fix: Clean up action version comments

* Update Craft SHA to 1c58bfd57bfd6a967b6f3fc92bead2c42ee698ce

* Add explicit permissions block to analyze.yml

* Add explicit permissions block to dart.yml

* Add explicit permissions block to dio.yml

* Add explicit permissions block to drift.yml

* Add explicit permissions block to e2e_dart.yml

* Add explicit permissions block to file.yml

* Add explicit permissions block to firebase_remote_config.yml

* Add explicit permissions block to flutter.yml

* Add explicit permissions block to flutter_test.yml

* Add explicit permissions block to format-and-fix.yml

* Add explicit permissions block to hive.yml

* Add explicit permissions block to isar.yml

* Add explicit permissions block to link.yml

* Add explicit permissions block to logging.yml

* Add explicit permissions block to metrics.yml

* Add explicit permissions block to min_version_test.yml

* Add explicit permissions block to sqflite.yml

* Add explicit permissions block to supabase.yml

* Add explicit permissions block to testflight.yml

* Add explicit permissions block to web-example-ghpages.yml

* Revert permissions changes to analyze.yml

* Revert permissions changes to dart.yml

* Revert permissions changes to dio.yml

* Revert permissions changes to drift.yml

* Revert permissions changes to e2e_dart.yml

* Revert permissions changes to file.yml

* Revert permissions changes to firebase_remote_config.yml

* Revert permissions changes to flutter.yml

* Revert permissions changes to flutter_test.yml

* Revert permissions changes to format-and-fix.yml

* Revert permissions changes to hive.yml

* Revert permissions changes to isar.yml

* Revert permissions changes to link.yml

* Revert permissions changes to logging.yml

* Revert permissions changes to metrics.yml

* Revert permissions changes to min_version_test.yml

* Revert permissions changes to sqflite.yml

* Revert permissions changes to supabase.yml

* Revert permissions changes to testflight.yml

* Revert permissions changes to web-example-ghpages.yml

* fix: revert extraneous changes to non-release workflow files

* fix: clean up release.yml formatting and version comments

* build(craft): Update Craft action to c6e2f04

* chore: add unlabeled trigger to changelog-preview
Bumps [faraday](https://github.com/lostisland/faraday) from 1.10.4 to 1.10.5.
- [Release notes](https://github.com/lostisland/faraday/releases)
- [Changelog](https://github.com/lostisland/faraday/blob/main/CHANGELOG.md)
- [Commits](lostisland/faraday@v1.10.4...v1.10.5)

---
updated-dependencies:
- dependency-name: faraday
  dependency-version: 1.10.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: GitHub <noreply@github.com>
Bumps [getsentry/craft](https://github.com/getsentry/craft) from 2.19.0 to 2.21.4.
- [Release notes](https://github.com/getsentry/craft/releases)
- [Changelog](https://github.com/getsentry/craft/blob/master/CHANGELOG.md)
- [Commits](getsentry/craft@c6e2f04...906009a)

---
updated-dependencies:
- dependency-name: getsentry/craft
  dependency-version: 2.21.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.286.0 to 1.288.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@90be115...09a7688)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.288.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
)

Co-authored-by: GitHub <noreply@github.com>
* Dont guard user attributes with sendDEfaultPii

* Update sample

* Update CHANGELOG

* Update comments
* feat(flutter): Add enableTombstone option for improved native crash reporting

Add `enableTombstone` option to SentryFlutterOptions that enables tombstone-based
native crash reporting on Android 12+ (API level 30+).

When enabled, uses Android's `ApplicationExitInfo.REASON_CRASH_NATIVE` to capture
native crashes with more detailed thread information.

The option is disabled by default.

Slack thread: https://sentry.slack.com/archives/CP4UUUF1S/p1771404252312029?thread_ts=1769055443.846779&cid=CP4UUUF1S

https://claude.ai/code/session_016kkosYW3XG2rhHafEfspqA

* Apply suggestion from @romtsn

* Add integration test

* Enable tombstone option in integration test

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Giancarlo Buenaflor <giancarlobuenaflor97@gmail.com>
Co-authored-by: Giancarlo Buenaflor <giancarlo.buenaflor@sentry.io>
* chore: update packages/flutter/scripts/update-android.sh to 8.33.0

* Update jni call when creating bitmap

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Giancarlo Buenaflor <giancarlobuenaflor97@gmail.com>
* Add beforeSend to change sdk name in JS

* Add beforeSend to js

* Review

* Cleanup

* Update factory for creating JsSdkInfo
@buenaflor buenaflor marked this pull request as ready for review February 27, 2026 11:08
@buenaflor buenaflor requested a review from denrase as a code owner February 27, 2026 11:08
Copilot AI review requested due to automatic review settings February 27, 2026 11:08
@buenaflor buenaflor merged commit df7b2c6 into deps/jni-0.15.x Feb 27, 2026
139 of 144 checks passed
@buenaflor buenaflor deleted the temp/jni-9.14.0 branch February 27, 2026 11:09
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR syncs the repository to the 9.14.0 release, aligning package versions and native dependencies while pulling in a few feature/fix changes (Android tombstone support, web JS SDK tagging, and telemetry user attribute behavior).

Changes:

  • Bump sentry and all companion packages to 9.14.0.
  • Add Android tombstone reporting option (enableTombstone) and wire it through JNI + tests/example.
  • Update Flutter web JS binding to tag native JS errors with sentry.javascript.browser.flutter, adjust telemetry default attributes behavior, and update release/changelog automation files.

Reviewed changes

Copilot reviewed 42 out of 44 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
packages/supabase/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/sqflite/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/sqflite/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/logging/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/logging/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/link/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/isar/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/isar/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/hive/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/hive/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/flutter/test/web/web_sentry_js_binding_test.dart Add test asserting JS SDK name tagging for native JS errors
packages/flutter/test/sentry_flutter_options_test.dart Add default-value test for enableTombstone
packages/flutter/sentry-native/CMakeCache.txt Bump sentry-native dependency version (0.12.6 → 0.12.8)
packages/flutter/pubspec.yaml Bump sentry_flutter version, update deps (incl. JNI/jnigen)
packages/flutter/lib/src/web/web_sentry_js_binding.dart Add beforeSend hook to set JS SDK name for events
packages/flutter/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/flutter/lib/src/sentry_flutter_options.dart Add enableTombstone option
packages/flutter/lib/src/native/java/sentry_native_java_init.dart Wire enableTombstone into Android native options
packages/flutter/example/pubspec.yaml Bump example version to 9.14.0
packages/flutter/example/lib/main.dart Add scope user configuration in example
packages/flutter/example/integration_test/integration_test.dart Validate tombstone option propagates to native options
packages/flutter/android/build.gradle Bump Android SDK artifacts (8.32.0 → 8.33.0)
packages/firebase_remote_config/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/file/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/file/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/drift/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/drift/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/dio/pubspec.yaml Bump package + sentry dependency to 9.14.0
packages/dio/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/dart/test/telemetry/metric/metric_capture_pipeline_test.dart Remove tests/fixture setup tied to sendDefaultPii gating
packages/dart/test/telemetry/log/log_capture_pipeline_test.dart Remove tests/fixture setup tied to sendDefaultPii gating
packages/dart/pubspec.yaml Bump sentry package version to 9.14.0
packages/dart/lib/src/version.dart Bump reported SDK version to 9.14.0
packages/dart/lib/src/telemetry/default_attributes.dart Always include user attributes (not gated by sendDefaultPii)
packages/dart/lib/src/constants.dart Update semantic attribute docs and remove userIpAddress constant
metrics/flutter.properties Bump tracked Flutter version
metrics/Gemfile.lock Update Ruby gem versions (faraday, faraday-multipart)
docs/sdk-versions.md Add 9.14.0 row with aligned native SDK versions
CHANGELOG.md Add 9.14.0 release notes
.github/workflows/testflight.yml Bump ruby/setup-ruby pin
.github/workflows/release.yml Switch to getsentry/craft@v2, adjust inputs/permissions
.github/workflows/min_version_test.yml Bump ruby/setup-ruby pin
.github/workflows/changelog-preview.yml Add new changelog preview workflow

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

/// Enable or disable Tombstone reporting for improved native crash reporting.
/// When enabled, uses Android's `ApplicationExitInfo.REASON_CRASH_NATIVE` to
/// capture native crashes with more detailed thread information.
/// Available only for Android 12+ (API level 30+). Disabled by default.
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

The documentation for enableTombstone has inconsistent Android version / API level: Android 12 corresponds to API level 31, but the comment says "Android 12+ (API level 30+)". Please correct the API level (or the Android version) so they match the actual requirement for tombstone reporting.

Suggested change
/// Available only for Android 12+ (API level 30+). Disabled by default.
/// Available only for Android 11+ (API level 30+). Disabled by default.

Copilot uses AI. Check for mistakes.

### Fixes

- Dont guard user attributes behind `sendDefaultPii` for logs and metrics ([#3524](https://github.com/getsentry/sentry-dart/pull/3524))
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

This changelog entry uses Dont instead of Don't. Please fix the spelling/grammar to keep the changelog professional and consistent.

Suggested change
- Dont guard user attributes behind `sendDefaultPii` for logs and metrics ([#3524](https://github.com/getsentry/sentry-dart/pull/3524))
- Don't guard user attributes behind `sendDefaultPii` for logs and metrics ([#3524](https://github.com/getsentry/sentry-dart/pull/3524))

Copilot uses AI. Check for mistakes.
Comment on lines +24 to +28
<summary><b>Internal Changes</b></summary>

- Add `sentry.javascript.browser.flutter` sdk name for native js errors ([#3525](https://github.com/getsentry/sentry-dart/pull/3525))

</details>
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

The "Internal Changes" section appears to be missing the opening <details> tag: there is a <summary> followed by a closing </details>, which breaks the Markdown/HTML structure. Please add the opening <details> before the <summary> (consistent with previous versions) or remove the stray closing tag.

Copilot uses AI. Check for mistakes.
Comment on lines +5 to +10
- opened
- synchronize
- reopened
- edited
- labeled
- unlabeled
Copy link

Copilot AI Feb 27, 2026

Choose a reason for hiding this comment

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

The YAML indentation under pull_request.types is invalid: the - opened/- synchronize entries must be indented under types:. As written, this workflow may fail to parse and won't run.

Suggested change
- opened
- synchronize
- reopened
- edited
- labeled
- unlabeled
- opened
- synchronize
- reopened
- edited
- labeled
- unlabeled

Copilot uses AI. Check for mistakes.
url: https://github.com/getsentry/ffigen
ref: 6aa2c2642f507eab3df83373189170797a9fa5e7
jnigen: ^0.15.0
jnigen: 0.14.2
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

@buenaflor I think this change defeats the point of this branch

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

yeah that's wrong.. this seems to be a merge issue

we'll fix this asap on monday

you can pin to the previous commit if you need a correct build right now

Copy link
Copy Markdown
Collaborator

@denrase denrase Mar 2, 2026

Choose a reason for hiding this comment

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

@Danyalo This is fixed now, we set 0.15.0 again and re-generated the binding.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Thanks a lot, that was quick!

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.

8 participants