Skip to content

Releases: chatbotkit/python-sdk

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 15:43
2b7f2a0

Added

  • token= is the new name for the API credential, on ChatBotKit(...),
    ClientOptions and extend(...). secret= is deprecated and still works;
    token wins when both are set.
  • cbk.decision.create asks a decision model typed questions (boolean,
    choice, score) about a state and returns an answer with probabilities for
    each. Pass a mapping for choice questions, as the generated Question type
    cannot hold their named options.

Changed

  • BREAKING: skillset ability link fields renamed. On create/update/fetch/
    list/export, secretId / fileId / botId / spaceId are now
    linkedSecretId / linkedFileId / linkedBotId / linkedSpaceId. Inline
    conversation extensions.skillsets[].abilities[] entries use
    linkedSecretId (and the new linkedSpaceId). GraphQL Ability relations
    secret / file / bot / space are now linkedSecret / linkedFile /
    linkedBot / linkedSpace. There are no compatibility aliases; upgrade
    together with the platform deploy.
  • Regenerated types also pick up unrelated API changes since the previous
    regeneration (2026-08-19), grouped by resource:
    • BREAKING: Dataset: store removed from DatasetCreateRequest,
      DatasetFetchResponse, DatasetListResponseItem and
      DatasetListStreamItemData (the platform now has a single vector store;
      the REST API accepts and ignores store).
    • Conversation: expiresAt (epoch ms, auto-delete) added to
      ConversationUpdateRequest, ConversationFetchResponse,
      ConversationListResponseItem and ConversationListStreamItemData.
    • Memory: expiresAt added to MemoryCreateRequest, MemoryUpdateRequest,
      MemoryFetchResponse, MemoryListResponseItem and
      MemoryListStreamItemData.
    • Task: expiresAt added to TaskCreateRequest, TaskUpdateRequest,
      TaskFetchResponse, TaskListResponseItem and TaskListStreamItemData;
      resumeAt (when a paused run resumes, null while running) added to
      TaskExecutionListResponseItem and TaskExecutionListStreamItemData.
    • Policy: state (enabled | disabled) added to PolicyCreateRequest,
      PolicyUpdateRequest, PolicyFetchResponse, PolicyListResponseItem and
      PolicyListStreamItemData.
    • WhatsApp integration: appSecret (Meta app secret for webhook signature
      validation, masked as ******** on read) added to
      IntegrationWhatsAppCreateRequest, IntegrationWhatsAppUpdateRequest,
      IntegrationWhatsAppFetchResponse, IntegrationWhatsAppListResponseItem
      and IntegrationWhatsAppListStreamItemData; idempotencyKey added to
      WhatsappInitiateRequest.
    • GitHub integration: allowFrom (allowed senders) added to
      GithubIntegrationCreateRequest.

What's Changed

Full Changelog: v0.5.1...v0.6.0

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 22 Jul 17:02
5384a6b

Changed

  • Packaging only: releases are now published to PyPI through GitHub Actions
    Trusted Publishing (OIDC), replacing the previous API-token flow. There are no
    changes to the SDK's public API or behaviour since 0.5.0.

What's Changed

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 22 Jul 10:21
c98d227

Added

  • Agent cancellation. agent.execute(...) and agent.complete(...) now accept
    an abort_signal (asyncio.Event); setting it stops the loop from the outside
    (timeout, shutdown, user stop) and exits with code 1 at the next event
    boundary. The built-in abort tool's hard=True option now cancels the
    in-flight iteration immediately instead of being a no-op, bringing the Python
    agent to parity with the Node and Go SDKs.

Changed

  • The agent system instruction now includes the "Be Responsive" guideline
    (prioritise new user input mid-run), matching the Node and Go SDKs.

What's Changed

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 13:55
dc14293

Added

  • Secret token minting and request proxying. client.secret.mint(...) /
    client.contact.secret.mint(...) mint a usable token from a secret
    (oauth/jwt secrets only; owner-only) and return { token, expiresAt }.
    client.secret.proxy(...) / client.contact.secret.proxy(...) proxy a request
    through a secret — the credential is injected server-side (it never leaves the
    platform) and the raw upstream httpx.Response is returned verbatim. A non-2xx
    status (including 409 authorization_required) is returned, not raised.

What's Changed

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Jun 19:20
a7cc797

Added

  • state lifecycle field on the skillset and ability resources, backed by the
    new ResourceState enum (enabled / disabled). A skillset or ability can
    now be toggled off without deleting it. Available on the create, update, fetch,
    and list types.

What's Changed

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 15:48
49a8bd0

Added

  • skill_server integration client (client.integration.skill_server) with
    list, fetch, create, update, and delete. The Skill Server
    integration exposes a skillset's abilities as a text-first HTTP API.
  • site client under space (client.space.site) with list, fetch,
    create, update, and delete, keyed by the parent space ID. A space site
    binds a <label>.chatbotkit.space subdomain to static content served from a
    space's storage.

Changed

  • Re-generated types from the latest API spec, including the alias field now
    present across integration create/update requests.

What's Changed

New Contributors

Full Changelog: https://github.com/chatbotkit/python-sdk/commits/v0.2.0