Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
8b943da
fix(UserDataBag): Handle bracketed IPv6 addresses in setIpAddress (#2…
cleptric Feb 16, 2026
7a639df
ref(metrics): add `traceMetrics` and deprecate `trace_metrics` (#1995)
Litarnus Feb 16, 2026
0b2a1fb
fix(tracing): ignore baggage sample rate if sentry trace is not prese…
Litarnus Feb 16, 2026
1d481fc
feat(transport): use share handle (#1996)
Litarnus Feb 16, 2026
8f51150
Add handling for 413 upstream response (#2008)
stayallive Feb 16, 2026
432857e
Prepare 4.20.0 (#2009)
Litarnus Feb 16, 2026
d7264b9
release: 4.20.0
stayallive Feb 16, 2026
e553a16
Merge branch 'release/4.20.0'
Feb 16, 2026
9f8eff4
chore(deps): bump getsentry/craft from 2.19.0 to 2.21.4 (#2010)
dependabot[bot] Feb 23, 2026
10d2347
feat: add runtime context to improve support for FrankenPHP and RoadR…
Litarnus Feb 24, 2026
4e60cfe
Prepare 4.21.0 (#2015)
Litarnus Feb 24, 2026
2bf405f
release: 4.21.0
stayallive Feb 24, 2026
f756e35
Merge branch 'release/4.21.0'
Feb 24, 2026
e086e51
chore(deps): bump getsentry/craft from 2.21.4 to 2.23.1 (#2019)
dependabot[bot] Mar 3, 2026
c34bdc2
feat: add `strict_trace_continuation` support (#2016)
Litarnus Mar 9, 2026
7074c49
fix: Use sub-second timestamps in logs (#2018)
martinstuecklschwaiger Mar 12, 2026
d6cc8f1
chore(deps): bump getsentry/craft from 2.23.1 to 2.23.2 (#2023)
dependabot[bot] Mar 12, 2026
3869fd5
feat(client-reports): Add support for client reports (#1978)
Litarnus Mar 16, 2026
f3bdd39
Prepare 4.22.0 (#2025)
Litarnus Mar 16, 2026
ce6ab95
release: 4.22.0
Litarnus Mar 16, 2026
e30649c
Merge branch 'release/4.22.0'
Mar 16, 2026
9dc8fb0
feat: add AGENTS.md (#2024)
Litarnus Mar 16, 2026
fa3bb5d
chore(deps): bump getsentry/craft from 2.23.2 to 2.24.2 (#2027)
dependabot[bot] Mar 17, 2026
e79c3bd
chore(deps): bump actions/create-github-app-token from 2.2.1 to 3.0.0…
dependabot[bot] Mar 17, 2026
c63aae7
ci: remove psalm and replace annotations with phpstan (#2031)
Litarnus Mar 19, 2026
b423e88
feat(logs): add `log_flush_threshold` flag to trigger auto flush (#2032)
Litarnus Mar 23, 2026
aced06b
feat(otel): add OTLP integration (#2030)
Litarnus Mar 23, 2026
8e08b86
Prepare 4.23.0 (#2033)
Litarnus Mar 23, 2026
121a674
release: 4.23.0
stayallive Mar 23, 2026
8d28364
Merge branch 'release/4.23.0'
Mar 23, 2026
d94ee1b
chore: pin GitHub Actions to full-length commit SHAs (#2034)
joshuarli Mar 24, 2026
1532647
chore: Add PR validation workflow (#2039)
stephanie-anderson Mar 27, 2026
6c3eb0e
fix(logs): use `server.address` instead of `sentry.server.address` (#…
Litarnus Mar 27, 2026
352e531
Prepare 4.23.1 (#2041)
Litarnus Mar 27, 2026
eccf30d
release: 4.23.1
stayallive Mar 27, 2026
a334e46
chore: Use shared validate-pr composite action (#2042)
stephanie-anderson Mar 27, 2026
6f99de6
chore: Update validate-pr action to latest version (#2043)
stephanie-anderson Mar 27, 2026
34373ff
Merge branch 'release/4.23.1'
sentry-release-bot[bot] Mar 30, 2026
918353c
fix(ci): Update validate-pr action to remove draft enforcement (#2045)
stephanie-anderson Mar 30, 2026
49a6bbe
fix: Serialize native PHP enums with name and value instead of opaque…
jarstelfox Mar 30, 2026
b133ae7
fix: do not distribute AGENTS.md and CLAUDE.md (#2046)
Litarnus Mar 30, 2026
40ee305
chore(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#2050)
dependabot[bot] Mar 31, 2026
f4af588
chore(deps): bump getsentry/craft/.github/workflows/changelog-preview…
dependabot[bot] Mar 31, 2026
80b9818
chore(deps): bump getsentry/craft from 2.24.2 to 2.25.2 (#2048)
dependabot[bot] Mar 31, 2026
0e6c1c1
chore(deps): bump shivammathur/setup-php from 728c6c6b8cf02c2e4811771…
dependabot[bot] Mar 31, 2026
71a4dc7
ref: deprecate old sentry handler (#2051)
Litarnus Apr 1, 2026
06784a7
chore: Update validate-pr workflow (#2052)
stephanie-anderson Apr 1, 2026
bec9d03
Prepare 4.24.0 (#2053)
Litarnus Apr 1, 2026
5055cc7
release: 4.24.0
Litarnus Apr 1, 2026
c3c72fc
Merge branch 'release/4.24.0'
sentry-release-bot[bot] Apr 1, 2026
4489a03
ref: add `ext-excimer` as composer suggestion (#2057)
Litarnus Apr 2, 2026
f9f8d13
ref(logs): use RingBuffer for logs when not using `log_flush_threshol…
Litarnus Apr 7, 2026
71c84eb
feat(metrics): add `metric_flush_threshold` flag (#2059)
Litarnus Apr 7, 2026
bbf4c73
style: Add void return types to test methods (#2068)
stayallive Apr 23, 2026
417a986
chore(deps): bump getsentry/craft/.github/workflows/changelog-preview…
dependabot[bot] Apr 23, 2026
6a18ce0
chore(deps): bump actions/cache from 5.0.4 to 5.0.5 (#2065)
dependabot[bot] Apr 23, 2026
e2d3263
chore(deps): bump getsentry/craft from 2.25.2 to 2.25.4 (#2066)
dependabot[bot] Apr 23, 2026
5ad69f0
chore(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1…
dependabot[bot] Apr 23, 2026
bdba59a
feat(monolog): add handler to only capture exceptions (#2061)
Litarnus Apr 23, 2026
86dd794
fix(error): prevent warnings when trying to increase memory for OOM e…
Litarnus Apr 23, 2026
d87ae3e
Prepare 4.25.0 (#2070)
Litarnus Apr 23, 2026
bfee338
release: 4.25.0
Litarnus Apr 23, 2026
fb6cf53
Merge branch 'release/4.25.0'
sentry-release-bot[bot] Apr 23, 2026
010f212
ref: add hint to excimer composer suggestion for PHP ZTS (#2071)
Litarnus Apr 23, 2026
4d9beba
feat(agent): add AgentClient (#2062)
Litarnus Apr 27, 2026
479af8a
chore(deps): bump getsentry/craft/.github/workflows/changelog-preview…
dependabot[bot] Apr 28, 2026
6f19d11
chore(deps): bump getsentry/craft from 2.25.4 to 2.26.2 (#2073)
dependabot[bot] Apr 28, 2026
be76fb7
Fallback agent client (#2072)
Litarnus Apr 28, 2026
89fdff0
fix(logs): guard pii in logs (#2076)
Litarnus Apr 28, 2026
7098cf6
feat: add handler to convert logs to sentry issues (#2075)
Litarnus Apr 29, 2026
c9dd4ad
fix: invalid sample_rand is ignored (#2077)
Litarnus Apr 29, 2026
f98800e
docs: remove excimer hint in composer suggestions (#2078)
Litarnus Apr 30, 2026
2e1b5c5
Prepare 4.26.0 (#2079)
Litarnus Apr 30, 2026
7597fd1
release: 4.26.0
stayallive Apr 30, 2026
4b0aacc
Merge branch 'release/4.26.0'
sentry-release-bot[bot] May 5, 2026
81b8f96
feat(profiling): add `profiles_sampler` option (#2082)
Litarnus May 5, 2026
bce92ae
chore(deps): bump getsentry/github-workflows from 71588ddf95134f804e8…
dependabot[bot] May 5, 2026
2d9a799
feat(ci): add mago to CI pipeline (#2020)
Litarnus May 5, 2026
cf75602
fix(pii): remove guards from aggregators (#2083)
Litarnus May 6, 2026
ce54c6c
Prepare 4.27.0 (#2084)
Litarnus May 6, 2026
1f0544c
release: 4.27.0
stayallive May 6, 2026
71a6e25
Merge branch 'release/4.27.0'
sentry-release-bot[bot] May 6, 2026
0557479
ref: add CodeLocationResolver (#2085)
Litarnus May 11, 2026
4ca6ad1
chore(deps): bump getsentry/github-workflows from 43bf14b190c12080cfb…
dependabot[bot] May 12, 2026
58213a2
chore(deps): bump getsentry/craft from 2.26.2 to 2.26.3 (#2086)
dependabot[bot] May 12, 2026
c02b3de
chore(deps): bump getsentry/craft/.github/workflows/changelog-preview…
dependabot[bot] May 12, 2026
f28b3b0
ref: update mago baseline (#2101)
Litarnus Jun 1, 2026
f6b6ae4
chore(deps): bump getsentry/craft from 2.26.3 to 2.26.6 (#2098)
dependabot[bot] Jun 1, 2026
1bdfa75
chore(deps): bump getsentry/github-workflows from 24be69680c3a46c03ed…
dependabot[bot] Jun 2, 2026
7aaa37d
chore(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1 (#2093)
dependabot[bot] Jun 2, 2026
c4dea44
chore(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0…
dependabot[bot] Jun 2, 2026
ec43955
chore(deps): bump getsentry/craft/.github/workflows/changelog-preview…
dependabot[bot] Jun 2, 2026
bd74d4f
chore(deps): bump shivammathur/setup-php from 2.37.0 to 2.37.1 (#2091)
dependabot[bot] Jun 2, 2026
5a527c8
ref: remove SpanBench and phpbench dependency (#2100)
Litarnus Jun 2, 2026
d259da0
feat(ci): add composer audit to CI pipeline (#2102)
Litarnus Jun 2, 2026
38ce7c3
chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 (#2103)
dependabot[bot] Jun 3, 2026
5413ccc
ci: pin mago and generate baseline to prevent random failures (#2111)
Litarnus Jun 10, 2026
68bda49
Merge branch 'master' into merge-master
Litarnus Jun 10, 2026
82f5840
fix
Litarnus Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
# Exclude non-essential files from dist
/tests export-ignore
/stubs export-ignore
/AGENTS.md export-ignore
/CLAUDE.md export-ignore
/.appveyor.yml export-ignore
/.craft.yml export-ignore
/.editorconfig export-ignore
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changelog-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,5 @@ permissions:

jobs:
changelog-preview:
uses: getsentry/craft/.github/workflows/changelog-preview.yml@v2
uses: getsentry/craft/.github/workflows/changelog-preview.yml@3e6a0f477702864bb5854384b390a0db3325428e # v2
secrets: inherit
66 changes: 44 additions & 22 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,12 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with:
fetch-depth: 2

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: ${{ matrix.php.version }}
coverage: xdebug
Expand All @@ -65,58 +65,69 @@ jobs:
shell: bash

- name: Cache Composer dependencies
uses: actions/cache@v5
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.directory }}
key: ${{ runner.os }}-${{ matrix.php.version }}-composer-${{ matrix.dependencies }}-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-${{ matrix.php.version }}-${{ matrix.dependencies }}-composer-

# These dependencies are not used running the tests but can cause deprecation warnings so we remove them before running the tests
- name: Remove unused dependencies
run: composer remove vimeo/psalm phpstan/phpstan friendsofphp/php-cs-fixer --dev --no-interaction --no-update
run: composer remove carthage-software/mago phpstan/phpstan friendsofphp/php-cs-fixer --dev --no-interaction --no-update

- name: Remove RoadRunner dependencies on unsupported PHP versions
if: ${{ matrix.os == 'windows-latest' || matrix.php.version == '7.2' || matrix.php.version == '7.3' || matrix.php.version == '7.4' || matrix.php.version == '8.0' }}
run: composer remove spiral/roadrunner-http spiral/roadrunner-worker --dev --no-interaction --no-update

- name: Remove OpenTelemetry dependencies on unsupported PHP versions
if: ${{ matrix.php.version == '7.2' || matrix.php.version == '7.3' || matrix.php.version == '7.4' || matrix.php.version == '8.0' }}
run: composer remove open-telemetry/api open-telemetry/exporter-otlp open-telemetry/sdk --dev --no-interaction --no-update

- name: Set phpunit/phpunit version constraint
run: composer require phpunit/phpunit:'${{ matrix.php.phpunit }}' --dev --no-interaction --no-update

- name: Install highest dependencies
run: composer update --no-progress --no-interaction --prefer-dist
- name: Resolve highest dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit
if: ${{ matrix.dependencies == 'highest' }}

- name: Install lowest dependencies
run: composer update --no-progress --no-interaction --prefer-dist --prefer-lowest
- name: Resolve lowest dependencies
run: composer update --no-progress --no-interaction --prefer-dist --prefer-lowest --no-install --no-plugins --no-scripts --no-audit
if: ${{ matrix.dependencies == 'lowest' }}

- name: Audit highest dependencies
run: composer audit --locked --no-interaction --format=table
if: ${{ matrix.dependencies == 'highest' }}

- name: Audit lowest dependencies
run: composer audit --locked --no-interaction --format=table --abandoned=report
if: ${{ matrix.dependencies == 'lowest' }}

- name: Install dependencies
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Run unit tests
run: vendor/bin/phpunit --testsuite unit --coverage-clover=coverage.xml
# The reason for running some OOM tests without coverage is that because the coverage information collector can cause another OOM event invalidating the test
- name: Run out of memory tests (without coverage)
run: vendor/bin/phpunit --testsuite oom --no-coverage

- name: Upload code coverage to Codecov
uses: codecov/codecov-action@v5
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v5
with:
token: ${{ secrets.CODECOV_TOKEN }}

- name: Check benchmarks
run: vendor/bin/phpbench run --revs=1 --iterations=1
if: ${{ matrix.dependencies == 'highest' && matrix.php.version == '8.4' }}

runtime-tests-frankenphp:
name: Runtime tests (FrankenPHP)
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with:
fetch-depth: 2

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'
coverage: none
Expand All @@ -127,14 +138,20 @@ jobs:
shell: bash

- name: Cache Composer dependencies
uses: actions/cache@v5
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.directory }}
key: ${{ runner.os }}-runtime-frankenphp-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-runtime-frankenphp-composer-

- name: Resolve dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit

- name: Audit dependencies
run: composer audit --locked --no-interaction --format=table

- name: Install dependencies
run: composer install --no-progress --no-interaction --prefer-dist
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Install FrankenPHP
env:
Expand Down Expand Up @@ -176,12 +193,12 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with:
fetch-depth: 2

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'
coverage: none
Expand All @@ -192,14 +209,20 @@ jobs:
shell: bash

- name: Cache Composer dependencies
uses: actions/cache@v5
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
with:
path: ${{ steps.composer-cache.outputs.directory }}
key: ${{ runner.os }}-runtime-roadrunner-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-runtime-roadrunner-composer-

- name: Resolve dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit

- name: Audit dependencies
run: composer audit --locked --no-interaction --format=table

- name: Install dependencies
run: composer install --no-progress --no-interaction --prefer-dist
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Install RoadRunner
env:
Expand Down Expand Up @@ -238,4 +261,3 @@ jobs:

- name: Run PHPUnit tests (excluding PHPT)
run: vendor/bin/phpunit tests --test-suffix Test.php --verbose

6 changes: 3 additions & 3 deletions .github/workflows/publish-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ jobs:
steps:
- name: Get auth token
id: token
uses: actions/create-github-app-token@29824e69f54612133e76f7eaac726eef6c875baf # v2.2.1
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ vars.SENTRY_RELEASE_BOT_CLIENT_ID }}
private-key: ${{ secrets.SENTRY_RELEASE_BOT_PRIVATE_KEY }}

- uses: actions/checkout@v6
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6
with:
token: ${{ steps.token.outputs.token }}
fetch-depth: 0

- name: Prepare release
uses: getsentry/craft@d630201930c7fe5aee6366ebee19ebb681128512
uses: getsentry/craft@3e6a0f477702864bb5854384b390a0db3325428e
env:
GITHUB_TOKEN: ${{ steps.token.outputs.token }}
with:
Expand Down
44 changes: 31 additions & 13 deletions .github/workflows/static-analysis.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,21 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'

- name: Resolve dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit

- name: Audit dependencies
run: composer audit --locked --no-interaction --format=table

- name: Install dependencies
run: composer update --no-progress --no-interaction --prefer-dist
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Run script
run: vendor/bin/php-cs-fixer fix --verbose --diff --dry-run
Expand All @@ -34,33 +40,45 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.4'

- name: Resolve dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit

- name: Audit dependencies
run: composer audit --locked --no-interaction --format=table

- name: Install dependencies
run: composer update --no-progress --no-interaction --prefer-dist
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Run script
run: vendor/bin/phpstan analyse

psalm:
name: Psalm
mago:
name: Mago
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6

- name: Setup PHP
uses: shivammathur/setup-php@v2
uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2
with:
php-version: '8.3'
php-version: '8.4'

- name: Resolve dependencies
run: composer update --no-progress --no-interaction --prefer-dist --no-install --no-plugins --no-scripts --no-audit

- name: Audit dependencies
run: composer audit --locked --no-interaction --format=table

- name: Install dependencies
run: composer update --no-progress --no-interaction --prefer-dist
run: composer install --no-progress --no-interaction --prefer-dist --no-plugins --no-scripts

- name: Run script
run: vendor/bin/psalm
run: composer mago
16 changes: 16 additions & 0 deletions .github/workflows/validate-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Validate PR

on:
pull_request_target:
types: [opened, reopened]

jobs:
validate-pr:
runs-on: ubuntu-24.04
permissions:
pull-requests: write
steps:
- uses: getsentry/github-workflows/validate-pr@c802283cd9075b7a2b7a32655019c21c21676e34
with:
app-id: ${{ vars.SDK_MAINTAINER_BOT_APP_ID }}
private-key: ${{ secrets.SDK_MAINTAINER_BOT_PRIVATE_KEY }}
Loading
Loading