Changes & Bug Fixes
E-Signature: Multi-Document Support
Select multiple generated documents in an E-Signature step
Added a clearly labeled Documents tab with multi-select UI
Visual confirmation of selected documents with removal controls
Improved step validation and navigation feedback
Merged document packet support allows selected documents to be combined into a single PDF for signing
E-Signature beta tag has been removed
Payments: PayPal One-Time Charges (New)
Introduces end-to-end PayPal payment support for workflows
Workflow designers can configure a single-item charge (name, price, quantity)
Users are redirected to PayPal checkout and returned upon completion
Workflow execution logs capture PayPal order IDs and statuses
Includes UI configuration, backend processing, validation, logging, and sandbox testing
Workflow List & Analytics Improvements
Restored Error, Error Rate, and Average Duration columns after a prior rollback of these
Safe rollout of historical data backfill without database performance issues
Improved formatting for zero-value and sub-minute durations (e.g., <1m)
Workflow List now excludes Test Mode executions from production analytics
User preferences are persisted:
List vs Table view
Sort order
Search value
Expanded Playwright automation coverage for sorting, pagination, error counts, and workflow actions
Bug Fixes
Fixed server-side validation failure for custom regex patterns using trailing whitespace
Resolved webhook OAuth failures when services return non-integer IDs
Prevented overwriting of authorization IDs during OAuth flows
Fixed PayPal redirect validation issues
Addressed multiple trial provisioning failures related to Salesforce rate limits and record locking
Fixed PHP exception when accessing uploaded files while not authenticated
Platform, Security & Reliability
Improved multi-tenant logging to include customer ID context
Retired unused feature flags related to legacy cache warming
Improved Salesforce OAuth token handling using migration awareness
Reduced risk of authorization corruption during token refresh