a23one

agentgraft

Changelog

Stability and Security Improvements

Enhanced API reliability, security hardening, and dashboard experience

Fixed widget API error responses and tenancy security to prevent enumeration. Stabilised webhooks against non-object JSON crashes. Improved dashboard flash messages, form validation, and display formatting. Extended voice input to Japanese and Chinese with correct accented letter detection. Updated deletion counts to ignore attachments and enabled memory backfill to classify historical messages and update user mood.

  • changed

    Widget API malformed requests returned HTTP 400 instead of server errors.

  • changed

    API tenancy security denied access with HTTP 404 to prevent user enumeration.

  • fixed

    Voice input supported Japanese and Chinese and detected accented letters correctly.

  • fixed

    Webhooks returning non-object JSON no longer crashed turns; features stabilised.

  • fixed

    Dashboard flash messages rendered correctly on every page following redirects.

  • fixed

    Signup and account form fields enforced validators for username, password, and slugs.

  • fixed

    Display formatting no longer incorrectly split paragraphs.

  • fixed

    Message deletion counts correctly counted only messages, ignoring attachments.

  • fixed

    Memory backfill command classified unclassified historical messages and updated user mood.

Internationalisation and Multilingual Support

Enabled multilingual content across site, documentation, dashboard, and embedded widget with automatic language detection

Added internationalisation in seven languages across public site, documentation, dashboard, and embedded widget, including voice mode support. Implemented language-prefixed URLs, navigation switchers, and settings-based language selection with Accept-Language header fallback. Resolved Safari text selection issues in widget and corrected workspace tool counting logic.

  • added

    Added internationalisation in seven languages for site, docs, dashboard, and widget, with voice mode support.

  • added

    Added language-prefixed URLs, redirects, and navigation switchers for multilingual support.

  • changed

    Updated widget to support language selection via settings and Accept-Language headers.

  • fixed

    Fixed text selection inside the widget on Safari to avoid collapsed range issues.

  • fixed

    Fixed workspace page to correctly count each tool once per agent.

SDK Palette Function for Widget Themes

New SDK function for precise widget accent colour control

Added `ag.graft(palette=...)` function to SDK, enabling developers to configure widget accent colours using predefined palette names such as "jade" or "indigo" to better match user interface themes.

  • added

    Added SDK function `ag.graft(palette=...)` to configure widget accent colours like "jade" or "indigo" to match themes.

Visual Interface Refinements

Enhanced customisation, avatar expression, and accessibility across core UI components

Users can now customise accent colours via SDK or visual settings picker. avatar face displays liquid simulation for resource availability and includes energy/mood speech bubbles. Interface streamlining includes destination confirmation route strip, improved send button validation, and updated sidebar search labels. Accessibility improvements include screen reader announcements for route changes. landing page emotion tile strip was removed, and new winking-mark favicon with navigation icons has been deployed.

  • added

    Added a route strip UI to confirm or override destinations before transmission.

  • added

    Users could customize accent colours via SDK or a visual picker in settings.

  • added

    Avatar face featured liquid simulation to visually represent resource availability.

  • changed

    Sidebar header stopped displaying agent name, and send button required valid input.

  • removed

    Eliminated the separate global composer input box in the sidebar to streamline interface.

  • added

    Added energy level and mood speech bubble to the header face.

  • changed

    Updated sidebar search button to display visible text label.

  • changed

    Announced route changes via live region for screen readers.

  • removed

    Removed emotion tile strip from the landing page.

  • added

    Deployed new winking-mark favicon and navigation icons.

Production Stability Improvements

Enhanced resource management and credential preservation for safer deployments

Applied explicit resource limits and tuned worker configurations to improve production stability. Also ensured dashboard-managed API credentials are preserved during deployment to prevent accidental deletion.

  • changed

    Improved production stability by applying explicit resource limits and tuning worker configurations.

  • fixed

    Preserved dashboard-managed API credentials during deployment to prevent accidental deletion.

Search Discoverability Updates

landing page now provides clearer guidance to search engines

Added `sitemap.xml` and `robots.txt` to landing page to improve search indexing and make Agentgraft’s public content easier for search engines to discover and crawl.

  • changed

    Updated landing page with sitemap.xml and robots.txt for improved search indexing.

Memory Management Improvements

Memory settings, decay and history handling are now clearer and more reliable

