March 26, 2024
Days since last production release: 36 Days
General Improvements
- New Project Setup – Added guided project configuration in VS code for Python and Java (like TS had it).
- Server Fx Hot Deploys – Allow server functions to be deployed into live traffic with no downtime.
- Webhook Defaults – Set defaults for optional elements at the time of creating a webhook to provide a more predictable experience.
- polyCustom in Webhooks – included the optional parameter in copying webhooks from the tree to make it easier to use for creating responses.
- Auth Provider Consistency – Refactored Auth Provider functions to return .data, .status and .headers like API functions.
- SDK Function Ids – Added comments in generated SDK files to include unique function Ids to make communicating about, and fixing functions easier.
- Response Elements for Poly APIs – Adjusted response payload elements to follow the same order across the Poly primitives in Poly API endpoints for easier legibility.
- Binary Response – Support for modeling that an API function provides a binary (file) response.
- AI Assistant Large Payloads – Created an optimization to pass in very large specifications about functions.
- AI Assistant Conversation History – Improved legibility by adding a /view endpoint to provide a human readable history of the conversation. Additionally added /stats to see how functions scored in the search algorithm which is used to help the AI Agent narrow down the catalog to a workable (under OpenAI Token limits) set of functions.
- AI Assistant Function not Found Case – Improved the response for cases where no suitable Poly functions were found to avoid risk of generating a hallucination.
- AI Agent Continuity – With OpenAI decommissioning plugins, we ran a set of tests to ensure AI agents continue to work as is and that new ones can be created. The impact here is that plugins can no longer be installed in the ChatGPT UI and will only be accessible with the Poly API endpoint going forward.
General Bug Fixes
- Void Webhook Return – Fixed a bug where return without content was not returning to originator even when configured to wait for a response.
- WH and Fx Names – Fixed a bug where SDK generation was modifying casing for user assigned names of functions and webhook handlers.
- WH and Security Functions – Fixed an issue where duplicate security function entries were added when a security function was configured at the time of creating a webhook handler function.
- WH Params Now Optional – If webhook params were not included, we would return a 404 before. Now we execute the webhook with undefined values for params that are not supplied and leave it to the developer to handle undefined params.
- Dead Jobs – Fixed a redis configuration which caused some jobs to never execute right after creation.
- Poly OAS Docs – fixed some examples where our https://na1.polyapi.io/swagger Swagger Docs were missing schemas and examples.
- Client FX LogsEnabled – Removed the logsEnabled attribute from custom functions as it did not control or do anything.
- Server FX Timeouts – Fixed a bug where server function deployments were timing out and getting 502s if they used external libraries.
- Args as Objects – Fixed a bug where Poly AI Agent was wrapping function arguments as an object unnecessarily.
- Deleted Conversations – Fixed a 500 error when getting details for a conversation which has been already deleted.
- User Ids in Auth Functions – Fixed a critical bug where UserIds were not respected when getting new tokens using Auth Provider functions – a new token was being obtained each time.
Python Client v0.2.1
- Webhook Handlers – Support for webhook handler functions using websockets and AI assistant ability to discover and suggest.
- AI Assistant Accuracy – Piloting an approach to improve Poly’s AI Assistant accuracy by supplying it generated code in the library. Currently only works with Python API functions.
- Prompt AI to use type definitions available in generated sources for more succinct code generation.
- Vari .onUpdate() – Support for receiving events in python when variables are updated.
- Auth Provider Fx Improvement – Added support for autoCloseOnUrl:false flow to allow an open websocket connection for Poly to capture login events using Authorization Code Flow Grant Types.
Java Client v0.5.0
- Webhooks – Added support for webhook handler functions.
- External Libraries in Server Fx – Support for deploying server functions to Poly which use external libraries as dependencies.
- Type Naming – Normalized type name generation convention to make all types universally unique and addressable.
- Bug Fixes
- Logging – Java logs were not property propagating to be visible in /functions/server/{id}/logs
- Arg Names – Argument names were not being included in generation of Libraries
- New Project Poly Tree – VS Code extension Poly tree was not loading property when a new Java project was created.
- AI Clear – AI Agent was not correctly clearing conversation history using /clear with Java projects.
- Graceful Skipping At Generation – Not all function types (auth providers) are currently supported. Added graceful skipping at library generation to avoid filing. Same approach if multiple functions have the same context/name combinations.
- Bug Fixes
Typescript Client v0.11.14
- OpenAPI Spec Based Training – Extended the CLI to include commands for training Poly using Open API specifications for accelerated population of the PolyAPI Catalog.
- Graceful Stopping of Webhook Handlers – Added support for closing a websocket connection programmatically.
- Install Error Logging – Improved error logs when setup or dependency installation fails.
Infrastructure
- Automated Image Signature Verification – Ensures that images used in the product have not been tampered with and can be trusted as the base Poly images for operating the service.
- Automated Dependency Vulnerability Scanning – Automated the process of checking for dependency vulnerabilities and reporting to the engineering team.
- Semgrep Integration – Enhanced our CI pipeline by integrating custom-selected Semgrep rules for automated code security scanning, to ensure robust and secure code.
- Dependabot Upgrades – Implemented to automatically update our dependencies, ensuring our software stays secure and efficient with the latest patches
- Automated Security Tests – Established a set of automated security tests which are performed with each releases based on OWASP top 10 security vulnerabilities.
- External SOC 2 Audit – Started but not yet completed, ETA R10 or R11 – This will apply for Poly instances hosted and operate by Poly in NA, EU and Asia in the future.
- Slack Alerts – Alerts generated based on resource utilization to faster notify Poly DevOps (PaaS) or customer DevOps (Self Hosted) of potential near term issues.
- Multi-Region Database – For our PaaS service, configured our database service to be multi-region to allow for failover incase of AWS region failure.