Note: The last version 1.9.6 introduced a breaking change where projects that used Starlette or FastAPI
and had manually setup SentryAsgiMiddleware could not start. This versions fixes this behaviour.
With this version if you have a manual SentryAsgiMiddleware setup and are using Starlette or FastAPI
everything just works out of the box.
Sorry for any inconveniences the last version might have brought to you.
We can do better and in the future we will do our best to not break your code again.
experiments.enable_profiling (#1481) by @szokeasaurusrexfeat(starlette): add Starlette integration (#1441) by @sl0thentr0py
Important: Remove manual usage of SentryAsgiMiddleware! This is now done by the Starlette integration.
Usage:
from starlette.applications import Starlette
from sentry_sdk.integrations.starlette import StarletteIntegration
sentry_sdk.init(
dsn="...",
integrations=[StarletteIntegration()],
)
app = Starlette(debug=True, routes=[...])
feat(fastapi): add FastAPI integration (#829) by @antonpirker
Important: Remove manual usage of SentryAsgiMiddleware! This is now done by the FastAPI integration.
Usage:
from fastapi import FastAPI
from sentry_sdk.integrations.starlette import StarletteIntegration
from sentry_sdk.integrations.fastapi import FastApiIntegration
sentry_sdk.init(
dsn="...",
integrations=[StarletteIntegration(), FastApiIntegration()],
)
app = FastAPI()
Yes, you have to add both, the StarletteIntegration AND the FastApiIntegration!
fix: avoid sending empty Baggage header (#1507) by @intgr
fix: properly freeze Baggage object (#1508) by @intgr
docs: fix simple typo, collecter -> collector (#1505) by @timgates42
feat(tracing): Dynamic Sampling Context / Baggage continuation (#1485) by @sl0thentr0py
The SDK now propagates the W3C Baggage Header from incoming transactions to outgoing requests.
It also extracts Sentry specific sampling information and adds it to the transaction headers to enable Dynamic Sampling in the product.