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: Indroneel007/sentry-python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
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: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 14 commits
  • 27 files changed
  • 9 contributors

Commits on Oct 20, 2026

  1. Configuration menu
    Copy the full SHA
    641517a View commit details
    Browse the repository at this point in the history
  2. feat(arq): Add an option to monitor arq cron jobs (getsentry#8051)

    Part of a series adding automatic Crons monitoring for the most-used job
    schedulers in each SDK. Check-ins for a monitor that doesn't exist yet
    are dropped, so today each monitor has to be created by hand with its
    schedule copied from the code. Sending the job's schedule as the monitor
    config lets Sentry create the monitor and keep it in sync.
    
    This adds `monitor_cron_jobs` to `ArqIntegration`, matching Celery's
    `monitor_beat_tasks`. When it's on, each `cron(...)` job sends check-ins
    with its schedule in the worker's timezone, so Sentry creates the
    monitor on the first run. The slug is the job name without arq's `cron:`
    prefix. It's off by default.
    
    ```python
    sentry_sdk.init(
        integrations=[ArqIntegration(monitor_cron_jobs=True, exclude_cron_jobs=["cleanup"])],
    )
    ```
    
    Jobs check in without a config when Crons can't express the schedule: a
    `second` other than 0, both `day` and `weekday` set, or a UTC offset
    that isn't a whole number of hours. Before arq 0.25, the config is only
    sent when the system timezone is UTC.
    
    Docs: getsentry/sentry-docs#20056
    wedamija authored Oct 20, 2026
    Configuration menu
    Copy the full SHA
    a9553c4 View commit details
    Browse the repository at this point in the history

Commits on Oct 21, 2026

  1. chore(deps): bump uv from 0.13.0 to 0.13.4 (getsentry#8095)

    Bumps [uv](https://github.com/astral-sh/uv) from 0.13.0 to 0.13.4.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/astral-sh/uv/releases">uv's
    releases</a>.</em></p>
    <blockquote>
    <h2>0.13.4</h2>
    <h2>Release Notes</h2>
    <p>Released on 2026-10-20.</p>
    <p>This release addresses <a
    href="https://github.com/astral-sh/uv/security/advisories/GHSA-hq85-5cpj-mr62">GHSA-hq85-5cpj-mr62</a>,
    which involves a root CA whose intermediate on the Web PKI have been
    compromised. Users are encouraged to upgrade immediately, as well as
    confirm that all other software that uses bundled CAs is also properly
    updated.</p>
    <h3>Preview features</h3>
    <ul>
    <li>Validate PEP 825 variant metadata and treat package versions with
    invalid metadata as unavailable under <code>wheel-variants</code> (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22512">#22512</a>)</li>
    </ul>
    <h3>Other changes</h3>
    <ul>
    <li>Update the bundled Mozilla root certificates via
    <code>webpki-root-certs</code> 1.0.10 (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22760">#22760</a>)</li>
    </ul>
    <h2>Install uv 0.13.4</h2>
    <h3>Install prebuilt binaries via shell script</h3>
    <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf
    https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-installer.sh
    | sh
    </code></pre>
    <h3>Install prebuilt binaries via powershell script</h3>
    <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c &quot;irm
    https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-installer.ps1
    | iex&quot;
    </code></pre>
    <h2>Download uv 0.13.4</h2>
    <table>
    <thead>
    <tr>
    <th>File</th>
    <th>Platform</th>
    <th>Checksum</th>
    </tr>
    </thead>
    <tbody>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-apple-darwin.tar.gz">uv-aarch64-apple-darwin.tar.gz</a></td>
    <td>Apple Silicon macOS</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-apple-darwin.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-apple-darwin.tar.gz">uv-x86_64-apple-darwin.tar.gz</a></td>
    <td>Intel macOS</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-apple-darwin.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-pc-windows-msvc.zip">uv-aarch64-pc-windows-msvc.zip</a></td>
    <td>ARM64 Windows</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-pc-windows-msvc.zip.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-pc-windows-msvc.zip">uv-i686-pc-windows-msvc.zip</a></td>
    <td>x86 Windows</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-pc-windows-msvc.zip.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-pc-windows-msvc.zip">uv-x86_64-pc-windows-msvc.zip</a></td>
    <td>x64 Windows</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-unknown-linux-gnu.tar.gz">uv-aarch64-unknown-linux-gnu.tar.gz</a></td>
    <td>ARM64 Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-unknown-linux-gnu.tar.gz">uv-i686-unknown-linux-gnu.tar.gz</a></td>
    <td>x86 Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-powerpc64le-unknown-linux-gnu.tar.gz">uv-powerpc64le-unknown-linux-gnu.tar.gz</a></td>
    <td>PPC64LE Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-powerpc64le-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-riscv64gc-unknown-linux-gnu.tar.gz">uv-riscv64gc-unknown-linux-gnu.tar.gz</a></td>
    <td>RISCV Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-riscv64gc-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-s390x-unknown-linux-gnu.tar.gz">uv-s390x-unknown-linux-gnu.tar.gz</a></td>
    <td>S390x Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-s390x-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-unknown-linux-gnu.tar.gz">uv-x86_64-unknown-linux-gnu.tar.gz</a></td>
    <td>x64 Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-unknown-linux-gnu.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-armv7-unknown-linux-gnueabihf.tar.gz">uv-armv7-unknown-linux-gnueabihf.tar.gz</a></td>
    <td>ARMv7 Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-armv7-unknown-linux-gnueabihf.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-unknown-linux-musl.tar.gz">uv-aarch64-unknown-linux-musl.tar.gz</a></td>
    <td>ARM64 MUSL Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-aarch64-unknown-linux-musl.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-unknown-linux-musl.tar.gz">uv-i686-unknown-linux-musl.tar.gz</a></td>
    <td>x86 MUSL Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-i686-unknown-linux-musl.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-riscv64gc-unknown-linux-musl.tar.gz">uv-riscv64gc-unknown-linux-musl.tar.gz</a></td>
    <td>RISCV MUSL Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-riscv64gc-unknown-linux-musl.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-unknown-linux-musl.tar.gz">uv-x86_64-unknown-linux-musl.tar.gz</a></td>
    <td>x64 MUSL Linux</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-x86_64-unknown-linux-musl.tar.gz.sha256">checksum</a></td>
    </tr>
    <tr>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-arm-unknown-linux-musleabihf.tar.gz">uv-arm-unknown-linux-musleabihf.tar.gz</a></td>
    <td>ARMv6 MUSL Linux (Hardfloat)</td>
    <td><a
    href="https://releases.astral.sh/github/uv/releases/download/0.13.4/uv-arm-unknown-linux-musleabihf.tar.gz.sha256">checksum</a></td>
    </tr>
    </tbody>
    </table>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/astral-sh/uv/blob/main/CHANGELOG.md">uv's
    changelog</a>.</em></p>
    <blockquote>
    <h2>0.13.4</h2>
    <p>Released on 2026-10-20.</p>
    <h3>Preview features</h3>
    <ul>
    <li>Validate PEP 825 variant metadata and treat package versions with
    invalid metadata as unavailable under <code>wheel-variants</code> (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22512">#22512</a>)</li>
    </ul>
    <h3>Other changes</h3>
    <ul>
    <li>Update the bundled Mozilla root certificates via
    <code>webpki-root-certs</code> 1.0.10 (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22760">#22760</a>)</li>
    </ul>
    <h2>0.13.3</h2>
    <p>Released on 2026-10-20.</p>
    <h3>Performance</h3>
    <ul>
    <li>Avoid severe <code>uv export</code> slowdowns in dependency graphs
    with extras (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22750">#22750</a>)</li>
    </ul>
    <h2>0.13.2</h2>
    <p>Released on 2026-10-19.</p>
    <h3>Enhancements</h3>
    <ul>
    <li>Report all installed packages in <code>uv workspace metadata</code>,
    including packages outside the selected resolution (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22395">#22395</a>)</li>
    <li>Include supported environment restrictions when exporting
    <code>pylock.toml</code> (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22596">#22596</a>)</li>
    <li>Retry dropped GET and HEAD requests when fetching package and index
    data (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22672">#22672</a>)</li>
    <li>Preserve encoding declarations in wheel data scripts that require
    shell launchers (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22526">#22526</a>)</li>
    <li>Show causes and hints when <code>uv python find --script</code>
    cannot discover an interpreter, including with <code>-q</code> (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22549">#22549</a>)</li>
    <li>Print valid ksh activation instructions and support non-relocatable
    environments under OpenBSD-derived ksh (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22538">#22538</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22572">#22572</a>)</li>
    <li>Allow PEP 508 direct URLs, including Mercurial and extensionless
    archive URLs, in uv-build's <code>[build-system].requires</code>
    validation (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22577">#22577</a>)</li>
    </ul>
    <h3>Python</h3>
    <ul>
    <li>Add PyPy 3.11.17 and 3.12.15 (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22578">#22578</a>)</li>
    </ul>
    <h3>Preview features</h3>
    <ul>
    <li>Fetch and parse PEP 825 index-level variant metadata with
    <code>wheel-variants</code> (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22509">#22509</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22511">#22511</a>)</li>
    </ul>
    <h3>Performance</h3>
    <ul>
    <li>Avoid exponential work when simplifying, traversing, and exporting
    complex dependency markers (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22608">#22608</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22615">#22615</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22651">#22651</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22674">#22674</a>)</li>
    <li>Reduce the time and memory used to parse and store complex
    dependency markers (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22675">#22675</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22676">#22676</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22681">#22681</a>)</li>
    <li>Reduce resolver memory use for large dependency graphs, forks,
    extras, and dependency groups (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22565">#22565</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22625">#22625</a>)</li>
    <li>Speed up project discovery in large workspaces by caching member
    names (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22635">#22635</a>)</li>
    <li>Reduce uv's binary size and speed up CycloneDX exports (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22431">#22431</a>)</li>
    <li>Reduce <code>uv-build</code> binary size, including Linux x86_64
    wheels (<a
    href="https://redirect.github.com/astral-sh/uv/pull/22539">#22539</a>,
    <a
    href="https://redirect.github.com/astral-sh/uv/pull/22573">#22573</a>)</li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/astral-sh/uv/commit/7456b60bc6bc348e13e06e3691bf08e78d3aef54"><code>7456b60</code></a>
    Bump version to 0.13.4 (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22761">#22761</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/0a7aa9ddf7009f6a7c5496eb7036ec7e93527ef7"><code>0a7aa9d</code></a>
    Switch back to env::args_os (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22763">#22763</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/5bae848da3626fe9c6a2463339752e11666d37ae"><code>5bae848</code></a>
    Update certifi to 2026.10.19 (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22762">#22762</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/158c9d35c592747ab6e94d4e66a0bb8f1b387c0c"><code>158c9d3</code></a>
    Bump webpki-root-certs to 1.0.10 (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22760">#22760</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/5280ad3833e0a714a5a95ba435ff22419fc60843"><code>5280ad3</code></a>
    Parse and validate variant metadata (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22512">#22512</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/8d1626698d1ad5eafd7d4427a4d893fc7c0d3960"><code>8d16266</code></a>
    Use indoc for multiline test strings (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22723">#22723</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/502f93ca6145cbc78bfb9dd6bb37fa05340be0b3"><code>502f93c</code></a>
    Bump version to 0.13.3 (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22752">#22752</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/0595a1120c1bbc71c89bf99b3c9b1edb7a37fc79"><code>0595a11</code></a>
    Revert optional-extra activation tracking in exports (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22750">#22750</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/b2eb713620a60e4314df8647f93ddca2bd357820"><code>b2eb713</code></a>
    Deserialize build metadata contacts in one pass (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22748">#22748</a>)</li>
    <li><a
    href="https://github.com/astral-sh/uv/commit/b98692400b73dc7236be47647e03f5d755b7525a"><code>b986924</code></a>
    Borrow the uv-build command argument (<a
    href="https://redirect.github.com/astral-sh/uv/issues/22747">#22747</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/astral-sh/uv/compare/0.13.0...0.13.4">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=uv&package-manager=uv&previous-version=0.13.0&new-version=0.13.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the
    [Security Alerts
    page](https://github.com/getsentry/sentry-python/network/alerts).
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 21, 2026
    Configuration menu
    Copy the full SHA
    cfce72f View commit details
    Browse the repository at this point in the history
  2. meta: Update AGENTS.md (getsentry#8077)

    Update with more specific instructions on how to do things in order to
    increase the reviewability and maintainability of the produced changes.
    
    Also removed the Key Paths section as agents are quite adept at grepping
    and figuring out where what lives.
    sentrivana authored Oct 21, 2026
    Configuration menu
    Copy the full SHA
    f8b08b3 View commit details
    Browse the repository at this point in the history
  3. feat(rq): Add an option to monitor rq-scheduler jobs (getsentry#8053)

    Part of a series adding automatic Crons monitoring for the most-used job
    schedulers in each SDK. Check-ins for a monitor that doesn't exist yet
    are dropped, so today each monitor has to be created by hand with its
    schedule copied from the code. Sending the job's schedule as the monitor
    config lets Sentry create the monitor and keep it in sync.
    
    This adds `monitor_cron_jobs` to `RqIntegration` for recurring jobs from
    rq-scheduler's `scheduler.cron(...)` and `scheduler.schedule(...,
    interval=...)`. Only the worker needs the option, and it sends the cron
    string or interval as the monitor config. The slug is the job `id`, and
    jobs without one share a monitor named after the function's import path.
    It's off by default.
    
    ```python
    sentry_sdk.init(
        integrations=[RqIntegration(monitor_cron_jobs=True, exclude_cron_jobs=["cleanup"])],
    )
    ```
    
    Jobs aren't monitored when Sentry may read the cron string differently
    (6 fields, `@daily`, `MON`, both day fields set), the interval isn't
    whole minutes, the job has `repeat`, or the worker's local timezone
    isn't UTC. RQ's built-in `rq cron` scheduler isn't covered.
    
    The rq test envs now install `rq-scheduler` for RQ 2.x.
    
    Docs: getsentry/sentry-docs#20058
    
    ---------
    
    Co-authored-by: Claude <[email protected]>
    wedamija and claude authored Oct 21, 2026
    Configuration menu
    Copy the full SHA
    4e19592 View commit details
    Browse the repository at this point in the history
  4. feat(huey): Add an option to monitor Huey periodic tasks (getsentry#8052

    )
    
    Part of a series adding automatic Crons monitoring for the most-used job
    schedulers in each SDK. Check-ins for a monitor that doesn't exist yet
    are dropped, so today each monitor has to be created by hand with its
    schedule copied from the code. Sending the job's schedule as the monitor
    config lets Sentry create the monitor and keep it in sync.
    
    This adds `monitor_periodic_tasks` to `HueyIntegration`, matching
    Celery's `monitor_beat_tasks`. When it's on, each `@huey.periodic_task`
    run sends check-ins with its `crontab(...)` schedule in UTC, so Sentry
    creates the monitor on the first run. The slug is the task name. It's
    off by default, and regular tasks are unaffected.
    
    ```python
    sentry_sdk.init(
        integrations=[HueyIntegration(monitor_periodic_tasks=True, exclude_periodic_tasks=["cleanup"])],
    )
    ```
    
    Tasks aren't monitored when they use a custom `validate_datetime`,
    restrict both `day` and `day_of_week`, or run on a Huey instance with
    `utc=False`.
    
    Docs: getsentry/sentry-docs#20057
    
    ---------
    
    Co-authored-by: Claude <[email protected]>
    wedamija and claude authored Oct 21, 2026
    Configuration menu
    Copy the full SHA
    1c249d8 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2026

  1. fix(arq): Don't monitor cron jobs with unsupported schedules (getsent…

    …ry#8098)
    
    Part of a series adding automatic Crons monitoring for the most-used job
    schedulers in each SDK. Check-ins for a monitor that doesn't exist yet
    are dropped, so today each monitor has to be created by hand with its
    schedule copied from the code. Sending the job's schedule as the monitor
    config lets Sentry create the monitor and keep it in sync.
    
    This is a quick fix to keep the arq integration behaviour in line with
    how other integrations work. Sorry for the churn!
    
    Follow-up to getsentry#8051. Cron jobs whose schedule Crons can't express are no
    longer monitored, instead of checking in without a config. This matches
    Celery beat, and the Huey and RQ integrations from getsentry#8052 and getsentry#8053.
    
    Docs: getsentry/sentry-docs#20056
    
    Co-authored-by: Claude <[email protected]>
    wedamija and claude authored Oct 22, 2026
    Configuration menu
    Copy the full SHA
    68bc4dd View commit details
    Browse the repository at this point in the history
  2. fix(celery): Don't round down beat schedule intervals (getsentry#7842)

    ### Description
    
    Fixes Celery beat interval schedules being rounded down. A 90-minute
    schedule was sent as "1 hour" and a 36-hour one as "1 day", so Sentry
    expected runs that never happened and raised false missed-check-in
    alerts.
    
    Intervals now use the largest unit that divides them evenly (90 minutes
    stays 90 minutes). Intervals that aren't a whole number of minutes, such
    as 90 seconds, send no monitor config and log a warning, like sub-minute
    intervals already do.
    
    Existing monitors with uneven intervals get the correct interval on
    their next check-in. For intervals that now send no config, new monitors
    aren't auto-created and existing ones keep their current schedule.
    
    ### Testing
    
    Unit tests for the interval conversion and the beat monitor config.
    
    ---------
    
    Co-authored-by: Claude <[email protected]>
    wedamija and claude authored Oct 22, 2026
    Configuration menu
    Copy the full SHA
    60116ac View commit details
    Browse the repository at this point in the history
  3. fix: Exclude litellm==1.107.0 from extras (getsentry#8104)

    ### Description
    That version [is
    vulnerable](https://safedep.io/litellm-pypi-compromise-credential-stealer-backdoor/#payload-2-the-backdoor-in-sitecustomizepy)
    so it would be great to exclude it from extras. To be honest, we don't
    use that extra but since we use poetry, the litellm version range shows
    up in our poetry.lock and it doesn't look good for our security team.
    Thanks!
    
    #### Issues
    * resolves: getsentry#8103 
    * resolves: PY-3035
    
    #### Reminders
    - Please add tests to validate your changes, and lint your code using
    `uv run ruff`.
    - Add GH Issue ID _&_ Linear ID (if applicable)
    - PR title should use [conventional
    commit](https://develop.sentry.dev/engineering-practices/commit-messages/#type)
    style (`feat:`, `fix:`, `ref:`, `meta:`)
    - For external contributors:
    [CONTRIBUTING.md](https://github.com/getsentry/sentry-python/blob/master/CONTRIBUTING.md),
    [Sentry SDK development docs](https://develop.sentry.dev/sdk/), [Discord
    community](https://discord.gg/Ww9hbqr)
    
    Co-authored-by: Jonny <[email protected]>
    jonny-norwine and jonny-norwine authored Oct 22, 2026
    Configuration menu
    Copy the full SHA
    25d265b View commit details
    Browse the repository at this point in the history
  4. release: 2.73.0

    sentrivana committed Oct 22, 2026
    Configuration menu
    Copy the full SHA
    54160ae View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1f60813 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2026

  1. Configuration menu
    Copy the full SHA
    adad594 View commit details
    Browse the repository at this point in the history
  2. chore(deps-dev): bump certifi from 2026.7.22 to 2026.10.19 (getsentry…

    …#8114)
    
    Bumps [certifi](https://github.com/certifi/python-certifi) from
    2026.7.22 to 2026.10.19.
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/662df63d7906df66f1f07c0751a3dfe9da14d914"><code>662df63</code></a>
    Restore unaffected emSign roots (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/439">#439</a>)
    (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/440">#440</a>)</li>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/5cb238caeeb6c30ec1a7309ad3e16a5aa7b10ce8"><code>5cb238c</code></a>
    Remove emsign (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/437">#437</a>)</li>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/69494a764d0a08f90838d53d4b0fefd3e84045d6"><code>69494a7</code></a>
    Bump actions/download-artifact from 8.0.1 to 8.0.2 (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/436">#436</a>)</li>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/029c7b0913d79e2efb73a216fc5c5e13ef958536"><code>029c7b0</code></a>
    Bump actions/upload-artifact from 7.0.1 to 7.0.2 (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/435">#435</a>)</li>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/9d0a8f1f3a0d6b2e38d5773db7afe1a37e4527b6"><code>9d0a8f1</code></a>
    Add support for Python 3.15 (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/432">#432</a>)</li>
    <li><a
    href="https://github.com/certifi/python-certifi/commit/db472abf0a37067cb4488f036f4c19adf6b6ec3c"><code>db472ab</code></a>
    Bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 (<a
    href="https://redirect.github.com/certifi/python-certifi/issues/431">#431</a>)</li>
    <li>See full diff in <a
    href="https://github.com/certifi/python-certifi/compare/2026.07.22...2026.10.19">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=certifi&package-manager=uv&previous-version=2026.7.22&new-version=2026.10.19)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the
    [Security Alerts
    page](https://github.com/getsentry/sentry-python/network/alerts).
    
    </details>
    
    Signed-off-by: dependabot[bot] <[email protected]>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 23, 2026
    Configuration menu
    Copy the full SHA
    16d1a70 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9e4ba4c View commit details
    Browse the repository at this point in the history
Loading