We’re working on putting an advisory together, but I’ll try to summarize here.
When you import tags, you can choose a collision policy. One of those options is the Overwrite policy, which does as the name implies: changes on the importing tag will override attributes/properties on the existing tag.
In 8.1.6, if you import a UDT definition using an Overwrite collision policy, then members in instances of that UDT would unintentionally lose their overrides.
We’re still looking for all possible cases that could run into this problem. But in short you’d want to avoid the following on 8.1.6:
- Using system.tag.configure with an Overwrite collision policy to modify a UDT definition.
- Importing UDT definitions using the Tag Browser, while using an Overwrite collision policy (there’s some speculation right now that including instances in the import file that have the same overrides configure would avoid the issue, but we’re still investigating)
- Modifying a UDT definition by pasting JSON into the Tag Browser: pasting JSON like this always implicitly uses an Overwrite policy.
Edit: I should add that the MergeOverwrite collision policy is not impacted by the issue introduced into 8.1.6. MergeOverwrite appears to be a solid work around if you must import some UDT definitions on 8.1.6, with the exception of pasting raw JSON (again, pasting always implicitly uses Overwrite)
Edit Again: For posterity, the advisory was posted: Critical UDT Import Issue in 8.1.6 – Inductive Automation Help Center