Releases: askui/python-sdk
v0.20.3
What's Changed
- Update using-models.md by @Lumpin-askui in #169
- fix: non-serializable MCP config model by @adi-wan-askui in #171
🐛 Bug Fixes
- MCP Configuration Serialization: Fixed an issue where the MCP configuration model was non-serializable on Windows systems. The
RemoteMCPServer.authfield previously includedhttpx.Auth
type which is not serializable, causing failures when generating OpenAPI spec and trying to serialize it. This has been resolved by overriding thefastmcpmodel with a custom implementation that restricts the
authfield 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
What's Changed
- Introduce cors check by @onur-askui in #168
🚀 Features
- CORS Configuration: Added configurable CORS (Cross-Origin Resource Sharing) settings for the Chat API
- Introduced
allow_originssetting inSettingsclass that allows specifying which origins are permitted to make cross-origin requests - Default allowed origins include:
http://localhost:4200(local development)https://app.caesr.aiandhttps://app-dev.caesr.ai(Caesr app)https://hub.askui.comandhttps://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)
- Introduced
Full Changelog: v0.20.1...v0.20.2
v0.20.1
What's Changed
- chore(models): remove 413 from retryable status codes by @adi-wan-askui in #165
- fix(playwright): delegate browser installation to user by @adi-wan-askui in #166
- feat(chat): add default model setting for chat interactions by @adi-wan-askui in #167
🚀 Features
- Configurable Chat Model: You can now configure the default model used for chat interactions via the
ASKUI__CHAT_API__MODELenvironment 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:This setting is applied globally across all chat interactions in the API (src/askui/chat/api/settings.py:69-72).export ASKUI__CHAT_API__MODEL="claude-sonnet-4-5-20250929"
🐛 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
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__FILTERSenvironment 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_LEVELreplaced byASKUI__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
What's Changed
- Preserve custom assistance on chat start, update only default assistance by @mlikasam-askui in #158
- fix(chat): run freezing on listing mcp tools by @adi-wan-askui in #159
🐛 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
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
What's Changed
- fix(converter): ensure MCP tool properly handles image support by @mlikasam-askui in #155
🐛 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
What's Changed
- feat: configure global MCP configs by @adi-wan-askui in #154
🚀 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
What's Changed
- feat(chat): continuing to stream events of run by @adi-wan-askui in #153
- Integrate static ADB documentation tool for better agent responses by @mlikasam-askui in #151
- Chore/prepare cesar android by @mlikasam-askui in #149
🚀 Features
- Streaming Run Events: Extended
retrieve_runendpoint to enable streaming events for better real-time interaction - Enhanced Run Filtering: Extended
list_runsendpoint 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_runsendpoint/threads/{thread_id}/runshas been replaced by the new endpoint/runs. Please update your API calls accordingly.
Full Changelog: v0.17.2...v0.18.0
v0.17.2
What's Changed
- fix/agent identity by @adi-wan-askui in #148
- fix: typing after start of controller by starting without overlay by default by @adi-wan-askui in #147
🐛 Bug Fixes & Improvements
- Controller: Fixed typing by disabling overlay by default ⟶ Focus not stolen by overlay (window) before typing
- Chat: Fixed agent identity configuration (asking agent Who are you?)
Full Changelog: v0.17.1...v0.17.2