Skip to content

Releases: askui/python-sdk

v0.21.0

30 Oct 17:02

Choose a tag to compare

What's Changed

🚀 Features

  • Simplified Model Provider Configuration:

    • Multi-Cloud Provider Support: Added native support for Anthropic models hosted on AWS Bedrock and Google Vertex AI. Simply install the optional dependencies (anthropic[bedrock] or anthropic[vertex]) and configure via environment variables.

      import os
      from askui import VisionAgent
      
      # Using Vertex AI
      os.environ["ANTHROPIC_VERTEX_PROJECT_ID"] = "test-project"
      os.environ["CLOUD_ML_REGION"] = "europe-west1"
      
      with VisionAgent() as agent:
          agent.act("do something", model="vertex/claude-sonnet-4@20250514")
    • Provider Registry: Configure model providers through the model registry using keys ending with "/" instead of having to configure each model separately. For example, register "openai/" as a provider and all models prefixed with "openai/" will route to that provider implementation.

      with VisionAgent(models={"openai/": YourOpenAiCustomMessagesApi()}) as agent:
          agent.act("do something", model="openai/gpt-4o")
          agent.act("do something", model="openai/gpt-5")
    • Default Provider Environment Variable: Added ASKUI__VA__MODEL_PROVIDER environment variable to set a default model provider that automatically prefixes all model names.

    • Default Model Environment Variable: Added ASKUI__VA__MODEL environment variable for setting the default model. Supports both simple strings and JSON for complex configurations:

      export ASKUI__VA__MODEL='{"act":"askui/claude-sonnet-4-20250514"}'
    • Pre-configured Providers: Added "askui/", "bedrock/", "anthropic/", and "vertex/" providers by default, enabling seamless usage like:

      agent.act("search", model="askui/claude-sonnet-4-20250514")
      agent.act("search", model="bedrock/anthropic.claude-sonnet-4-5-20250929-v1:0")
  • New Model Support: Added support for claude-haiku-4-5-20251001 and claude-sonnet-4-5-20250929 Anthropic models with updated model cards in documentation.

📜 Documentation

  • Enhanced Documentation: Significantly expanded docs/using-models.md with comprehensive guides on model provider configuration, authentication, and custom provider setup.

