Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: getsentry/sentry-native
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.11.2
Choose a base ref
...
head repository: getsentry/sentry-native
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 0.12.0
Choose a head ref
  • 19 commits
  • 80 files changed
  • 9 contributors

Commits on Oct 2, 2025

  1. Merge branch 'release/0.11.2'

    getsentry-bot committed Oct 2, 2025
    Configuration menu
    Copy the full SHA
    9bbbcae View commit details
    Browse the repository at this point in the history
  2. fix: add proper sdk name to logs (#1399)

    * fix: add proper sdk name to logs
    
    * update CHANGELOG.md
    
    * don't use deprecated `sentry_sdk_name()`
    
    * update CHANGELOG.md
    
    * add SENTRY_SDK_NAME fallback (fallforward?)
    
    * fix typo
    JoshuaMoelans authored Oct 2, 2025
    Configuration menu
    Copy the full SHA
    a51cddd View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2025

  1. feat: outgoing traceparent header support (#1394)

    * initial traceparent support
    
    * CHANGELOG.md update
    
    * consolidate tests
    
    * remove redundant value_len check
    
    * check for exact length
    
    * reuse header key comparison + extract parsing per header type
    
    * static internal helper
    
    * add size bounds + checks for headers
    
    * only accept 00 or 01 sampling flag
    
    * Apply suggestion from @supervacuus
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    
    * Apply suggestion from @supervacuus
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    
    * Apply suggestion from @supervacuus
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    
    * Apply suggestion from @supervacuus
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    
    * fix(traceparent): only support outgoing for now (#1406)
    
    * cleanup
    
    * remove feature of parsing incoming traceparent
    
    * re-add len macros
    
    * add tests to verify consistency of trace and span IDs across headers for transactions and spans
    
    * use trace header sizes in header propagation
    
    * update CHANGELOG.md
    
    ---------
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    JoshuaMoelans and supervacuus authored Oct 8, 2025
    Configuration menu
    Copy the full SHA
    5d60bff View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2025

  1. Configuration menu
    Copy the full SHA
    b58c786 View commit details
    Browse the repository at this point in the history
  2. fix: serialize uint64_t values as numerical instead of string (#1408)

    * serialize uint64 values as numerical instead of string
    
    * CHANGELOG.md
    
    * construct unsigned int log params as sentry_value_t string type
    
    * change format to expected unsigned long long int
    
    * pass through the conversion character
    
    * add tests for logs parameter conversion types
    
    * less strict pointer argument check
    JoshuaMoelans authored Oct 13, 2025
    Configuration menu
    Copy the full SHA
    596b702 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2025

  1. release: 0.11.3

    getsentry-bot committed Oct 14, 2025
    Configuration menu
    Copy the full SHA
    22ac4ce View commit details
    Browse the repository at this point in the history
  2. Merge branch 'release/0.11.3'

    getsentry-bot committed Oct 14, 2025
    Configuration menu
    Copy the full SHA
    7d3a752 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2025

  1. test: Fix flaky test_external_crash_reporter_http when running with k…

    …cov (#1419)
    
    * Initial plan
    
    * Fix crash test assertions to handle kcov's exit code behavior
    
    Co-authored-by: vaind <6349682+vaind@users.noreply.github.com>
    
    * Skip entire crash tests when running with kcov instead of conditional assertions
    
    Co-authored-by: vaind <6349682+vaind@users.noreply.github.com>
    
    * Only skip test_external_crash_reporter_http when running with kcov
    
    Co-authored-by: vaind <6349682+vaind@users.noreply.github.com>
    
    * Update tests/test_integration_http.py
    
    * Update tests/test_integration_http.py
    
    * Update tests/test_integration_http.py
    
    ---------
    
    Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
    Co-authored-by: vaind <6349682+vaind@users.noreply.github.com>
    Copilot and vaind authored Oct 19, 2025
    Configuration menu
    Copy the full SHA
    e041a2b View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2025

  1. fix(logs): add logs flush on crash (#1404)

    * Add logs-on-crash
    
    * skip crashpad test on macos
    
    * add straight-to-disk writing of log envelopes if crashing
    
    * CHANGELOG.md
    
    * restore thread join for normal shutdown
    
    * directly take log item from httpserver log for crashpad test
    
    * update CHANGELOG.md
    
    * we know which envelope has the log
    
    * we **don't** know which envelope has the log
    
    * add more general request fetch from httpserver function
    
    * add logs return value checks
    
    * fix tsan global data race on logs validation
    
    * move database-path cleanup into the cmake build cache fixture
    
    this eliminates boilerplate noise in the tests but also reduces the chance of forgetting it in a test.
    
    * in the crash-safe logs flush detach the batcher thread and don't wake it since we flush anyway.
    
    * don't clean for unit-test crash_marker
    
    * don't detach in crash-safe but spin-lock in its flusher to acquire flushing.
    
    * add clean parameter to cmake fixture
    
    * ensure logs flushing in crash handlers happens within the handler sync bounds.
    
    * bound the spin lock in the logs flusher during crash-safe mode
    
    * exclude crashed_last_run unit-test from cleaning database paths
    
    * use an unsigned integer for the sleep_time of the crash-safe logs flusher spinlock
    
    * provide cross-platform cpu_relax and replace syscall sleep with spinners.
    
    * isolate `crash_marker` unit test and eliminate exceptions to database cleaning in the pytest configuration
    
    * platform path special case in crash_marker unit test
    
    * crashed_last_run can no longer assume that a database path exists
    
    this means when it does its clearing a TEST_CHECK cannot assume that a directory even exists (in which case clear_crash_marker would actually fail versus the case were only the marker file didn't exist).
    
    * clean up log statements
    
    * bump CI python to 3.12
    
    * fix CHANGELOG.md
    
    ---------
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    JoshuaMoelans and supervacuus authored Oct 20, 2025
    Configuration menu
    Copy the full SHA
    781bfc3 View commit details
    Browse the repository at this point in the history
  2. feat: Add SENTRY_SDK_VERSION CMake override for downstream SDKs (#1417)

    * feat: Auto-split build ID from version in sentry_library_info
    
    When downstream SDKs modify sentry.h to include build metadata in the
    version string (e.g., 0.11.3+20251016-9e31c9f-dirty), the embedded
    library info now automatically extracts the build ID from the version.
    
    Changes:
    - Parse build metadata from SENTRY_VERSION_FULL if present
    - Use base version (major.minor.patch) for SENTRY_VERSION field
    - Use extracted build ID for BUILD field
    - SENTRY_BUILD_ID cache variable still takes precedence
    - Update template to use new SENTRY_EMBEDDED_VERSION and SENTRY_EMBEDDED_BUILD_ID
    - Update tests to validate base version format
    - Add test for build ID field
    
    This ensures the embedded info format is:
    SENTRY_VERSION:0.11.3;BUILD:20251016-9e31c9f-dirty
    instead of:
    SENTRY_VERSION:0.11.3+20251016-9e31c9f-dirty;BUILD:0.11.3+20251016-9e31c9f-dirty
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * refactor: Use SENTRY_VERSION_BASE directly instead of SENTRY_EMBEDDED_VERSION
    
    Simplifies the code by reusing the existing SENTRY_VERSION_BASE variable
    which already contains the major.minor.patch format without build metadata.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * refactor: Skip parsing if SENTRY_BUILD_ID is already set
    
    Optimizes the logic to check SENTRY_BUILD_ID cache variable first.
    Only attempts to extract build ID from version string if not explicitly provided.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * refactor: Simplify build ID logic with if-elseif-else chain
    
    Cleaner and more readable conditional structure.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: Use semver-compliant format for default build ID timestamp
    
    According to semver.org spec, build metadata must contain only ASCII
    alphanumerics and hyphens [0-9A-Za-z-]. Spaces are not allowed.
    
    Changed from: "2025-10-17 10:59:00 UTC"
    Changed to: "20251017-105900"
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * docs: Add changelog entry for automatic build ID extraction
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * feat: Add SENTRY_SDK_VERSION cache variable for downstream SDK override
    
    Downstream SDKs can now override the SDK version at CMake configuration time
    using -DSENTRY_SDK_VERSION="version+build-id". This allows setting the version
    without modifying sentry.h.
    
    When SENTRY_SDK_VERSION is set:
    - The full version (with build metadata) is used for embedded library info
    - Build ID is automatically extracted from the version string
    - sentry.h uses the overridden version via compile definition
    - Version parsing happens at CMake configuration time
    
    Example usage:
    cmake -DSENTRY_SDK_VERSION="0.11.3+20251016-9e31c9f-dirty" ...
    
    Results in embedded info:
    SENTRY_VERSION:0.11.3;BUILD:20251016-9e31c9f-dirty;...
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: Check SENTRY_SDK_VERSION for empty string instead of truthiness
    
    Aligns with the pattern used for SENTRY_SDK_NAME check.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: Use SENTRY_SDK_VERSION directly for compile definitions instead of SENTRY_VERSION_FULL
    
    * test: Add Python tests for SENTRY_SDK_VERSION override
    
    Added two new integration tests:
    
    1. test_sdk_version_override: Verifies that setting SENTRY_SDK_VERSION
       correctly separates version and build ID in the embedded library info.
    
    2. test_sdk_version_override_with_explicit_build_id: Verifies that
       explicit SENTRY_BUILD_ID takes precedence over extracted build ID
       from the version string.
    
    Both tests inspect the actual binary using the strings command to
    validate the embedded information.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: Update regex to handle whitespace before SENTRY_SDK_VERSION define
    
    The #ifndef guard adds leading whitespace to the #define line, so the
    regex needs to handle optional leading whitespace and whitespace between
    tokens.
    
    This fixes the issue where CMake couldn't parse the version from sentry.h
    when SENTRY_SDK_VERSION was not overridden.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-Authored-By: Claude <noreply@anthropic.com>
    
    * fix: Update changelog entry for SENTRY_SDK_VERSION CMake cache variable to clarify build ID extraction
    
    ---------
    
    Co-authored-by: Claude <noreply@anthropic.com>
    vaind and claude authored Oct 20, 2025
    Configuration menu
    Copy the full SHA
    516c150 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2025

  1. chore(ci): Migrate danger workflow from v2 to v3 (#1412)

    Converts danger workflow from reusable workflow (v2) to composite
    action (v3). This is a breaking change that requires restructuring
    the job definition.
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    Co-authored-by: Claude <noreply@anthropic.com>
    vaind and claude authored Oct 23, 2025
    Configuration menu
    Copy the full SHA
    0a0d729 View commit details
    Browse the repository at this point in the history
  2. fix: re-add setting thread name for Windows transport (#1424)

    * add unit test
    
    * only run on test_unit_transport
    
    * add `sentry__bgworker_setname` again
    
    * Update tests/unit/test_basic.c
    
    * update CHANGELOG.md
    JoshuaMoelans authored Oct 23, 2025
    Configuration menu
    Copy the full SHA
    3e596e8 View commit details
    Browse the repository at this point in the history
  3. meta: update crashpad 2025-10-22 (#1426)

    * update crashpad
    
    * update crashpad
    
    * point crashpad submodule to getsentry branch
    
    ---------
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    JoshuaMoelans and supervacuus authored Oct 23, 2025
    Configuration menu
    Copy the full SHA
    7e753da View commit details
    Browse the repository at this point in the history
  4. fix(win): make narrow utf-8 the canoncial path encoding (#1413)

    * fix: make narrow utf-8 canonical across platforms
    
    * fix unix path effects
    
    * sentry__filewriter_byte_count now takes a const filewriter
    * sentry__path_filename always returns a char.
    
    * provide a platform-dependent accessor for the crashpad backend
    
    * eliminate double-free sentry__path_from_str_owned.
    
    * use correct format specifier for cli in debug logger for spawn
    
    * Apply suggestion from @JoshuaMoelans
    
    Co-authored-by: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
    
    * introduce `expect_failure` parameter to integration test run()
    
    * reintroduce wide string comparisons in unit-tests
    
    * update changelog
    
    * clarify encoding in public header and clean up inline docs generally
    
    * clarify encoding in the path header
    
    * clarify remove behavior in the path header and fix windows implementation
    
    * apply review feedback and various cleanups
    
    * clean up
    
    sentry__path_append_str()
    sentry__path_absolute()
    sentry__path_clone()
    
    * update changelog
    
    * format
    
    * update breakpad
    
    * fix "unknown command tag name"
    
    * update breakpad
    
    * update crashpad
    
    * update changelog
    
    * fix is_last_error_path_not_found() definition
    
    * update breakpad to handler branch
    
    * fixup changelog after master rebase
    
    * add NULL check to sentry__string_clone_wstr
    
    * clean up crash_marker path strin accessor
    
    * add more `const` (#1422)
    
    * Update include/sentry.h
    
    Co-authored-by: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
    
    * Update include/sentry.h
    
    Co-authored-by: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
    
    * limit system allocated `_wfullpath()` buffer to the `sentry__path_absolute()` scope
    
    use `free()` internally in the function, and
    clone the resulting wide-string at the end so we can be sure that the absolute path being passed around is not using system allocated buffer.
    
    * document breaking change
    
    * fix(logs): add `expect_failure` to logs_on_crash tests (#1421)
    
    * add check for unexpected fail
    
    * refactor logs tests to use expect_failure
    
    * add missing `expect_failure` for logger tests
    
    * fix copy mistake
    
    * infer check `expect_failure` and remove from passed-in kwargs
    
    * remove check from run_benchmark
    
    * add check for `check` in kwargs
    
    * Try to run the entire test-suite against a UTF-8 CWD
    
    * realign with crashpad getsentry branch like master
    
    * make the external crashreporter fixture wide-string aware on Windows.
    
    * clean up external crashreporter fixture (fwprintf + SetConsoleOutputCP instead of explict wide to multibyte conversion)
    
    * use wmain in the external crash reporter fixture only when building for _MSC_VER
    
    * wait at the end of the WER integration tests that no WerFault.exe instances are still running
    
    * clean up wide-to-multibyte string handling
    
    ---------
    
    Co-authored-by: JoshuaMoelans <60878493+JoshuaMoelans@users.noreply.github.com>
    supervacuus and JoshuaMoelans authored Oct 23, 2025
    Configuration menu
    Copy the full SHA
    853bf2d View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2025

  1. fix: AOT interop with managed .NET runtimes (#1392)

    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    jpnurmi and supervacuus authored Oct 27, 2025
    Configuration menu
    Copy the full SHA
    9895a5c View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2025

  1. feat(crashpad): Support optional usage of stack pointer for captured …

    …stack frame (#1427)
    
    * Support optional usage of stack pointer for captured stack frame
    
    ---------
    
    Co-authored-by: Mischan Toosarani-Hausberger <mischan@abovevacant.com>
    mujacica and supervacuus authored Oct 28, 2025
    Configuration menu
    Copy the full SHA
    7c75e9e View commit details
    Browse the repository at this point in the history

Commits on Oct 29, 2025

  1. chore: fix bump-version.sh matching spaces in sentry.h (#1431)

    * update bump-version.sh to handle sentry.h spaces
    
    * uncomment
    
    * regex independent of clang-format space amount
    JoshuaMoelans authored Oct 29, 2025
    Configuration menu
    Copy the full SHA
    0af834e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc1ab7f View commit details
    Browse the repository at this point in the history
  3. release: 0.12.0

    getsentry-bot committed Oct 29, 2025
    Configuration menu
    Copy the full SHA
    85b82a5 View commit details
    Browse the repository at this point in the history
Loading