1.5.0b1
Pre-release
Pre-release
What's Changed
- When no API host is specified, the SDK now attempts to connect to the always-on LM Studio native API server ports, rather than relying on the optional HTTP REST API server being enabled on its default port (#142)
- The new methods
Client.is_valid_api_hostandAsyncClient.is_valid_api_hostallow API host validity to be checked without creating a client instance (part of #142) - The new methods
Client.find_default_local_api_hostandAsyncClient.find_default_local_api_hostallow discovery of a running local API host API server without creating a client instance (part of #142) - Exceptions are now more consistently raised on websocket failures (#121). Previously clients could potentially be left hanging indefinitely if the websocket connection failed while waiting for a response.
- Updated to 2025-07-30 (release 54) lmstudio.js protocol schema (#138)
- The low level session APIs are now more explicitly private (in both the synchronous and asynchronous APIs)
Changes specific to the asynchronous API
- The asynchronous API is now considered stable and no longer emits
FutureWarningwhen imported (#127 and supporting PRs) - Asynchronous model handles now provide a
model.act()API (#132) - The asynchronous
model.act()API supports asynchronous tool implementations (#134)
Changes specific to the synchronous API
- The synchronous API now implements a configurable timeout (#124). The default API timeout if no messages are received from the server on a given response channel is now 60 seconds.
- The new functions
get_sync_api_timeout()andset_sync_api_timeout(timeout: float|None)allow this timeout to be queried and updated (part of #124). Setting the timeout toNonerestores the previous behaviour of blocking indefinitely waiting for server responses. - The synchronous API now supports invocation from
atexithooks (#123, #125)
Full Changelog: 1.4.1...1.5.0b1