PolyAPI  >  Developers  >  Release Notes

PolyAPI – Release 11

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.