v1.0.0
Warning
v1.0.0 is retracted. otelc pin writes incorrect module paths into
user go.mod files. Use v1.0.1 instead.
This was the first stable release of OpenTelemetry Go Compile-Time
Instrumentation. It is retracted due to a bug in otelc pin that writes
incorrect module paths into user go.mod files. v1.0.1 fixes this.
New Instrumentation Libraries
- MongoDB — DB client spans (#554)
- Gin (
gin-gonic/gin) — HTTP server spans (#501) - OpenAI Go SDK (v1/v2/v3) — GenAI spans (#604)
- Kafka (
segmentio/kafka-go) — messaging spans (#302) - k8s-client-go informers — Kubernetes resource spans (#426)
- log/slog/logrus — trace context injection (#609)
New Features
otelc pincommand: discovers and pins instrumentation packages to
otel.instrumentation.go, giving projects source-controlled instrumentation
configuration (#655)- Load instrumentation rules directly from
otel.instrumentation.go(#612) - Auto-initialize the OTel SDK on startup; respect
OTEL_SDK_DISABLED;
add console and none exporter options (#625, #668) - Vendor support:
otelcnow works with projects that usego mod vendor
(#616) - Filter combinators for rule targeting:
AllOf(#381),OneOf(#385),
Not(#386), join point filter interface (#377) where.filepredicates:is_test(#562),has_package(#642)- Glob matching on rule
targetfor package selection (#561) - Customizable injection in
InstRawRulewith pattern matching (#450) - State manager for reliable tracking of modified and generated files,
with crash-safe atomic persistence (#618, #670) - Root module rule target (#629)
- Serialize concurrent
otelcinvocations with a build lock (#672) - Resolve rule paths from
go/packages(#617)
Module Path Change
The module path is now go.opentelemetry.io/otelc (#656). Update
your go.mod imports if you were depending on the previous path.
Fixes
- Backup handling for multi-module setups (#515)
- Trampoline name disambiguation across do-sequence entries (#560)
--work-dirnow correctly controls the fullotelcworkspace (#528)- Decouple trace instrumentation from
sdk/trace(#647) toolexecGOFLAGS drop-in (#674)- Support non-main package names for
otelc.runtime.go(#682) - Stale parent goroutines in GLS pool (#678)
Infrastructure
otelc-bundle.tgzcommitted to git with bundle verification CI (#677)- Integration tests sharded and cached (#681)
- 70% unit-test coverage gate enforced in CI (#575, #630)
- Rule files renamed to
otelc.yaml(#606)
New Contributors
- @SatyamPandey-07, @pradhyum6144, @waqar2403, @macayu17,
@ADITYA-CODE-SOURCE, @karthik120710, @hannahkm
Full Changelog: v0.5.0...v1.0.0