PolyAPI  >  Developers  >  Release Notes

PolyAPI – Release 14

Release Notes 

August 27, 2024
Days since last major release: 28 days

Client Improvements

Node

Improvements:

  • Explicit Function Type Selection: If –client or –server were not provided in the function deploy command, it would have assumed –client, now it will error out. 

Bug Fixes

  • Library Generation Errors  – We had some duplicate functions with different casing in the context which was causing generation errors in TS. The culprits were removed. 
  • Fixed Importing of Dependencies in Subpath – When deploying server functions, dependencies from an explicit subpath of a library were not being imported correctly and hence could not be used in server functions.

VS Code Client 

Bug Fixes:

  • Loss of Focus in Sign Up Flow – Changed the input dialog to not progress to the next step if focus is switched to another window. 

Canopy Service (Poly UI)

Improvements:

  • Signup Tier Selection – When signing up, now users can select between the free trial tier or our starter tier. Tier details and pricing here: https://polyapi.io/platform/#pricing
  • Snippets UI – Added a UI for create, update, list, get, delete for snippets. 
  • Applications UI – Added a UI for create, update, list, get, delete for applications. 
  • Job Executions UI – Added a UI for seeing the list of executions for a given job and details about the result of each execution. 
  • Public API Functions – Added a UI for seeing the list of available PUBLIC functions and the details of each of those functions. 
  • Launcher Page – when signed in a user will now see a list of canopy applications they can use in their environment, including tenant and public visibility apps as well. 
  • No Records Found Text – Added a message to users in case no records are found to be explicit and avoid confusion by the user.
  • Focus on Fields – For pages with input fields added a default field selector. For the main page of the application, focus on the top collection item. 
  • MFA – Added support for inputting a MFA code when MFA is enabled at the tenant or instance level for key operations requiring MFA. 

Bug Fixes

  • Incorrect Objects Converted to Strings – When trying to save a malformed object within a variable using the canopy API, it would have been saved as a type string. Now it will prevent submission. 
  • Boolean Radio Buttons – changed from Yes/No to True/False for enum types. 
  • User Refresh – Fixed a bug where a newly created user would not be shown in the list view until the view was refreshed. 
  • AI Descriptions for Webhooks – Fixed a bug where webhooks created via the UI without a description populated would not have a description generated by AI. 

AI Services

Improvements

  • AI Model – Updated to use OpenAI gpt-4o-2024-08-06 model

Server & API

Improvements:

  • Support for XML Objects as Webhook Payloads – Extended webhooks to support XML objects as payload elements and parsing those into native objects in the webhook handler functions. 
  • API Function Argument Refactor for POST/PATCH – Refactored the schema of POST and PATCH calls to line up exactly to the GET response objects to allow for easy copy/pasting of API functions into other environments. An explicit service to do this will follow. 
  • Custom Paths in Webhook Handler Urls – Webhooks handlers (inbound APIs) can now have a custom path parameter instead of being forced to use the path with generated IDs, making environment promotion easier. 
  • Better Attribute Names for Always On Functions – previously they were sleep:false and sleepAfter:60 and now they are alwaysOn:true and sleepCycleInterval:60. Note only a super admin can set these values at this moment. PaaS users should contact support if they need these values set. 
  • Unique Environment Names – Enforce that names be unique within a tenant to avoid multiple tenants with the same name which could cause permissions to be accidentally incorrectly granted. 
  • MFA Per Tenant – Added support for enabling MFA on a per tenant basis by the tenant admin. 
  • Added excludeFromCreate – So attributes which are generated are not requested of the user at the time of creating an object using the UI. 

Bug Fixes

  • Void Response Error – When server functions fail if they don’t explicitly return an error, Poly would dump a system error in the response. Now no error will be returned unless explicitly set by the developer of the server function.
  • Create Webhook without Payload – When creating a webhook, if no payload is received, an empty object had to be set {} to avoid an error message. 
  • Support Strings in Raw Element of Source Object – When patching a source object of an API function, we required it to be an object, now also accepting strings.
  • Application PUT /config Response – Fixed a bug where the response for updating an application was returning the full application payload instead of just configuration payload subset. 
  • Removing Type Schema Required Attributes – Type schema was not being saved properly when the only update was the removal of required attributes. 

Analytics Dashboards

Bug Fixes

  • Invocation Count – Fixed a bug where the invocation chart was showing a cumulative count vs a count per interval. 
  • Running Server Function Instances – Fixed a bug where KNative replicas in the process of terminating were being counted as running. 

Docs, Public Functions and Content

OOB Functions

  • OHIP Get Reservation Statistics – Trained function to retrieve a statistical breakdown of reservations, including inventory and revenue data, using report code and hotel ID, with additional flexible query parameters.
  • OHIP Get Hotel Availability – Trained function to retrieve hotel availability and pricing across multiple properties and dates.
  • Twilio Send Message – Adjusted to set more of the payload as optional so required fields are only the required ones from Twilio.

Marketplace Listings 

  • Apaleo – Launched our public marketplace which can be found here.
  • Oracle Hospitality Marketplace – Refreshed our marketplace listings:
    • Service Listing here
    • Application Listing here

Documentation

  • VS Code Extension – Updated VS Code extension docs to be more helpful in getting started with Poly. 
  • Variables – Added documentation on using Variables in Poly UI, and how to reference those variables in code.
  • Video Links – Added links to relevant PolyAPI videos to the PolyAPI documentation pages. 
  • Styling – Updated documentation style to line up more closely with our website. 

Postman Collection 

  • New API Requests: Added CRUD and special operations for environments, applications, Snippets, Public API Functions, API and Server Function Execution, and Server Function Logs

Postman Based API Training

Bug Fixes

  • AI Generated Argument Descriptions – Now AI will be used to generate argument descriptions even if the context/name/description of the function are explicitly set in the pre-request script during training. AI description generation can be disabled using a config variable.

Infrastructure/DevOps Improvements

Improvements:

  • PagerDuty Alerts – Implemented an email which generates alerts to the on-call team and shared with customers. 

Bug Fixes:

  • KNative ScaleDown for AlwaysOn Functions – Fixed an issue where incorrect scaling rules were used for AlwaysOn Functions (server functions set to never go to sleep) causing unnecessary replicas to remain running after elevated usage. 

Regressions: 

Error Handler Triggers: We encountered an issue where Error Handler -> Trigger -> Server Function flow was not behaving as expected. Multiple Server functions were being triggered causing cross function contamination. This has been disabled till this issue is fixed, likely in R15. 

Invocation Metrics: Had to disable invocation metrics collection to improve performance for very high performance server functions (1000s transactions per second). We will refactor and release a much higher scale approach to metrics collection.