Redesigned Memories settings page with iOS-style grouped sections, topic map and local date rendering. Memory decay now runs daily while preserving visitor edits and providing 14-day grace period. Also fixed hidden scrollbar in settings sheet and removed duplicate history entries for single memories.

  • changed

    Redesigned Memories settings page with iOS-style grouping, topic map, and local date rendering.

  • changed

    Updated Memory decay logic to run daily, preserving visitor edits and adding a 14-day grace period.

  • fixed

    Fixed hidden scrollbar in settings sheet and removed duplicate history entries for single memories.

Voice and Audio Integration

Added TTS streaming, voice input enhancements, and avatar expressions for natural conversations

Introduced Deepgram Flux TTS integration for streaming audio replies using Bree model, along with enhanced voice input supporting background barge-in listening and automatic follow-up dictation. Added animated avatar face expressions synchronised with audio states. Implemented FIFO audio queue system for serialising chat replies and injecting bridge audio. Updated settings modal to configure voice commands, pause phrases, and language preferences. Added visual countdown timer overlay for spoken follow-up actions.

  • added

    Added Deepgram Flux TTS integration allowing streaming audio replies using Bree model.

  • added

    Enhanced voice input with background barge-in listening and automatic follow-up dictation.

  • added

    Added animated avatar face expressions synchronized with audio states like speaking and listening.

  • added

    Implemented FIFO audio queue system to serialize chat replies and inject bridge audio.

  • changed

    Updated settings modal to allow configuration of voice commands, pause phrases, and language.

  • added

    Added visual countdown timer overlay for spoken follow-up actions.

  • added

    Added browser wake-word detection and customisable wake phrase settings for voice input activation.

  • added

    Added speech engine selection controls in settings for Text-to-Speech and Speech-to-Text.

  • changed

    Changed read-aloud resource citations to render naturally instead of exposing raw database IDs.

  • changed

    Updated settings modal with new radio card interfaces for selecting speech providers and managing audio permissions.

  • added

    Added Launcher face mood integration and read-along highlighting for speech engine.

Product Experience Visual Refresh

A refreshed visual experience now spans public site, documentation, dashboard, authentication and embedded-widget tools.

Agentgraft’s product experience has been visually redesigned across public website, documentation, sign-in flows, dashboard and widget harness. landing page now demonstrates key capabilities interactively, while widget usage meter has been simplified and repositioned without losing accessible detail. Branded recovery pages now provide clearer, more consistent guidance for common request, access, security, not-found and server errors.

  • changed

    Repositioned and simplified the widget usage meter while retaining accessible details.

  • changed

    Redesigned the public site, documentation, authentication, widget harness, and dashboard.

  • added

    Turned the landing page into interactive demonstrations of key product capabilities.

  • added

    Added branded recovery pages for common 400, 403, CSRF, 404, and 500 errors.

Chat Image Attachments and Galleries

Chat now supports attaching, previewing and managing images, including GIFs and private-chat image handling.

Users can paste or drag images into chat, send image-only messages and follow upload progress with clear previews, failure feedback and removal controls. GIFs receive grouped frame previews and labelled context for agents. Image galleries support full-screen viewing, reattachment and flexible removal of images or their descriptions, while private chats retain privacy-preserving image support and agents handle image capabilities consistently.

  • added

    Added image attachments to chat, including paste, drag-and-drop and image-only messages.

  • added

    Added upload previews, progress indicators, failure handling and controls for removing attachments.

  • added

    Added GIF support with grouped frame previews and labelled image context for agents.

  • added

    Added image galleries, full-screen viewing, reattachment and flexible deletion of images and descriptions.

  • added

    Added privacy-preserving image support for private chats and image capability handling across agents.

  • added

    Added SDK support for image attachments, including up to five images per message and GIF uploads.

  • changed

    Changed image-upload synchronisation to preserve server settings unless hosts explicitly enabled or disabled uploads.

  • changed

    Documented image-upload configuration, including Safari CSP requirements and production examples.

  • added

    Added a paginated Uploads library in Settings for managing images across all conversations.

  • changed

    Clarified image deletion: message-level removal affects one occurrence; Uploads removal affects all uses.

  • added

    Added a choice to remove an image and its description, or retain the generated description.

  • changed

    Improved the image viewer with zoom, pan, fit/close toggling, controls, and keyboard shortcuts.

  • changed

    Extended viewer navigation across all thread images and added GIF playback controls.

  • added

    Turned assistant references such as “Image 2” into clickable image chips.

  • added

    Added “Reading your image(s)” feedback while image descriptions were being prepared.

  • changed

    Updated Delete all my data to explicitly include images and attachment data.

