Deckhand® Pro –

July 20th, 2023
Requires iPadOS 15 or later
Requires CatchFlow™ IDE version 1.1 or higher

This release addresses the following:


Additional Functionality to Image Cell: The image cell in Deckhand Pro now supports the following features:

  • onChange: You can now specify an onChange action that will be triggered when the image in the cell is changed.
  • onUserChange: Similar to onChange, the onUserChange action is triggered when the image is changed by the user.
  • onRequestUserChange: This action is triggered when the user requests to change the image.
  • onLoaded: You can specify an action to be executed when the image is successfully loaded.
  • canBeEmpty: This attribute allows you to specify whether the image cell can be empty or not.
  • rememberValue: You can now use rememberValue to remember the value of the image cell.
  • rememberValueAs: This attribute allows you to specify a name under which the value of the image cell should be remembered.
  • retain: The retain attribute can be used to retain the image in the cell even if it is not currently visible.

These additions provide enhanced functionality and flexibility when working with image cells in Deckhand Pro.

New Property “source” for Placemarks: In this release, we have introduced a new property called "source" for placemarks in Deckhand Pro. This property indicates the clear source of information for the original point in the placemark. The "source" property provides richer information about the origin of the placemark, offering more context and details about how the point was obtained. The properties "manualEntry" and "modifiedByUser" are still supported, but they are now derived from the information available in the "source" property.

Enhanced Parameter for $createPlacemark(): In this release, we have added a new parameter, manualEntry=, to the $createPlacemark() function in Deckhand Pro. This parameter allows users to specify user-entered coordinates and provides the workflow designer with the ability to flag the point correctly. When using $createPlacemark(), you can now include the manualEntry= parameter to indicate that the coordinates were entered manually by the user. This information can be useful for workflow designers to differentiate between manually entered points and automatically generated ones, ensuring more accurate tracking and management of placemarks.

.formatted() Function for Placemarks: With this release, we have introduced a new .formatted() function for placemarks in Deckhand Pro. This function allows users to format coordinates based on the default format or a specified format. When using the .formatted() function with a placemark, you can customize the representation of the coordinates to match your preferred format. This can be especially helpful when displaying coordinates in various contexts or when exporting data with specific coordinate formatting requirements.

New Setting in Workflow <units/> Section: In this release, we have introduced a new setting called <location/> in the workflow <units/> section of Deckhand Pro. This setting allows users to specify the default format for locations in the workflow. When defining the workflow units, you can now include the <location/> setting to specify how coordinates and locations should be formatted by default. This provides greater control and consistency in the display of location data throughout the workflow.


Multi-line Expressions Return Nil by Default: In previous versions, multi-line expressions would not return a specific value if no explicit return statement was included. This could lead to unexpected behaviour and incorrect results. In this release, we have changed the behaviour of multi-line expressions to always return nil by default when no specific return statement is present. This change ensures that the return value of multi-line expressions is consistent and predictable.

Fixed Issues:

Context Execution for Defined Functions: In previous versions, functions defined using the func keyword were restricted to executing within the context in which they were defined. This limitation prevented the functions from being passed around for execution in different contexts. In this release, we have resolved this issue and fixed the execution context for defined functions. Functions defined using the func keyword can now be properly passed around and executed in different contexts as intended. This improvement allows for more flexibility and versatility when working with functions in Deckhand Pro.

Handling of Nil Values in Local Variable Scopes: In previous versions, local variable scopes containing nil values would ignore the nil and instead inherit the value present in previous scopes. This behaviour could lead to unexpected results and incorrect variable assignments. In this release, we have addressed this issue and fixed the handling of nil values in local variable scopes. Local variable scopes will now correctly handle nil values, ensuring that the nil value is maintained and not overridden by previous scope values.

Incomplete Refresh with $action.refresh(event): In previous versions of Deckhand Pro, when using the $action.refresh(event) action to request a refresh of the event panel, the header text would not respond to this request. This resulted in an incomplete refresh, where the header text would not update as expected. With the fix implemented, the $action.refresh(event) action now fully refreshes the event panel, including the header text. This ensures that all components of the event panel respond appropriately to the refresh action.

Auto-conversion for Expressions with Mismatched Data Types: In previous versions of Deckhand Pro, some expressions with data types that did not match the required string result were not automatically converted. This resulted in errors instead of the expected value conversions. With the fix implemented, Deckhand Pro now properly handles auto-conversion for expressions with mismatched data types. The required string result is now automatically converted, ensuring that expressions work as intended and produce the correct results.

Correct Behavior for $action.resubmitEvent(): In previous versions of Deckhand Pro, the $action.resubmitEvent() function behaved similarly to $action.submitEvent(), failing to recognise that it was a resubmission. This issue resulted in errors such as “Activity not declared” and other unexpected behavior. With the fix implemented, the $action.resubmitEvent() function now behaves as expected during resubmission. The function will recognise that it is a resubmission and handle it appropriately, avoiding any errors related to activity declarations.

Reinstated $debug.buildCode Setting: In previous versions of Deckhand Pro, the $debug.buildCode setting, while deprecated, was removed from the app, causing compatibility issues for workflows that relied on it. To address this, we have reinstated the $debug.buildCode setting. However, it is important to note that $debug.buildCode is still deprecated, and the correct value to use is now $system.buildCode. Workflows should be updated to use $system.buildCode instead of $debug.buildCode to ensure compatibility with future versions of Deckhand Pro.

Correct Parsing of Unused Components: In previous snapshots, some components, specifically addTags, allocationSlider, annotationMove, and compositionSlider, were parsed incorrectly, even though they were not used in the app. In this release, we have fixed the parsing of these components, ensuring that they are handled correctly even if they are not utilized in Deckhand Pro. This improvement enhances the app’s stability and performance by eliminating any potential issues caused by incorrect parsing.

Enhanced Number Parsing with number() Function: In previous versions of Deckhand Pro, the number() function was requiring internally formatted numbers, such as using a comma as a decimal separator (e.g., 1,23 instead of 1.23). This behavior could lead to confusion and errors, especially when working with different international settings. With the fix implemented, the number() function now uniformly parses numbers and ignores international settings. It ensures that numbers are correctly recognised and processed regardless of the regional number formatting used.

Correct Lookup Chain for Local Variables: In previous versions of Deckhand Pro, references to local variables did not always operate correctly due to a reversed lookup chain for locals. This issue could lead to unexpected behavior and errors when using local variables in expressions. With the fix implemented, the lookup chain for local variables is now corrected, ensuring that references to locals operate as expected. This improvement provides a more reliable and consistent handling of local variables within expressions.

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