Deckhand® Pro –

February 2nd, 2024
Requires iPadOS 16 or later
Requires CatchFlow™ IDE version 2.0 or higher

This release addresses the following:


Enhanced random() Function: With this update, the random() function now offers expanded functionality, allowing developers to generate random numbers or make random choices from arrays. Developers can leverage the enhanced random() function to introduce variability and randomness into their workflows, making it easier to create dynamic and engaging content.

Introducing the get() Helper Function: With this update, we’ve introduced the get() helper function, which simplifies the process of choosing elements from possibly truncated arrays. The get() function enables developers to retrieve elements from arrays more efficiently, even when arrays may be incomplete or truncated.

Introducing $workflow.workflowDescription: With this update, we’re introducing the $workflow.workflowDescription feature. This feature allows developers to access the description text present in the config.json associated with the workflow. By leveraging $workflow.workflowDescription, users can retrieve important contextual information and insights directly within their workflows.

Integration of scripts/ File: In this update, we’ve implemented the processing of the scripts/ file during workflow loading. This means that variables and functions defined in the file are now available globally in all expressions executed by the workflow, similar to built-in functions.

Introducing component._viz: With this update, we’re introducing the component._viz feature. This feature returns a dictionary containing all the internal layout parameters for a component. Developers can leverage component._viz to examine how borders and margins are derived for variously styled components within their workflows.

Introducing <onClickAnyComponentTitle/>: With this update, we’re introducing the <onClickAnyComponentTitle/> element to views. This feature empowers developers to trigger code execution whenever the title text of a component is clicked within a view. Additionally, the component variable will be automatically set to the component that was tapped, providing developers with valuable context for event handling and customization.


UDF Calling Sequence Enhancement: In this version, a significant enhancement has been made to the declaration of the calling sequence for entire UDFs. Developers can now employ func (arg, arg) at the top level of a UDF to declare the calling sequence for the entire function. This change enables more streamlined and intuitive declaration of UDF calling sequences, enhancing the overall usability and efficiency of Deckhand Pro’s UDF capabilities.

Optional Arguments with Defaults: In this version, func declarations in all contexts now support optional arguments with default values. Developers can define parameters within function declarations that are optional, and if not provided by the caller, default values will be assigned. This enhancement offers greater versatility and control over function declarations, empowering developers to tailor their functions to specific requirements without sacrificing simplicity or readability.

Fixed Issues:

onUserChange Functionality Fixed: Previously, users encountered issues with the onUserChange functionality for gpsEntry and panels. We are pleased to inform you that this issue has been resolved. The onUserChange function now operates correctly for both gpsEntry and panels, ensuring that user interactions trigger the intended actions seamlessly.

SegmentEntry Value Persistence Fix: Previously, users experienced issues with the segmentEntry component not correctly saving and restoring remembered values when using rememberValueAs. We’re pleased to inform you that this issue has been resolved. The segmentEntry component now accurately retains and restores remembered values as intended, ensuring a smoother user experience.

Thank you for your continued support and valuable feedback. We strive to provide you with the best experience, and your reports help us identify and resolve any issues promptly. If you encounter any further problems or have suggestions for improvement, please don’t hesitate to reach out to our support team.

-The Deckhand Pro Team