From 8d5f35333f5290b2ae432ec66bac1145e9078fab Mon Sep 17 00:00:00 2001 From: andreadimaio Date: Thu, 27 Aug 2026 09:29:07 +0200 Subject: [PATCH 1/2] Update API version to 2026-08-19 --- docs/content/migration/0.30.1-to-0.40.0.md | 2 +- .../src/main/java/com/ibm/watsonx/ai/WatsonxService.java | 2 +- .../src/test/java/com/ibm/watsonx/ai/AbstractWatsonxTest.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/content/migration/0.30.1-to-0.40.0.md b/docs/content/migration/0.30.1-to-0.40.0.md index c8deecd8..22fb09d3 100644 --- a/docs/content/migration/0.30.1-to-0.40.0.md +++ b/docs/content/migration/0.30.1-to-0.40.0.md @@ -136,7 +136,7 @@ These do not break compilation, but they change what your code observes at runti ### watsonx.ai API version -The API version sent with every request moved from `2026-07-08` to `2026-08-11`. No request or response shape changed for the operations covered by the SDK. +The API version sent with every request moved from `2026-07-08` to `2026-08-19`. No request or response shape changed for the operations covered by the SDK. ### `502 Bad Gateway` is retried diff --git a/modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/WatsonxService.java b/modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/WatsonxService.java index 23262a5e..66e964cf 100644 --- a/modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/WatsonxService.java +++ b/modules/watsonx-ai/src/main/java/com/ibm/watsonx/ai/WatsonxService.java @@ -65,7 +65,7 @@ */ public abstract class WatsonxService { - protected static final String API_VERSION = "2026-08-11"; + protected static final String API_VERSION = "2026-08-19"; protected static final String TRANSACTION_ID_HEADER = "X-Global-Transaction-Id"; protected static final Duration TIME_OUT = Duration.ofSeconds(60); diff --git a/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/AbstractWatsonxTest.java b/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/AbstractWatsonxTest.java index b21e9972..4156772f 100644 --- a/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/AbstractWatsonxTest.java +++ b/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/AbstractWatsonxTest.java @@ -31,7 +31,7 @@ public abstract class AbstractWatsonxTest { protected static final String ML_API_PATH = "/ml/v1"; protected static final String ML_API_TEXT_PATH = ML_API_PATH.concat("/text"); - protected static final String API_VERSION = "2026-08-11"; + protected static final String API_VERSION = "2026-08-19"; protected static final String TRANSACTION_ID_HEADER = "X-Global-Transaction-Id"; @Mock From 36128292e5451a1b79a2d1dada0d5334a0ee16a7 Mon Sep 17 00:00:00 2001 From: andreadimaio Date: Thu, 27 Aug 2026 09:29:33 +0200 Subject: [PATCH 2/2] Add integration test for unsupported model parameter in ModelGatewayChatService --- .../ai/it/ModelGatewayChatServiceIT.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/it/ModelGatewayChatServiceIT.java b/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/it/ModelGatewayChatServiceIT.java index 8d56b6a0..1aedb8f3 100644 --- a/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/it/ModelGatewayChatServiceIT.java +++ b/modules/watsonx-ai/src/test/java/com/ibm/watsonx/ai/it/ModelGatewayChatServiceIT.java @@ -58,6 +58,7 @@ import com.ibm.watsonx.ai.core.auth.ibmcloud.IBMCloudAuthenticator; import com.ibm.watsonx.ai.core.exception.WatsonxException; import com.ibm.watsonx.ai.gateway.chat.ModelGatewayChatParameters; +import com.ibm.watsonx.ai.gateway.chat.ModelGatewayChatParameters.ReasoningEffort; import com.ibm.watsonx.ai.gateway.chat.ModelGatewayChatRequest; import com.ibm.watsonx.ai.gateway.chat.ModelGatewayChatResponse; import com.ibm.watsonx.ai.gateway.chat.ModelGatewayChatService; @@ -443,6 +444,30 @@ void should_not_force_tool_execution_when_tool_choice_option_is_set_to_none() { assertNull(assistantMessage.toolCalls()); } + @Test + void should_throw_exception_for_unsupported_model_parameter() { + + var modelGatewayChatService = ModelGatewayChatService.builder() + .baseUrl(URL) + .modelId(CHAT_MODEL_GEMMA) + .authenticator(authentication) + .logRequests(true) + .logResponses(true) + .build(); + + var parameters = ModelGatewayChatParameters.builder() + .reasoningEffort(ReasoningEffort.HIGH) + .build(); + + var request = ModelGatewayChatRequest.builder() + .messages(UserMessage.text("Hello!")) + .parameters(parameters) + .build(); + + var ex = assertThrows(WatsonxException.class, () -> modelGatewayChatService.chat(request)); + assertTrue(ex.getMessage().contains("gemini does not support parameters: ['reasoning_effort']")); + } + @Test void should_throw_exception_when_api_key_is_invalid() {