How stable is the vision serialization format from ignition version to version?

There's some level of forward compatibility, i.e. upgrading from earlier versions to later, but how about moving from later serialized windows to earlier? Are there any guarantees about backward usability (e.g. 'if i'm using a window from 8.1.xx with only features from 8.0, will an 8.0 serializer be able to deserialize it'). Obviously in the pre-project world all bets are off.

(There's not really an XY problem here or even that much of a goal behind the question, I'm more just curious about serialization format stability)

Hard to say. I think that serialization is an XML after all for Vision windows. Stability is guaranteed forward and not backwards, I would say.
I can't think on a situation where you are developing in a current version to later import in an older version. Copying windows from designer-designer in different Ignition Version might work, it really depends on the content dependencies (components, scripting, modules).

1 Like

Not, particularly if a new component was added to a window that doesn't exist in an older form. Also if a feature were added to an existing component that ended up as a new property value.

Going backwards is playing with fire. No telling when it'll break on you. Study the encoded XML a bit and you'll see what I mean.

2 Likes

Thanks to both of y'all, and this makes sense!

(and yep. I've definitely seen some footguns in the XML that pointed me this direction. just wanted to confirm my understanding was accurate)

What Phil says is absolutely true in principle, but I will just say that in practice Vision's serialization format hasn't changed in years. So things will work until they don't (e.g. you're using a component or property that doesn't exist on the older version).

That said, it's still a bad idea generally and even if it "works" I wouldn't be shocked at some weird spooky things happening eventually if you did this a lot.

2 Likes