Releases: launchdarkly/dotnet-core
Releases · launchdarkly/dotnet-core
LaunchDarkly.ClientSdk: v5.9.0
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.Ai: v0.11.0
Immutable
release. Only release title and notes can be modified.
0.11.0 (2026-06-11)
Features
- Add AgentConfig, AgentConfigs, and JudgeConfig methods to ILdAiClient (#282) (34293ca)
- Add Tools property to LdAiCompletionConfig — parses the same tools block agents use, exposes IReadOnlyDictionary<string, ToolConfig> (empty when absent) (69418c8)
- Add TrackDurationOf, TrackMetricsOf, TrackJudgeResult, TrackToolCall (#287) (485976e)
Bug Fixes
- Silently override 'ldctx' in user-supplied template variables instead of warning and discarding it — the SDK context always wins, matches cross-SDK behavior (69418c8)
This PR was generated with Release Please. See documentation.
LaunchDarkly.ServerSdk.Ai: v0.10.0
Immutable
release. Only release title and notes can be modified.
0.10.0 (2026-06-05)
⚠ BREAKING CHANGES
- Move Role from LaunchDarkly.Sdk.Server.Ai.DataModel into LdAiConfigTypes
- Rename LdAiConfig.ModelConfiguration to LdAiConfigTypes.ModelConfig and LdAiConfig.ModelProvider to LdAiConfigTypes.ProviderConfig
- Move shared types nested in LdAiConfig into static LdAiConfigTypes — Message, ModelConfiguration, and ModelProvider
- Enforce at-most-once tracking — each metric type (duration, tokens, feedback, success/error, time-to-first-token) records once per tracker; duplicates are dropped with a warning
- Add ResumptionToken on ILdAiConfigTracker and ILdAiClient.CreateTracker(resumptionToken, context) for cross-process tracker reconstruction with the original runId
- Add per-execution runId on all AI track event payloads for billing isolation
- Change CompletionConfig to return LdAiCompletionConfig instead of ILdAiConfigTracker — obtain a tracker via config.CreateTracker()
- Default LdAiCompletionConfigDefault.Enabled to true per AISDK spec (was false on the LdAiConfig builder in 0.9.x)
- Remove ILdAiConfigTracker.Config property — read config fields from the LdAiCompletionConfig the caller already holds
- Make LdAiConfigTracker SDK-constructed only — the public constructor is removed; obtain trackers via config.CreateTracker() or ILdAiClient.CreateTracker(resumptionToken, context)
- Convert LdAiCompletionConfig and LdAiCompletionConfigDefault from records to classes — equality is reference-based instead of structural
- Remove LaunchDarkly.Sdk.Server.Ai.DataModel namespace — delete unused AiConfig, Meta, Model, Provider, and Message JSON DTO classes
- Split unified LdAiConfig into LdAiCompletionConfig (SDK output) and LdAiCompletionConfigDefault (user input) — Builder, New(), and Disabled move to the Default type; introduce abstract LdAiConfig and LdAiConfigDefault base types for future agent/judge modes
Features
- Add MetricSummary property on ILdAiConfigTracker summarizing recorded metrics (44ff485)
- Add per-execution runId on all AI track event payloads for billing isolation (44ff485)
- Add ResumptionToken on ILdAiConfigTracker and ILdAiClient.CreateTracker(resumptionToken, context) for cross-process tracker reconstruction with the original runId (44ff485)
- Change CompletionConfig to return LdAiCompletionConfig instead of ILdAiConfigTracker — obtain a tracker via config.CreateTracker() (92f799f)
- Convert LdAiCompletionConfig and LdAiCompletionConfigDefault from records to classes — equality is reference-based instead of structural (92f799f)
- Default LdAiCompletionConfigDefault.Enabled to true per AISDK spec (was false on the LdAiConfig builder in 0.9.x) (92f799f)
- Enforce at-most-once tracking — each metric type (duration, tokens, feedback, success/error, time-to-first-token) records once per tracker; duplicates are dropped with a warning (44ff485)
- Make LdAiConfigTracker SDK-constructed only — the public constructor is removed; obtain trackers via config.CreateTracker() or ILdAiClient.CreateTracker(resumptionToken, context) (92f799f)
- Mode-mismatch detection — log a warning and return the caller's default when the flag's _ldMeta.mode does not match the requested mode (per sdk-specs#229) (92f799f)
- Move Role from LaunchDarkly.Sdk.Server.Ai.DataModel into LdAiConfigTypes (ac7fd06)
- Move shared types nested in LdAiConfig into static LdAiConfigTypes — Message, ModelConfiguration, and ModelProvider (ac7fd06)
- Non-object variation handling — log an error and return the caller's default when the variation result is not an object (92f799f)
- Per-message interpolation fallback — a malformed Mustache template keeps raw content for that message rather than discarding the entire config (92f799f)
- Remove ILdAiConfigTracker.Config property — read config fields from the LdAiCompletionConfig the caller already holds (92f799f)
- Remove LaunchDarkly.Sdk.Server.Ai.DataModel namespace — delete unused AiConfig, Meta, Model, Provider, and Message JSON DTO classes (92f799f)
- Rename LdAiConfig.ModelConfiguration to LdAiConfigTypes.ModelConfig and LdAiConfig.ModelProvider to LdAiConfigTypes.ProviderConfig (ac7fd06)
- Split unified LdAiConfig into LdAiCompletionConfig (SDK output) and LdAiCompletionConfigDefault (user input) — Builder, New(), and Disabled move to the Default type; introduce abstract LdAiConfig and LdAiConfigDefault base types for future agent/judge modes (92f799f)
- Tolerant LdValue parsing — missing or wrong-typed fields degrade to typed defaults instead of discarding the whole config (92f799f)
This PR was generated with Release Please. See documentation.
LaunchDarkly.ServerSdk: v8.14.0
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.Telemetry: v1.5.1
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.Redis: v5.1.1
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.DynamoDB: v5.0.1
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.Consul: v5.0.1
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk.Ai: v0.9.4
Immutable
release. Only release title and notes can be modified.
LaunchDarkly.ServerSdk: v8.13.0
Immutable
release. Only release title and notes can be modified.