🚨 BREAKING CHANGES

  • Removed model from MessageSettings: The model parameter has been removed from MessageSettings.

    • Migration: Use the model parameter of act(), get(), locate() or pass it to a class extending AgentBase instead.
      # Before (v0.20.x)
      agent.act("search", settings=ActSettings(messages=MessageSettings(model="claude-haiku-4-5"), model="askui")
      
      # After (v0.21.0)
      agent.act("search", model="askui/claude-haiku-4-5")
  • Upgraded minimum anthropic dependency to 0.72.0:

    • Migration: Replace anthropic.NotGiven with anthropic.Omit and anthropic.NOT_GIVEN with anthropic.omit.
  • Renamed model_choice parameter to model: The parameter name has been unified across ActModel.act(), GetModel.get(), and LocateModel.locate().

    • Migration: Replace all instances of model_choice= with model=.
      # Before (v0.20.x)
      act_model.act("search", model_choice="claude-sonnet-4")
      
      # After (v0.21.0)
      act_model.act("search", model="claude-sonnet-4")
  • Removed ASKUI__MESSAGES__* and ANTHROPIC__MESSAGES__* environment variables: These configuration variables are no longer supported.

    • Migration: Use the settings and model parameters when calling <agent>.act() instead.
      # Before (v0.20.x)
      # Set via environment: ASKUI__MESSAGES__MODEL=claude-sonnet-4
      
      # After (v0.21.0)
      agent.act("search", model="claude-sonnet-4", settings=ActSettings(...))
      # Or use: ASKUI__VA__MODEL=claude-sonnet-4
  • Removed AgentBase.model property: Direct access to the model property has been removed from AgentBase.

    • Migration: Pass the model parameter to individual methods (act(), get(), locate()) or set it via the VisionAgent constructor.

Full Changelog: v0.20.3...v0.21.0

v0.20.3

16 Oct 10:25

Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • MCP Configuration Serialization: Fixed an issue where the MCP configuration model was non-serializable on Windows systems. The RemoteMCPServer.auth field previously included httpx.Auth
    type which is not serializable, causing failures when generating OpenAPI spec and trying to serialize it. This has been resolved by overriding the fastmcp model with a custom implementation that restricts the
    auth field to fully serializable types (str | Literal["oauth"] | None), ensuring cross-platform compatibility and proper configuration persistence.

📜 Documentation

  • Model Reliability Updates: Updated model usage documentation to better highlight reliability features and improvements.

Full Changelog: v0.20.2...v0.20.3

Full Changelog: v0.20.2...v0.20.3

v0.20.2

30 Sep 11:03

Choose a tag to compare

What's Changed

🚀 Features

  • CORS Configuration: Added configurable CORS (Cross-Origin Resource Sharing) settings for the Chat API
    • Introduced allow_origins setting in Settings class that allows specifying which origins are permitted to make cross-origin requests
    • Default allowed origins include:
      • http://localhost:4200 (local development)
      • https://app.caesr.ai and https://app-dev.caesr.ai (Caesr app)
      • https://hub.askui.com and https://hub-dev.askui.com (AskUI Hub)
    • Can be configured via environment variable: ASKUI__CHAT_API__ALLOW_ORIGINS
    • The CORS middleware is now configured using this setting (src/askui/chat/api/app.py:177)

Full Changelog: v0.20.1...v0.20.2

v0.20.1

30 Sep 10:11

Choose a tag to compare

What's Changed

🚀 Features

  • Configurable Chat Model: You can now configure the default model used for chat interactions via the ASKUI__CHAT_API__MODEL environment variable. The default model is "claude-sonnet-4-20250514". To use a different model, such as "claude-sonnet-4-5-20250929", set the environment variable:
    export ASKUI__CHAT_API__MODEL="claude-sonnet-4-5-20250929"
    This setting is applied globally across all chat interactions in the API (src/askui/chat/api/settings.py:69-72).

🐛 Bug Fixes

  • Playwright Browser Installation: Fixed an issue where the Playwright MCP integration would fail with installation instructions that were not actionable for users. The error messages now correctly delegate browser installation to the user with a clear message: "Download and install the browser to continue." The system detects when a Playwright tool error contains installation instructions and replaces them with a user-friendly message (src/askui/models/shared/tools.py:142-158).

  • HTTP 413 Status Code Handling: Removed HTTP status code 413 (Request Entity Too Large) from the list of retryable errors. When a request is too large, retrying will not resolve the issue, so the system now fails fast instead of attempting unnecessary retries (src/askui/models/askui/retry_utils.py:48).

Full Changelog: v0.20.0...v0.20.1

v0.20.0

29 Sep 13:06

Choose a tag to compare

What's Changed

  • refactor(models/askui): use anthropic client instead of httpx client to connect to inference api by @adi-wan-askui in #157
  • Preserve custom MCP config on chat start; update defaults only by @mlikasam-askui in #163
  • feat!(logging): switch from app like logging to lib like logging by @adi-wan-askui in #161
  • feat(chat)!: improve telemetry (logging, monitoring, tracing etc.) by @adi-wan-askui in #162
  • feat(chat): filter logs using `ASKUI__CHAT_API__TELEMETRY__LOG__FILTERS\ by @adi-wan-askui in #164

🚀 Features

  • Library-style Logging: Switched from application-style to library-style logging, leaving configuration to the consuming application
  • Telemetry (Chat): Major overhaul with structured logging using structlog, added request/correlation IDs, and metrics endpoint for Prometheus monitoring
  • Log Filtering (Chat): Added ASKUI__CHAT_API__TELEMETRY__LOG__FILTERS environment variable to filter out unwanted logs in chat (OPTIONS requests, health checks, metrics endpoint)

🐛 Bug Fixes

  • MCP Config: Fixed issue where custom MCP configurations were being overwritten on chat start - now preserves custom configs while updating only defaults
  • API Stability: Improved error forwarding and retry logic to better protect users from API instability issues

🚨 BREAKING CHANGES

  • Logging: Removed `log_level` parameter from all agent constructors (VisionAgent, AndroidVisionAgent, WebVisionAgent, WebTestingAgent, AgentBase)
  • Environment Variables: ASKUI__CHAT_API__LOG_LEVEL replaced by ASKUI__CHAT_API__TELEMETRY__LOG__LEVEL
  • Log Format: Changed to structured logging format (logfmt by default)
  • Claude Support: Removed support for Claude Sonnet 3.5

Full Changelog: v0.19.1...v0.20.0

v0.19.1

25 Sep 13:31
5157250

Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • Chat: Fixed run freezing issue when listing MCP tools by using fastmcp within runner by pinned anyio version to 4.10.0
  • Chat: Fixed issue where custom assistants were being overwritten on startup of chat api - now only default assistance are overridden while preserving custom assistants

Full Changelog: v0.19.0...v0.19.1

v0.19.0

23 Sep 13:29

Choose a tag to compare

What's Changed

  • feat(chat): remove experimental default agents and theme existing agents by @adi-wan-askui in #156

🚀 Features

  • Chat: Updated avatars and system prompt of default agents to fit more the Caesr brand

🚨 BREAKING CHANGES

  • Agents: Removed experimental default agents (orchestrator, testing) until they are not experimental anymore. These agents are no longer available by default.

Full Changelog: v0.18.2...v0.19.0

v0.18.2

23 Sep 10:11

Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • MCP Tool: Fixed MCP tool to properly handle image support in responses

Full Changelog: v0.18.1...v0.18.2

v0.18.1

19 Sep 14:06

Choose a tag to compare

What's Changed

🚀 Features

  • MCP Configuration: Enables changing/configuring the default global MCP (Model Context Protocol) configs

Full Changelog: v0.18.0...v0.18.1

v0.18.0

18 Sep 15:46

Choose a tag to compare

What's Changed

🚀 Features

  • Streaming Run Events: Extended retrieve_run endpoint to enable streaming events for better real-time interaction
  • Enhanced Run Filtering: Extended list_runs endpoint functionality to allow filtering runs by status and thread
  • Android Device Management: Added comprehensive Android device and display management tools to the agent
  • ADB Documentation Tool: Integrated static ADB documentation tool for improved agent responses on Android operations

🚨 Breaking Changes

  • API Endpoint Change: The list_runs endpoint /threads/{thread_id}/runs has been replaced by the new endpoint /runs. Please update your API calls accordingly.

Full Changelog: v0.17.2...v0.18.0