PolyAPI Release 18 is live! Explore the latest features and improvements.   Release 18 Notes  2025 Roadmap

PolyAPI  >  Developers  >  Release Notes

PolyAPI – Release 18

Release Notes 

December 23, 2024
Days since last major release: 26 days

Client Improvements

Node

Improvements

  • Min Version – Updated minimum Node version to v18.20.5 for installing Poly client. 

Bug Fixes

  • Dependency Check – Fixed an issue during poly client setup for TypeScript where package.json was not being detected correctly and created properly.

Canopy Service (and Poly Management UI)

Improvements

  • Variable Object Field – Replaced the text area field with an object field to help with editing and validation. 
  • Google Invisible ReCaptcha – Added optional support on a per Canopy Application. 

Bug Fixes

  • Webhooks Execution – Removed assumption that all webhook executions via Poly management UI will include a payload. 
  • Server Functions for Lists – fixed an issue preventing server functions from being used to power a Collection List.

Server & API

Improvements

  • API Key Expiration and Rotation –  Added ability for tenant admins to optionally configure a key expiration (in days). Added a new endpoint for self service Poly API Key rotation. Currently users have 7 days post expiry to rotate a key, in the future this will be configurable too. UI to follow.
  • Public API Function Replication – Added an API endpoint to replicate public API functions into the current environment (based on the users key). This allows users to copy a public function and make modifications to it, retrain it for their own schema to take effect, or just use it without worry it could change on them. UI to follow. 
  • V2 API – Implemented the beginnings of a version two of the Poly API to support pagination, and filtering. At this point using an opt in with limited endpoint coverage. Future releases to include typeahead support. 
  • Name & Context Formatting – Leave context and name as provided by the user when created, do not adjust to camel case. 
  • Duplicate Function contextName error – Improve error message when context and function name is already in use. 
  • Server Function Crash Logs – added a try-catch wrapper to server function executions to capture server function execution errors when logging is enabled. 
  • Python Service Function Execution ID Log – added logging of execution ID for Python server functions. 

Bug Fixes

  • Server Function Update – Fixed a bug where server functions could not be updated using the UI due to a mistake in validation logic.
  • Payload Logging – Fixed a privacy issue where execution of functions was sometimes logging payload data.
  • Variable Newline Characters – Fixed an issue where Poly was altering newline characters in variables.  
  • Python Server Function Log Defaults – Fixed a bug where environment logEnabled default value was not being respected when deploying python server functions. 
  • Python Function without Types – Fixed a bug where deploying python server functions with no types caused function deployment to fail. 

AI Services

Improvements

  • Documentation Threshold – Added a min confidence score cutoff for document matching when answering Poly specific questions using /poly
  • Model Updated  – upgraded to gpt-4o-2024-11-20 to leverage the latest AI model. 

Docs, Public Functions and Content

OOB Functions

  • OHIP Functions – Added several OHIP APIs for managing resort restrictions, external references, membership types, and value lists:
    • poly.OOB.ohip.lov.resortRestrictionStatuses.list() – Retrieve resort restriction statuses for hotels, including active and inactive statuses.
    • poly.OOB.ohip.lov.externalReferenceTypes.list() – Fetch external reference types for specified hotels, including code, name, description, and active status. 
    • poly.OOB.ohip.lov.membershipTypes.list() – Access membership types and filter results by active status. 
    • poly.OOB.ohip.lov.membershipLevels.list() – Retrieve membership levels with filtering options and support for inactive levels. 
    • poly.OOB.ohip.lov.values.list() – Retrieve values with filtering options for inactive entries and specific codes. 
    • poly.OOB.ohip.lov.names.list() – Fetch predefined LOV names and parameters, such as AddressTypes, with optional filters.
  • SFMC – Added APIs for authentication and messaging:
    • poly.salesforce.marketing.auth.getToken() – Generates an access token for authenticating API requests. 
    • poly.OOB.SFMC.messaging.sendEmail() – Sends a booking confirmation email asynchronously.
  • QueryParams – Updated all OOB functions to set the queryParams argument removeIfNotPresentOnExecute to true.

Documentation

  • Snippets – Added intro documentation on how to use snippets here.
  • Function Deploy Options – Improved documentation to more clearly document both approaches to deploying functions (Glide CI/CD and Client based single function deploys).

API Documentation OpenAPI Spec

  • Config Variables – Fixed Swagger docs for TenantController_setConfigVariableUnderEnvironment to mark tenantId and environmentId as always non-nullable strings. View here.

Compliance 

  • SOC2 Type 2 – Completed Audit and received attestation for SOC 2 Type 2 Compliance. 

Communications

  • Downtime Email – Created a new template for notifications of planned downtime. 

Infrastructure/DevOps Improvements

Improvements

  • Dependency Versions – Pinned the version of httpx dependency to increase service reliability. 
  • User Access Logs – Store 12 months of user access logs. Today available by request, in the future will be available via API and UI. 
  • Server Functions – Implemented a Better Termination Grace Period for Long-Running Functions