Releases: getsentry/sentry-laravel
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.php
file 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
driver
key withsentry
and add thesentry_original_driver
key with the original driver name.
For us to construct the original driver, you also need to add thesentry_disk_name
key with the name of the disk.
In addition, you can specify the optionalsentry_enable_spans
andsentry_enable_breadcrumbs
config 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\Filesystem
orIlluminate\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.php
file.'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_size
andrequest_body_size
to 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.php
file.'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.php
file.'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.php
can 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)
3.6.1
3.6.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.6.0.
Features
-
Add support for upserting Cron Monitors (#677)
We simplified setting up monitoring for your scheduled tasks. Now, the only requirement is to add the
sentryMonitor
macro. A corresponding monitor will be created automatically on Sentry.protected function schedule(Schedule $schedule) { $schedule->command('emails:send') ->everyHour() ->sentryMonitor(); // add this line }
You can read more about this in our docs.
3.5.1
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.5.1.
Bug Fixes
-
Prevent registering terminating callback multiple times and guard against finishing already finished transactions (#717)
This fixes the
Call to a member function finish() on null
that could occur when using long running processes like on the CLI or with Laravel Octane.
3.5.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.5.0.
Features
-
Improve terminating callbacks visibility (#707)
This adds support for performance traces that happen after the terminable middleware emits the response.
-
Add
http.route.response
span (#708)Note: This feature requires Laravel
>= 10.13.0
to hail any new spans.This will add a
http.route.response
span which identifies possible actions taken to prepare the response, especially when usingIlluminate\Contracts\Support\Responsable
classes.
Bug Fixes
-
Refactor queue integration (#692)
This improves and fixes some edge cases around scope management when running Laravel Queues.
-
Improve
lazyLoadingViolationReporter
helper (#709)Check for
$model->exists
and$model->wasRecentlyCreated
before capturing the event.
Misc
- Bump the underlying PHP SDK to version
^3.19
to enforce an upgrade to fix an issue in libcurl>= v8.1.0
(#711)
3.4.1
3.4.0
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.4.0.
Features
-
Add helper to report lazy loading violations (#678)
We've added a new helper that makes reporting lazy loading violation to Sentry in production very easy:
// See: https://laravel.com/docs/10.x/eloquent-relationships#preventing-lazy-loading \Illuminate\Database\Eloquent\Model::preventLazyLoading(); // In production we just report the lazy loading violation instead of crashing the application since it's a performance issue not a security issue if (app()->isProduction()) { \Illuminate\Database\Eloquent\Model::handleLazyLoadingViolationUsing( \Sentry\Laravel\Integration::lazyLoadingViolationReporter(), ); }
We let you know which model and relation caused the lazy loading violation and we also include the origin of the violation so you can find the culprit quickly.
-
Reintroduce Laravel Lumen support (#685)
We dropped support for Laravel Lumen (10.x) in v3.0.0, but we are happy to announce that it is back!