Releases: UiPath/uipath-llm-client-python
Releases · UiPath/uipath-llm-client-python
Release list
UiPath LLM Client [v1.16.2]
[1.16.2] - 2026-07-06
Added
UiPathLLMErrorCode— a public string enum of stable semantic error codes independent of provider exception types or provider-specific message text. It currently includesUNSUPPORTED_MIME_TYPE.UiPathErrornow carries optional semantic context:error_code(a stable machine-readable identifier, preferably fromUiPathLLMErrorCode) anddetail(best-effort diagnostic detail from the mapped lower-level error).
Changed
as_uipath_errornow resolves errors with HTTP status as authoritative: the cause chain is scanned for anhttpx.Responsefirst, so a real status always outranks a client-side classifier match elsewhere in the chain (which may be incidental__context__rather than the failure). Only when no response exists anywhere is the error offered to the_CLIENT_SIDE_CLASSIFIERSregistry (extension point for future non-HTTP semantic codes, e.g. the unsupported-MIME case). Previously client-side classifiers ran first and could mask an authenticated/rate-limited/server error carrying an unrelated marker.
UiPath LLM Client [v1.16.0]
[1.16.0] - 2026-07-03
Added
- Per-service URL overrides for local development.
build_base_urlnow consultsresolve_service_url(endpoint_path)(fromuipath.platform.common) before constructing the final URL. When aUIPATH_SERVICE_URL_<SERVICE>env var is set (e.g.UIPATH_SERVICE_URL_AGENTHUB=http://localhost:8080), requests are redirected to that local server with the org/tenant and service prefix stripped. Without an override, behaviour is unchanged — the URL is still{base_url}/{endpoint_path}.
UiPath LLM Client [v1.15.1]
[1.15.1] - 2026-07-03
Changed
- Bumped
uipath-platformto>=0.1.91— 0.1.89/0.1.90 crashed with a circular-importImportErrorwhen importingIdentityService(fixed upstream in UiPath/uipath-python#1787).
UiPath LangChain Client [langchain-v1.16.1]
[1.16.1] - 2026-07-03
Fixed
import uipath_langchain_clientno longer requires thebedrockextra (regression in 1.15.1).
UiPath LangChain Client [langchain-v1.16.0]
[1.16.0] - 2026-07-03
Changed
- Picks up core
uipath-llm-client1.16.0, which adds per-service URL overrides for local development (UIPATH_SERVICE_URL_<SERVICE>env vars). Bumped theuipath-llm-clientfloor to>=1.16.0.
UiPath LangChain Client [langchain-v1.15.2]
[1.15.2] - 2026-07-03
Changed
- Bumped
uipath-llm-clientto>=1.15.1, which requiresuipath-platform>=0.1.91(fixes a circular-import crash in 0.1.89/0.1.90).
UiPath LLM Client [v1.15.0]
[1.15.0] - 2026-06-25
Added
UiPathError— a common root exception for everything the client can raise, re-exported fromuipath.llm_client.UiPathAPIError(and therefore every status-specific subclass) now inherits from it, soexcept UiPathErroris a single catch-all across all backends and providers. Fully backward compatible:UiPathAPIErrorstill inheritshttpx.HTTPStatusErrorand all existing handlers keep working.as_uipath_error(exc)and thewrap_provider_errors()context manager (inuipath.llm_client.utils.exceptions). They convert a provider/SDK exception into the matching UiPath exception so callers handle one taxonomy regardless of which provider produced the error. The cause chain (__cause__/__context__) is walked for anhttpx.Response; when found, its status code is mapped onto the correspondingUiPathAPIErrorsubclass (a 429 →UiPathRateLimitError, a 400 →UiPathBadRequestError, …) so semantic handling is identical across providers — including providers (e.g. Google) that wrap the response-bearing error one level down. When no response is available anywhere in the chain (client-side validation errors, connection failures) theUiPathErrorroot is returned. The original provider exception is preserved as__cause__.
Changed
UiPathRateLimitError.retry_afteris now parsed lazily fromself.response(via a property) instead of being cached in__init__._parse_retry_afterand the parsing behaviour are unchanged.patch_raise_for_statusnow routes the httpxHTTPStatusErrorthroughwrap_provider_errors, so directraise_for_status()callers and provider SDK exceptions share a single conversion path. The raisedUiPathAPIErrornow carries the originalHTTPStatusErroras__cause__(previouslyNone); status mapping is unchanged.
Note
- Provider errors are surfaced as pure UiPath types: an
openai.RateLimitErrorraised through a passthrough chat model becomes aUiPathRateLimitErrorand is not catchable asopenai.RateLimitError(the vendor exception is kept as__cause__). Standardise handlers onUiPathErrorand its subclasses.
UiPath LangChain Client [langchain-v1.15.0]
[1.15.0] - 2026-06-25
Added
UiPathBaseChatModelnow converts provider SDK exceptions intoUiPathError. When any chat client (UiPathChatOpenAI,UiPathChatAnthropic,UiPathChat, Bedrock/Vertex/Google/LiteLLM/Fireworks, …) raises during_generate/_agenerate/_stream/_astream, the error is converted into the matching UiPath semantic subclass (a 429 →UiPathRateLimitError, a 400 →UiPathBadRequestError, …) — including providers like Google that wrap the response-bearing error one level down — giving provider-agnostic error handling across every client. Errors without an HTTP response (e.g. client-side validation) become theUiPathErrorroot.UiPathErroris re-exported fromuipath_langchain_client.
Changed
- Bumped
uipath-llm-clientfloor to>=1.15.0to pick upUiPathErrorand thewrap_provider_errors/as_uipath_errorhelpers.
Note
- Provider errors are now surfaced as pure UiPath types and are not catchable as their original vendor type (e.g.
openai.BadRequestError); the vendor exception is preserved as__cause__. Standardise handlers onUiPathErrorand its subclasses.
UiPath LangChain Client [langchain-v1.14.1]
[1.14.1] - 2026-06-23
Fixed
WrappedBotoClient(the httpx-backed Bedrock shim) now callsraise_for_status()inconverse,invoke_model, and the streaming generator before reading the response. Previously a non-2xx gateway response (e.g. 403 License-not-available) was parsed as a normal result and handed tolangchain_aws, which raised a misleadingValueError("No 'output' key found in the response from the Bedrock Converse API ... misconfiguration of endpoint or region")— the real status code anddetailwere lost. Gateway HTTP errors now surface as the patchedUiPathAPIErrorsubclass (e.g.UiPathPermissionDeniedError), matching the OpenAI and Vertex paths. For streaming responses the error body is read first so the typed exception retains itsdetail.
UiPath LLM Client [v1.14.0]
[1.14.0] - 2026-06-15
Added
ApiFlavor.ANTHROPIC_MESSAGES("AnthropicMessages") for Bedrock-hosted Claude models that the discovery endpoint exposes with the native Anthropic Messages wire format. The value is the discovery string verbatim because it is forwarded as theX-UiPath-LlmGateway-ApiFlavorheader. Also mapped inAPI_FLAVOR_TO_VENDOR_TYPEtoVendorType.AWSBEDROCKso it resolves to the Bedrock passthrough route when discovery omits the vendor field.