Skip to content

1.5.0b1

Pre-release
Pre-release

Choose a tag to compare

@ncoghlan ncoghlan released this 12 Aug 17:37
· 9 commits to main since this release
3a81ccb

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_host and AsyncClient.is_valid_api_host allow API host validity to be checked without creating a client instance (part of #142)
  • The new methods Client.find_default_local_api_host and AsyncClient.find_default_local_api_host allow 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 FutureWarning when 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() and set_sync_api_timeout(timeout: float|None) allow this timeout to be queried and updated (part of #124). Setting the timeout to None restores the previous behaviour of blocking indefinitely waiting for server responses.
  • The synchronous API now supports invocation from atexit hooks (#123, #125)

Full Changelog: 1.4.1...1.5.0b1