Breaking Change


the release notes mention:

Breaking change: All variable types (not just expression variables) are now escaped when passed to the FinalBuilder command line. This includes splitting array variables into lines and masking protected variables as required.

What is the risk to install this build? What situation can cause trouble and how to fix it?

Hi Thomas,

The FinalBuilder action in Continua CI saves an XML file (which we call the context XML file) containing all its variables. When the Automatically apply Continua CI variable values to matching FinalBuilder variables option is set, FinalBuilder reads in all the variable values from the context XML file. The XML file is deleted when the action completes.

The change in v1.9.1.347 that you are referring to, does three conversions to the variables when saving to the context XML file:

  1. Masks any password variables and variables marked as sensitive with asterisks, unless the option Save sensitive variable values to context XML file for use by FinalBuilder is ticked.
    This could be a breaking change if you are currently relying on password variables passed automatically to FinalBuilder. If so, and you understand the implications, you will need to tick the Save sensitive variable values to context XML file for use by FinalBuilder option.

  2. A text variable using the Checkbox Select prompt type, stores its value in Continua CI as a comma-separated list e.g. "item 1","item 2","item 3". This change converts these variables to a newline-separated list (without the quotes) when saving to the context XML file. e.g.

       item 1
       item 2
       item 3
  • This is the default format for the List Iterator in FinalBuilder. This change could be a breaking change if you are currently using relying on variables in this format. Maybe you have some code in FinalBuilder which handles the comma-delimited format - this now needs to be changed to handle the newline delimited format.
  1. Any semicolons, newlines and double quotes are escaped to a format recognised by FinalBuilder before storing the variable to context XML file. This is to be consistent with variables passed on the command line but should not have any effect in the XML file and is therefore not considered to be a breaking change.

Note that all these conversions were previously applied to variables being passed directly via the Variables text area in the FinalBuilder action. We thought these were being applied to all the variables stored in the XML files but we noticed a shortcut in the code last week that meant they were only applied to variables of type Expression.

Thanks a lot Dave for your explanation. I am now confident about installing the latest release. :slight_smile: