From 554b718c93ea4df1a34811b75d88c6171bc5909b Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Wed, 17 Jun 2026 20:23:56 -0700 Subject: [PATCH 1/2] convert unreleased sections in changelog to towncrier --- .../CHANGELOG.md | 32 ------------------- .../CHANGELOG.md | 10 ------ .../CHANGELOG.md | 14 -------- .../CHANGELOG.md | 12 ------- .../CHANGELOG.md | 11 ------- .../CHANGELOG.md | 7 +--- .../CHANGELOG.md | 8 ----- scripts/changelog_template.j2 | 4 +-- util/opentelemetry-util-genai/CHANGELOG.md | 15 --------- 9 files changed, 3 insertions(+), 110 deletions(-) diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-anthropic/CHANGELOG.md index 1110f74c..54bfa4a7 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-anthropic/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/CHANGELOG.md @@ -10,39 +10,7 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> - -## Unreleased - -- Update `opentelemetry-util-genai` dependency range to `>= 0.4b0.dev, <0.5b0` - ([#4520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4520)) -- Fix compatibility with wrapt 2.x by using positional arguments in `wrap_function_wrapper()` calls - ([#4445](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4445)) - -### Added - -- Add instrumentation for Anthropic `Messages.stream()` helper method - ([#4499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4499)) -- Add async Anthropic message stream wrappers and manager wrappers, with wrapper - tests ([#4346](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4346)) - - `AsyncMessagesStreamWrapper` for async message stream telemetry - - `AsyncMessagesStreamManagerWrapper` for async `Messages.stream()` telemetry -- Add sync streaming support for `Messages.create(stream=True)` and `Messages.stream()` - ([#4155](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4155)) - - `StreamWrapper` for handling `Messages.create(stream=True)` telemetry - - `MessageStreamManagerWrapper` for handling `Messages.stream()` telemetry - - `MessageWrapper` for non-streaming response telemetry extraction -- Initial implementation of Anthropic instrumentation - ([#3978](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3978)) -- Implement sync `Messages.create` instrumentation with GenAI semantic convention attributes - ([#4034](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4034)) - - Captures request attributes: `gen_ai.request.model`, `gen_ai.request.max_tokens`, `gen_ai.request.temperature`, `gen_ai.request.top_p`, `gen_ai.request.top_k`, `gen_ai.request.stop_sequences` - - Captures response attributes: `gen_ai.response.id`, `gen_ai.response.model`, `gen_ai.response.finish_reasons`, `gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens` - - Error handling with `error.type` attribute - - Minimum supported anthropic version is 0.16.0 (SDK uses modern `anthropic.resources.messages` module structure introduced in this version) diff --git a/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/CHANGELOG.md index f99eb45f..e66141b7 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/CHANGELOG.md @@ -10,18 +10,8 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> -## Unreleased - -- Update `opentelemetry-util-genai` dependency range to `>= 0.4b0.dev, <0.5b0` - ([#4520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4520)) - -### Added - diff --git a/instrumentation/opentelemetry-instrumentation-genai-langchain/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-langchain/CHANGELOG.md index 2b504fdb..54bfa4a7 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-langchain/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-langchain/CHANGELOG.md @@ -10,21 +10,7 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> - -## Unreleased - -- Fix compatibility with wrapt 2.x by using positional arguments in `wrap_function_wrapper()` calls - ([#4445](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4445)) -- Added span support for genAI langchain llm invocation. - ([#3665](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3665)) -- Added support to call genai utils handler for langchain LLM invocations. - ([#3889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3889)) -- Added log and metrics provider to langchain genai utils handler - ([#4214](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4214)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai-agents/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/CHANGELOG.md index 7ed10e77..fb53cc53 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-openai-agents/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/CHANGELOG.md @@ -10,23 +10,11 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> -## Unreleased -- Align AgentSpanData test stubs and span processor with real OpenAI Agents SDK; - remove non-existent `operation`, `description`, `agent_id`, and `model` fields. - ([#4229](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4229)) -- Document official package metadata and README for the OpenAI Agents instrumentation. - ([#3859](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3859)) -- Populate instructions and tool definitions from Response obj. - ([#4196](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4196)) - ## Version 0.1.0 (2025-10-15) - Initial barebones package skeleton: minimal instrumentor stub, version module, diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-openai/CHANGELOG.md index d5e24e76..b52554b4 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-openai/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-openai/CHANGELOG.md @@ -10,22 +10,11 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> -## Unreleased - -- Refactor chat completion stream wrappers to use shared GenAI stream lifecycle helpers. - ([#4500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4500)) -- Pass tool definitions from `tools` kwarg to `InferenceInvocation.tool_definitions` - so `gen_ai.tool.definitions` span attribute is populated on chat completion spans - ([#4554](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4554)) - ## Version 2.4b0 (2026-05-01) diff --git a/instrumentation/opentelemetry-instrumentation-genai-weaviate-client/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-genai-weaviate-client/CHANGELOG.md index 38dac447..3937cc08 100644 --- a/instrumentation/opentelemetry-instrumentation-genai-weaviate-client/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-genai-weaviate-client/CHANGELOG.md @@ -10,12 +10,7 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> - - -## Unreleased \ No newline at end of file + \ No newline at end of file diff --git a/instrumentation/opentelemetry-instrumentation-google-genai/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-google-genai/CHANGELOG.md index b350c3b6..f3cb7f9d 100644 --- a/instrumentation/opentelemetry-instrumentation-google-genai/CHANGELOG.md +++ b/instrumentation/opentelemetry-instrumentation-google-genai/CHANGELOG.md @@ -10,19 +10,11 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> -## Unreleased - --Add `gen_ai.usage.reasoning.output_tokens` attribute to capture thinking tokens on spans/events when the experimental sem conv flag is set. Add thinking tokens to output tokens. ([#4313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4313)) --Add `gen_ai.usage.cache_read.input_tokens` attribute to capture cached tokens on spans/events when the experimental sem conv flag is set. ([#4313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4313)) - ## Version 0.7b0 (2026-02-20) - Fix bug in how tokens are counted when using the streaming `generateContent` method. ([#4152](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4152)). - Add `gen_ai.tool.definitions` attribute to `gen_ai.client.inference.operation.details` log event ([#4142](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4142)). diff --git a/scripts/changelog_template.j2 b/scripts/changelog_template.j2 index 55ac56fe..bb71e133 100644 --- a/scripts/changelog_template.j2 +++ b/scripts/changelog_template.j2 @@ -10,12 +10,12 @@ {% for text, values in sections[section][category].items() %} {% if "\n - " in text or '\n * ' in text %} {%- set main_text, sub_items = text.split('\n', 1) %} -- {{ main_text }} ({{ values|join(', ') }}) +- {{ main_text }}{% if values %} ({{ values|join(', ') }}){% endif +%} {% if sub_items %} {{- sub_items }} {% endif %} {% else %} -- {{ text }} ({{ values|join(', ') }}) +- {{ text }}{% if values %} ({{ values|join(', ') }}){% endif +%} {% endif %} {% endfor %} diff --git a/util/opentelemetry-util-genai/CHANGELOG.md b/util/opentelemetry-util-genai/CHANGELOG.md index 3ea3ebbd..37dbd1f8 100644 --- a/util/opentelemetry-util-genai/CHANGELOG.md +++ b/util/opentelemetry-util-genai/CHANGELOG.md @@ -10,26 +10,11 @@ Do *NOT* add changelog entries here! This changelog is managed by towncrier and is compiled at release time. -The static "## Unreleased" section below pre-dates towncrier; its entries -must be folded into the first towncrier-generated release manually. - See https://github.com/open-telemetry/opentelemetry-python-genai/blob/main/CONTRIBUTING.md#changelog for details. --> -## Unreleased - -- Add shared sync and async stream wrapper base classes for GenAI instrumentations. - ([#4500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4500)) -- Change `InferenceInvocation` init params to only accept base params -- Pass in `attributes` on invocation `_start` so samplers have access to attributes. - ([#4538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4538)) -- Apply attribute for sampling on instantiation of all invocation types. - ([#4553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4553)) -- Minor code cleanup and changes in preparation of moving google's GenAI instrumentation - library to use this util library ([#4556](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4556)) - ## Version 0.4b0 (2026-05-01) - Add `AgentInvocation` type with `invoke_agent` span lifecycle From e4d8b77387e6960f9c8cfaf0ad97b06197d99a63 Mon Sep 17 00:00:00 2001 From: Liudmila Molkova Date: Wed, 17 Jun 2026 20:24:09 -0700 Subject: [PATCH 2/2] convert unreleased sections in changelog to towncrier --- .../.changelog/+async-stream-wrappers.added | 3 +++ .../.changelog/+initial-implementation.added | 1 + .../.changelog/+messages-stream-helper.added | 1 + .../.changelog/+sync-messages-create.added | 5 +++++ .../.changelog/+sync-streaming-support.added | 4 ++++ .../.changelog/+util-genai-dependency-range.changed | 1 + .../.changelog/+wrapt-2-compat.fixed | 1 + .../.changelog/+util-genai-dependency-range.changed | 1 + .../.changelog/+genai-utils-handler.added | 1 + .../.changelog/+llm-invocation-span-support.added | 1 + .../.changelog/+log-metrics-provider.added | 1 + .../.changelog/+wrapt-2-compat.fixed | 1 + .../.changelog/+align-agentspandata-stubs.changed | 1 + .../.changelog/+package-metadata-readme.added | 1 + .../.changelog/+populate-instructions-tool-definitions.added | 1 + .../.changelog/+refactor-stream-wrappers.changed | 1 + .../.changelog/+tool-definitions-span-attr.added | 1 + .../.changelog/+cache-read-input-tokens-attr.added | 1 + .../.changelog/+reasoning-output-tokens-attr.added | 1 + .../.changelog/+google-genai-migration-prep.changed | 1 + .../.changelog/+inference-invocation-base-params.changed | 1 + .../.changelog/+sampling-attribute-on-instantiation.changed | 1 + .../.changelog/+sampling-attributes-on-start.changed | 1 + .../.changelog/+stream-wrapper-base-classes.added | 1 + 24 files changed, 33 insertions(+) create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+async-stream-wrappers.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+initial-implementation.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+messages-stream-helper.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-messages-create.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-streaming-support.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+util-genai-dependency-range.changed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+wrapt-2-compat.fixed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/.changelog/+util-genai-dependency-range.changed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+genai-utils-handler.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+llm-invocation-span-support.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+log-metrics-provider.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+wrapt-2-compat.fixed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+align-agentspandata-stubs.changed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+package-metadata-readme.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+populate-instructions-tool-definitions.added create mode 100644 instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+refactor-stream-wrappers.changed create mode 100644 instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+tool-definitions-span-attr.added create mode 100644 instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+cache-read-input-tokens-attr.added create mode 100644 instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+reasoning-output-tokens-attr.added create mode 100644 util/opentelemetry-util-genai/.changelog/+google-genai-migration-prep.changed create mode 100644 util/opentelemetry-util-genai/.changelog/+inference-invocation-base-params.changed create mode 100644 util/opentelemetry-util-genai/.changelog/+sampling-attribute-on-instantiation.changed create mode 100644 util/opentelemetry-util-genai/.changelog/+sampling-attributes-on-start.changed create mode 100644 util/opentelemetry-util-genai/.changelog/+stream-wrapper-base-classes.added diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+async-stream-wrappers.added b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+async-stream-wrappers.added new file mode 100644 index 00000000..4b382583 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+async-stream-wrappers.added @@ -0,0 +1,3 @@ +Add async Anthropic message stream wrappers and manager wrappers, with wrapper tests ([#4346](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4346)) + - `AsyncMessagesStreamWrapper` for async message stream telemetry + - `AsyncMessagesStreamManagerWrapper` for async `Messages.stream()` telemetry diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+initial-implementation.added b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+initial-implementation.added new file mode 100644 index 00000000..429d4705 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+initial-implementation.added @@ -0,0 +1 @@ +Initial implementation of Anthropic instrumentation ([#3978](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3978)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+messages-stream-helper.added b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+messages-stream-helper.added new file mode 100644 index 00000000..79e3f399 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+messages-stream-helper.added @@ -0,0 +1 @@ +Add instrumentation for Anthropic `Messages.stream()` helper method ([#4499](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4499)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-messages-create.added b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-messages-create.added new file mode 100644 index 00000000..99d5715d --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-messages-create.added @@ -0,0 +1,5 @@ +Implement sync `Messages.create` instrumentation with GenAI semantic convention attributes ([#4034](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4034)) + - Captures request attributes: `gen_ai.request.model`, `gen_ai.request.max_tokens`, `gen_ai.request.temperature`, `gen_ai.request.top_p`, `gen_ai.request.top_k`, `gen_ai.request.stop_sequences` + - Captures response attributes: `gen_ai.response.id`, `gen_ai.response.model`, `gen_ai.response.finish_reasons`, `gen_ai.usage.input_tokens`, `gen_ai.usage.output_tokens` + - Error handling with `error.type` attribute + - Minimum supported anthropic version is 0.16.0 (SDK uses modern `anthropic.resources.messages` module structure introduced in this version) diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-streaming-support.added b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-streaming-support.added new file mode 100644 index 00000000..9138b300 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+sync-streaming-support.added @@ -0,0 +1,4 @@ +Add sync streaming support for `Messages.create(stream=True)` and `Messages.stream()` ([#4155](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4155)) + - `StreamWrapper` for handling `Messages.create(stream=True)` telemetry + - `MessageStreamManagerWrapper` for handling `Messages.stream()` telemetry + - `MessageWrapper` for non-streaming response telemetry extraction diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+util-genai-dependency-range.changed b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+util-genai-dependency-range.changed new file mode 100644 index 00000000..f2c05a9a --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+util-genai-dependency-range.changed @@ -0,0 +1 @@ +Update `opentelemetry-util-genai` dependency range to `>= 0.4b0.dev, <0.5b0` ([#4520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4520)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+wrapt-2-compat.fixed b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+wrapt-2-compat.fixed new file mode 100644 index 00000000..18635dc8 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-anthropic/.changelog/+wrapt-2-compat.fixed @@ -0,0 +1 @@ +Fix compatibility with wrapt 2.x by using positional arguments in `wrap_function_wrapper()` calls ([#4445](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4445)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/.changelog/+util-genai-dependency-range.changed b/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/.changelog/+util-genai-dependency-range.changed new file mode 100644 index 00000000..f2c05a9a --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-claude-agent-sdk/.changelog/+util-genai-dependency-range.changed @@ -0,0 +1 @@ +Update `opentelemetry-util-genai` dependency range to `>= 0.4b0.dev, <0.5b0` ([#4520](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4520)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+genai-utils-handler.added b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+genai-utils-handler.added new file mode 100644 index 00000000..c180938f --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+genai-utils-handler.added @@ -0,0 +1 @@ +Added support to call genai utils handler for langchain LLM invocations. ([#3889](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3889)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+llm-invocation-span-support.added b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+llm-invocation-span-support.added new file mode 100644 index 00000000..464ba0d3 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+llm-invocation-span-support.added @@ -0,0 +1 @@ +Added span support for genAI langchain llm invocation. ([#3665](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3665)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+log-metrics-provider.added b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+log-metrics-provider.added new file mode 100644 index 00000000..de43dbc1 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+log-metrics-provider.added @@ -0,0 +1 @@ +Added log and metrics provider to langchain genai utils handler ([#4214](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4214)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+wrapt-2-compat.fixed b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+wrapt-2-compat.fixed new file mode 100644 index 00000000..18635dc8 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-langchain/.changelog/+wrapt-2-compat.fixed @@ -0,0 +1 @@ +Fix compatibility with wrapt 2.x by using positional arguments in `wrap_function_wrapper()` calls ([#4445](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4445)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+align-agentspandata-stubs.changed b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+align-agentspandata-stubs.changed new file mode 100644 index 00000000..47a8b06c --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+align-agentspandata-stubs.changed @@ -0,0 +1 @@ +Align AgentSpanData test stubs and span processor with real OpenAI Agents SDK; remove non-existent `operation`, `description`, `agent_id`, and `model` fields. ([#4229](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4229)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+package-metadata-readme.added b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+package-metadata-readme.added new file mode 100644 index 00000000..6e0be4cf --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+package-metadata-readme.added @@ -0,0 +1 @@ +Document official package metadata and README for the OpenAI Agents instrumentation. ([#3859](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/3859)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+populate-instructions-tool-definitions.added b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+populate-instructions-tool-definitions.added new file mode 100644 index 00000000..dc35a5f7 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-openai-agents/.changelog/+populate-instructions-tool-definitions.added @@ -0,0 +1 @@ +Populate instructions and tool definitions from Response obj. ([#4196](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4196)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+refactor-stream-wrappers.changed b/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+refactor-stream-wrappers.changed new file mode 100644 index 00000000..ba33af2f --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+refactor-stream-wrappers.changed @@ -0,0 +1 @@ +Refactor chat completion stream wrappers to use shared GenAI stream lifecycle helpers. ([#4500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4500)) diff --git a/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+tool-definitions-span-attr.added b/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+tool-definitions-span-attr.added new file mode 100644 index 00000000..2f909583 --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-genai-openai/.changelog/+tool-definitions-span-attr.added @@ -0,0 +1 @@ +Pass tool definitions from `tools` kwarg to `InferenceInvocation.tool_definitions` so `gen_ai.tool.definitions` span attribute is populated on chat completion spans ([#4554](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4554)) diff --git a/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+cache-read-input-tokens-attr.added b/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+cache-read-input-tokens-attr.added new file mode 100644 index 00000000..d6ddebcc --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+cache-read-input-tokens-attr.added @@ -0,0 +1 @@ +Add `gen_ai.usage.cache_read.input_tokens` attribute to capture cached tokens on spans/events when the experimental sem conv flag is set. ([#4313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4313)) diff --git a/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+reasoning-output-tokens-attr.added b/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+reasoning-output-tokens-attr.added new file mode 100644 index 00000000..48e072be --- /dev/null +++ b/instrumentation/opentelemetry-instrumentation-google-genai/.changelog/+reasoning-output-tokens-attr.added @@ -0,0 +1 @@ +Add `gen_ai.usage.reasoning.output_tokens` attribute to capture thinking tokens on spans/events when the experimental sem conv flag is set. Add thinking tokens to output tokens. ([#4313](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4313)) diff --git a/util/opentelemetry-util-genai/.changelog/+google-genai-migration-prep.changed b/util/opentelemetry-util-genai/.changelog/+google-genai-migration-prep.changed new file mode 100644 index 00000000..0729c884 --- /dev/null +++ b/util/opentelemetry-util-genai/.changelog/+google-genai-migration-prep.changed @@ -0,0 +1 @@ +Minor code cleanup and changes in preparation of moving google's GenAI instrumentation library to use this util library ([#4556](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4556)) diff --git a/util/opentelemetry-util-genai/.changelog/+inference-invocation-base-params.changed b/util/opentelemetry-util-genai/.changelog/+inference-invocation-base-params.changed new file mode 100644 index 00000000..95878fe2 --- /dev/null +++ b/util/opentelemetry-util-genai/.changelog/+inference-invocation-base-params.changed @@ -0,0 +1 @@ +Change `InferenceInvocation` init params to only accept base params diff --git a/util/opentelemetry-util-genai/.changelog/+sampling-attribute-on-instantiation.changed b/util/opentelemetry-util-genai/.changelog/+sampling-attribute-on-instantiation.changed new file mode 100644 index 00000000..3ec22505 --- /dev/null +++ b/util/opentelemetry-util-genai/.changelog/+sampling-attribute-on-instantiation.changed @@ -0,0 +1 @@ +Apply attribute for sampling on instantiation of all invocation types. ([#4553](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4553)) diff --git a/util/opentelemetry-util-genai/.changelog/+sampling-attributes-on-start.changed b/util/opentelemetry-util-genai/.changelog/+sampling-attributes-on-start.changed new file mode 100644 index 00000000..69cba3d2 --- /dev/null +++ b/util/opentelemetry-util-genai/.changelog/+sampling-attributes-on-start.changed @@ -0,0 +1 @@ +Pass in `attributes` on invocation `_start` so samplers have access to attributes. ([#4538](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4538)) diff --git a/util/opentelemetry-util-genai/.changelog/+stream-wrapper-base-classes.added b/util/opentelemetry-util-genai/.changelog/+stream-wrapper-base-classes.added new file mode 100644 index 00000000..3124f9fc --- /dev/null +++ b/util/opentelemetry-util-genai/.changelog/+stream-wrapper-base-classes.added @@ -0,0 +1 @@ +Add shared sync and async stream wrapper base classes for GenAI instrumentations. ([#4500](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/4500))