-
The
http_proxy
option has been removed. -
The
exclude
option has been removed. -
The
excluded_app_path
option has been renamed toin_app_exclude
-
The
send_callback
option has been renamed tobefore_send
. -
The
name
option has been renamed toserver_name
. -
The
secret_key
option has been removed. -
The
public_key
option has been removed. -
The
message_limit
option has been removed. -
The
project
option has been removed. -
The
severity_map
option has been removed. -
The
ignore_server_port
option has been removed. -
The
error_types
option has been removed. -
The
trust_x_forwarded_proto
option has been removed. -
The
mb_detect_order
option has been removed. -
The
trace
option has been removed. -
The
tags
option has been removed in favour of setting them in the scope. -
The
site
option has been removed. -
The
extra_data
option has been removed in favour of setting additional data in the scope. -
The
curl_method
option has been removed. -
The
curl_path
option has been removed. -
The
curl_ipv4
option has been removed. -
The
curl_ssl_version
option has been removed. -
The
verify_ssl
option has been removed. -
The
ca_cert
option has been removed. -
The
proxy
option has been removed in favour of leaving to the user the burden of configuring the HTTP client options using a custom client. -
The
processors
option has been removed. -
The
processors_options
option has been removed. -
The
transport
option has been removed in favour of setting it using the client builder. -
The
install_default_breadcrumb_handlers
option has been removed. -
The
serialize_all_object
option has been removed. -
The
context_lines
option has been added to configure the number of lines of code context to capture. -
The
server
option has been renamed todsn
.
-
All the classes have been renamed and moved around to follow the PSR-4 convention and
final
have been added where appropriate. -
The
Raven_Autoloader
class has been removed. To install and use the library you are required to use Composer. -
The
Raven_Compat
class has been removed. -
The
Raven_Util
class has been removed. -
The
Raven_CurlHandler
class has been removed. -
The
Raven_TransactionStack
class has been removed. -
The
Raven_Exception
class has been removed.
-
The constructor of the
Raven_Client
class has changed its signature and now requires to be passed a configuration object, an instance of a transport and an event factory.Before:
public function __construct($options_or_dsn = null, $options = array()) { // ... }
After:
public function __construct(Options $options, TransportInterface $transport, EventFactoryInterface $eventFactory) { // ... }
-
The method
Raven_Client::close_all_children_link
has been removed and there -
The methods
Raven_Client::getRelease
andRaven_Client::setRelease
have been removed. You should useOptions::getRelease
andOptions::setRelease
instead.Before:
$client->getRelease(); $client->setRelease(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getRelease(); $options->setRelease(...);
-
The methods
Raven_Client::getEnvironment
andRaven_Client::setEnvironment
have been removed. You should useOptions::getEnvironment
andOptions::setEnvironment
instead.Before:
$client->getEnvironment(); $client->setEnvironment(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getEnvironment(); $options->setEnvironment(...);
-
The method
Raven_Client::getInputStream
has been removed. -
The methods
Raven_Client::getDefaultPrefixes
andRaven_Client::setPrefixes
have been removed. You should useOptions::getPrefixes
andOptions::setPrefixes
instead.Before:
$client->getPrefixes(); $client->setPrefixes(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getPrefixes(); $options->setPrefixes(...);
-
The methods
Raven_Client::getAppPath
andRaven_Client::setAppPath
have been removed. You should useOptions::getProjectRoot
andOptions::setProjectRoot
instead.Before:
$client->getAppPath(); $client->setAppPath(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getProjectRoot(); $options->setProjectRoot(...);
-
The methods
Raven_Client::getExcludedAppPaths
andRaven_Client::setExcludedAppPaths
have been removed. You should useOptions::getInAppExcludedPaths
andOptions::setInAppExcludedPaths
instead.Before:
$client->getExcludedAppPaths(); $client->setExcludedAppPaths(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getExcludedAppPaths(); $options->setExcludedAppPaths(...);
-
The methods
Raven_Client::getSendCallback
andRaven_Client::setSendCallback
have been removed. You should useOptions::getBeforeSendCallback
andOptions::setBeforeSendCallback
instead.Before:
$client->getSendCallback(); $client->setSendCallback(...);
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getBeforeSendCallback(); $options->setBeforeSendCallback(...);
-
The method
Raven_Client::getServerEndpoint
has been removed. You should useOptions::getDsn
instead.Before:
$client->getServerEndpoint();
After:
use Sentry\Hub; $options = Hub::getCurrent()->getClient()->getOptions(); $options->getDsn();
-
The methods
Raven_Client::getTransport
andRaven_Client::setTransport
have been removed. The transport is now a required dependency of the client and must be passed as required constructor argument. -
The method
Raven_Client::getUserAgent
has been removed. -
The method
Raven_Client::getErrorTypes
has been removed. You should useConfiguration::getErrorTypes
instead.Before:
$client->getErrorTypes();
After:
$client->getConfig()->getErrorTypes();
-
The
Raven_Client::getDefaultProcessors
method has been removed. -
The
Raven_Client::setProcessorsFromOptions
method has been removed. -
The
Raven_Client::getLastEventID
method has been removed. The ID of the last event that was captured is now returned by each of theClient::capture*
methods. -
The
Raven_Client::parseDSN
method has been removed. -
The
Raven_Client::getLastError
method has been removed. -
The
Raven_Client::getIdent
method has been removed. -
The
Raven_Client::registerShutdownFunction
method has been removed. -
The
Raven_Client::is_http_request
method has been removed. -
The
Raven_Client::get_http_data
method has been removed. -
The
Raven_Client::get_user_data
method has been removed. -
The
Raven_Client::get_extra_data
method has been removed. -
The
Raven_Client::get_default_data
method has been removed. -
The
Raven_Client::message
method has been removed. -
The
Raven_Client::exception
method has been removed. -
The
Raven_Client::captureQuery
method has been removed. -
The
Raven_Client::captureMessage
method has changed its signature.Before:
public function captureMessage($message, $params = array(), $data = array(), $stack = false, $vars = null) { // ... }
After:
public function captureMessage(string $message, ?Severity $level = null, ?Scope $scope = null): ?string { // ... }
-
The
Raven_Client::captureException
method has changed its signature.Before:
public function captureException($exception, $data = null, $logger = null, $vars = null) { // ... }
After:
public function captureException(\Throwable $exception, ?Scope $scope = null): ?string { // ... }
-
The
Raven_Client::captureLastError
method has changed its signature.Before:
public function captureLastError() { // ... }
After:
public function captureLastError(?Scope $scope = null): ?string { // ... }
-
The method
Raven_Client::capture
has been removed. -
The method
Raven_Client::sanitize
has been removed. -
The method
Raven_Client::process
has been removed. -
The method
Raven_Client::sendUnsentErrors
has been removed. -
The method
Raven_Client::encode
has been removed. -
The method
Raven_Client::send
has been removed. -
The method
Raven_Client::send_remote
has been removed. -
The method
Raven_Client::get_default_ca_cert
has been removed. -
The method
Raven_Client::get_curl_options
has been removed. -
The method
Raven_Client::send_http
has been removed. -
The method
Raven_Client::buildCurlCommand
has been removed. -
The method
Raven_Client::send_http_asynchronous_curl_exec
has been removed. -
The method
Raven_Client::send_http_synchronous
has been removed. -
The method
Raven_Client::get_auth_header
has been removed. -
The method
Raven_Client::getAuthHeader
has been removed. -
The method
Raven_Client::uuid4
has been removed. -
The method
Raven_Client::get_current_url
has been removed. -
The method
Raven_Client::isHttps
has been removed. -
The method
Raven_Client::translateSeverity
has been removed. -
The method
Raven_Client::registerSeverityMap
has been removed. -
The method
Raven_Client::set_user_data
has been removed. -
The method
Raven_Client::onShutdown
has been removed. -
The method
Raven_Client::createProcessors
has been removed. -
The method
Raven_Client::setProcessors
has been removed. -
The method
Raven_Client::getLastSentryError
has been removed. -
The method
Raven_Client::getShutdownFunctionHasBeenSet
has been removed. -
The method
Raven_Client::close_curl_resource
has been removed. -
The method
Raven_Client::setSerializer
has been removed. You can set it using the client builder.Before:
$client = new Raven_Client(); $client->setSerializer(...);
After:
use Sentry\ClientBuilder; $clientBuilder = ClientBuilder::create(); $clientBuilder->setSerializer(...);
-
The method
Raven_Client::setReprSerializer
has been removed. You can set it using the client builder.Before:
$client = new Raven_Client(); $client->setSerializer(...);
After:
use Sentry\ClientBuilder; $clientBuilder = ClientBuilder::create(); $clientBuilder->setRepresentationSerializer(...);
-
The method
Raven_Client::cleanup_php_version
has been removed. -
The method
Raven_Client::registerDefaultBreadcrumbHandlers
has been removed. -
The
Raven_Client::user_context
method has been removed. You can set this data in the current active scope.Before:
$client->user_context(array('foo', 'bar'));
After:
use Sentry\Hub; use Sentry\Scope; Hub::getCurrent()->configureScope(function (Scope $scope): void { $scope->setUser(['email' => '[email protected]']); })
-
The
Raven_Client::tags_context
method has been removed. You can set this data in the current active scope.Before:
$client->tags_context(array('foo', 'bar'));
After:
use Sentry\Hub; use Sentry\Scope; Hub::getCurrent()->configureScope(function (Scope $scope): void { $scope->setTag('tag_name', 'tag_value'); })
-
The
Raven_Client::extra_context
method has been removed. You can set this data in the current active scope.Before:
$client->extra_context(array('foo' => 'bar'));
After:
use Sentry\Hub; use Sentry\Scope; Hub::getCurrent()->configureScope(function (Scope $scope): void { $scope->setExtra('extra_key', 'extra_value'); })
-
The method
Raven_Client::install
has been removed. The error handler is registered automatically when using theErrorHandlerIntegration
integration (which is enabled by default).
-
The
Raven_Processor_RemoveCookiesProcessor
class has been removed. -
The
Raven_Processor_SanitizeStacktraceProcessor
class has been removed. -
The
Raven_Processor_SanitizeHttpHeadersProcessor
class has been removed. -
The
Raven_Processor_RemoveHttpBodyProcessor
class has been removed. -
The
Raven_Processor_SanitizeDataProcessor
class has been removed. -
The
Raven_Processor
class has been removed.
-
The
Raven_Context
class has been renamed toContext
. -
The
tags
,extra
anduser
properties of theRaven_Context
class have been removed. Each instance of the new class represents now a single context type at once.
-
The
Raven_Breadcrumbs_ErrorHandler
class has been removed. -
The
Raven_Breadcrumbs_MonologHandler
class has been removed. -
The
Raven_ErrorHandler
class has been renamed toErrorHandler
and has been madefinal
. -
The method
Raven_ErrorHandler::handleError
has changed its signature by removing the$context
argument and it has been marked asinternal
to make it clear that it should not be called publicly and its method visibility is subject to changes without any notice. -
The methods
Raven_ErrorHandler::registerErrorHandler
,Raven_ErrorHandler::registerExceptionHandler
andRaven_ErrorHandler::registerShutdownFunction
have been removed. You should use theErrorHandler::register
method instead, but note that it registers all error handlers (error, exception and fatal error) at once and there is no way anymore to only use one of them.Before:
$errorHandler = new Raven_ErrorHandler($client); $errorHandler->registerErrorHandler(); $errorHandler->registerExceptionHandler(); $errorHandler->registerShutdownFunction();
After:
use Sentry\ErrorHandler; ErrorHandler::register(function (\Throwable $exception): void { // ... });
-
The method
Raven_ErrorHandler::handleError
has changed its signature by removing the$context
argument and it has been marked asinternal
to make it clear that it should not be called publicly and its method visibility is subject to changes without any notice. -
The method
Raven_ErrorHandler::handleFatalError
has changed its signature by adding an optional argument named$error
and it has been marked asinternal
to make it clear that it should not be called publicly and its method visibility is subject to changes without any notice. -
The method
Raven_ErrorHandler::handleException
has changed its signature by removing the$isError
and$vars
arguments and it has been marked asinternal
to make it clear that it should not be called publicly and its method visibility is subject to changes without any notice. -
The method
Raven_ErrorHandler::bitwiseOr
has been removed and there is no replacement for it. -
The method
Raven_ErrorHandler::shouldCaptureFatalError
has been removed and there is no replacement for it.
-
The
Raven_Serializer
class has been renamed toSerializer
and its constructor changed signature.Before:
public function __construct($mb_detect_order = null, $message_limit = null) { // ... }
After:
public function __construct(int $maxDepth = 3, ?string $mbDetectOrder = null, int $messageLimit = Client::MESSAGE_MAX_LENGTH_LIMIT) { // ... }
-
The
Raven_ReprSerializer
class has been renamed toRepresentationSerializer
and its constructor changed signature.Before:
public function __construct($mb_detect_order = null, $message_limit = null) { // ... }
After:
public function __construct(int $maxDepth = 3, ?string $mbDetectOrder = null, int $messageLimit = Client::MESSAGE_MAX_LENGTH_LIMIT) { // ... }