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-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 4cc6fda
Choose a base ref
...
head repository: getsentry/sentry-python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 5179f60
Choose a head ref
  • 14 commits
  • 62 files changed
  • 8 contributors

Commits on Jul 13, 2026

  1. Configuration menu
    Copy the full SHA
    4b9f834 View commit details
    Browse the repository at this point in the history
  2. ref: Move nullcontext to sentry_sdk.utils (#6805)

    Move nullcontext from _wsgi_common to utils so it can be imported
    without pulling in WSGI-specific code. Update all consumers.
    
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    sentrivana and claude authored Jul 13, 2026
    Configuration menu
    Copy the full SHA
    f1e104e View commit details
    Browse the repository at this point in the history
  3. chore: remove Claude permission settings (#6806)

    With Claude's auto mode, this is no longer required and could
    potentially be even counter-productive. Also gets rid of the warning
    when opening the repo in Claude for the first time.
    cleptric authored Jul 13, 2026
    Configuration menu
    Copy the full SHA
    2b9c102 View commit details
    Browse the repository at this point in the history
  4. test: Remove flaky no cyclic garbage test (#6817)

    The test flakes on 3.14t, and our test suite is not responsible for testing garbage collection details.
    alexander-alderman-webb authored Jul 13, 2026
    Configuration menu
    Copy the full SHA
    fbc85c1 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2026

  1. test(logging): Fix flaky test_logging_captured_warnings (#6824)

    ## Summary
    
    Fixes a flaky failure in
    `tests/integrations/logging/test_logging.py::test_logging_captured_warnings`
    seen in CI (`assert len(recwarn) == 1` failing with `assert 2 == 1`).
    
    ## Root cause
    
    The `recwarn` fixture records **every** warning emitted during the test.
    The test asserted the total count was exactly 1, which holds in
    isolation and in file order, but fails in the full `tests` suite when an
    unrelated warning leaks in from another module (warning filter/registry
    state is process-global). Whether it reproduces depends on test
    ordering.
    
    ## Fix
    
    Filter `recwarn` for the specific `"third"` warning the test actually
    cares about instead of asserting on the total count. This preserves the
    test's intent — verifying that `"third"` (emitted after
    `captureWarnings(False)`) is not captured by Sentry but surfaces as a
    normal warning — while being immune to stray warnings from other tests.
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    ericapisani and claude authored Jul 14, 2026
    Configuration menu
    Copy the full SHA
    baa423f View commit details
    Browse the repository at this point in the history
  2. feat(tracing): Promote trace_lifecycle and ignore_spans to top-level …

    …options (#6821)
    
    Expose `trace_lifecycle` and `ignore_spans` as top-level
    `sentry_sdk.init()`
    parameters instead of requiring them under `_experiments`. The
    `_experiments` keys remain supported for backwards compatibility, but
    the
    top-level value now takes precedence: when both sources are set,
    `has_span_streaming_enabled` and `is_ignored_span` respect the top-level
    `trace_lifecycle` and fall back to `_experiments` only when it is unset.
    
    Add a validation warning when `ignore_spans` is set but span streaming
    is
    not enabled, since the option only takes effect in stream mode. Update
    the
    span-streaming docstrings to reference the new top-level configuration.
    
    Fixes PY-2609
    Fixes #6820
    ericapisani authored Jul 14, 2026
    Configuration menu
    Copy the full SHA
    e0d2c4a View commit details
    Browse the repository at this point in the history
  3. fix(tracing): Skip child span creation in streaming path when no curr…

    …ent span (django) (#6809)
    
    ## Summary
    - When span streaming is enabled and there is no current span, Django
    integrations should not create new root segments for child-span
    operations
    - Adds a `sentry_sdk.traces.get_current_span() is None` guard before
    creating spans in the streaming path
    - Affected: django init, asgi, caching, middleware, signals_handlers,
    tasks, templates, views
    
    Part of #6819
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    sentrivana and claude authored Jul 14, 2026
    Configuration menu
    Copy the full SHA
    5c14034 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2026

  1. fix(tracing): Skip child span creation in streaming path when no curr…

    …ent span (web frameworks) (#6810)
    sentrivana authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    dbf5d03 View commit details
    Browse the repository at this point in the history
  2. fix(tracing): Skip child span creation in streaming path when no curr…

    …ent span (databases) (#6808)
    
    ## Summary
    - When span streaming is enabled and there is no current span, database
    integrations should not create new root segments for child-span
    operations
    - Adds a `sentry_sdk.traces.get_current_span() is None` guard before
    creating spans in the streaming path
    - Affected integrations: aiomysql, asyncpg, clickhouse_driver, pymongo,
    redis
    
    Part of #6819
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    Co-authored-by: Erica Pisani <[email protected]>
    3 people authored Jul 15, 2026
    Configuration menu
    Copy the full SHA
    d695a6e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b199a9e View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2026

  1. fix(tracing): Skip child span creation in streaming path when no curr…

    …ent span (task queues) (#6814)
    
    ## Summary
    - When span streaming is enabled and there is no current span, task
    queue integrations should not create new root segments for child-span
    operations
    - Adds a `sentry_sdk.traces.get_current_span() is None` guard before
    creating spans in the streaming path
    - Affected integrations: celery, huey, arq, ray
    
    ## Test plan
    - [ ] Existing tests pass
    - [ ] Verify that in streaming mode, no orphan root segments are created
    for task queue operations when there's no active span
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    Co-authored-by: Erica Pisani <[email protected]>
    3 people authored Jul 16, 2026
    Configuration menu
    Copy the full SHA
    efddaab View commit details
    Browse the repository at this point in the history
  2. fix(tracing): Skip child span creation in streaming path when no curr…

    …ent span (HTTP clients) (#6811)
    
    ## Summary
    - When span streaming is enabled and there is no current span, HTTP
    client integrations should not create new root segments for child-span
    operations
    - Adds a `sentry_sdk.traces.get_current_span() is None` guard before
    creating spans in the streaming path
    - Affected integrations: httpx, httpx2, pyreqwest, boto3, stdlib
    (urllib)
    
    ## Test plan
    - [ ] Existing tests pass
    - [ ] Verify that in streaming mode, no orphan root segments are created
    for outgoing HTTP requests when there's no active span
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
    Co-authored-by: Erica Pisani <[email protected]>
    Co-authored-by: Neel Shah <[email protected]>
    4 people authored Jul 16, 2026
    Configuration menu
    Copy the full SHA
    5ba869c View commit details
    Browse the repository at this point in the history
  3. release: 2.66.0

    sl0thentr0py committed Jul 16, 2026
    Configuration menu
    Copy the full SHA
    e4bcb59 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5179f60 View commit details
    Browse the repository at this point in the history
Loading