- Add
in_app_include
option to whitelist paths that should be marked as part of the app (#909) - Fix
Client::captureEvent
not considering theattach_stacktrace
option (#940) - Replace
ramsey/uuid
dependency withuuid_create
from the PECLuuid
extension orsymfony/polyfill-uuid
(#937) - Deprecate
Scope::setUser
behaviour of replacing user data. (#929) - Add the
$merge
parameter onScope::setUser
to allow merging user context. (#929) - Make the
integrations
option accept acallable
that will receive the list of default integrations and returns a customized list (#919) - Add the
IgnoreErrorsIntegration
integration to deprecate and replace theexclude_exceptions
option (#928) - Allow setting custom contexts on the scope and on the event (#839)
- Replace dependency to
zendframework/zend-diactoros
withguzzlehttp/psr7
(#945)
- Fix remaining PHP 7.4 deprecations (#930)
- Fix error thrown during JSON encoding if a string contains invalid UTF-8 characters (#934)
- Add compatibility with Symfony 5 (#925)
- Ensure compatibility with PHP 7.4 (#894, #926)
- Suggest installing Monolog to send log messages directly to Sentry (#908)
- Make the
$errcontext
argument of theErrorHandler::handleError()
methodnullable
(#917)
- Fix deprecation raised when serializing callable in certain circumstances (#821)
- Fix incorrect
critical
breadcrumb level by replacing it with thefatal
level (#901) - Fix regression on default sending behavior of the
HttpTransport
transport (#905) - Fix stacktrace frame inApp detection: all paths outside the project_root are now considered as not in app (#911)
- Fix handling of fifth argument in the error handler (#892)
- Catch exception from vendors in
Sentry\Transport\HttpTransport
(#899)
- Disable default deprecation warning
Sentry\Transport\HttpTransport
(#884)
- Change type hint for both parameter and return value of
HubInterface::getCurrentHub
andHubInterface::setCurrentHub()
methods (#849) - Add the
setTags
,setExtras
andclearBreadcrumbs
methods to theScope
class (#852) - Silently cast numeric values to strings when trying to set the tags instead of throwing (#858)
- Support force sending events on-demand and fix sending of events in long-running processes (#813)
- Update PHPStan and introduce Psalm (#846)
- Add an integration to set the transaction attribute of the event (#865)
- Deprecate
Hub::getCurrent
andHub::setCurrent
methods to set the current hub instance (#847)
- Fix GZIP-compressed requests failing when
exit($code)
was used to terminate the application (#877)
- Fix
TypeError
inSentry\Monolog\Handler
when the extra data array has numeric keys (#833). - Fix sending of GZIP-compressed requests when the
enable_compression
option istrue
(#857) - Fix error thrown when trying to set the
transaction
attribute of the event in a CLI environment (#862) - Fix integrations that were not skipped if the client bound to the current hub was not using them (#861)
- Fix undefined index generated by missing function in class (#823)
- Fix the behavior of the
excluded_exceptions
option: now it's used to skip capture of exceptions, not to purge theexception
data of the event, which resulted in broken or empty chains of exceptions in reported events (#822) - Fix handling of uploaded files in the
RequestIntegration
, to respect the PSR-7 spec fully (#827) - Fix use of
REMOTE_ADDR
server variable rather than HTTP header - Fix exception, open_basedir restriction in effect (#824)
- Mark Sentry internal frames when using
attach_stacktrace
asin_app
false
(#786) - Increase default severity of
E_RECOVERABLE_ERROR
toSeverity::ERROR
, instead of warning (#792) - Make it possible to register fatal error listeners separately from the error listeners
and change the type of the reported exception to
\Sentry\Exception\FatalErrorException
(#788) - Add a static factory method to create a breadcrumb from an array of data (#798)
- Add support for
SENTRY_ENVRIONMENT
andSENTRY_RELEASE
environment variables (#810) - Add the
class_serializers
option to make it possible to customize how objects are serialized in the event payload (#809) - Fix the default value of the
$exceptions
property of the Event class (#806) - Add a Monolog handler (#808)
- Allow capturing the body of an HTTP request (#807)
- Capture exceptions during serialization, to avoid hard failures (#818)
- Do no longer report silenced errors by default (#785)
- New option
capture_silenced_error
to enable reporting of silenced errors, disabled by default (#785)
Version 2.0.0 is a complete rewrite of the existing SDK. Code Changes are needed. Please see UPGRADE 2.0 for more details.
- Updated .gitattributes to reduce package footprint (#770)
- Use multibyte functions to handle unicode paths (#774)
- Remove
Hub::getScope()
to deny direct access toScope
instances (#776) - Reintroduce
http_proxy
option (#775) - Added support for HTTPlug 2 / PSR-18 (#777)
- Rename
SentryAuth
class toSentryAuthentication
(#742) Client
class is now final- Fix issue with
ClientBuilder
: factories are not instantiated if transport is set manually (#747) - Rename
excluded_paths
toin_app_exclude
option to follow Unified API spec (#755) - Add
max_value_length
option to trim long values during serialization (#754) - Lower the default
send_attempts
to 3 (#760) - Fix method argument name handling when Xdebug is enabled (#763)
- Add CI build under Windows with AppVeyor (#758) and fix some bugs
- Change the
ErrorHandler
and default integrations behavior: the handler is now a singleton, and it's possible to attach a number of callables as listeners for errors and exceptions (#762) - The
context_lines
options changed the default to5
and is properly applied (#743) - Add support for "formatted messages" in
captureEvent
as payload (#752) - Fix issue when capturing exceptions to remove warning when converting array args (#761)
- Require PHP >= 7.1
- Refactor the whole codebase to support the Unified API SDK specs
- See the UPGRADE.md document for more information.
- Added passing data from context in monolog breadcrumb handler (#683)
- Do not return error id if we know we did not send the error (#667)
- Do not force IPv4 protocol by default (#654)
- Remove secret_key from required keys for CLI test command. (#645)
- Proper case in Raven_Util class name usage. (#642)
- Support longer credit card numbers. (#635)
- Use configured message limit when creating serializers. (#634)
- Do not truncate strings if message limit is set to zero. (#630)
- Add option to ignore SERVER_PORT getting added to url. (#629)
- Cleanup the PHP version reported. (#604)
- Allow the use of a public DSN (private part of the DSN was deprecated in Sentry 9) (#615)
- Send transaction as transaction not as culprit (#601)
- Fixed undefined variable (#588)
- Fix for exceptions throwing exceptions when setting event id (#587)
- Fix monolog handler not accepting Throwable (#586)
- Add
excluded_exceptions
option to exclude exceptions and their extending exceptions (#583) - Fix
HTTP_X_FORWARDED_PROTO
header detection (#578) - Fix sending events async in PHP 5 (#576)
- Avoid double reporting due to
ErrorException
s (#574) - Make it possible to overwrite serializer message limit of 1024 (#559)
- Allow request data to be nested up to 5 levels deep (#554)
- Update serializer to handle UTF-8 characters correctly (#553)
- Revert ignoring fatal errors on PHP 7+ (#571)
- Add PHP runtime information (#564)
- Cleanup the
site
value if it's empty (#555) - Add
application/json
input handling (#546)
- Serialize breadcrumbs to prevent issues with binary data (#538)
- Fix notice array_key_exists() expects parameter 2 to be array, null given (#527)
- Improve handling DSN with "null" like values (#522)
- Prevent warning in Raven_Stacktrace (#493)
- Add setters for the serializers on the
Raven_Client
(#515) - Avoid to capture
E_ERROR
in PHP 7+, because it's also aThrowable
that gets captured and duplicates the error (#514)
- Use namespaced classes in test for PHPUnit (#506)
- Prevent segmentation fault on PHP
<5.6
(#504) - Remove
ini_set
call for unneeded functionality (#501) - Exclude single
.php
files from the app path (#500) - Start testing PHP 7.2 (#489)
- Exclude anonymous frames from app path (#482)
- Fix of filtering sensitive data when there is an exception with multiple 'values' (#483)
- Corrected some issues with argument serialization in stacktraces (#399).
- The default exception handler will now re-raise exceptions when
call_existing
is true and no exception handler is registered (#421). - Collect
User.ip_address
automatically (#419). - Added a processor to remove web cookies. It will be enabled by default in
2.0
(#405). - Added a processor to remove HTTP body data for POST, PUT, PATCH and DELETE requests. It will be enabled by default in
2.0
(#405). - Added a processor to sanitize HTTP headers (e.g. the Authorization header) (#428).
- Added a processor to remove
pre_context
,context_line
andpost_context
informations from reported exceptions (#429).
- Fixed behavior where fatal errors weren't correctly being reported in most situations.
- Correct handling of null in
user_context
.
- Improved serialization of certain types to be more restrictive.
error_types
can now be configured viaRavenClient
.- Class serialization has been expanded to include attributes.
- The session extension is no longer required.
- Monolog is no longer a required dependency.
user_context
now merges by default.
- Added named transaction support.
This version primarily overhauls the exception/stacktrace generation to fix a few bugs and improve the quality of data (#359).
- Added
excluded_app_paths
config. - Removed
shift_vars
config. - Correct fatal error handling to only operate on expected types. This also fixes some behavior with the error suppression operator.
- Expose anonymous and similar frames in the stacktrace.
- Default
prefixes
to PHP's include paths. - Remove
module
usage. - Better handle empty argument context.
- Correct alignment of filename (current frame) and function (caller frame)
- Fixed an issue causing the error suppression operator to not be respected (#335)
- Fixed some serialization behavior (#352)
- Fixed an issue with app paths and trailing slashes (#350)
- Handle non-latin encoding with source code context line (#345)
- Handle non-latin encoding in source code and exception values (#342)
- Ensure pending events are sent on shutdown by default (#338)
- Add
captureLastError
helper (#334) - Dont report duplicate errors with fatal error handler (#334)
- Enforce maximum length for string serialization (#329)
- Uncoercable values should no longer prevent exceptions from sending to the Sentry server.
install()
can no longer be called multiple times.
- Removed deprecated error codes configuration from ErrorHandler.
- Removed env data from HTTP interface.
- Removed
message
attribute from exceptions. - appPath and prefixes are now resolved fully.
- Fixed various getter methods requiring invalid args.
- Fixed data mutation with
send_callback
.
- Improve handling of encodings.
- Improve resiliency of variable serialization.
- Add 'formatted' attribute to Message interface.
- Added
transport
option. - Added
install()
shortcut.
- Handle missing function names on frames.
- Remove suppression operator usage in breadcrumbs buffer.
- Force serialization of context values.
- Add
error_reporting
breadcrumb handler.
- Remove session from serialized data.
send_callback
return value must now be false to prevent capture.- Add various getter/setter methods for configuration.
- Don't attempt to serialize fixed SDK inputs.
- Improvements to breadcrumbs support in Monolog.
- Initial breadcrumbs support with Monolog handler.
- Fixed some cases where serialization wouldn't happen.
- Added sdk attribute.
- Added
prefixes
option for stripping absolute paths. - Removed
abs_path
from stacktraces. - Added
app_path
to specify application root for resolvingin_app
on frames. - Moved Laravel support to
sentry-laravel
project. - Fixed duplicate stack computation.
- Added
dsn
option to ease configuration. - Fixed an issue with the curl async transport.
- Improved serialization of values.
- Updated API to use new style interfaces.
- Remove session cookie in default processor.
- Expand docs for Laravel, Symfony2, and Monolog.
- Default error types can now be set as part of ErrorHandler configuration.
- Dont send empty values for various context.
- Bumped protocol version to 6.
- Fixed an issue with the async curl handler (GH-216).
- Removed UDP transport.
- New configuration parameter:
release
- New configuration parameter:
message_limit
- New configuration parameter:
curl_ssl_version
- New configuration parameter:
curl_ipv4
- New configuration parameter:
verify_ssl
- Updated remote endpoint to use modern project-based path.
- Expanded default sanitizer support to include
auth_pw
attribute.
- Added a default certificate bundle which includes common root CA's as well as getsentry.com's CA.
- Change default curl connection to
sync
- Improve CLI reporting
- Protocol version 5
- Default to asynchronous HTTP handler using curl_multi.
(For previous versions see the commit history)