Skip to content

launchdarkly-ai-server: v0.2.0

Choose a tag to compare

@github-actions github-actions released this 08 Sep 22:28
Immutable release. Only release title and notes can be modified.
7f14688

0.2.0 (2026-09-08)

⚠ 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

  • add evaluations module scaffold, credentials, LD API client, result types (80fd4e4)
  • AIC-3230: emit evaluation context identity (#65) (ca30e83)
  • 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)
  • emit $ld:ai:sdk:info event per AI package (#62) (65136a3)
  • emit conversation id and judge evals (1b0f5bd)
  • emit evaluation context identity on feature_flag spans (97528e3)
  • emit gen_ai.conversation.id (#42) (c372e56)
  • evaluations: configure run link UI base (4cbcbd6)
  • evaluations: emit generation events (311b012)
  • evaluations: event-based offline evaluations runner (#39) (4239739)
  • evaluations: make summary poll interval and timeout configurable per run (cd84352)
  • evaluations: print event emission timestamps (0079289)
  • evaluations: require an SDK key and fail fast when it is missing (a1ba71e)
  • gate evaluation generation result ingest (0ea442f)
  • gate the judge explanation on capture_content (8a66365)
  • record judge scores as gen_ai.evaluation.result (2604816)
  • record judge scores as gen_ai.evaluation.result (#43) (7c8b0c9)
  • run client-side evaluations from the SDK (50fee37)

Bug Fixes

  • AIC-3230: align user context canonical identity (68a5c2b)
  • align evaluations with staging dataset and run APIs (28f8eb1)
  • bind conversation id at stream() call time (bda8393)
  • 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)
  • delay only LaunchDarkly invoke_agent spans during judge evals (af5a92c)
  • evaluations: accept a BYOC client without an SDK key and reject NaN poll values (ab5a4e5)
  • evaluations: avoid replaying non-idempotent POSTs and blocking the event loop (485dc85)
  • evaluations: derive result from summary (a7acc68)
  • evaluations: emit direct generation output (b98b643)
  • evaluations: flatten generation event payload (a0254d0)
  • evaluations: include evaluation run event ID (8cae0e4)
  • evaluations: nest generation usage tokens (c88e9ae)
  • evaluations: poll run summary to terminal state (75d3072)
  • evaluations: return pending summaries promptly (ec3e290)
  • evaluations: use API run source (433273a)
  • return JudgeResult objects from inline judges (c9e20a2)
  • scope the processor, keep streaming parenting, accept a nullish id (9794d36)
  • stop exporting judge reasoning, validate the score, freeze the end time (8fa4f6f)
  • use tool keys in tool call telemetry (841ba77)
  • use tool keys in tool call telemetry (#56) (ae3130f)

Documentation

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