The official Laravel SDK for Sentry (sentry.io)
MIT License
Bot releases are visible (Hide)
Published by getsentry-bot over 1 year ago
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.5.1.
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.
Published by getsentry-bot over 1 year ago
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.5.0.
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 using Illuminate\Contracts\Support\Responsable
classes.
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.
^3.19
to enforce an upgrade to fix an issue in libcurl >= v8.1.0
(#711)
Published by getsentry-bot over 1 year ago
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.4.0.
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!
Published by getsentry-bot over 1 year ago
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.3.0.
This release adds initial support for Cron Monitoring as well as new performance spans and breadcrumbs.
Warning
Cron Monitoring is currently in beta. Beta features are still in-progress and may have bugs. We recognize the irony.
If you have any questions or feedback, please email us at [email protected], reach out via Discord (#cronjobs), or open an issue.
Add inital support for Cron Monitoring (#659)
After creating your Cron Monitor on https://sentry.io, you can add the sentryMonitor()
macro to your scheduled tasks defined in your app/Console/Kernel.php
file.
This will let Sentry know if your scheduled task started, whether the task was successful or failed, and its duration.
protected function schedule(Schedule $schedule)
{
$schedule->command('emails:send')
->everyHour()
->sentryMonitor('<your-monitor-slug>'); // add this line
}
Add Livewire tracing integration (#657)
You can enable this feature by adding new config options to your config/sentry.php
file.
'breadcrumbs' => [
// Capture Livewire components in breadcrumbs
'livewire' => true,
],
'tracing' => [
// Capture Livewire components as spans
'livewire' => true,
],
Add Redis operation spans & cache event breadcrumbs (#656)
You can enable this feature by adding new config options to your config/sentry.php
file.
'breadcrumbs' => [
// Capture Laravel cache events in breadcrumbs
'cache' => true,
],
'tracing' => [
// Capture Redis operations as spans (this enables Redis events in Laravel)
'redis_commands' => env('SENTRY_TRACE_REDIS_COMMANDS', false),
// Try to find out where the Redis command originated from and add it to the command spans
'redis_origin' => true,
],
Add HTTP client request breadcrumbs (#640)
You can enable this feature by adding a new config option to your config/sentry.php
file.
'breadcrumbs' => [
// Capture HTTP client requests information in breadcrumbs
'http_client_requests' => true,
],
Offer the installation of a JavaScript SDK when running sentry:publish
(#647)
Published by getsentry-bot over 1 year ago
The Sentry SDK team is happy to announce the immediate availability of Sentry Laravel SDK v3.2.0.
This release adds support for Laravel 10.
tracing.http_client_requests
option (#641)
You can now disable HTTP client tracing in your config/sentry.php
file
'tracing' => [
'http_client_requests' => true|false, // This feature is enabled by default
],
Published by getsentry-bot almost 2 years ago
Integration::makeAnEducatedGuessIfTheExceptionMaybeWasHandled()
(#622)
report()
was called.Published by getsentry-bot almost 2 years ago
traces_sample_rate
to null
by default (#616)
Make sure to update your config/sentry.php
.
Replace
'traces_sample_rate' => (float)(env('SENTRY_TRACES_SAMPLE_RATE', 0.0)),
with
'traces_sample_rate' => env('SENTRY_TRACES_SAMPLE_RATE') === null ? null : (float)env('SENTRY_TRACES_SAMPLE_RATE'),
report()
helper being marked as unhandled (#617)Published by getsentry-bot almost 2 years ago
Published by getsentry-bot almost 2 years ago
handled: false
and displayed as such on the issues list and detail page (#608)
App/Exceptions/Handler.php
file to enable this new behaviour. See https://docs.sentry.io/platforms/php/guides/laravel/
Published by getsentry-bot almost 2 years ago
SENTRY_RELEASE
.env variable not working when using config caching (#603)Published by getsentry-bot about 2 years ago
New features
http.client
span. This span indicates the time that is spent when using the Laravel HTTP client (#585)http.route
span. This span indicates the time that is spent inside a controller method or route closure (#593)db.transaction
span. This span indicates the time that is spent inside a database transaction (#594)Breaking changes
Sentry\Integration::extractNameForRoute()
, it's alternative Sentry\Integration::extractNameAndSourceForRoute()
is marked as @internal
(#580)Sentry\Integration::currentTracingSpan()
, use SentrySdk::getCurrentHub()->getSpan()
if you were using this internal method (#592)Other changes
Illuminate\Routing\Events\RouteMatched
instead of at the end of the request (#580)Sentry\Laravel\Integration::sentryMeta()
(#586)sync
driver) (#592)Published by getsentry-bot about 2 years ago
null
as an argument value (#589)Published by getsentry-bot about 2 years ago
sentry:test
command (#582)Published by getsentry-bot about 2 years ago
QueueManager
is registered as queue
in the container and not by it's class name (#568)Illuminate\Http\Response
like Illuminate\Http\JsonResponse
(#573)SetRequestMiddleware
on Laravel < 6.0 (#575)email
and username
attributes if available (#577)Published by getsentry-bot over 2 years ago
BindingResolutionException
when trying to get the PSR-7 request object from the containerPublished by getsentry-bot over 2 years ago
release
and environment
values when using the sentry:test
command