Skip to content

chore: release main - #41

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

chore: release main#41
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

launchdarkly-ai-server: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • client: once the handlers move onto this layer, prompt and completion content will be absent from spans unless the caller passes capture_content=True. Anyone reading gen_ai.prompt.0.content today will need to opt in.

Features

  • client: cache-aware token accounting and a reusable span lifecycle (f54ef59)
  • client: end spans a cancelled run would otherwise strand (dff27f6)
  • client: put conversation content on spans behind an opt-in flag (2bb8310)
  • client: tell a cancelled stream apart from an abandoned one (14ed066)

Bug Fixes

  • client: a tool that returned nothing does not return null (eb61eb2)
  • client: carry the cache breakdown into the public UsageDict (c60fa7c)
  • client: guard the fourth content writer, and assert the family rule (d637b95)
  • client: keep the plain text a LangChain message holds in a list (c11adca)
  • client: make end_span_once a no-op on a None span (a1772c1)
  • client: read a LangChain ChatMessage's own speaker (d56103a)
  • client: read a LangChain message's role from the field, not only the method (641f8e1)
  • client: stop the content carriers disagreeing, and stop them crashing (b32d3fc)

Documentation

  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-claude-agents: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • claude-agents: stop an empty tool list switching off the built-ins
  • claude-agents: the span this handler emits is renamed from claude.query and claude.query.stream to invoke_agent. Queries selecting on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True.

Features

  • claude-agents: emit invoke_agent, chat and execute_tool spans (7831c81)

Bug Fixes

  • claude-agents: an abandoned stream is not an error for its tool spans (10b8158)
  • claude-agents: an empty run must not claim it cost nothing (85c73ff)
  • claude-agents: keep a tool span trackable when its content will not serialise (0738606)
  • claude-agents: keep the spans of a cancelled run (b7dddfa)
  • claude-agents: put the input content write inside the guard too (f0160c2)
  • claude-agents: report a cancelled stream as cancelled, not abandoned (d4f1b6f)
  • claude-agents: stop an empty tool list switching off the built-ins (50e82fd)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-claude-messages: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • claude-messages: the span this handler emits is renamed from claude.messages and claude.messages.stream to invoke_agent. Queries that select on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True.

Features

  • claude-messages: emit invoke_agent, chat and execute_tool spans (d4b5b6e)

Bug Fixes

  • claude-messages: close the tool span a cancelled tool leaves open (4f23cf4)
  • claude-messages: do not invent the cache figures Anthropic did not send (db417b1)
  • claude-messages: fail the streaming chat span instead of abandoning it (2f0e565)
  • claude-messages: forward capture_content from the convenience wrapper (b7531d3)
  • claude-messages: guard the streaming chat span's input write (6e358dd)
  • claude-messages: keep every blocking chat-span write inside the guard (21fb591)
  • claude-messages: keep the spans of a cancelled run (bb2e52f)
  • claude-messages: keep the streaming turn's billed tokens on a content failure (1933374)
  • claude-messages: put the input content write inside the guard too (4aaa497)
  • claude-messages: record a tool result inside the guard that ends its span (19d932e)
  • claude-messages: report a cancelled stream as cancelled, not abandoned (2d3379a)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-openai-agents: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • openai-agents: the span this handler emits is renamed from openai.agent.run and openai.agent.run.stream to invoke_agent. Queries selecting on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True.

Features

  • openai-agents: emit invoke_agent, chat and execute_tool spans (c5331eb)

Bug Fixes

  • openai-agents: cancel the Runner even when there are no spans (d9caaac)
  • openai-agents: close the tool span when the SDK reports no call id (1d66254)
  • openai-agents: end the chat span the hook already stopped tracking (9aecf05)
  • openai-agents: forward capture_content from the convenience wrapper (a2440e4)
  • openai-agents: keep a tool span trackable when its content will not serialise (32eb830)
  • openai-agents: keep the spans of a cancelled run (063a392)
  • openai-agents: put the input content write inside the guard too (ead8ed5)
  • openai-agents: report a cancelled stream as cancelled, not abandoned (2b246d0)
  • openai-agents: report tool arguments as an object, not a JSON string (c646b6a)
  • openai-agents: stop double-counting a failed run's token spend (8991dd5)
  • openai-agents: stop tying token accounting to span creation (0aa7241)
  • openai-agents: take the run total from the Runner, not from the hooks (64cd458)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-openai-messages: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • openai-messages: the span this handler emits is renamed from openai.response and openai.response.stream to invoke_agent. Queries selecting on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True.

Features

  • openai-messages: emit invoke_agent, chat and execute_tool spans (17ad375)

