All notable changes to otelio are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.0.4 - 2026-06-25
- Built-in
otlp-httptarget: OTLP/HTTP-protobuf export for traces and logs, alongside the existingotlp(gRPC) andazuretargets. Select withOTELIO_TARGET=otlp-http(or the per-signalOTELIO_TRACE_TARGET/OTELIO_LOG_TARGET). The exporter resolves the standardOTEL_EXPORTER_OTLP_*env vars itself, so it defaults tohttp://localhost:4318and appends/v1/tracesand/v1/logsper the OTLP/HTTP spec. opentelemetry-exporter-otlp-proto-httpis now a core dependency (no extra needed).
0.0.3 - 2026-06-24
- Per-signal exporter selection.
OTELIO_TARGETstays the global default; newOTELIO_TRACE_TARGET/OTELIO_LOG_TARGEToverride the target for traces / logs individually, so the two signals can go to different backends. Each falls back toOTELIO_TARGETwhen unset. - Per-signal OTLP endpoints (OTel standard names).
OTEL_EXPORTER_OTLP_TRACES_ENDPOINT/OTEL_EXPORTER_OTLP_LOGS_ENDPOINToverrideOTEL_EXPORTER_OTLP_ENDPOINTfor traces / logs individually, allowing two separate OTLP collectors. Each falls back to the global endpoint when unset.
build_trace_exporter/build_log_exporternow resolve from the per-signal target, and OTLP exporters use the per-signal endpoint. ExporterValueErrormessages name the offending per-signal target and the env vars that set it.- Documented the global-vs-per-signal model in the README configuration table and the usage guide.
0.0.2 - 2026-06-20
otel_set_span_status(status, message=None, span=None)— set a span'sStatusCode(UNSET/OK/ERROR) with an optional description.StatusCodeis now re-exported from theoteliopackage.- Pluggable exporter registry:
init_otelioacceptstrace_exporters/log_exportersto register custom exporters inline (lists of{"name", "factory"}), selectable viaOTELIO_TARGET. Built-inotlp(gRPC) andazuretargets are now pre-registered entries. ExportsSettings,TraceExporterEntry, andLogExporterEntry. OTELIO_CONSOLE— when truthy, attach aSimpleSpanProcessor+ConsoleSpanExporteralongside the batch exporter so spans print to stdout for local debugging.- Custom resource attributes via
init_otelio. docs/custom-exporter.mddocumenting built-in targets,OTELIO_CONSOLE, and custom exporters.
- Renamed the
DEPLOYMENT_ENVIRONMENTenv var toOTELIO_ENVIRONMENTfor consistency with theOTELIO_*prefix. Thedeployment.environmentresource attribute key is unchanged. - Pinned OpenTelemetry to 1.40 for Azure exporter compatibility.
- Forward Loguru
extrafields as OTel log attributes.
0.0.1 - 2026-06-20
init_otelio(...)— one-call bootstrap of the tracer + logger providers, the Loguru bridge, and anatexitflush hook.- Span helpers:
otel_span,otel_current_span,otel_get_tracer. - Attribute / event helpers:
otel_set_attributes,otel_add_event. - Context propagation helpers:
otel_inject_headers,otel_context_from_headers. - Baggage helpers:
otel_set_baggage,otel_get_baggage,otel_get_all_baggage. - OTLP/gRPC exporter (core install) and optional Azure Application Insights exporter
(
otelio[azure]), selected at runtime via theOTELIO_TARGETenvironment variable. - Automatic correlation of Loguru log records to the active
trace_id/span_id.