The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.10.0.
strict_trace_continuation and org_id to continue incoming traces only when they belong to the same Sentry organization. (#1002)ConsoleInputSerializer to capture console command arguments and options via class_serializers. (#1007)log_flush_threshold to flush logs once a configured batch size is reached. (#1012)Sentry\Integration\OTLPIntegration. (#1014)tracing.dbal.ignore_prepare_spans to suppress db.sql.prepare spans for prepared queries. (#1016)messenger.isolate_context_by_message to prevent scope, logs, and metrics data from leaking across messages. (#997)traceparent header. (#1005)sentry-php version to 4.23.0. (#1012)The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.9.0.
sentry-php version to 4.20.0. (#996)The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.8.3.
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.8.2.
symfony/yaml to a non-dev dependency. (#983)The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.8.1.
before_send_metric and enable_metrics. (#981)The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.8.0.
// Counter metric
\Sentry\trace_metrics()->count('test-counter', 10, ['my-attribute' => 'foo']);
// Gauge metric
\Sentry\trace_metrics()->gauge('test-gauge', 50.0, ['my-attribute' => 'foo'], \Sentry\Unit::millisecond());
// Distribution metric
\Sentry\trace_metrics()->distribution('test-distribution', 20.0, ['my-attribute' => 'foo'], \Sentry\Unit::kilobyte());
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.6.0.
max_breadcrumbs option. (#953)services:
Sentry\SentryBundle\Monolog\LogsHandler:
arguments:
- 'info'
# or using PSR constants
services:
Sentry\SentryBundle\Monolog\LogsHandler:
arguments:
- !php/const Psr\Log\LogLevel::INFO
// or via PHP config
$container->services()
->set(\Sentry\SentryBundle\Monolog\LogsHandler::class)
->args([\Monolog\Level::Info]);
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.5.0.
sentry:
messenger:
isolate_breadcrumbs_by_message: true
services:
App\IntegrationCallback:
factory: ['App\IntegrationCallback', 'factory']
sentry:
options:
integrations: 'App\IntegrationCallback'
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.4.1.
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.4.0.
sentry:
options:
enable_logs: true
services:
Sentry\SentryBundle\Monolog\LogsHandler:
arguments:
- !php/const Monolog\Logger::INFO
monolog:
handlers:
sentry_logs:
type: service
id: Sentry\SentryBundle\Monolog\LogsHandler
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.3.1.
The Sentry SDK team is happy to announce the immediate availability of Sentry Symfony SDK v5.2.0.
Allow to configure the logger via the sentry.yaml configuration file (#899)
sentry:
dsn: "%env(SENTRY_DSN)%"
options:
logger: "sentry.logger"
services:
sentry.logger:
class: 'Sentry\Logger\DebugFileLogger'
arguments:
$filePath: '../../var/log/sentry.log'
symfony/security-core and symfony/security-http as dependencies (#912)The Sentry SDK team is thrilled to announce the immediate availability of Sentry Symfony SDK v5.0.0.
Please refer to the UPGRADE-5.0.md guide for a complete list of 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-curl installed to use the SDK.
The IgnoreErrorsIntegration integration was removed. Use the ignore_exceptions option instead.
Previously, both Symfony\Component\ErrorHandler\Error\FatalError and Symfony\Component\Debug\Exception\FatalErrorException were ignored by default.
To continue ignoring these exceptions, make the following changes to the config file:
// config/packages/sentry.yaml
sentry:
options:
ignore_exceptions:
- 'Symfony\Component\ErrorHandler\Error\FatalError'
- 'Symfony\Component\Debug\Exception\FatalErrorException'
This option performs an is_a check now, so you can also ignore more generic exceptions.
Add support for Sentry Developer Metrics (#1619)
use function Sentry\metrics;
// Add 4 to a counter named hits
metrics()->increment(key: 'hits', value: 4);
// Add 25 to a distribution named response_time with unit milliseconds
metrics()->distribution(key: 'response_time', value: 25, unit: MetricsUnit::millisecond());
// Add 2 to gauge named parallel_requests, tagged with type: "a"
metrics()->gauge(key: 'parallel_requests', value: 2, tags: ['type': 'a']);
// Add a user's email to a set named users.sessions, tagged with role: "admin"
metrics()->set('users.sessions', 'jane.doe@example.com', null, ['role' => User::admin()]);
Metrics are automatically sent to Sentry at the end of a request, hooking into Symfony's kernel.terminate event.
Add new fluent APIs (#1601)
// Before
$transactionContext = new TransactionContext();
$transactionContext->setName('GET /example');
$transactionContext->setOp('http.server');
// After
$transactionContext = (new TransactionContext())
->setName('GET /example');
->setOp('http.server');
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)
The SDK now ships with its own HTTP client based on cURL. A few new options were added.
// config/packages/sentry.yaml
sentry:
options:
- http_proxy_authentication: 'username:password' // user name and password to use for proxy authentication
- http_ssl_verify_peer: false // default true, verify the peer's SSL certificate
- http_compression: false // default true, http request body compression
To use a different client, you may use the http_client option.
To use a different transport, you may use the transport option. A custom transport must implement the TransportInterface.
If you use the transport option, the http_client option has no effect.
php-http/message-factory was removed.How can I help you explore Laravel packages today?