- fix: Merge hint extra's from captureMessage in event extra's when preparing event (#1380)
- fix: Use constant for the SDK version (#1374)
- fix: Do not throw an TypeError on numeric HTTP headers (#1370)
- Add
Sentry\Monolog\BreadcrumbHandler
, a Monolog handler to allow registration of logs as breadcrumbs (#1199) - Do not setup any error handlers if the DSN is null (#1349)
- Add setter for type on the
ExceptionDataBag
(#1347) - Drop symfony/polyfill-uuid in favour of a standalone implementation (#1346)
- Fix
Scope::getTransaction()
so that it returns also unsampled transactions (#1334) - Set the event extras by taking the data from the Monolog record's extra (#1330)
- Set the
sentry-trace
header when using the tracing middleware (#1331)
- Add support for
monolog/monolog:^3.0
(#1321) - Add
setTag
andremoveTag
public methods toEvent
for easier manipulation of tags (#1324)
- Bump minimum version of
guzzlehttp/psr7
package to avoidCVE-2022-24775
(#1305) - Fix stripping of memory addresses from stacktrace frames of anonymous classes in PHP
>=7.4.2
(#1314) - Set the default
send_attempts
to0
(this disables retries) and deprecate the option. If you require retries you can increase thesend_attempts
option to the desired value. (#1312) - Add
http_connect_timeout
andhttp_timeout
client options (#1282)
- Update Guzzle tracing middleware to meet the expected standard (#1234)
- Add
toArray
public method inPayloadSerializer
to be able to re-use Event serialization - The
withScope
methods now return the callback's return value (#1263) - Set the event extras by taking the data from the Monolog record's context (#1244)
- Make the
StacktraceBuilder
class part of the public API and add theClient::getStacktraceBuilder()
method to build custom stacktraces (#1124) - Support handling the server rate-limits when sending events to Sentry (#1291)
- Treat the project ID component of the DSN as a
string
rather than aninteger
(#1293)
- Fix the serialization of a
callable
when the autoloader throws exceptions (#1280)
- Optimize
Span
constructor and add benchmarks (#1274) - Handle autoloader that throws an exception while trying to serialize a possible callable (#1276)
- Bump the minimum required version of the
jean85/pretty-package-versions
package (#1267)
- Avoid overwriting the error level set by the user on the event when capturing an
ErrorException
exception (#1251) - Allow installing the project alongside Symfony
6.x
components (#1257) - Run the test suite against PHP
8.1
(#1245)
- Fix fatal error in the
EnvironmentIntegration
integration if thephp_uname
function is disabled (#1243)
- Allow installation of
guzzlehttp/psr7:^2.0
(#1225) - Allow installation of
psr/log:^1.0|^2.0|^3.0
(#1229)
- Fix missing collecting of frames's arguments when using
captureEvent()
without expliciting a stacktrace or an exception (#1223)
- Allow setting a custom timestamp on the breadcrumbs (#1193)
- Add option
ignore_tags
toIgnoreErrorsIntegration
in order to ignore exceptions by tags values (#1201)
- Fix missing handling of
EventHint
in theHubAdapter::capture*()
methods (#1206)
- Changes behaviour of
error_types
option when not set: before it defaulted toerror_reporting()
statically at SDK initialization; now it will be evaluated each time during error handling to allow silencing errors temporarily (#1196)
- Make the HTTP headers sanitizable in the
RequestIntegration
integration instead of removing them entirely (#1161) - Deprecate the
logger
option (#1167) - Pass the event hint from the
capture*()
methods down to thebefore_send
callback (#1138) - Deprecate the
tags
option, see the docs for other ways to set tags (#1174) - Make sure the
environment
field is set toproduction
if it has not been overridden explicitly (#1116)
- Fix incorrect detection of silenced errors (by the
@
operator) (#1183)
- Allow jean85/pretty-package-versions 2.0 (#1170)
- Fix the fetching of the version of the SDK (#1169)
- Add the
$customSamplingContext
argument toHub::startTransaction()
andHubAdapter::startTransaction()
to fix deprecations thrown in Symfony (#1176)
- Fix unwanted call to the
before_send
callback with transaction events, usetraces_sampler
instead to filter transactions (#1158) - Fix the
logger
option not being applied to the event object (#1165) - Fix a bug that made some event attributes being overwritten by option config values when calling
captureEvent()
(#1148)
- Add support for PHP 8.0 (#1087)
- Change the error handling for silenced fatal errors using
@
to use a mask check in order to be php 8 compatible (#1141) - Update the
guzzlehttp/promises
package to the minimum required version compatible with PHP 8 (#1144) - Update the
symfony/options-resolver
package to the minimum required version compatible with PHP 8 (#1144)
- Fix capturing of the request body in the
RequestIntegration
integration (#1139) - Deprecate
SpanContext::fromTraceparent()
in favor ofTransactionContext::fromSentryTrace()
(#1134) - Allow setting custom data on the sampling context by passing it as 2nd argument of the
startTransaction()
function (#1134) - Add setter for value on the
ExceptionDataBag
(#1100) - Add
Scope::removeTag
method (#1126)
- Fix stacktrace missing from payload for non-exception events (#1123)
- Fix capturing of the request body in the
RequestIntegration
integration when the stream is empty (#1119)
- Fix missing source code excerpts for stacktrace frames whose absolute file path is equal to the file path (#1104)
- Fix requirements to construct a valid object instance of the
UserDataBag
class (#1108)
- Fix use of the
sample_rate
option rather thantraces_sample_rate
when capturing aTransaction
(#1106)
- Fix use of
Transaction
instead ofSpan
in theGuzzleMiddleware
middleware (#1099)
Tracing API
In this version we released API for Tracing. \Sentry\startTransaction
is your entry point for manual instrumentation.
More information can be found in our Performance docs.
Breaking Change: This version uses the envelope endpoint. If you are
using an on-premise installation it requires Sentry version >= v20.6.0
to work. If you are using
sentry.io nothing will change and no action is needed.
- [BC BREAK] Remove the deprecated code that made the
Hub
class a singleton (#1038) - [BC BREAK] Remove deprecated code that permitted to register the error, fatal error and exception handlers at once (#1037)
- [BC BREAK] Change the default value for the
error_types
option fromE_ALL
to the value get fromerror_reporting()
(#1037) - [BC BREAK] Remove deprecated code to return the event ID as a
string
rather than an object instance from the transport, the client and the hub (#1036) - [BC BREAK] Remove some deprecated methods from the
Options
class. (#1047) - [BC BREAK] Remove the deprecated code from the
ModulesIntegration
integration (#1047) - [BC BREAK] Remove the deprecated code from the
RequestIntegration
integration (#1047) - [BC BREAK] Remove the deprecated code from the
Breadcrumb
class (#1047) - [BC BREAK] Remove the deprecated methods from the
ClientBuilderInterface
interface and its implementations (#1047) - [BC BREAK] The
Scope::setUser()
method now always merges the given data with the existing one instead of replacing it as a whole (#1047) - [BC BREAK] Remove the
Context::CONTEXT_USER
,Context::CONTEXT_RUNTIME
,Context::CONTEXT_TAGS
,Context::CONTEXT_EXTRA
,Context::CONTEXT_SERVER_OS
constants (#1047) - [BC BREAK] Use PSR-17 factories in place of the Httplug's ones and return a promise from the transport (#1066)
- [BC BREAK] The Monolog handler does not set anymore tags and extras on the event object (#1068)
- [BC BREAK] Remove the
UserContext
,ExtraContext
andContext
classes and refactor theServerOsContext
andRuntimeContext
classes (#1071) - [BC BREAK] Remove the
FlushableClientInterface
and theClosableTransportInterface
interfaces (#1079) - [BC BREAK] Remove the
SpoolTransport
transport and all its related classes (#1080) - Add the
EnvironmentIntegration
integration to gather data for theos
andruntime
contexts (#1071) - Refactor how the event data gets serialized to JSON (#1077)
- Add
traces_sampler
option to set custom sample rate callback (#1083) - [BC BREAK] Add named constructors to the
Event
class (#1085) - Raise the minimum version of PHP to
7.2
and the minimum version of some dependencies (#1088) - [BC BREAK] Change the
captureEvent
to only accept an instance of theEvent
class rather than also a plain array (#1094) - Add Guzzle middleware to trace performance of HTTP requests (#1096)
Tracing API
In this version we released API for Tracing. \Sentry\startTransaction
is your entry point for manual instrumentation.
More information can be found in our Performance docs or specific
PHP SDK docs.
Breaking Change: This version uses the envelope endpoint. If you are
using an on-premise installation it requires Sentry version >= v20.6.0
to work. If you are using
sentry.io nothing will change and no action is needed.
- [BC BREAK] Remove the deprecated code that made the
Hub
class a singleton (#1038) - [BC BREAK] Remove deprecated code that permitted to register the error, fatal error and exception handlers at once (#1037)
- [BC BREAK] Change the default value for the
error_types
option fromE_ALL
to the value get fromerror_reporting()
(#1037) - [BC BREAK] Remove deprecated code to return the event ID as a
string
rather than an object instance from the transport, the client and the hub (#1036) - [BC BREAK] Remove some deprecated methods from the
Options
class. (#1047) - [BC BREAK] Remove the deprecated code from the
ModulesIntegration
integration (#1047) - [BC BREAK] Remove the deprecated code from the
RequestIntegration
integration (#1047) - [BC BREAK] Remove the deprecated code from the
Breadcrumb
class (#1047) - [BC BREAK] Remove the deprecated methods from the
ClientBuilderInterface
interface and its implementations (#1047) - [BC BREAK] The
Scope::setUser()
method now always merges the given data with the existing one instead of replacing it as a whole (#1047) - [BC BREAK] Remove the
Context::CONTEXT_USER
,Context::CONTEXT_RUNTIME
,Context::CONTEXT_TAGS
,Context::CONTEXT_EXTRA
,Context::CONTEXT_SERVER_OS
constants (#1047) - [BC BREAK] Use PSR-17 factories in place of the Httplug's ones and return a promise from the transport (#1066)
- [BC BREAK] The Monolog handler does not set anymore tags and extras on the event object (#1068)
- [BC BREAK] Remove the
UserContext
,ExtraContext
andContext
classes and refactor theServerOsContext
andRuntimeContext
classes (#1071) - [BC BREAK] Remove the
FlushableClientInterface
and theClosableTransportInterface
interfaces (#1079) - [BC BREAK] Remove the
SpoolTransport
transport and all its related classes (#1080) - Add the
EnvironmentIntegration
integration to gather data for theos
andruntime
contexts (#1071) - Refactor how the event data gets serialized to JSON (#1077)