May 29, 2024
Days since last production release: 29 Days
Node Client
- Webhook Registration from OpenAPI Spec – Added the ability to train webhooks from OpenAPI specs.
- Improved Error Messaging – Hardened TypeScript setup with clearer error messages when failures are encountered.
- Enhanced Error Handling – Hardened the error handling in library generation to skip generation issues, with appropriate error logs.
- Code Snippet Management – Added a feature in the VS Code extension and Node client to systematically create, publish, and manage reusable snippets.
- Bug Fixes
- TS Strict Mode – Fixed compatibility issues with strict mode by renaming functions, resolving failures when executing Poly in projects using the ‘use strict’ directive.
- Context Filter – Resolved an issue where the npx poly generate –contexts option was not correctly filtering public tenant contexts.
- Interface Type – Fixed a bug where methods did not return the expected type due to missing index signatures in type definitions.
- Server Function Response – Resolved an issue where server functions returning void were returning a generic response object.
Python Client
- Function Naming – Updated Python server function containers to use function IDs as part of the names for easier debugging.
- Bug Fixes
- Compatibility Issue – Functions trained using OpenAPI Specs were impacting Python as they were not stored using http://json-schema.org/draft-06/schema#.
- Webhook Callback Argument Types – Fixed Python library to ensure webhook callback functions get the correct argument types instead of ‘Dict’ types.
- Title Casing in TypedDicts – Generated type names are now left as programmatically defined and not converted at the time of client generation.
Java Client
- polyCustom Support – Added support for Java server functions to enable setting specific response status codes and content types through ‘polyCustom’.
- Function Wakeup Time – Improved deployment and wakeup times by respecting pom context filters in server functions, and automatically detecting which dependencies are used when deploying Java functions to Poly Server.
- Error Handler – Support for the error handler module to capture errors from Poly Server and deliver those errors using websockets to the Java client.
- Bug Fixes
- Java Functions – Resolved issue where strings in Java function responses were incorrectly treated as text/html by default when invoked using a Webhook -> Trigger -> Server Function.
Canopy Service (Poly UI)
- Expanded Management UI – Added Users and API keys pages to Poly’s Management UI.
- Application Name Update – Renamed the Poly UI app to ‘PolyAPI’ instead of ‘Canopy’, and made the app name and preview text configurable.
- Context Visibility – Added the ability to display context in the list view, allowing configurable visibility for item cards, with ‘name’ and ‘description’ shown by default.
- Configuration Endpoint Update – Moved application configuration details to applications/{id} endpoint from ‘/applications’.
- Permissions – Added ‘manageApplications’ and ‘useApplications’ permissions for managing and accessing applications in the Canopy environment.
- Application Management API – Canopy applications were refactored to use /tenant/:id/applications object for easier administration.
- Canopy Access – Changed the URL to access the Canopy UI to /canopy/{appId} or /canopy/{subpath}, allowing access by application ID or user-defined subpath.
- Bug Fixes
- Canopy Type Handling – Added explicit variable type handling in Canopy to maintain original types during updates. Renamed ‘raw’ to ‘string’ for better clarity.
AI Services
- Updated to GPT-4o – Improved function match performance by updating Poly AI to use GPT-4o, which comes with enhanced speed, quality, and reduced cost.
- Simplified Plugin Configuration – Removed ChatGPT UI-related fields that are no longer supported due to OpenAI deprecating Plugins.
- AI Assistant Endpoint – Introduced /assistants/{slug}/conversations/{conversationSlug} paths to manage conversations, replacing the old subdomain approach with support for GET, POST, and DELETE operations.
- AI Language Setup – Automatically sets the default language based on setup from the VS Code extension for accurate language and query handling.
Developer Experience
- PolyAPI Documentation – Launched PolyAPI’s Documentation site to help new users get started with Poly, including signup, client generation, using out-of-the-box functions, training functions, and deploying server functions. More to come with each subsequent release.
- Postman Script Enhancement – Added ‘YourAPIKeyHere’ placeholder and guidance in the pre-request script. An error message prompts users to set their API key if unchanged.
- Webhook Handler – Improved functionality when copying a webhook handler function from the tree includes { waitForResponse: false }.
- Bug Fixes
- Postman Training Improvement – Fixed a bug where authorization arguments were introduced twice if the authorization argument was not called bearerToken. Introduced in the latest version of Postman.
Infrastructure/DevOps Improvements
- GA of EU1.polyapi.io – Established a new PaaS service in the EU region (Ireland) to enhance performance, privacy, and improve latency for customers in Europe and surrounding regions.
- SOC 2 Type 1 – Received attestations from a CPA firm certifying us to be compliant with the SOC 2 Type 1 framework.
- Server Function Dashboard – Created a dashboard providing easy access to information about server functions. These are at first available to self-hosting customers, but over time will become available to PaaS users too within the application.
- List of functions in an instance, easily filterable by names, contexts, tenant environments, current state, logging state, create, and update times.
- First of many charts, showing a line graph of the number of functions in the instance across all tenants.