Responsive and Mobile Chat Interface

Chat panels now adapt more reliably to narrow, touch and resized screens, with clearer controls and improved mobile navigation.

Reworked chat interface for responsive and mobile use. Narrow panels now use dismissible drawer sidebar, layouts correctly account for safe areas and panel resizing, and headers avoid overlapping floating controls. composer, quota display and thread list have been refined for clearer touch interaction, while scrolling, reference-chip keyboard access and landscape-device behaviour have also been improved.

  • added

    Added a responsive drawer sidebar for narrow panels, with scrim, Escape dismissal and automatic closing after thread selection.

  • changed

    Applied the mobile layout to short landscape touch devices to prevent cramped desktop-style interfaces.

  • fixed

    Prevented floating chat-header controls from overlapping by progressively condensing or hiding lower-priority controls.

  • fixed

    Improved header and message layouts to accommodate floating controls, long banners and scrolling content.

  • fixed

    Corrected panel and composer sizing so fullscreen and resized panels fit accurately without cumulative growth.

  • changed

    Simplified the automatic-routing composer with a sparkles icon and the clearer “Ask — picks right chat” placeholder.

  • changed

    Made quota status visible in text, including remaining capacity, limits and refill times.

  • changed

    Streamlined thread-list scanning with clearer highlight counts, roomier titles and less prominent section metadata.

  • added

    Added touch-friendly controls for pinning, archiving, deleting, promoting and closing threads.

  • changed

    Prevented iOS focus zoom and made the mobile composer start at one line before expanding with text.

  • added

    Added safe-area spacing for notched devices across the header, messages, sidebar and composer.

  • fixed

    Contained overscroll in search results, thread lists, modals and other scrollable regions.

  • fixed

    Allowed reference chips to wrap naturally and added keyboard activation while preserving modified-click behaviour.

Embedded Widget Streaming Status Events

Embedded widgets can now report when assistant starts and finishes processing, including for background chats.

Added streaming-status events for embedded widgets so host pages can react when assistant begins or completes processing. Notifications now also cover background conversations and private chats when chat panel is closed, enabling page-level busy indicators and other custom integrations. Embed documentation now lists available widget events and includes assistant-busy example.

  • added

    Added a streaming event for embedded widgets to signal when the assistant started or finished processing.

  • added

    Added streaming-status notifications for background conversations and private chats, even when the chat panel was closed.

  • changed

    Updated embed documentation with available widget events and a page-level assistant-busy example.

  • added

    Embedded widgets notified host pages when agents started tool calls via new tool_call events.

  • added

    Embedded widgets notified host pages when tracked tool calls completed via tool_result events.

  • changed

    Tool-activity events were unavailable for private chats to protect tool-call metadata.

Tool Call Hooks and Invocation Context

Python SDK tools now support per-profile hooks, structured invocation context and clearer execution errors.

Add per-profile @ag.on_tool_call hooks for auditing, authorisation, metrics, retries and custom responses. Hooks and tool implementations can inspect active invocation through public ag.ToolCall object and ag.current_tool_call(), with structured user, agent and request details. Tool webhooks now identify invoking agent for both shared and private-agent tools. Request validation now completes before hooks run, hook nesting is deterministic, and invalid arguments return HTTP 400 while TypeError raised inside tool is reported as HTTP 500. SDK documentation now describes hook lifecycle, agent attribution and updated webhook behaviour.

  • added

    Added per-profile @ag.on_tool_call hooks for auditing, authorisation, metrics, retries and custom responses.

  • added

    Added the public ag.ToolCall object with structured invocation, user, agent and request details.

  • added

    Added ag.current_tool_call() for accessing the active tool invocation during hooks and tool execution.

  • added

    Added invoking agent attribution to tool webhooks, including support for shared and private-agent tools.

  • changed

    Changed hook execution to run after request validation and support deterministic nesting and explicit HTTP errors.

  • fixed

    Fixed tool argument validation to return 400 before execution and correctly report in-tool TypeError failures as 500.

  • changed

    Updated SDK documentation with the tool-call hook lifecycle, agent attribution and revised webhook behaviour.

