From f2dcceeedbc3f462c1748cf3f7661e8ba42318d2 Mon Sep 17 00:00:00 2001 From: akshaydeo Date: Fri, 17 Apr 2026 03:18:19 +0530 Subject: [PATCH] v1.4.23 cut --- .../workflows/scripts/run-migration-tests.sh | 32 +++++++++++++++++++ core/changelog.md | 7 ++-- core/version | 2 +- framework/changelog.md | 6 +++- framework/version | 2 +- plugins/governance/changelog.md | 2 ++ plugins/governance/version | 2 +- plugins/jsonparser/changelog.md | 1 + plugins/jsonparser/version | 2 +- plugins/litellmcompat/changelog.md | 1 + plugins/litellmcompat/version | 2 +- plugins/logging/changelog.md | 2 ++ plugins/logging/version | 2 +- plugins/maxim/changelog.md | 1 + plugins/maxim/version | 2 +- plugins/mocker/changelog.md | 1 + plugins/mocker/version | 2 +- plugins/otel/changelog.md | 3 +- plugins/otel/version | 2 +- plugins/semanticcache/changelog.md | 1 + plugins/semanticcache/version | 2 +- plugins/telemetry/changelog.md | 1 + plugins/telemetry/version | 2 +- transports/changelog.md | 24 +++++++++++--- transports/version | 2 +- 25 files changed, 85 insertions(+), 21 deletions(-) diff --git a/.github/workflows/scripts/run-migration-tests.sh b/.github/workflows/scripts/run-migration-tests.sh index f59cd7ef25..eed0eba523 100755 --- a/.github/workflows/scripts/run-migration-tests.sh +++ b/.github/workflows/scripts/run-migration-tests.sh @@ -1305,6 +1305,22 @@ append_dynamic_columns_postgres() { echo "UPDATE mcp_tool_logs SET request_id = '' WHERE id = 'mcp-log-migration-001';" >> "$output_file" echo "UPDATE mcp_tool_logs SET request_id = '' WHERE id = 'mcp-log-migration-002';" >> "$output_file" fi + + # ------------------------------------------------------------------------- + # v1.4.22 columns - governance_model_pricing flex tier pricing + # ------------------------------------------------------------------------- + if column_exists_postgres "governance_model_pricing" "input_cost_per_token_flex"; then + echo "UPDATE governance_model_pricing SET input_cost_per_token_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET input_cost_per_token_flex = NULL WHERE id = 2;" >> "$output_file" + fi + if column_exists_postgres "governance_model_pricing" "output_cost_per_token_flex"; then + echo "UPDATE governance_model_pricing SET output_cost_per_token_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET output_cost_per_token_flex = NULL WHERE id = 2;" >> "$output_file" + fi + if column_exists_postgres "governance_model_pricing" "cache_read_input_token_cost_flex"; then + echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_flex = NULL WHERE id = 2;" >> "$output_file" + fi } # Append dynamic column UPDATEs for columns that may not exist in older schemas (SQLite) @@ -1848,6 +1864,22 @@ append_dynamic_columns_sqlite() { echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_above_272k_tokens_priority = NULL WHERE id = 1;" >> "$output_file" echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_above_272k_tokens_priority = NULL WHERE id = 2;" >> "$output_file" fi + + # ------------------------------------------------------------------------- + # v1.4.22 columns - governance_model_pricing flex tier pricing + # ------------------------------------------------------------------------- + if column_exists_sqlite "$config_db" "governance_model_pricing" "input_cost_per_token_flex"; then + echo "UPDATE governance_model_pricing SET input_cost_per_token_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET input_cost_per_token_flex = NULL WHERE id = 2;" >> "$output_file" + fi + if column_exists_sqlite "$config_db" "governance_model_pricing" "output_cost_per_token_flex"; then + echo "UPDATE governance_model_pricing SET output_cost_per_token_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET output_cost_per_token_flex = NULL WHERE id = 2;" >> "$output_file" + fi + if column_exists_sqlite "$config_db" "governance_model_pricing" "cache_read_input_token_cost_flex"; then + echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_flex = NULL WHERE id = 1;" >> "$output_file" + echo "UPDATE governance_model_pricing SET cache_read_input_token_cost_flex = NULL WHERE id = 2;" >> "$output_file" + fi fi # ------------------------------------------------------------------------- diff --git a/core/changelog.md b/core/changelog.md index 011c1f732a..c632c334df 100644 --- a/core/changelog.md +++ b/core/changelog.md @@ -1,6 +1,9 @@ -- fix: Gemini provider - handle content block tool outputs in Responses API path +- fix: Gemini provider - handle content block tool outputs in Responses API path (thanks [@tom-diacono](https://github.com/tom-diacono)!) - fix: case-insensitive `anthropic-beta` merge in `MergeBetaHeaders` -- fix: Bedrock provider - emit message_stop event for Anthropic invoke stream [@tefimov](https://github.com/tefimov) +- fix: Bedrock provider - emit message_stop event for Anthropic invoke stream (thanks [@tefimov](https://github.com/tefimov)!) +- fix: Bedrock provider - preserve image content in tool results for Converse API (thanks [@Edward-Upton](https://github.com/Edward-Upton)!) - fix: gemini preserves thinkingLevel parameters during round-trip and finish reason mapping - fix: WebSearch tool argument handling for all clients by removing the Claude Code user agent restriction +- fix: capture responses streaming API errors +- fix: delete fallbacks from outgoing Anthropic requests - feat: claude-opus-4-7 compatibility diff --git a/core/version b/core/version index fd4ca57b8d..771411b02f 100644 --- a/core/version +++ b/core/version @@ -1 +1 @@ -1.4.19 +1.4.20 diff --git a/framework/changelog.md b/framework/changelog.md index 2f94b553af..0a159e5069 100644 --- a/framework/changelog.md +++ b/framework/changelog.md @@ -1 +1,5 @@ -- fix: preserve context values in async requests \ No newline at end of file +- chore: upgraded core to v1.4.20 +- fix: preserve context values in async requests +- fix: capture responses streaming API errors +- fix: otel plugin fixes +- fix: allow custom providers without a list models endpoint to register any model diff --git a/framework/version b/framework/version index 1f8d37f959..e4e352ba24 100644 --- a/framework/version +++ b/framework/version @@ -1 +1 @@ -1.2.38 +1.2.39 diff --git a/plugins/governance/changelog.md b/plugins/governance/changelog.md index e69de29bb2..bca1d0a575 100644 --- a/plugins/governance/changelog.md +++ b/plugins/governance/changelog.md @@ -0,0 +1,2 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 +- fix: allow custom providers without a list models endpoint to pass in any model rather than restrict it on vk diff --git a/plugins/governance/version b/plugins/governance/version index 9b2fc0c8ca..212432caa4 100644 --- a/plugins/governance/version +++ b/plugins/governance/version @@ -1 +1 @@ -1.4.38 +1.4.39 diff --git a/plugins/jsonparser/changelog.md b/plugins/jsonparser/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/jsonparser/changelog.md +++ b/plugins/jsonparser/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/jsonparser/version b/plugins/jsonparser/version index b242277136..9b2fc0c8ca 100644 --- a/plugins/jsonparser/version +++ b/plugins/jsonparser/version @@ -1 +1 @@ -1.4.37 +1.4.38 diff --git a/plugins/litellmcompat/changelog.md b/plugins/litellmcompat/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/litellmcompat/changelog.md +++ b/plugins/litellmcompat/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/litellmcompat/version b/plugins/litellmcompat/version index 24ff85581f..1fe6958562 100644 --- a/plugins/litellmcompat/version +++ b/plugins/litellmcompat/version @@ -1 +1 @@ -0.0.27 +0.0.28 diff --git a/plugins/logging/changelog.md b/plugins/logging/changelog.md index e69de29bb2..be5ad085e1 100644 --- a/plugins/logging/changelog.md +++ b/plugins/logging/changelog.md @@ -0,0 +1,2 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 +- fix: capture responses streaming API errors diff --git a/plugins/logging/version b/plugins/logging/version index 9b2fc0c8ca..212432caa4 100644 --- a/plugins/logging/version +++ b/plugins/logging/version @@ -1 +1 @@ -1.4.38 +1.4.39 diff --git a/plugins/maxim/changelog.md b/plugins/maxim/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/maxim/changelog.md +++ b/plugins/maxim/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/maxim/version b/plugins/maxim/version index c7966c0d95..9caff18fd7 100644 --- a/plugins/maxim/version +++ b/plugins/maxim/version @@ -1 +1 @@ -1.5.38 +1.5.39 diff --git a/plugins/mocker/changelog.md b/plugins/mocker/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/mocker/changelog.md +++ b/plugins/mocker/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/mocker/version b/plugins/mocker/version index b242277136..9b2fc0c8ca 100644 --- a/plugins/mocker/version +++ b/plugins/mocker/version @@ -1 +1 @@ -1.4.37 +1.4.38 diff --git a/plugins/otel/changelog.md b/plugins/otel/changelog.md index d610785a0c..ed86172a21 100644 --- a/plugins/otel/changelog.md +++ b/plugins/otel/changelog.md @@ -1,2 +1,3 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 - fix: sets default for `insecure` to `true` for config.json -- fix: includes fallbacks in otel metrics \ No newline at end of file +- fix: includes fallbacks in otel metrics diff --git a/plugins/otel/version b/plugins/otel/version index 36638c8584..54eae6b4d8 100644 --- a/plugins/otel/version +++ b/plugins/otel/version @@ -1 +1 @@ -1.1.37 +1.1.38 diff --git a/plugins/semanticcache/changelog.md b/plugins/semanticcache/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/semanticcache/changelog.md +++ b/plugins/semanticcache/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/semanticcache/version b/plugins/semanticcache/version index f2d2f271e8..b242277136 100644 --- a/plugins/semanticcache/version +++ b/plugins/semanticcache/version @@ -1 +1 @@ -1.4.36 +1.4.37 diff --git a/plugins/telemetry/changelog.md b/plugins/telemetry/changelog.md index e69de29bb2..ec613d6667 100644 --- a/plugins/telemetry/changelog.md +++ b/plugins/telemetry/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.20 and framework to v1.2.39 diff --git a/plugins/telemetry/version b/plugins/telemetry/version index 9b2fc0c8ca..212432caa4 100644 --- a/plugins/telemetry/version +++ b/plugins/telemetry/version @@ -1 +1 @@ -1.4.38 +1.4.39 diff --git a/transports/changelog.md b/transports/changelog.md index 62b44f5d9f..c48ea02e42 100644 --- a/transports/changelog.md +++ b/transports/changelog.md @@ -1,5 +1,19 @@ -- fix: case-insensitive `anthropic-beta` merge in `MergeBetaHeaders` -- fix: Bedrock integration - update to use InvokeModelRawChunks for multi-event support [@tefimov](https://github.com/tefimov) -- fix: gemini preserves thinkingLevel parameters during round-trip and finish reason mapping -- fix: WebSearch tool argument handling for all clients by removing the Claude Code user agent restriction -- feat: claude-opus-4-7 compatibility \ No newline at end of file +## ✨ Features + +- **Claude Opus 4.7 Support** — Added compatibility for Anthropic's Claude Opus 4.7 model, including adaptive thinking, task-budgets beta header, `display` parameter handling, and "xhigh" effort mapping + +## 🐞 Fixed + +- **Gemini Tool Outputs** — Handle content block tool outputs in Responses API path for `function_call_output` messages (thanks [@tom-diacono](https://github.com/tom-diacono)!) +- **Bedrock Streaming** — Emit `message_stop` event for Anthropic invoke stream and case-insensitive `anthropic-beta` header merging (thanks [@tefimov](https://github.com/tefimov)!) +- **Bedrock Tool Images** — Preserve image content blocks in tool results when converting Anthropic Messages to Bedrock Converse API (thanks [@Edward-Upton](https://github.com/Edward-Upton)!) +- **Gemini Thinking Level** — Preserved `thinkingLevel` parameters across round-trip conversions and corrected finish reason mapping +- **Anthropic WebSearch** — Removed the Claude Code user agent restriction so WebSearch tool arguments flow for all clients +- **Responses Streaming Errors** — Capture errors mid-stream in the Responses API so transport clients see failures instead of silent termination +- **Anthropic Request Fallbacks** — Dropped fallback fields from outgoing Anthropic requests to avoid schema validation errors +- **Async Context Propagation** — Preserve context values in async requests so downstream handlers retain request-scoped data +- **Custom Providers** — Allow custom providers without a list-models endpoint to accept any model rather than restricting on virtual key registration +- **OTEL Plugin** — Default `insecure` to `true` in config.json and include fallbacks in emitted OTEL metrics +- **Payload Marshalling** — Removed unnecessary marshalling of payload in the transport path +- **Helm mcpClientConfig** — Fixed templating for `mcpClientConfig` (thanks [@crust3780](https://github.com/crust3780)!) +- **Helm Chart** — Refreshed the helm chart with validation fixes and removed the prerelease tag diff --git a/transports/version b/transports/version index d6e2616797..580ef4b6c1 100644 --- a/transports/version +++ b/transports/version @@ -1 +1 @@ -1.4.22 +1.4.23