Skip to content

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 14 Jul 12:24
v1.0.0
7a8b349

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 pin command: 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: otelc now works with projects that use go mod vendor
    (#616)
  • Filter combinators for rule targeting: AllOf (#381), OneOf (#385),
    Not (#386), join point filter interface (#377)
  • where.file predicates: is_test (#562), has_package (#642)
  • Glob matching on rule target for package selection (#561)
  • Customizable injection in InstRawRule with 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 otelc invocations 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-dir now correctly controls the full otelc workspace (#528)
  • Decouple trace instrumentation from sdk/trace (#647)
  • toolexec GOFLAGS drop-in (#674)
  • Support non-main package names for otelc.runtime.go (#682)
  • Stale parent goroutines in GLS pool (#678)

Infrastructure

  • otelc-bundle.tgz committed 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

Full Changelog: v0.5.0...v1.0.0