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