Release Notes
Date: September 22nd, 2026
AI Functions
Improvements
- Added AI Functions so text and voice agents can be defined, versioned, and invoked like other Poly functions, with system prompts, arguments, structured outputs, tool calling, and revision tracking for behavioral or contract changes.
- Added optional errorSchema support (requires outputSchema) so AI Functions can return a structured failure shape with a fixed status of “failed” and a required message, instead of only a happy-path output shape.
- Added a Router setting that can send AI Function invocations straight to a chosen Server Function while still capturing request and response traffic in the AI Function logs.
- Improved AI Function tool configuration so argument schemas pass through correctly to the model, tool rows pre-fill from the selected function, and tools are identified by full context name.
- Improved AI text Function latency for faster responses.
- Added execution logs for text AI Functions (API and Canopy UI), including request/response bodies, status, model, provider, duration, and the ability to delete logs.
- Added configurable opening sentences for AI Voice Assistants (falls back to the default connect message when empty).
- Added Twilio SMS support so voice agents can text the caller (for example to send a web form during the call).
- Upgraded AI Voice to OpenAI Realtime-2 and improved voice streaming quality.
- Added support for hardcoded tool-call arguments on AI Voice Functions, matching text AI Function behavior.
- AI Functions now require each tenant to configure their own OpenAI API key via config variables (Poly platform keys are no longer used).
Bug Fixes
- Fixed a bug that prevented agents from successfully invoking simple configured tools.
- Fixed tool-call retry handling when a conversation already has an active response in progress, so successful tool results are spoken or returned reliably.
MCP
Improvements
- Added MCP servers (v1) so selected Poly functions can be exposed as tools to clients such as ChatGPT and Claude. Includes OAuth/OIDC (redirect URIs, client secret via Poly variable), optional public servers, and per-tool argument binding (model / hardcoded / caller argument / variable).
VS Code Extension
Improvements
- Added AI Functions to the VS Code Extension (TypeScript and Python): they appear alongside other functions with type “AI Function,” and clicking copies the interface.
Node Client / TypeScript Client
Improvements
- Added support for executing AI Functions from the TypeScript client using the same conventions as other Poly functions.
Python Client
Improvements
- Added support for executing AI Functions from the Python client using the same conventions as other Poly functions.
Bug Fixes
- Fixed Python SDK generation when selecting more than 20 context paths so specs no longer return incomplete or empty results.
- Fixed Python SDK generation for server functions that use local JSON Schema $ref types so generated packages import cleanly.
- Fixed unbounded aclose behavior in the Python SDK that could lead to request timeouts when a shared client socket failed to close.
Gateway Server
Bug Fixes
- Fixed Postman training for no-auth API Functions so training no longer fails when Postman omits the auth object entirely.
Scheduled Jobs
Improvements
- Added the ability to manually trigger a scheduled / cron job on demand without waiting for its next schedule (API plus a Trigger action in Canopy).
- Improved scheduled job start handling so jobs may begin up to one minute late instead of being cancelled for tiny scheduler delays.
Poly Management UI
Improvements
- Added visibility of API Key claims in Canopy (beneath permissions on the API Key UI and on the about-me page) when claims are present.
- Added a Stop control (Canopy plus POST /functions/server/:id/stop) that force-stops a Server Function’s running pods and revisions without deleting the function definition; the function can scale back up on the next invoke.
- Improved Canopy apps so URL parameters persist when navigating across tabs and to/from forms, and page titles can be templated.
- Added Triggers and GraphQL subscriptions to activity history resource-type filters so those resources appear in audit views.
Bug Fixes
- Fixed a bug that redirected collection search results back to page 1 when the search field lost focus.
- Fixed Canopy form validation so required fields and invalid variable object values can no longer be submitted while the UI shows them as invalid.
- Fixed Canopy handling of Python dict / object arguments when manually executing Python Server Functions so inputs arrive in the expected format.
- Fixed forbidden-word validation that incorrectly blocked valid argument names containing substrings like class or if (for example AWS header names).
Webhooks
Improvements
- Added support for configuring a single webhook path with multiple HTTP methods, plus a method-selection dropdown when triggering multi-method webhooks from Canopy.
- Added an opt-in webhook XML setting that preserves the original raw XML string alongside the parsed payload.
Tabi / Table Service
Bug Fixes
- Fixed date range filters (gte / lte) on timestamp fields so selectMany results stay inside the requested window.
- Fixed queries against JSON columns that store JSON null (not only SQL NULL), and added a stable default order for paginated queries so pages no longer silently skip rows.