Skip to content

Releases: getsentry/sentry-php

4.10.0

06 Nov 07:50
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.10.0.

Features

  • The SDK was updated to support PHP 8.4 (#1760)
  • Expose a new http_ssl_native_ca option to tell the HTTP client to use the operating system's native CA store for certificate verification (#1766)

Bug Fixes

  • Fix the http_timeout & http_connect_timeout options, which now also work with sub second values (#1785)

Misc

  • HTTP breadcrumbs created by the GuzzleTracingMiddleware are now set to a warning status for 4xx responses and an error status for 5xx responses (#1773)
  • All public Metrics APIs are now no-op, internal APIs were removed (#1786)

4.9.0

08 Aug 14:43
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.9.0.

Features

  • Allow retrieving a single piece of data from the span by it’s key (#1767)

    \Sentry\SentrySdk::getCurrentHub()->getSpan()?->setData([
        'failure' => $span->getData('failure', 0) + 1,
    ]);
  • Add span trace origin (#1769)

4.8.1

16 Jul 14:01
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.8.1.

Bug Fixes

  • Guard against empty REMOTE_ADDR (#1751)

4.8.0

05 Jun 13:32
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.8.0.

Features

  • Add timing span when emiting a timing metric (#1717)

    use function Sentry\metrics;
    
    // This will now both emit a distribution metric and a span with the "expensive-operation" key
    metrics()->timing(
        key: 'expensive-operation',
        callback: fn() => doExpensiveOperation(),
    );

Bug Fixes

  • Fix missing data on HTTP spans (#1735)
  • Test span sampled status before creating child spans (#1740)

Misc

  • Implement fast path for ignoring errors (#1737)
  • Add array shape for better autocomplete of Sentry\init function (#1738)
  • Represent callable strings as strings (#1741)
  • Use AWS_LAMBDA_FUNCTION_VERSION environment variable for release if available (#1742)

4.7.0

10 Apr 13:38
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.7.0.

Features

  • Improve debugging experience by emitting more logs from the SDK (#1705)
  • Handle metric_bucket rate limits (#1726) & (#1728)

Bug Fixes

  • Fix deprecation notice when trying to serialize a callable (#1732)

Misc

  • Deprecated SpanStatus::resourceExchausted(). Use SpanStatus::resourceExhausted() instead (#1725)
  • Update metric normalization (#1729)

4.6.1

08 Mar 09:14
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.6.1.

Bug Fixes

  • Always add the sampled flag to the W3C traceparent header (#1713)
  • Add JSON_ERROR_NON_BACKED_ENUM to allowed JSON::encode() errors. (#1707)

4.6.0

13 Feb 11:43
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.6.0.

Features

  • Add the PHP SAPI to the runtime context (#1700)

Bug Fixes

  • Correctly apply properties/options in ClientBuilder::class (#1699)
  • Attach _metrics_summary to transactions (#1702)

Misc

  • Remove final from Metrics::class (#1697)
  • Return early when using ignore_exceptions (#1701)
  • Attach exceptions to the log message from FrameContextifierIntegration::class (#1678)

4.5.0

29 Jan 16:21
a6e06f0
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.5.0.

Features

  • Add before_send_check_in and before_send_metrics (#1690)

    \Sentry\init([
        'before_send_check_in' => function (\Sentry\Event $event) {
            $checkIn = $event->getCheckIn(),
            // modify the check-in or return null to not send it
        },
    ]);
    \Sentry\init([
        'before_send_metrics' => function (\Sentry\Event $event) {
            $metrics = $event->getMetrics(),
            // modify the metrics or return null to not send it
        },
    ]);

Bug Fixes

  • Fix _metrics_summary formatting (#1682)

  • Fix DebugFileLogger and DebugStdOutLogger to be usable with PHP 7.2 and up (#1691)

  • Allow whitespace in metric tag values (#1692)

4.4.0

23 Jan 09:56
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.4.0.

Features

  • Add metrics()->timing() (#1670)

    This allows you to emit a distribution metric based on the duration of the provided callback.

    use function Sentry\metrics;
    
    metrics()->timing(
        key: 'my-metric',
        callback: fn() => doSomething(),
    );
  • Add withMonitor() (#1679)

    This wraps a callback into monitor check-ins.

    use function Sentry\withMonitor;
    
    withMonitor(
        slug: 'my-monitor',
        callback: fn () => doSomething(),
        monitorConfig: new MonitorConfig(...),
    );
  • Add new failure_issue_threshold and recovery_threshold configuration to MonitorConfig (#1685)

  • Add TransactionContext::make() and SpanContext::make() (#1684)

    use Sentry\Tracing\SpanContext;
    
    $spanCpntext = SpanContext::make()
        ->setOp('http.client')
        ->setDescription('GET https://example.com')
  • Add support for fluent use of Transaction::setName() (#1687)

  • Add support for the W3C traceparent header (#1680)

Bug Fixes

  • Do not send an empty event if no metrics are in the bucket (#1676)

  • Fix the http_ssl_verify_peer option to set the correct value to CURLOPT_SSL_VERIFYPEER (#1686)

Misc

  • Depreacted UserDataBag::getSegment() and UserDataBag::setSegment(). You may use a custom tag or context instead (#1681)

4.3.1

22 Dec 18:52
Compare
Choose a tag to compare

The Sentry SDK team is happy to announce the immediate availability of Sentry PHP SDK v4.3.1.

Bug Fixes

  • Fix tags not being serialized correctly for metrics (#1672)

Misc

  • Remove @internal annotation from MetricsUnit class (#1671)