Breaking Changes
- Constructor now requires
projectSlugas second argument capture()no longer takespath/projectId— takestags/metadata/sessionId/userIdinstead- Removed opinionated span methods (
span.completion(),span.tool(), etc.) — usetelemetry.tracerdirectly - Removed
rosetta-aidependency - Env var renamed from
GATEWAY_BASE_URLtoLATITUDE_TELEMETRY_URL
Added
telemetry.tracerexposes raw OTel Tracer for custom span creationcapture()creates a root span when no active span exists, grouping child spans under one traceserviceNameoption in constructorRedactSpanProcessorfor masking sensitive HTTP headers- Auto-instrumentation for 10 AI providers via Traceloop
Changed
capture()sets trace-wide baggage (latitude.tags,latitude.metadata,session.id,user.id) propagated via BaggageSpanProcessor- Span processors passed via
NodeTracerProviderconstructor (not deprecatedaddSpanProcessor)