Embedded Widget Mathematics Rendering

embedded chat widget now renders mathematics inline using accessible MathML output.

embedded chat widget now renders inline and uses Temml rather than KaTeX to convert TeX mathematics to MathML. Mathematics handling includes safer treatment of currency-like content and rendering fallbacks. obsolete post-render KaTeX enrichment pass has been removed.

  • changed

    Changed the embedded chat widget to render inline and display TeX mathematics as MathML.

  • changed

    Changed widget mathematics rendering from KaTeX to Temml, with safer currency handling and fallbacks.

  • removed

    Removed the widget's post-render KaTeX enrichment pass.

Python SDK Pydantic Model Support

Python SDK tools now support Pydantic v2 model parameters with clearer validation feedback.

Tool parameters in Python SDK can now be annotated with Pydantic v2 models, making it easier to define structured tool inputs. Invalid structured inputs now return actionable HTTP 400 validation errors. SDK 0.7.0 release has also been updated to describe Pydantic model parameter support.

  • added

    Added support for Pydantic v2 models as Python SDK tool parameter annotations.

  • added

    Added actionable HTTP 400 validation errors for invalid structured tool inputs.

  • added

    Released SDK version 0.7.0 with documented Pydantic model parameter support.

Chat Interaction and Highlight Refinements

Added chat close-and-reopen behaviour and improved message interaction feedback.

Chat can now close after message is sent and reopen when reply arrives, while retaining typing context and signalling activity through launcher. Highlights spanning formatted or fragmented inline content now display and behave as single passage for hovering, copying and quoting. Tool activity labels are also clearer, with readable capitalised names and identifiers available on hover.

  • added

    Added settings to close the chat after sending and reopen it when a reply arrived.

  • changed

    Preserved typing context while the chat was closed and indicated activity through the launcher.

  • fixed

    Made highlights across formatted inline content appear as one continuous highlight.

  • fixed

    Made copying, quoting and hovering multi-fragment highlights apply to the complete passage.

  • changed

    Displayed tool activity names as more readable, capitalised labels with identifiers available on hover.

Message History Status Cleanup

Removed obsolete generation-status from loaded message history.

Loaded history no longer displays -generation status or “Generation stopped” indicator, keeping historical messages clearer and avoiding stale status .

  • removed

    Removed the incomplete-generation status and “Generation stopped” indicator from loaded message history.

Branching and Management Features

Enhanced branching capabilities introduced for parallel development and improved message management.

This release introduces suite of features for managing branches within project. Users can now fork from specific messages to create parallel branches, view and manage these branches through enhanced user interface, and benefit from updated editing, truncation, and resend that are branch-aware. thread list has also been updated to display branch hierarchies and indicate active branches.

  • added

    Added the ability to fork from specific messages, allowing the creation of parallel branches.

  • added

    Enhanced message area with multi-column branch viewing and branch-aware actions.

  • added

    Introduced a user interface for managing branches including archiving, deleting, promoting, detaching, and renaming.

  • changed

    Updated editing, truncation, and resend functionalities to target the correct branch lane.

  • changed

    Expanded thread list to show branch hierarchies and indicate active branches.

UI/UX

to user interface and

This release includes several to user interface and , such as restoring last active thread, smarter unread-tail indicator, hover-previews for highlight chips, improved text selection, and visible stream recovery affordance.

  • added

    Restored last active thread on reload.

  • changed

    Smarter unread-tail indicator now updates during/after streaming.

  • added

    Hover-preview for highlight chips added.

  • fixed

    Improved text selection in message area.

  • added

    Visible “stream stopped” recovery affordance added.

UI and Input

Improved code block, thread list visuals, and input controls.

This release introduces several user interface and input, including improved code block formatting with header bars and copy/wrap controls, soft line-wrapping for code, clearer thread list status markers, recall last prompt feature, simplified prompt buttons, and adjusted enter-to-send behaviour for better IME composition.

  • added

    Enhanced code block presentation with header bar and copy/wrap controls.

  • added

    Introduced soft line-wrapping toggle for code blocks.

  • changed

    Improved thread list visual state with clearer status markers.

  • added

    Added recall last prompt in composer for easy message retrieval.

  • changed

    Simplified prompt buttons for consistent preset behaviour.

  • changed

    Adjusted enter-to-send for IME composition and reliability.