Skip to content

v1.1.0

Latest

Choose a tag to compare

@github-actions github-actions released this 24 Aug 03:47
· 13 commits to main since this release
449ee08

What's Changed

  • chore(deps): bump golang.org/x/crypto from 0.49.0 to 0.52.0 in /test/bench/scenarios/largeidle by @dependabot[bot] in #691
  • chore(deps): bump golang.org/x/crypto from 0.45.0 to 0.52.0 in /test/apps/mongoclient by @dependabot[bot] in #692
  • chore(deps): bump golang.org/x/crypto from 0.48.0 to 0.52.0 in /test/apps/ginserver by @dependabot[bot] in #694
  • chore(semconv): add local OTel Weaver registry for the emitted telemetry contract by @NameHaibinZhang in #696
  • chore(ci): report benchmark workflow failures by @kakkoyun in #697
  • chore(semconv): add Weaver registry groups for grpc, database/sql, redis, kafka, k8s, openai, mongo by @NameHaibinZhang in #701
  • feat(instrumentation): add Anthropic Go SDK instrumentation (non-streaming) by @pradhyum6144 in #689
  • fix(runtime): route OTel SDK errors through the package logger by @txabman42 in #713
  • feat: enable propagatos by @txabman42 in #714
  • fix(runtime): handle SIGTERM for graceful shutdown by @Jay2006sawant in #716
  • chore: add CodeQL scanning by @fmutlu68 in #536
  • docs: update external configuration guide for shipped otelc pin flow by @ADITYA-CODE-SOURCE in #730
  • test: skip container-based tests when Docker is not available by @nycanshu in #735
  • chore: add auto-regenerate bundle workflow and improve conflict guidance by @NameHaibinZhang in #737
  • fix(instrument): no-op call rules on files without matching calls by @Jay2006sawant in #733
  • chore(deps): bump google.golang.org/grpc from 1.82.0 to 1.82.1 in /test/apps/grpcclient by @dependabot[bot] in #741
  • chore(config): migrate Renovate config by @renovate[bot] in #698
  • fix(instrument): avoid _ignoredParam name collision in generated sign… by @Anshumancanrock in #738
  • chore: enable golangci-lint modernize by @amazingakai in #747
  • fix(instrumentation): preserve openai request and response bodies on preview read errors by @ADITYA-CODE-SOURCE in #720
  • fix(build): quote the registry path in lint-schema by @pradhyum6144 in #750
  • docs(schemas): add telemetry contracts for the remaining instrumentations by @pradhyum6144 in #751
  • test(mongo): add unit tests for BeforeConnect and BeforeNewClient hooks by @vignesh2027 in #769
  • chore: add complex demo apps and integration tests by @Aryanbhargava18 in #763
  • test(grpc/client): cover HandleRPC payload and error paths by @vignesh2027 in #781
  • chore: add complex demo apps for HTTP+SQL and gRPC+SQL propagation by @Aryanbhargava18 in #782
  • chore(bundle): add git merge driver to stop otelc-bundle.tgz rebase conflicts by @NameHaibinZhang in #784
  • test(database/sql): cover ClickHouse, Oracle, and LegacyParseDSN DSN parsing by @Anshumancanrock in #785
  • chore: add complex demo apps for HTTP+Kafka and gRPC+Kafka propagation by @Aryanbhargava18 in #791
  • fix(tool): reject malformed version ranges in instrumentation rules by @ADITYA-CODE-SOURCE in #722
  • test(integration): cover instrumentation env var filtering by @AkshitBhandariCodes in #800
  • feat(pkg): add linodego v2 compile-time instrumentation by @cxdy in #710
  • chore: add AI usage and authorship checklist to PR template by @amazingakai in #810
  • fix(instrumentation/openai): make provider name detection deterministic by @Satya900 in #825
  • docs(config): document runtime instrumentation env vars by @dobbydobap in #856
  • fix(instrumentation/gin): gin instrumentation cannot be disabled at runtime by @om7057 in #840
  • docs: add README for anthropic-sdk-go instrumentation by @shivv23 in #821
  • feat(instrumentation): record gen_ai.client.operation.duration for an… by @malladinagarjuna2 in #775
  • test(grpc/server): cover HandleRPC payload and error paths by @vignesh2027 in #776
  • fix(database/sql): recognize "sqlite" driver alias in db.system.name by @Satya900 in #830
  • feat(pkg): add aws-sdk-go-v2 client instrumentation by @Thorleon in #707
  • fix(net/http/server): satisfy http.Pusher so HTTP/2 server push works by @PRAteek-singHWY in #795
  • test(tool): add unit tests to raise tool module coverage by @NameHaibinZhang in #893
  • fix(imports): check return error of file.Close() in WriteFile by @vedant21-oss in #853
  • docs(log): document sdk/trace build-graph requirement for log/slog and logrus correlation by @hanshal101 in #845
  • fix(testutil): replace fixed sleep in WaitForSpanFlush with span polling by @mohanakatari119-bit in #463
  • fix(ast): check return error of file.Close() in WriteFile by @vedant21-oss in #844
  • docs(docs): fix otelc demo path in getting-started and net/http README typo by @ParvikaShekhawat in #774
  • refactor(util): remove util.WriteFile in favor of os.WriteFile by @vedant21-oss in #884
  • fix(instrument): write nil through the pointer in SetParam/SetReturnVal by @Anshumancanrock in #731
  • docs: mention Git line-ending setup for Windows/WSL contributors by @bhuvan-somisetty in #855
  • fix(test): normalize AST spacing in golden tests to fix Go 1.25+ and CRLF flakiness by @Aryanbhargava18 in #764
  • fix(setup): close file handle on stale lock verification in tryAcquire by @vedant21-oss in #927
  • test: fix Windows test failures due to POSIX shell assumptions by @vishalmore90 in #921
  • fix(instrumentation): remove duplicate command name suffix in redis query statement by @vishalmore90 in #919
  • chore: regenerate otelc-bundle.tgz by @darccio in #933
  • fix(deps): update all dependencies (major) by @renovate[bot] in #902
  • fix(tool/setup): close file handle when bundle extraction copy fails by @bhuvan-somisetty in #860
  • fix(deps): update all dependencies by @renovate[bot] in #901
  • fix(ci): run behavior tests when instrumentation rule YAML changes by @Harsh63870 in #863
  • fix(kafka): handle invalid UTF-8 message keys by @Modo-me in #936
  • chore(demo): update greeter.proto mount path of k6-grpc by @s4s7 in #898
  • fix(net/http): server spans missing http.route and named only by method by @Anshumancanrock in #915
  • feat(instrumentation/mongo): add mongo driver v2 support by @markcottrell in #858
  • test(latestlibbuild): shard app builds across two CI jobs to avoid ti… by @NameHaibinZhang in #943
  • test(ex): cover Fatal and Fatalf exit paths by @vignesh2027 in #928
  • chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.1 in /instrumentation/go.mongodb.org/mongo-driver/v2/mongo by @dependabot[bot] in #942
  • test(tool): add unit tests to raise tool module coverage by @shivv23 in #930
  • fix(pkg): handle nil client options in MongoDB client hooks by @Labreo in #946
  • chore(test): add multi-process e2e for HTTP→SQL propagation by @sanjana2505006 in #931
  • chore(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.1 in /instrumentation/github.com/aws/aws-sdk-go-v2 by @dependabot[bot] in #937
  • fix(database/sql): IPv6 DSNs drop server.port and corrupt server.address by @Anshumancanrock in #938
  • docs(readme): fix otecl path for demo app by @Muneeb-Ahmad-404 in #953
  • docs: update stale cmd/gotel references to cmd/otelc in CONTRIBUTING.md by @Labreo in #952
  • fix(genai): record error for HTTP 4xx+ responses in OpenAI and Anthropic middleware by @shivv23 in #889
  • fix(setup): use atomic write for storing matched rules in SetupPhase.store by @vedant21-oss in #941
  • fix(instrumentation): add missing span.RecordError() calls by @ipsitapp8 in #823
  • fix(runtime): make OTEL_LOG_LEVEL case-insensitive and trim whitespace by @bhuvan-somisetty in #895
  • fix(tool): forward trimpath when resolving import archives by @ADITYA-CODE-SOURCE in #944
  • docs: fix OTEL_EXPORTER_OTLP_PROTOCOL default and document missing runtime env vars by @thisisvaishnav in #914
  • fix(tool): check file.Close error handling in ImportConfig and AST WriteFile by @vedant21-oss in #909
  • chore(test): add multi-process e2e for gRPC→SQL propagation by @sanjana2505006 in #948
  • fix(ci): scope unit coverage uploads to their own flag by @om7057 in #857
  • fix(tool): preserve spaces in CGO build-plan directories by @ADITYA-CODE-SOURCE in #929
  • fix(tool): handle os.Getwd error to prevent silent empty path fallback by @sudo-muneeb in #867
  • fix(instrumentation): add missing span.RecordError() in gRPC stats handlers by @shivv23 in #850
  • test(tool/ast): add unit test coverage for generic receiver matching and stripGenericTypes by @bhuvan-somisetty in #841
  • fix(instrumentation/openai): skip span creation when model is empty by @Satya900 in #866
  • test(e2e): assert client span is the trace root in dbclient propagation tests by @vizansh in #963
  • test(apps/grpcserverdbclient): bind gRPC frontend to loopback instead of all interfaces by @vizansh in #964
  • fix(instrumentation): flush final SSE chunk on stream close without trailing newline by @om7057 in #828
  • fix(tool/internal/ast): avoid panic in typename.matches for unsupported AST node types by @vedant21-oss in #957
  • fix(ci): propagate unit and E2E coverage job failures by @ADITYA-CODE-SOURCE in #956
  • test(kafka/consumer): cover headerCarrier Set and Keys by @Anshumancanrock in #819
  • fix(tool/instrument): safely handle non-value AST nodes in decl rules by @bhuvan-somisetty in #816
  • fix(tool): struct rules match non-struct types and add fields to the wrong struct by @dobbydobap in #887
  • fix(tool): implement where.file.has_directive filter by @Aryanbhargava18 in #762
  • fix(tool): resolve canFlattenTJump false positives on unrelated identifier matches by @Aryanbhargava18 in #883
  • test(hook): add unit tests for MockHookContext in pkg/hook/hooktest by @vizansh in #836
  • refactor: resolve module dirs in a deterministic sorted order by @vedant21-oss in #972
  • test(log): assert CRLF line ending preservation in BeforeLogOutput by @SatyamPandey-07 in #814
  • fix(toolexec): avoid in-place slice mutation in stripCompleteFlag by @darkraider01 in #988
  • fix(tool): allow importcfg lines larger than bufio scanner limit by @shivv23 in #932
  • fix(sdk/trace): make GLS span tracker capacity limits deterministic and observable by @bhuvan-somisetty in #911
  • fix: certain import patterns were not properly identified by @hannahkm in #878
  • fix(instrumentation): use numeric status for openai error.type by @Anshumancanrock in #976
  • refactor(tool/rule): central registry of valid selectors and modifiers by @Harsh63870 in #854
  • refactor(tool/internal/ast): simplify tokenize in directive.go by eliminating redundant strings.Builder error checks by @vedant21-oss in #998
  • fix(tool): handle unchecked error return values in setup package test files by @vishalmore90 in #1006
  • test(integration): assert server span is the trace root in propagation tests by @SatyamPandey-07 in #1020
  • fix(tool/internal/setup): sort moduleDirs in generatePinnedProjects and getBackupFiles for deterministic order by @vedant21-oss in #986
  • fix(setup): warn when version-gated rules skip due to unresolved dep … by @Harsh63870 in #874
  • fix(tool/internal/instrument): resolve file rule path directly to prevent filename suffix collision by @vedant21-oss in #1040
  • chore(instrumentation/openai): de-duplicate v1/v2/v3 streaming reader logic by @om7057 in #990
  • fix(tool): resolve canFlattenTJump panic on unnamed HookContext parameter by @vishalmore90 in #789
  • chore(test): add multi-process e2e for HTTP→Kafka propagation by @sanjana2505006 in #1000
  • feat(tool): add instrumentation manifest generator by @ADITYA-CODE-SOURCE in #999
  • test(testutil): increase cross-process span-flush timeout to 15s by @singhshresth26 in #977
  • fix(tool/instrument): remap blank identifier receiver in collectArguments by @om7057 in #799
  • fix(pkg): ensure afterTxInstrumentation calls instrumentEnd when tx is nil by @vishalmore90 in #838
  • feat(ci): add local coverage gate by @SatyamPandey-07 in #896
  • docs: list aws-sdk-go-v2, linodego, and logging instrumentations in Supported Libraries by @ipsitapp8 in #1030
  • fix: prevent collisions in synthetic params/returns by @hannahkm in #1035
  • fix(tool/internal/instrument): validate valueSpec.Values length in parseValueExpr by @vedant21-oss in #987
  • refactor(instrumentation/kafka): extract duplicate headerCarrier to s… by @ipsitapp8 in #847
  • fix(tool/instrument): resolve undefined idx in collectArguments blank-receiver branch by @bhuvan-somisetty in #904
  • fix(ci): trigger Makefile checks on workflow changes by @ADITYA-CODE-SOURCE in #1063
  • fix(genai): set error.type on transport failures by @Anshumancanrock in #1018
  • refactor(tool): unify import path alias deduction by @vedant21-oss in #1059
  • fix(tool/cmd/otelc): allow profile-path sibling directories sharing build-temp prefix by @SatyamPandey-07 in #1052
  • fix(runtime): flush telemetry on shutdown without terminating the process by @Anshumancanrock in #759
  • test(setup): cover Pin, pinLocked, AutoPin, prepareVendoredBuild by @malladinagarjuna2 in #760
  • docs(config): document run-time instrumentation environment variables by @ayush-bothra in #811
  • test(database/sql): run dsnparse/semconv unit tests in CI by @Anshumancanrock in #992
  • test(instrument): cover receiver type parameter extraction by @vignesh2027 in #1099
  • fix(tool/internal/ast): return standard zero-value token.Position for unmapped nodes in FindPosition by @vedant21-oss in #1010
  • test(instrument): cover trampoline jump point discovery by @vignesh2027 in #1111
  • fix(tool): sort replace directives in syncDeps for deterministic go.mod updates by @vedant21-oss in #1124
  • fix(instrumentation/redis): redact AUTH and HELLO credentials from db.query.text by @ipsitapp8 in #1101
  • chore(test): add multi-process e2e for HTTP→OpenAI GenAI client propagation (#1107) by @abhishekkamble12 in #1120
  • fix(tool/internal/instrument): prevent nil pointer panic on bodyless functions in directive and raw rules by @vedant21-oss in #1102
  • fix(tool/internal/instrument): sort file keys in instrument() for deterministic error reporting by @darkraider01 in #1072
  • fix(tool): parse +incompatible and build metadata in module cache paths by @Labreo in #1097
  • feat: populate more template variables for directive rule by @hannahkm in #729
  • fix(net/http): end spans after instrumentation is disabled by @SSOHEB in #1094
  • chore: replace panic() with log.Fatal() in test mocks by @kehach07 in #1141
  • chore(tool): consolidate ex package tests into error_test.go by @darkraider01 in #1142
  • fix(tool/internal/setup): guard against GOWORK="off" in getBackupFiles by @vedant21-oss in #1117
  • test(k8s.io/client-go): replace context.TODO() with t.Context() by @kehach07 in #1139
  • feat: support function template variables for injected code by @hannahkm in #1140
  • fix(instrumentation/k8s.io/client-go): forward original object on OnDelete by @om7057 in #1049
  • fix(tool/instrument): recover generic receiver constraints in trampoline generation by @om7057 in #1122
  • chore(deps): bump github.com/moby/go-archive from 0.2.0 to 0.3.0 in /test by @dependabot[bot] in #1164
  • test(linode): cover code-generator AST helper functions by @vignesh2027 in #1036
  • fix(tool): exclude OS junk files from otelc bundle archive by @ipsitapp8 in #1165
  • chore(ci): use shared OSSF Scorecard workflow by @opentelemetrybot in #1103
  • fix(tool/internal/instrument): strip build-ignore tag per line, not by substring by @darkraider01 in #1095
  • test(anthropic): cover genai semconv attribute constructors by @vignesh2027 in #1034
  • test(util): cover the fatal paths in assert.go by @vignesh2027 in #1100
  • fix(tool/internal/instrument): skip directive rule injection when no function matches by @darkraider01 in #1045
  • chore(test): add multi-process e2e for gRPC→Kafka propagation by @sanjana2505006 in #1105
  • chore(tool): unexport rule schema identifiers with no cross-package use by @darkraider01 in #1151
  • chore(tool): consolidate instrument package tests into per-source-file pairing by @darkraider01 in #1163
  • chore(tool): consolidate ast package tests into per-source-file pairing by @darkraider01 in #1159
  • chore(tool): consolidate profile package tests into profile_test.go by @darkraider01 in #1161
  • chore(tool): consolidate setup package tests into per-source-file pairing by @darkraider01 in #1162
  • chore(tool): consolidate util package tests into per-source-file pairing by @darkraider01 in #1160
  • fix(tool/internal/instrument): handle invalid regex pattern gracefully in insertRaw (#1166) by @vedant21-oss in #1180
  • fix(tool): centralize rule file name matching by @ADITYA-CODE-SOURCE in #1179
  • chore(tool): unexport setup package identifiers with no cross-package use by @darkraider01 in #1150
  • chore(tool): unexport internal identifiers with no cross-package use by @darkraider01 in #1146
  • chore(tool): addition of govulncheck scanning in ci workflows by @atharvamhaske in #806
  • feat(tool): add struct_literal selector and set_fields modifier by @rarguelloF in #1031
  • fix(tool/internal/setup): ensure deterministic rule load order by @shivv23 in #1155
  • fix(deps): update all dependencies by @renovate[bot] in #1110
  • refactor(tool): name the GOWORK off sentinel by @ADITYA-CODE-SOURCE in #1066
  • feat(tool/internal/rule): validate replace and wrap expression syntax in InstDeclRule by @vedant21-oss in #1077
  • chore(tool): unexport ast package identifiers with no cross-package use by @darkraider01 in #1149
  • fix(tool/internal/instrument): rewrite only the targeted name of a multi-name declaration by @darkraider01 in #1046
  • fix(tool/internal/instrument): normalize composite types in checkHookDecl by @bhuvan-somisetty in #1130
  • fix(redis): redact AUTH/HELLO credentials in db.query.text by @Anshumancanrock in #1092
  • fix(tool): reject invalid manifest version ranges by @ADITYA-CODE-SOURCE in #1185
  • fix(ci): propagate change detection failures by @ADITYA-CODE-SOURCE in #1182
  • feat(tool): enforce test file naming conventions in CI by @darkraider01 in #1190
  • docs(tool): document HookContext accessor panics for generic targets by @darkraider01 in #1191
  • chore(test): add multi-process e2e for HTTP→Anthropic GenAI client pr… by @sanjana2505006 in #1138
  • chore(tool): consolidate tool tests into per-source-file pairing by @y1yang0 in #1189
  • feat: apply template variables to wrap_call by @hannahkm in #1168
  • fix(instrumentation/mongo): stop injected CommandMonitor from overriding a user's Monitor by @bhuvan-somisetty in #1158
  • fix(tool): prevent vet failures for instrumented cgo packages by @rarguelloF in #1193
  • fix(instrumentation/kafka-go): mark async producer spans and log otherwise-invisible async failures by @bhuvan-somisetty in #1178
  • doc(docs): Add footnote to clarify zero runtime overhead by @dhruv-ahuja in #1205

New Contributors

Full Changelog: v1.0.1...v1.1.0