Bug Fixes

  • openai-messages: close the tool span a cancelled tool leaves open (35a254d)
  • openai-messages: drop output items that produced no content (66bacd0)
  • openai-messages: fail the streaming chat span, and keep its tokens (83f8684)
  • openai-messages: forward capture_content from the convenience wrapper (495391f)
  • openai-messages: keep every chat-span write inside the guard that ends it (a4fed91)
  • openai-messages: keep the spans of a cancelled run (c93a902)
  • openai-messages: keep the tokens a turn already cost when its content fails (8501379)
  • openai-messages: record a tool result inside the guard that ends its span (6b9813b)
  • openai-messages: report a cancelled stream as cancelled, not abandoned (76c4cef)
  • openai-messages: report tool arguments as an object, not a JSON string (a6b9da9)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-langchain-agents: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • langchain-agents: the span this handler emits is renamed from langchain.agent and langchain.agent.stream to invoke_agent. Queries selecting on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True. gen_ai.system changes value; see below.

Features

  • langchain-agents: emit invoke_agent, chat and execute_tool spans (7683c9d)

Bug Fixes

  • langchain-agents: a callback that raises must not leave a span unreachable (2169a05)
  • langchain-agents: a reported zero token count is not a missing one (0d5e38c)
  • langchain-agents: an abandoned stream marks its open spans, it does not fail them (d087d73)
  • langchain-agents: forward capture_content from the convenience wrapper (06b210d)
  • langchain-agents: keep a turn's billed tokens when its content write fails (485db67)
  • langchain-agents: keep the spans of a cancelled run (ff53cc6)
  • langchain-agents: make a successful run's total agree with its own spans (6333808)
  • langchain-agents: put the input content write inside the guard too (0fa4ed1)
  • langchain-agents: record the root completion the way the chat span does (1f4242b)
  • langchain-agents: report a cancelled stream as cancelled, not abandoned (010a9ca)
  • langchain-agents: total the streaming root from the callbacks when the messages report nothing (6ff5a94)
  • langchain-agents: track the chat span before writing content that can raise (883da7b)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)
launchdarkly-ai-langchain-messages: 0.2.0

0.2.0 (2026-08-14)

⚠ BREAKING CHANGES

  • langchain-messages: the span this handler emits is renamed from langchain.invoke and langchain.stream to invoke_agent. Queries selecting on the old names will not match. Prompt and completion content is no longer on spans unless the caller passes capture_content=True. gen_ai.system changes value; see below.

Features

  • langchain-messages: emit invoke_agent, chat and execute_tool spans (51032b5)

Bug Fixes

  • langchain-messages: close the tool span a cancelled tool leaves open (53c7f9a)
  • langchain-messages: do not serialise the output nobody asked for (0c9a5dd)
  • langchain-messages: fail the streaming chat span, and keep its tokens (b084536)
  • langchain-messages: forward capture_content from the convenience wrapper (79d8030)
  • langchain-messages: guard the per-turn chat span's input write too (2b901b4)
  • langchain-messages: guard the streaming root's output write (178891a)
  • langchain-messages: keep every structured-turn write inside the guard (de76f8b)
  • langchain-messages: keep the spans of a cancelled run (9c30fb3)
  • langchain-messages: one structured strategy, and don't report zeros as spend (d7129d4)
  • langchain-messages: put the input content write inside the guard too (a68fdff)
  • langchain-messages: record a tool result inside the guard that ends its span (72c7481)
  • langchain-messages: report a cancelled stream as cancelled, not abandoned (9b8e10d)
  • langchain-messages: two more ways a run misreported itself (ad90d70)
  • langchain-messages: two ways a run could vanish from its own trace (b8bdfaf)

Documentation

  • describe the span tree the SDK now emits (bc7815a)
  • describe the span tree the SDK now emits (#37) (6a82ef5)

This PR was generated with Release Please. See documentation.


Note

Overview
Release 0.2.0 for launchdarkly-ai-server and the Claude, OpenAI, and LangChain handler packages (agents + messages), plus manifest and version metadata updates.

This cut documents a breaking telemetry contract: handler root spans move to invoke_agent (replacing provider-specific names like claude.query, openai.agent.run, langchain.invoke), with chat and execute_tool children. Dashboards or queries keyed on old span names need updates. Prompt/completion on spans is opt-in via capture_content=True; attributes such as gen_ai.prompt.0.content are no longer populated by default.

The core client adds shared span lifecycle helpers, cache-aware token fields on usage, and clearer cancelled vs abandoned stream handling. Handler changelogs note many fixes around stranded spans on cancel, guarded content writes, and more accurate token totals.

Reviewed by Cursor Bugbot for commit d2c297e. Bugbot is set up for automated code reviews on this repo. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants