v0.12.0
Sentry: zero-config auto-attach
If sentry_sdk is initialised in the worker process (via sentry_sdk.init(), or by setting SENTRY_DSN so the SDK auto-inits), every RpcServer now wires default-config Sentry instrumentation automatically. No flag, no extra env var — sentry_sdk.is_initialized() is the signal of intent.
import sentry_sdk
sentry_sdk.init(dsn="https://...") # or just set SENTRY_DSN
from vgi_rpc import RpcServer
server = RpcServer(MyService, MyServiceImpl()) # Sentry already wiredThe check is gated on sentry_sdk already being importable in the process, so workers without vgi-rpc[sentry] pay nothing.
Customising
instrument_server_sentry() (and make_wsgi_app(sentry_config=...) / serve_http(sentry_config=...)) now use replace semantics: an explicit configured call strips any existing _SentryDispatchHook from the chain (preserving non-Sentry hooks like OTel) before installing the new one. So explicit config always wins, regardless of timing relative to auto-attach.
from vgi_rpc.sentry import SentryConfig, instrument_server_sentry
instrument_server_sentry(server, SentryConfig(custom_tags={"env": "prod"}, enable_performance=True))See docs/api/sentry.md for the full configuration reference.