In our internal Addon there is a WorkPart structure. I found out there was a syntax mistake in name of one variable. I fixed this error and released new version of the addon.
Now I have a problem. If I update project with new version of the addon I lose all linking in all Events which are using this structure. I understand I will lose only linking of items with changed name, but in this case linking of all variables in receive body is lost.
Is it standard behaviour?
No, this is not the intended behavior. Usually, only the renamed variable should get lost.
I have checked your project and found the reason why all links get lost in this case. It is a misbehavior of CpStudio that we will need to fix, but it only applies in a special case:
Hard to explain without looking at implementation details, but all elements of the struct instance are removed and added again if the element being deleted has a local property (that is not inherited from the struct definition like MappingName). In other words, if you remove the ExcludeFromMes property before loading the new object version, the problem does not occur. The property is unnecessary anyway (also with the other struct elements), because it doesn't have any effect when it is false.
But of course, also in this case the behavior is not intended, so thanks for reporting!
One correction concerning the ExcludeFromMes property:
It does have an effect that I wasn't aware of: It can be used to control if the elements of a DDL event extension are optional. But for this purpose, it has to be placed on the elements of the struct definition, i.e. in your case it would have to be inside the OSD file, not at the instance. And this is how it works:
Looking at your project, the DDL event must have been configured while the struct definition had an ExcludeFromMes property at every element, because the extension items are optional. The way the OSD file looks now, when you click the "Update" link, the checkboxes will disappear and all elements will become compulsory.