Releases: getsentry/sentry-laravel
4.1.1
4.1.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v4.1.0.
Features
-
Capture SQL query bindings (parameters) in SQL query spans (#804)
To enable this feature, update your
config/sentry.phpfile or set theSENTRY_TRACE_SQL_BINDINGS_ENABLEDenvironment variable totrue.'tracing' => [ 'sql_bindings' => true, ],
Misc
4.0.0
The Sentry SDK team is thrilled to announce the immediate availability of Sentry Laravel SDK v4.0.0.
Breaking Changes
This version adds support for the underlying Sentry PHP SDK v4.0.
Please refer to the PHP SDK sentry-php/UPGRADE-4.0.md guide for a complete list of breaking changes.
-
This version exclusively uses the envelope endpoint to send event data to Sentry.
If you are using sentry.io, no action is needed.
If you are using an on-premise/self-hosted installation of Sentry, the minimum requirement is now version>= v20.6.0. -
You need to have
ext-curlinstalled to use the SDK. -
The
IgnoreErrorsIntegrationintegration was removed. Use theignore_exceptionsoption instead.// config/sentry.php 'ignore_exceptions' => [BadThingsHappenedException::class],
This option performs an
is_acheck now, so you can also ignore more generic exceptions.
Features
-
Enable distributed tracing for outgoing HTTP client requests (#797)
This feature is only available on Laravel >= 10.14.
When making a request using the LaravelHttpfacade, we automatically attach thesentry-traceandbaggageheaders.This behaviour can be controlled by setting
trace_propagation_targetsin yourconfig/sentry.phpfile.// config/sentry.php // All requests will contain the tracing headers. This is the default behaviour. 'trace_propagation_targets' => null, // To turn this feature off completely, set the option to an empty array. 'trace_propagation_targets' => [], // To only attach these headers to some requests, you can allow-list certain hosts. 'trace_propagation_targets' => [ 'examlpe.com', 'api.examlpe.com', ],
Please make sure to remove any custom code that injected these headers previously.
If you are using theSentry\Tracing\GuzzleTracingMiddlewareprovided by our underlying PHP SDK, you must also remove it. -
Add support for Laravel Livewire 3 (#798)
The SDK now creates traces and breadcrumbs for Livewire 3 as well.
Both the class-based and Volt usage are supported.// config/sentry.php 'breadcrumbs' => [ // Capture Livewire components in breadcrumbs 'livewire' => true, ], 'tracing' => [ // Capture Livewire components as spans 'livewire' => true, ],
-
Add new fluent APIs (#1601)
// Before $spanContext = new SpanContext(); $spanContext->setDescription('myFunction'); $spanContext->setOp('function'); // After $spanContext = (new SpanContext()) ->setDescription('myFunction'); ->setOp('function');
-
Simplify the breadcrumb API (#1603)
// Before \Sentry\addBreadcrumb( new \Sentry\Breadcrumb( \Sentry\Breadcrumb::LEVEL_INFO, \Sentry\Breadcrumb::TYPE_DEFAULT, 'auth', // category 'User authenticated', // message (optional) ['user_id' => $userId] // data (optional) ) ); // After \Sentry\addBreadcrumb( category: 'auth', message: 'User authenticated', // optional metadata: ['user_id' => $userId], // optional level: Breadcrumb::LEVEL_INFO, // set by default type: Breadcrumb::TYPE_DEFAULT, // set by default );
-
New default cURL HTTP client (#1589)
Misc
- The abandoned package
php-http/message-factorywas removed.
3.8.2
3.8.1
3.8.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.8.0.
Features
-
Initial support for Laravel Folio (#738)
If you are using Laravel Folio in your application, we'll extract a more meaningful transaction name based on the
VieMatchedevent. -
The filesystem adapters for the
sentrydriver now extend the well-known Laravel classes they decorate,
Illuminate\Filesystem\FilesystemAdapterandIlluminate\Filesystem\AwsS3V3Adapter.Enabling the feature can be simplified by wrapping the configuration for all disks
with a call toSentry\Laravel\Features\Storage\Integration::configureDisks()
in yourconfig/filesystems.phpfile:'disks' => Sentry\Laravel\Features\Storage\Integration::configureDisks([ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), 'throw' => false, ], // ... ], /* enableSpans: */ true, /* enableBreadcrumbs: */ true),
Alternatively, you can enable this feature only for select disks:
'disks' => [ 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), 'throw' => false, ], 's3' => Sentry\Laravel\Features\Storage\Integration::configureDisk('s3', [ // ... ], /* enableSpans: */ true, /* enableBreadcrumbs: */ true), ],
By default, both spans and breadcrumbs are enabled.
You may disable them by passing the second argument,$enableSpansor the third argument,$enableBreadcrumbs. -
Add Laravel artisan about command (#768)
Bug Fixes
-
Remove usage of
Str::replace(#762)- This fixes an issue using Cron Monitoring in Laravel 6, 7 and < 8.41.0
Misc
-
Differentiate between boot and register for features (#759)
-
Internal improvements (#769)
- Make feature registration agnostic to the service container.
- Cleanup tests by using the
@define-envannotation. - Move the Log channel to a feature and add tests.
- Mark BacktraceHelper as
@internaland make it lazy for the tracing service provider.
3.7.3
3.7.2
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.7.2.
Bug Fixes
3.7.1
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.7.1.
Bug Fixes
-
Performance traces and breadcrumbs for filesystem access are now turned off by default (#746)
To enable the feature, you'll need to make some changes in your
config/filesystems.phpfile for each disk where you want to enable the tracing filesystem driver.// For example, if you want to trace the `local` disk, you update the disk config from this: 'local' => [ 'driver' => 'local', 'root' => storage_path('app'), 'throw' => false, ], // to this: 'local' => [ 'driver' => 'sentry', 'root' => storage_path('app'), 'throw' => false, 'sentry_disk_name' => 'local', 'sentry_original_driver' => 'local', 'sentry_enable_spans' => true, 'sentry_enable_breadcrumbs' => true, ],
For each disk, you replace the
driverkey withsentryand add thesentry_original_driverkey with the original driver name.
For us to construct the original driver, you also need to add thesentry_disk_namekey with the name of the disk.
In addition, you can specify the optionalsentry_enable_spansandsentry_enable_breadcrumbsconfig keys to turn off that feature for the disk.
These options are enabled by default.Please note that we replace the driver for the disk with a custom driver that will capture performance traces and breadcrumbs.
This means that relying on the disk to be of a specific type might cause problems.
If you rely on the disk being an instance ofIlluminate\Contracts\Filesystem\FilesystemorIlluminate\Contracts\Filesystem\Cloud, there should be no problem.
3.7.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.7.0.
Features
-
Tracing without Performance (#719)
The SDK will now continue a trace from incoming HTTP requests, even if performance is not enabled.
To continue a trace outward, you may attach the Sentry tracing headers to any HTTP client request.
You can fetch the required header values by calling\Sentry\getBaggage()and\Sentry\getTraceparent(). -
Add performance traces and breadcrumbs for filesystem access (#726)
This behaviour can be changed in your
config/sentry.phpfile.'breadcrumbs' => [ // Capture storage access as breadcrumbs 'storage' => true, ], `tracing` => [ // Capture storage access as spans 'storage' => true, ],
-
GraphQL and HTTP client improvements (#720)
This adds an improved visual representation of the request body on the Sentry web interface, as well as
response_body_sizeandrequest_body_sizeto HTTP client breadcrumbs. -
Less sensitive data send by default (#732)
The SDK will no longer send the value of the configured Laravel session cookie as well as the value of any cookies
starting withremember_*.
Additionally, SQL bindings are no longer set on breadcrumbs by default. This behaviour can be changed in yourconfig/sentry.phpfile.'breadcrumbs' => [ // Capture bindings on SQL queries logged in breadcrumbs 'sql_bindings' => false, ],
-
Make it configurable if performance traces continue after the response has been sent (#727)
This behaviour can be changed in your
config/sentry.phpfile.'tracing' => [ // Indicates if the performance trace should continue after the response has been sent to the user until the application terminates // This is required to capture any spans that are created after the response has been sent like queue jobs dispatched using `dispatch(...)->afterResponse()` for example 'continue_after_response' => true, ],
-
Expose all config settings as environment variables. (#735)
All config values in
config/sentry.phpcan be set with environment variables now.
For existing applications, you might need to update your config file with the new defaults manually.
The latest version can be found here.
Bug Fixes
- Handle exceptions being raised while resolving the PSR7 request (#743)