Can Version 1.0.5 open a Sketch from 1.0.6?

I sent someone a sketch in the forum and they got this error message.

Is this normal?

Regards Harald!

Yes, this is normal, and also true for all older Fritzing versions, these just didn’t warn about it.

New parts don’t exist in old version
For example an old Fritzing version will not know all the new parts we have added since then. A sketch saved with Fritzing 1.0.6 relies on all the core parts. Loading a sketch that uses such a new part in an old Fritzing version must fail, the information is simply not there.

Some features might not exist in old versions
Newer Fritzing versions have features that don’t exist in old versions. Obviously the old version would be unable to render this.

Old versions might have bugs that are fixed since a long time
There are other more subtle issues: If there is a bug in an old version, the designer using an old version most likely just worked around it.
But in the new version, we might have fixed that specific bug. Now a designer of course would not work around it. A user loading such a new sketch in an old version of Fritzing will run into the bug without warning.

Alternative idea: compatibility mode
If this was just about additional features (for example new parts), we could in theory add an “export in compatibility mode” command. But this would be an quite expensive feature to develop, and of very limited use: Of course we would not try to be backward compatible to bugs that already have been fixed. And we would have to track each new feature and new part, to exactly know which version it can be used in. .

Alternative idea 2: feature freeze across many versions
No new features that touch the part format or the sketch format in any way. This still would not work around old bugs of course, but it would keep backward and forward compatibilty in a more controlled way. At some point, we’d want to introduce new features, and things would break again.

Our approach
We try to be more transparent, old Fritzing versions were never really forward compatible to newer versions, they just tried to silently load sketches (and sometimes fail miserably without a clear cause).

In the common case, if you have a simple sketch, no super new parts, and not a big version jump, it is probably safe to mix the versions. Just press ok and try your luck.

For complex sketches, this effectively becomes a one-way street: you can open old sketches in new versions, but not reliably the other way around.

Thanks for the detailed reply.

I think your approach is great, and besides, I always keep the old versions stored away for emergencies.

Best, Harald!