✨ Feature
- Added Artifact previews for HTML, CSS, and JavaScript code blocks, with sandboxed live preview, source copy, and HTML download.
- Added a Visual layout prompt toggle for complex chat responses that benefit from safe inline HTML formatting.
- Added grouped and searchable MCP tool selection in the chat composer, including per-server select/clear controls and runtime selection limits.
- Added admin model connectivity tests for platform models, all active routes, and individual upstream routes with redacted debug details.
- Added Cloudflare Turnstile protection for email registration, configurable from admin login settings.
- Added optional cleanup for unreferenced files when deleting conversations or deleting projects with conversations.
- Added native tool billing support for OpenAI, Anthropic, and xAI server-side tools.
- Added a Release Note Writer skill for drafting bilingual GitHub release notes from git evidence.
⚡ Optimization
- Improved the model parameter editor with visual and JSON views, pass-through status, ignored-field hints, and native provider tool controls.
- Improved Markdown rendering with LaTeX source copy, better math normalization, footnote navigation, and sanitized inline HTML styles.
- Improved chat scrolling during live generation, conversation switching, and return visits, with more reliable scroll restoration.
- Improved Artifact preview stability while streamed code updates, reducing unnecessary panel and iframe resets.
- Improved usage and billing accounting for streaming token deltas and server-side native tool calls.
- Improved file-library refresh after conversation or project deletion cleans up files, including quota/list updates across active tabs.
🐛 Fixed
- Fixed Anthropic native tool traces and server-side tool result parsing; unsupported native client-side tool calls now fail with a clear error.
- Fixed MCP execution so tools not enabled for the current run are recorded as failed instead of being called.
- Fixed OpenAI image generation/edit streaming requests so
partial_imagesis only sent when explicitly configured with a positive value. - Fixed user-message rendering so user-authored content is shown as plain text instead of being interpreted as rendered Markdown/HTML.