diff --git a/.release-please-manifest.json b/.release-please-manifest.json index ac5ea41..7ce3bc7 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,6 +1,6 @@ { - "packages/sdk/server-ai": "0.17.0", - "packages/ai-providers/server-ai-langchain": "0.4.1", - "packages/ai-providers/server-ai-openai": "0.3.0", + "packages/sdk/server-ai": "0.18.0", + "packages/ai-providers/server-ai-langchain": "0.5.0", + "packages/ai-providers/server-ai-openai": "0.4.0", "packages/optimization": "0.1.0" } diff --git a/packages/ai-providers/server-ai-langchain/CHANGELOG.md b/packages/ai-providers/server-ai-langchain/CHANGELOG.md index e30fad2..1b09c7d 100644 --- a/packages/ai-providers/server-ai-langchain/CHANGELOG.md +++ b/packages/ai-providers/server-ai-langchain/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to the LaunchDarkly Python AI LangChain provider package will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org). +## [0.5.0](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-langchain-0.4.1...launchdarkly-server-sdk-ai-langchain-0.5.0) (2026-04-21) + + +### Features + +* Updated to use per-execution tracker lifecycle via `create_tracker()` instead of static tracker instances +* Renamed graph metrics method from `track_latency()` to `track_duration()` for consistency +* Moved graph_key configuration from graph tracker instantiation to node tracker initialization +* Removed graph_key parameter from node-level tracker methods as it is now set during tracker creation + +### Dependencies + +* Updated for compatibility with `launchdarkly-server-sdk-ai` 0.18.0 + ## [0.4.1](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-langchain-0.4.0...launchdarkly-server-sdk-ai-langchain-0.4.1) (2026-04-07) diff --git a/packages/ai-providers/server-ai-langchain/pyproject.toml b/packages/ai-providers/server-ai-langchain/pyproject.toml index 806fdaa..8bced6f 100644 --- a/packages/ai-providers/server-ai-langchain/pyproject.toml +++ b/packages/ai-providers/server-ai-langchain/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "launchdarkly-server-sdk-ai-langchain" -version = "0.4.1" +version = "0.5.0" description = "LaunchDarkly AI SDK LangChain Provider" authors = [{name = "LaunchDarkly", email = "dev@launchdarkly.com"}] license = {text = "Apache-2.0"} @@ -20,7 +20,7 @@ classifiers = [ "Topic :: Software Development :: Libraries", ] dependencies = [ - "launchdarkly-server-sdk-ai>=0.17.0", + "launchdarkly-server-sdk-ai>=0.18.0", "langchain-core>=1.0.0", "langchain>=1.0.0", ] diff --git a/packages/ai-providers/server-ai-openai/CHANGELOG.md b/packages/ai-providers/server-ai-openai/CHANGELOG.md index 8381fcf..3df9978 100644 --- a/packages/ai-providers/server-ai-openai/CHANGELOG.md +++ b/packages/ai-providers/server-ai-openai/CHANGELOG.md @@ -2,6 +2,20 @@ All notable changes to the LaunchDarkly Python AI OpenAI provider package will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org). +## [0.4.0](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-openai-0.3.0...launchdarkly-server-sdk-ai-openai-0.4.0) (2026-04-21) + + +### Features + +* Updated to use per-execution tracker lifecycle via `create_tracker()` instead of static tracker instances +* Renamed graph metrics method from `track_latency()` to `track_duration()` for consistency +* Moved graph_key configuration from graph tracker instantiation to node tracker initialization +* Cached node trackers during graph execution to ensure consistent runId across node-level events + +### Dependencies + +* Updated for compatibility with `launchdarkly-server-sdk-ai` 0.18.0 + ## [0.3.0](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-openai-0.2.1...launchdarkly-server-sdk-ai-openai-0.3.0) (2026-04-02) diff --git a/packages/ai-providers/server-ai-openai/pyproject.toml b/packages/ai-providers/server-ai-openai/pyproject.toml index 81b405d..1b10287 100644 --- a/packages/ai-providers/server-ai-openai/pyproject.toml +++ b/packages/ai-providers/server-ai-openai/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "launchdarkly-server-sdk-ai-openai" -version = "0.3.0" +version = "0.4.0" description = "LaunchDarkly AI SDK OpenAI Provider" authors = [{name = "LaunchDarkly", email = "dev@launchdarkly.com"}] license = {text = "Apache-2.0"} @@ -20,7 +20,7 @@ classifiers = [ "Topic :: Software Development :: Libraries", ] dependencies = [ - "launchdarkly-server-sdk-ai>=0.17.0", + "launchdarkly-server-sdk-ai>=0.18.0", "openai>=1.0.0", ] diff --git a/packages/sdk/server-ai/CHANGELOG.md b/packages/sdk/server-ai/CHANGELOG.md index 33e197a..24d47da 100644 --- a/packages/sdk/server-ai/CHANGELOG.md +++ b/packages/sdk/server-ai/CHANGELOG.md @@ -2,6 +2,30 @@ All notable changes to the LaunchDarkly Python AI package will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org). +## [0.18.0](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-0.17.0...launchdarkly-server-sdk-ai-0.18.0) (2026-04-21) + + +### ⚠ BREAKING CHANGES + +* Add per-execution runId, at-most-once tracking, and cross-process tracker resumption ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) +* `AICompletionConfig`, `AIAgentConfig`, and `AIJudgeConfig`: `tracker` field replaced with `create_tracker` factory callable ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) +* `ManagedModel`, `ManagedAgent`, `Judge`, and `ManagedAgentGraph` constructors no longer accept a tracker parameter; tracker is now created on-demand via `create_tracker` ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) +* `ManagedAgentGraph.get_tracker()` method removed ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) +* rename track_latency to track_duration on AIGraphTracker ([#138](https://github.com/launchdarkly/python-server-sdk-ai/issues/138)) +* `graph_key` keyword argument removed from all `LDAIConfigTracker.track_*()` methods; trackers retrieved via a graph definition are automatically configured with the correct graph key ([#134](https://github.com/launchdarkly/python-server-sdk-ai/issues/134)) +* Flatten JudgeResponse and EvalScore into new JudgeResult ([#132](https://github.com/launchdarkly/python-server-sdk-ai/issues/132)) +* `LDAIConfigTracker.track_eval_scores()` and `track_judge_response()` removed and consolidated into `track_judge_result()` ([#132](https://github.com/launchdarkly/python-server-sdk-ai/issues/132)) +* `AIGraphTracker.track_judge_response()` method removed ([#132](https://github.com/launchdarkly/python-server-sdk-ai/issues/132)) +* `Judge.evaluate()` and `evaluate_messages()` now always return a `JudgeResult` object; use `result.sampled` to check if evaluation was actually executed ([#132](https://github.com/launchdarkly/python-server-sdk-ai/issues/132)) + +### Features + +* Add per-execution runId, at-most-once tracking, and cross-process tracker resumption ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) ([68685cd](https://github.com/launchdarkly/python-server-sdk-ai/commit/68685cd9623105b0b01dd57942538c047615f4f2)) +* Flatten JudgeResponse and EvalScore into new JudgeResult ([#132](https://github.com/launchdarkly/python-server-sdk-ai/issues/132)) ([af4e463](https://github.com/launchdarkly/python-server-sdk-ai/commit/af4e46332c5d9a668a7172012c89871d0fb90b56)) +* Move graph_key to AIConfigTracker instantiation ([#134](https://github.com/launchdarkly/python-server-sdk-ai/issues/134)) ([20fff24](https://github.com/launchdarkly/python-server-sdk-ai/commit/20fff24fcd02aa101d7f9a6c21dc6a25e7916a1c)) +* rename track_latency to track_duration on AIGraphTracker ([#138](https://github.com/launchdarkly/python-server-sdk-ai/issues/138)) ([05758a7](https://github.com/launchdarkly/python-server-sdk-ai/commit/05758a735db0c2defc4e08d02282a46f559220e5)) +* Add `LDAIConfigTracker.resumption_token()` and `from_resumption_token()` methods to continue tracking a run from a separate process ([#133](https://github.com/launchdarkly/python-server-sdk-ai/issues/133)) ([68685cd](https://github.com/launchdarkly/python-server-sdk-ai/commit/68685cd9623105b0b01dd57942538c047615f4f2)) + ## [0.17.0](https://github.com/launchdarkly/python-server-sdk-ai/compare/launchdarkly-server-sdk-ai-0.16.1...launchdarkly-server-sdk-ai-0.17.0) (2026-04-02) diff --git a/packages/sdk/server-ai/PROVENANCE.md b/packages/sdk/server-ai/PROVENANCE.md index 28257d9..da28fb5 100644 --- a/packages/sdk/server-ai/PROVENANCE.md +++ b/packages/sdk/server-ai/PROVENANCE.md @@ -9,7 +9,7 @@ To verify build provenance attestations, we recommend using the [GitHub CLI `att ``` # Set the version of the library to verify -VERSION=0.17.0 +VERSION=0.18.0 ``` diff --git a/packages/sdk/server-ai/pyproject.toml b/packages/sdk/server-ai/pyproject.toml index cb89806..f538e76 100644 --- a/packages/sdk/server-ai/pyproject.toml +++ b/packages/sdk/server-ai/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "launchdarkly-server-sdk-ai" -version = "0.17.0" # x-release-please-version +version = "0.18.0" # x-release-please-version description = "LaunchDarkly SDK for AI" authors = [{name = "LaunchDarkly", email = "dev@launchdarkly.com"}] license = {text = "Apache-2.0"} diff --git a/packages/sdk/server-ai/src/ldai/__init__.py b/packages/sdk/server-ai/src/ldai/__init__.py index 8812316..a3557d8 100644 --- a/packages/sdk/server-ai/src/ldai/__init__.py +++ b/packages/sdk/server-ai/src/ldai/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.17.0" # x-release-please-version +__version__ = "0.18.0" # x-release-please-version from ldclient import log