Skip to content

Releases: bugsnag/bugsnag-php

v3.26.0

10 Feb 09:36
36d7a22

Choose a tag to compare

Enhancements

  • Out of memory errors will now be reported by increasing the memory limit by 5 MiB. Use the new memoryLimitIncrease configuration option to change the amount of memory, or set it to null to disable the increase entirely.
    #621

  • Add a "discard classes" configuration option that allows events to be discarded based on the exception class name or PHP error name
    #622

  • Add a "redacted keys" configuration option. This is similar to filters but allows both strings and regexes. String matching is exact but case-insensitive. Regex matching allows for partial and wildcard matching.
    #623

Deprecations

  • The filters configuration option is now deprecated as redactedKeys can express everything that filters could and more.

v3.25.0

25 Nov 13:18
5a62ea2

Choose a tag to compare

Enhancements

  • Add a default timeout & connect_timeout to Guzzle instances created by bugsnag-php. This does not apply if you are providing a custom Guzzle instance.
    #616

v2.10.1

17 Nov 10:42
ec1eb42

Choose a tag to compare

Bug Fixes

  • Fix invalid use of curl_setopt
    #614

v3.24.0

27 Oct 13:30
8d470f4

Choose a tag to compare

This release changes how Bugsnag detects the error suppression operator in combination with the errorReportingLevel configuration option, for PHP 8 compatibility. Bugsnag's errorReportingLevel must now be a subset of error_reporting — i.e. every error level in errorReportingLevel must also be in error_reporting

If you use the errorReportingLevel option, you may need to change your Bugsnag or PHP configuration in order to report all expected errors. See PR #611 for more details

Enhancements

  • Improve the display of breadrumbs in the Bugsnag app by including milliseconds in timestamps
    #612

Fixes

  • Make Configuration::shouldIgnoreErrorCode compatible with PHP 8 by requiring the errorReportingLevel option to be a subset of error_reporting
    #611

v3.23.1

19 Oct 09:22
138d6c3

Choose a tag to compare

This release fixes several issues with Bugsnag's error handlers that caused it to affect the behaviour of shutdown functions (#475) and CLI script exit codes (#523). This does not apply if you are using the Laravel or Symfony integrations, as they use separate methods of error handling.

These bugs have been fixed and so registering Bugsnag's error handlers should not cause any change to PHP's default behaviour. Make sure that PHP's display_errors option is disabled in production environments, as exceptions and errors will now go through PHP's default handling.

Fixes

  • The previous error and exception handler will now always be called

  • Exceptions raised by the previous exception handler will now be reported

  • The default PHP exception handler will now be called, unless this is prevented by a previous exception handler

  • Avoid calling method_exists on non-objects
    #603

v3.23.0

14 Sep 12:30
0882407

Choose a tag to compare

Enhancements

  • Filters are now applied case insensitively, e.g. 'password' will now also match 'PASSWORD'
    #595

  • Cookies are now filtered from events by default
    #596

  • HTTP basic auth headers are filtered from events by default
    #597

v3.22.0

20 Aug 14:48
c935012

Choose a tag to compare

Enhancements

  • Include all HTTP headers in request metadata
    #588

  • The Client and SessionTracker now share a single Guzzle instance
    #587

Deprecations

  • Client::ENDPOINT
    This is ambiguous as we have three separate endpoints
    Use Configuration::NOTIFY_ENDPOINT instead

  • HttpClient::PAYLOAD_VERSION
    This is ambiguous as there is a session payload version too
    Use HttpClient::NOTIFY_PAYLOAD_VERSION instead

  • Report::PAYLOAD_VERSION
    As above. This was also unused by the notifier
    Use HttpClient::NOTIFY_PAYLOAD_VERSION instead

  • SessionTracker::$SESSION_PAYLOAD_VERSION
    Use HttpClient::SESSION_PAYLOAD_VERSION instead

  • HttpClient::send
    Use HttpClient::sendEvents instead

  • HttpClient::build
    Use HttpClient::getEventPayload instead

  • HttpClient::postJson
    Use HttpClient::deliverEvents instead

  • Using the base_uri/base_url on a Guzzle instance
    The base URI is ambiguous as there are three separate endpoints which could be used, therefore all Guzzle requests now use absolute URIs. We will extract the base_uri/base_url Guzzle option if one is set and use it as the notification endpoint URI, however this will be removed in the next major version
    Set the notification endpoint manually with Configuration::setNotifyEndpoint instead

  • Calling HttpClient::getHeaders without providing a payload version
    This is deprecated as the version is ambiguous between the notification payload version and session payload version
    Call this with the correct HttpClient payload version constants instead

  • Client::getSessionClient and Configuration::getSessionClient
    This method is dangerous to use as there is now only one Guzzle instance used across every request, so changing this client would also affect the notification client. Changes to this Guzzle client will now be ignored
    Use the $guzzle parameter of the Client constructor to customise the Guzzle client instead

  • SessionData::$client
    The SessionData class will be passed a SessionTracker instead of a Client instance in its constructor in the next major version

  • SessionTracker should be constructed with a HttpClient
    The SessionTracker class should now always be passed a HttpClient
    In this version it will construct its own HttpClient if one is not provided
    In the next major version, this fallback will be removed and passing a HttpClient will be mandatory

v3.21.0

29 Apr 11:03
531fe1c

Choose a tag to compare

Enhancements

  • Use full class names in breadcrumbs
    #578

  • Added support for getting the "original error"
    #576

Bug Fixes

  • Fixed session tracker possibly raising a warning on PHP 7.2 and above
    #579

v3.20.0

26 Feb 17:35
ac5888a

Choose a tag to compare

Enhancements

  • Added support for Guzzle 7
    #567

Bug Fixes

  • Added support for PHP 7.3 and 7.4
    #552
    #556

  • Only try to search for the CA bundle on PHP 5.5
    #566

v3.19.0

18 Nov 11:06

Choose a tag to compare

Enhancements

  • Added a strategy pattern for the Client shutdown behaviour
    #547

  • Replaced the dependency on phpdotenv with a simple "read" function that
    follows the same strategy ($_ENV, $_SERVER, getenv())
    #511

  • Removed the length restriction on the Breadcrumb "name" field to match the
    API and allow large names to be sent.
    #544

Bug Fixes

  • Make session delivery obey the release stage rules used by notify
    #542