Skip to content

v3.0.0

Compare
Choose a tag to compare
@bishopb bishopb released this 24 Sep 01:15
· 207 commits to master since this release
a36461e

This release and the entire v3 series target PHP 8+ only. If you are using PHP 7.4 or earlier, please use the v2 series.

If you are upgrading from a v2 series release, please pay special attention to the APi changes mentioned below.

Problems? Click the "Join Release Discussion" button below and leave your question.

Added

  • Support for PHP 8.
  • Type signatures and strict type enforcement.
  • Less member variable boilerplate via constructor property promotion.
  • Type signatures for Serialized handlers.
  • Compatibility with XDebug 3.
  • Docker containers for quick interaction: try composer docker-build and composer docker-run.

Removed

  • Support for PHP 7 and earlier.
  • Spurious use of Monolog\StreamHandler.
  • $isUncaught parameter on Rollbar::log; replaced with Rollbar::logUncaught.
  • Use of call_user_func and call_user_func_array internally.
  • Monolog 1 handler.

Fixed

  • The performance test suite now runs to completion with assertions on the expected run-time performance within GitHub actions. Running these on different hardware configurations may not match the expectations, so care should be taken to match test platform specifications when reporting performance issues. A future version may provide better direction as to the required test platform specifications.
  • Missing URL encoding when internally calling the Rollbar occurrences API.
  • Uncaptured local variables when using the zend.exception_ignore_args=Off engine configuration.

Changed

  • The new configuration option scrub_safelist replaces the deprecated scrub_whitelist configuration option, which is now removed.
  • The check_ignore configuration option, if defined and containing the name of an invocable function, will now catch thrown \Error -- division by zero, parse and type errors, assertion failures, etc. Before, only thrown \Exception would be caught.
  • In the event the API rejected an occurrence during a log() call, and no message was available, the new default message reads "message not set": before this was misspelled as "mesage not set".
  • AgentSender::sendBatch() no longer returns a value, as it was inconsistent with the interface. To access the return values, pass a return-by-reference variable as the third argument to AgentSender::sendBatch.