Releases: getsentry/sentry-php
4.21.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.21.0.
Features
- Add
RuntimeContextand context lifecycle helpers for long-lived runtimes such as FrankenPHP and RoadRunner. (#2011)
Long-lived worker runtimes keep process memory between requests, which can cause scope data to leak from one request to the next.
RuntimeContext isolates SDK state per request and flushes buffered telemetry when the request context ends.
Data configured before a runtime context is started is copied into each new context as baseline scope data.
Example:
\Sentry\init([
'dsn' => '__YOUR_DSN__',
]);
$handler = static function (): void {
\Sentry\withContext(static function (): void {
// Handle one request.
});
};
while (frankenphp_handle_request($handler)) {}When using a runtime context, manual \Sentry\flush() calls are not needed for request teardown.
It is still necessary to finish transactions explicitly.
4.20.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.20.0.
Features
- Add a high-level
flush()helper that flushes all buffered telemetry resources (logs and trace metrics). (#1989) - Add share handles to cURL (persistent for PHP >= 8.5, non-persistent otherwise). (#1996)
- Handle HTTP 413 responses explicitly with a dedicated
content_too_largestatus. (#2008)
Bug Fixes
- Normalize Spotlight URLs to optionally allow trailing
/stream. (#1984) - Monolog messages are now filtered by their original Monolog level before being mapped to Sentry log levels. (#1992)
- Handle bracketed IPv6 addresses (such as
[::1]). (#2007) - Ignore propagated baggage
sample_ratewhen nosentry-traceheader is present. (#2002)
Misc
- Add the
traceMetrics()helper and deprecatetrace_metrics(). (#1995)
4.19.1
4.19.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.19.0.
Features
- Add support for metrics. (#1968)
// Counter metric
\Sentry\trace_metrics()->count('test-counter', 10, ['my-attribute' => 'foo']);
// Gauge metric
\Sentry\trace_metrics()->gauge('test-gauge', 50.0, ['my-attribute' => 'foo'], \Sentry\Unit::millisecond());
// Distribution metric
\Sentry\trace_metrics()->distribution('test-distribution', 20.0, ['my-attribute' => 'foo'], \Sentry\Unit::kilobyte());
// Flush metrics
\Sentry\trace_metrics()->flush();Bug Fixes
4.18.1
4.18.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.18.0.
Features
- Add support for feature flags. (#1951)
\Sentry\SentrySdk::getCurrentHub()->configureScope(function (\Sentry\State\Scope $scope) {
$scope->addFeatureFlag("my.feature.enabled", true);
});- Add more representations for log attributes instead of dropping them. (#1950)
Misc
- Merge log attributes in a separate method. (#1931)
4.17.1
4.17.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.17.0.
Bug Fixes
- Empty strings will no longer display
<encoding error>when serialized. (#1940)
Misc
4.16.0
The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.16.0.
Features
- Remove
max_breadcrumbslimit. (#1890) - Implement
__destructinLogsHandlerto make sure logs are always flushed. (#1916)
Bug Fixes
- Use PSR log level when logging messages using the PSR-3 logger within the SDK. (#1907)
- Remove
@internalannotation fromSentry\Transport\Result. (#1904)
Misc
- Add
sentry.originattribute toLogsHandler. (#1917)